From 42c58bbeead1dae09c51f47abc8e10dfbb9c3f9f Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Tue, 23 Jun 2020 15:17:00 +0200 Subject: New configuration language parser WIP --- .../org.eclipse.viatra.solver.language/.classpath | 1 - .../META-INF/MANIFEST.MF | 10 +- .../build.properties | 3 +- .../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 - .../org.eclipse.viatra.solver.language/plugin.xml | 8 +- .../AbstractSolverLanguageRuntimeModule.java | 7 + .../viatra/solver/language/SolverLanguage.xtextbin | Bin 13021 -> 14135 bytes .../antlr/internal/InternalSolverLanguageParser.g | 2941 +++--- .../internal/InternalSolverLanguageParser.java | 9569 ++++++++++++-------- .../internal/InternalSolverLanguageParser.tokens | 139 +- .../antlr/lexer/InternalSolverLanguageLexer.g | 30 +- .../antlr/lexer/InternalSolverLanguageLexer.java | 1325 +-- .../antlr/lexer/InternalSolverLanguageLexer.tokens | 139 +- .../SolverLanguageSemanticSequencer.java | 1375 +-- .../SolverLanguageSyntacticSequencer.java | 87 +- .../services/SolverLanguageGrammarAccess.java | 2840 +++--- .../solver/language/GenerateSolverLanguage.mwe2 | 2 +- .../viatra/solver/language/SolverLanguage.xtext | 215 +- .../parser/antlr/SolverLanguageTokenSource.java | 47 +- ....SolverLanguageTokenDefInjectingParser.xtendbin | Bin 2742 -> 2742 bytes ...nguageSyntheticTokenSyntacticSequencer.xtendbin | Bin 2758 -> 2758 bytes 149 files changed, 10882 insertions(+), 36454 deletions(-) delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregatorDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Let.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LocalVariables.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/QuantifiedExpression.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Quantifier.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregatorDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LocalVariablesImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/QuantifiedExpressionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java delete mode 100644 Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java delete mode 100644 Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore delete mode 100644 Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel (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 6b0b4bdb..9081d4f7 100644 --- a/Application/org.eclipse.viatra.solver.language/.classpath +++ b/Application/org.eclipse.viatra.solver.language/.classpath @@ -3,7 +3,6 @@ - diff --git a/Application/org.eclipse.viatra.solver.language/META-INF/MANIFEST.MF b/Application/org.eclipse.viatra.solver.language/META-INF/MANIFEST.MF index c45bb276..5ee256a4 100644 --- a/Application/org.eclipse.viatra.solver.language/META-INF/MANIFEST.MF +++ b/Application/org.eclipse.viatra.solver.language/META-INF/MANIFEST.MF @@ -14,18 +14,16 @@ Require-Bundle: org.eclipse.xtext, org.eclipse.xtext.util, org.eclipse.emf.common, org.eclipse.xtend.lib;bundle-version="2.14.0", - org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", + org.eclipse.viatra.solver.language.model;bundle-version="0.1.0";visibility:=reexport Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: org.eclipse.viatra.solver.language, org.eclipse.viatra.solver.language.generator, org.eclipse.viatra.solver.language.parser.antlr, org.eclipse.viatra.solver.language.parser.antlr.internal, + org.eclipse.viatra.solver.language.parser.antlr.lexer, org.eclipse.viatra.solver.language.scoping, org.eclipse.viatra.solver.language.serializer, org.eclipse.viatra.solver.language.services, - org.eclipse.viatra.solver.language.solverLanguage, - org.eclipse.viatra.solver.language.solverLanguage.impl, - org.eclipse.viatra.solver.language.solverLanguage.util, - org.eclipse.viatra.solver.language.validation, - org.eclipse.viatra.solver.language.parser.antlr.lexer + org.eclipse.viatra.solver.language.validation Import-Package: org.apache.log4j diff --git a/Application/org.eclipse.viatra.solver.language/build.properties b/Application/org.eclipse.viatra.solver.language/build.properties index aa338a94..b1584c24 100644 --- a/Application/org.eclipse.viatra.solver.language/build.properties +++ b/Application/org.eclipse.viatra.solver.language/build.properties @@ -1,8 +1,7 @@ source.. = src/,\ src-gen/,\ xtend-gen/ -bin.includes = model/generated/,\ - .,\ +bin.includes = .,\ META-INF/,\ plugin.xml bin.excludes = **/*.mwe2,\ 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 deleted file mode 100644 index f6159bd8..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java +++ /dev/null @@ -1,115 +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#getLocalVariables Local Variables}
  • - *
  • {@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' 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 deleted file mode 100644 index 3f5d1b45..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java +++ /dev/null @@ -1,19 +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/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 deleted file mode 100644 index 2be01423..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java +++ /dev/null @@ -1,39 +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/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 deleted file mode 100644 index 6b50beba..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java +++ /dev/null @@ -1,95 +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/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 deleted file mode 100644 index ce34afc7..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java +++ /dev/null @@ -1,463 +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 '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 deleted file mode 100644 index e0cea7d4..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java +++ /dev/null @@ -1,69 +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/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 deleted file mode 100644 index 81f87193..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java +++ /dev/null @@ -1,69 +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/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 deleted file mode 100644 index ab0940bb..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java +++ /dev/null @@ -1,115 +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/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 deleted file mode 100644 index f2d2e5a7..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java +++ /dev/null @@ -1,69 +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#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 deleted file mode 100644 index d8fe4945..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/CastExpression.java +++ /dev/null @@ -1,69 +0,0 @@ -/** - * 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 deleted file mode 100644 index 0963c7a1..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java +++ /dev/null @@ -1,96 +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/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 deleted file mode 100644 index 5187c5db..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java +++ /dev/null @@ -1,95 +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/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 deleted file mode 100644 index 788f5a97..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java +++ /dev/null @@ -1,37 +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/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 deleted file mode 100644 index ac5f6f32..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java +++ /dev/null @@ -1,69 +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/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 deleted file mode 100644 index eb1cafde..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java +++ /dev/null @@ -1,37 +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/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 deleted file mode 100644 index b3e5ccf7..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java +++ /dev/null @@ -1,18 +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/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 deleted file mode 100644 index 666c2f43..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java +++ /dev/null @@ -1,46 +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/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 deleted file mode 100644 index 035329e2..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java +++ /dev/null @@ -1,46 +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/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 deleted file mode 100644 index 2034cdfd..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java +++ /dev/null @@ -1,18 +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 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 deleted file mode 100644 index 26f6142e..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java +++ /dev/null @@ -1,46 +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/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 deleted file mode 100644 index eb6b8cdf..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternAggregatorDefinition.java +++ /dev/null @@ -1,92 +0,0 @@ -/** - * 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 deleted file mode 100644 index a0fb33eb..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternDatatypeDefinition.java +++ /dev/null @@ -1,60 +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 '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 deleted file mode 100644 index 45cac1e2..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java +++ /dev/null @@ -1,92 +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#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 deleted file mode 100644 index 647f7b91..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java +++ /dev/null @@ -1,69 +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#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 deleted file mode 100644 index 45861d3e..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Functor.java +++ /dev/null @@ -1,37 +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 '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 deleted file mode 100644 index d32ca1e3..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java +++ /dev/null @@ -1,92 +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#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 deleted file mode 100644 index 5a584019..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java +++ /dev/null @@ -1,18 +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/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 deleted file mode 100644 index 4d1b6b77..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java +++ /dev/null @@ -1,69 +0,0 @@ -/** - * 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 deleted file mode 100644 index 39e4cbf3..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java +++ /dev/null @@ -1,69 +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/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 deleted file mode 100644 index d3e76c1e..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Let.java +++ /dev/null @@ -1,60 +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 '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 deleted file mode 100644 index f6569b11..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LetBinding.java +++ /dev/null @@ -1,70 +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 '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 deleted file mode 100644 index c7f7a31a..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java +++ /dev/null @@ -1,18 +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/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 deleted file mode 100644 index d5edda19..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LocalVariables.java +++ /dev/null @@ -1,39 +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 '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 deleted file mode 100644 index 8c60650b..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java +++ /dev/null @@ -1,49 +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/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 deleted file mode 100644 index 5f129c05..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java +++ /dev/null @@ -1,256 +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/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 deleted file mode 100644 index 1c1c6764..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java +++ /dev/null @@ -1,46 +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/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 deleted file mode 100644 index 2d40f570..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java +++ /dev/null @@ -1,18 +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/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 deleted file mode 100644 index 6a8d507e..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java +++ /dev/null @@ -1,139 +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/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 deleted file mode 100644 index 02724d03..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Metric.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * 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 deleted file mode 100644 index fa86f55e..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java +++ /dev/null @@ -1,92 +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' 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 deleted file mode 100644 index 5b6f1306..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java +++ /dev/null @@ -1,19 +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/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 deleted file mode 100644 index 4daa21ab..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java +++ /dev/null @@ -1,47 +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/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 deleted file mode 100644 index f9c5d833..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Node.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * 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 deleted file mode 100644 index dcefba48..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java +++ /dev/null @@ -1,47 +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/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 deleted file mode 100644 index ffd46d01..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java +++ /dev/null @@ -1,72 +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/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 deleted file mode 100644 index 72f5947c..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java +++ /dev/null @@ -1,210 +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/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 deleted file mode 100644 index cfeaa0f2..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java +++ /dev/null @@ -1,18 +0,0 @@ -/** - * 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 deleted file mode 100644 index ff248906..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java +++ /dev/null @@ -1,115 +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/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 deleted file mode 100644 index 56fac081..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java +++ /dev/null @@ -1,39 +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/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 deleted file mode 100644 index 0b2edb36..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/QuantifiedExpression.java +++ /dev/null @@ -1,95 +0,0 @@ -/** - * 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 deleted file mode 100644 index 4c674fe0..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Quantifier.java +++ /dev/null @@ -1,233 +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 '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 deleted file mode 100644 index 5fd43f34..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java +++ /dev/null @@ -1,46 +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/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 deleted file mode 100644 index 6cd03ef0..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java +++ /dev/null @@ -1,46 +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/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 deleted file mode 100644 index 6589eaa4..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java +++ /dev/null @@ -1,538 +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 '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 deleted file mode 100644 index 9e01d8db..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java +++ /dev/null @@ -1,5191 +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.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 deleted file mode 100644 index 1abc7ea1..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java +++ /dev/null @@ -1,18 +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/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 deleted file mode 100644 index 2dd89f73..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java +++ /dev/null @@ -1,19 +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/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 deleted file mode 100644 index 7272e64a..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java +++ /dev/null @@ -1,46 +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/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 deleted file mode 100644 index fc181c0b..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java +++ /dev/null @@ -1,37 +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/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 deleted file mode 100644 index 04744ad9..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java +++ /dev/null @@ -1,69 +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/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 deleted file mode 100644 index 53a18217..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java +++ /dev/null @@ -1,46 +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/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 deleted file mode 100644 index c0a1ddc7..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java +++ /dev/null @@ -1,72 +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/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 deleted file mode 100644 index fad289b1..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java +++ /dev/null @@ -1,302 +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/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 deleted file mode 100644 index fd916c18..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java +++ /dev/null @@ -1,69 +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/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 deleted file mode 100644 index 581ce517..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * 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 deleted file mode 100644 index 0f0262df..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java +++ /dev/null @@ -1,378 +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.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 deleted file mode 100644 index afd14afa..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java +++ /dev/null @@ -1,40 +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/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 deleted file mode 100644 index fce298f1..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java +++ /dev/null @@ -1,154 +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/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 deleted file mode 100644 index e85a40f9..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java +++ /dev/null @@ -1,317 +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/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 deleted file mode 100644 index 9b4f0385..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java +++ /dev/null @@ -1,221 +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/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 deleted file mode 100644 index 7d3a981e..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java +++ /dev/null @@ -1,221 +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/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 deleted file mode 100644 index bbc2dd4c..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java +++ /dev/null @@ -1,373 +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/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 deleted file mode 100644 index d6905f3b..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java +++ /dev/null @@ -1,246 +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#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 deleted file mode 100644 index 39e20e46..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CastExpressionImpl.java +++ /dev/null @@ -1,241 +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.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 deleted file mode 100644 index 9fe48f0b..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java +++ /dev/null @@ -1,318 +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/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 deleted file mode 100644 index 37cc2e07..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java +++ /dev/null @@ -1,317 +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/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 deleted file mode 100644 index cc689c0d..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java +++ /dev/null @@ -1,152 +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/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 deleted file mode 100644 index f1ad7bea..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java +++ /dev/null @@ -1,247 +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/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 deleted file mode 100644 index 47dd7bcc..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java +++ /dev/null @@ -1,152 +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/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 deleted file mode 100644 index 26717519..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java +++ /dev/null @@ -1,38 +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/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 deleted file mode 100644 index fdeeae5e..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java +++ /dev/null @@ -1,165 +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/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 deleted file mode 100644 index d5a375b0..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java +++ /dev/null @@ -1,165 +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/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 deleted file mode 100644 index 798b4b68..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java +++ /dev/null @@ -1,178 +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/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 deleted file mode 100644 index 5b1c5969..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java +++ /dev/null @@ -1,38 +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 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 deleted file mode 100644 index 2b4efc07..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternAggregatorDefinitionImpl.java +++ /dev/null @@ -1,291 +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.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 deleted file mode 100644 index d186fb95..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternDatatypeDefinitionImpl.java +++ /dev/null @@ -1,208 +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.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 deleted file mode 100644 index 97c76273..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java +++ /dev/null @@ -1,311 +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.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 deleted file mode 100644 index e59fa4e3..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java +++ /dev/null @@ -1,248 +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.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 deleted file mode 100644 index 73bbc04f..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FunctorImpl.java +++ /dev/null @@ -1,134 +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.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 deleted file mode 100644 index 3c6bb17a..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java +++ /dev/null @@ -1,314 +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#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 deleted file mode 100644 index 348f51df..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java +++ /dev/null @@ -1,38 +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/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 deleted file mode 100644 index fab8335a..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java +++ /dev/null @@ -1,246 +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.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 deleted file mode 100644 index a04dae76..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java +++ /dev/null @@ -1,246 +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/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 deleted file mode 100644 index 9788c44d..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetBindingImpl.java +++ /dev/null @@ -1,248 +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.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 deleted file mode 100644 index 841c74c7..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LetImpl.java +++ /dev/null @@ -1,224 +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.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 deleted file mode 100644 index 671fa305..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java +++ /dev/null @@ -1,38 +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/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 deleted file mode 100644 index e34a61c6..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LocalVariablesImpl.java +++ /dev/null @@ -1,154 +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.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 deleted file mode 100644 index 602edee1..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java +++ /dev/null @@ -1,166 +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/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 deleted file mode 100644 index 0e33864d..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java +++ /dev/null @@ -1,165 +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/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 deleted file mode 100644 index 20a59027..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java +++ /dev/null @@ -1,38 +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/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 deleted file mode 100644 index f632faa4..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java +++ /dev/null @@ -1,430 +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/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 deleted file mode 100644 index d441b8c1..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java +++ /dev/null @@ -1,309 +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.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 deleted file mode 100644 index 41fbe6de..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricImpl.java +++ /dev/null @@ -1,159 +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.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 deleted file mode 100644 index e29fe9f6..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java +++ /dev/null @@ -1,40 +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/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 deleted file mode 100644 index a6b102ac..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java +++ /dev/null @@ -1,166 +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/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 deleted file mode 100644 index a4fcf51f..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NodeImpl.java +++ /dev/null @@ -1,165 +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.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 deleted file mode 100644 index ffd4294d..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java +++ /dev/null @@ -1,167 +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/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 deleted file mode 100644 index 7d0e4c50..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java +++ /dev/null @@ -1,249 +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/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 deleted file mode 100644 index 251a27d9..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java +++ /dev/null @@ -1,372 +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/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 deleted file mode 100644 index 626b6419..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java +++ /dev/null @@ -1,38 +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.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 deleted file mode 100644 index 0a4ad5ce..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java +++ /dev/null @@ -1,154 +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/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 deleted file mode 100644 index a1eecebd..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/QuantifiedExpressionImpl.java +++ /dev/null @@ -1,318 +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.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 deleted file mode 100644 index 0be1aac7..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java +++ /dev/null @@ -1,159 +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/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 deleted file mode 100644 index a4cf94a7..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java +++ /dev/null @@ -1,159 +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/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 deleted file mode 100644 index 5787175b..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java +++ /dev/null @@ -1,905 +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.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 deleted file mode 100644 index e8834386..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java +++ /dev/null @@ -1,2726 +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.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 deleted file mode 100644 index 93d3ce7f..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java +++ /dev/null @@ -1,38 +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/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 deleted file mode 100644 index bf4d9e6a..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java +++ /dev/null @@ -1,40 +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/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 deleted file mode 100644 index 30bef702..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java +++ /dev/null @@ -1,165 +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/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 deleted file mode 100644 index 23215a72..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java +++ /dev/null @@ -1,152 +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/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 deleted file mode 100644 index 03032f1c..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java +++ /dev/null @@ -1,221 +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/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 deleted file mode 100644 index c806b3c2..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java +++ /dev/null @@ -1,159 +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/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 deleted file mode 100644 index a3a7b1dc..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java +++ /dev/null @@ -1,249 +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/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 deleted file mode 100644 index 35450b74..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java +++ /dev/null @@ -1,247 +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/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 deleted file mode 100644 index 1762d35c..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java +++ /dev/null @@ -1,159 +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.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 deleted file mode 100644 index 23971e9d..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java +++ /dev/null @@ -1,1147 +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 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 deleted file mode 100644 index 4e5929e6..00000000 --- a/Application/org.eclipse.viatra.solver.language/ecore-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java +++ /dev/null @@ -1,1388 +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.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 deleted file mode 100644 index 905e5a90..00000000 --- a/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel deleted file mode 100644 index 2325d668..00000000 --- a/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel +++ /dev/null @@ -1,249 +0,0 @@ - - - SolverLanguage.ecore - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Application/org.eclipse.viatra.solver.language/plugin.xml b/Application/org.eclipse.viatra.solver.language/plugin.xml index 79c1ea47..c5be3e9b 100644 --- a/Application/org.eclipse.viatra.solver.language/plugin.xml +++ b/Application/org.eclipse.viatra.solver.language/plugin.xml @@ -1,10 +1,4 @@ - - - - + diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java index 4bf254b2..a02b3ab2 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java @@ -28,9 +28,11 @@ import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider; import org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter; import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider; import org.eclipse.xtext.parser.antlr.ITokenDefProvider; +import org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper; import org.eclipse.xtext.parser.antlr.Lexer; import org.eclipse.xtext.parser.antlr.LexerBindings; import org.eclipse.xtext.parser.antlr.LexerProvider; +import org.eclipse.xtext.parser.antlr.UnorderedGroupHelper; import org.eclipse.xtext.resource.IContainer; import org.eclipse.xtext.resource.IResourceDescriptions; import org.eclipse.xtext.resource.containers.IAllContainersState; @@ -137,6 +139,11 @@ public abstract class AbstractSolverLanguageRuntimeModule extends DefaultRuntime .to(InternalSolverLanguageLexer.class); } + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindIUnorderedGroupHelper() { + return UnorderedGroupHelper.class; + } + // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 @SingletonBinding(eager=true) public Class bindSolverLanguageValidator() { 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 da513ba9..0fa5d0d7 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/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 8ec69aaa..eb6f05c7 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 @@ -71,23 +71,73 @@ ruleProblem returns [EObject current=null] }: ( ( + otherlv_0=Problem { - newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); + newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0()); } - lv_statements_0_0=ruleStatement + ( + ( + { + newCompositeNode(grammarAccess.getProblemAccess().getNameQualifiedNameParserRuleCall_0_1_0()); + } + lv_name_1_0=ruleQualifiedName + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProblemRule()); + } + set( + $current, + "name", + lv_name_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + afterParserOrEnumRuleCall(); + } + ) + ) + this_FULL_STOP_2=RULE_FULL_STOP { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getProblemRule()); - } - add( - $current, - "statements", - lv_statements_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); - afterParserOrEnumRuleCall(); + newLeafNode(this_FULL_STOP_2, grammarAccess.getProblemAccess().getFULL_STOPTerminalRuleCall_0_2()); } - ) - )* + )? + ( + ( + { + newCompositeNode(grammarAccess.getProblemAccess().getImportsImportParserRuleCall_1_0()); + } + lv_imports_3_0=ruleImport + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProblemRule()); + } + add( + $current, + "imports", + lv_imports_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Import"); + afterParserOrEnumRuleCall(); + } + ) + )* + ( + ( + { + newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_2_0()); + } + lv_statements_4_0=ruleStatement + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProblemRule()); + } + add( + $current, + "statements", + lv_statements_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); + afterParserOrEnumRuleCall(); + } + ) + )* + ) ; // Entry rule entryRuleStatement @@ -106,118 +156,280 @@ ruleStatement returns [EObject current=null] leaveRule(); }: ( + { + newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0()); + } + this_AssertionOrDefinition_0=ruleAssertionOrDefinition + { + $current = $this_AssertionOrDefinition_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1()); + } + this_PredicateDefinition_1=rulePredicateDefinition + { + $current = $this_PredicateDefinition_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPredicateDefintionParserRuleCall_2()); + } + this_UnnamedErrorPredicateDefintion_2=ruleUnnamedErrorPredicateDefintion + { + $current = $this_UnnamedErrorPredicateDefintion_2.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getDefaultAssertionParserRuleCall_3()); + } + this_DefaultAssertion_3=ruleDefaultAssertion + { + $current = $this_DefaultAssertion_3.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getFunctionDefinitionParserRuleCall_4()); + } + this_FunctionDefinition_4=ruleFunctionDefinition + { + $current = $this_FunctionDefinition_4.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getAttributeParserRuleCall_5()); + } + this_Attribute_5=ruleAttribute + { + $current = $this_Attribute_5.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getExternDeclarationParserRuleCall_6()); + } + this_ExternDeclaration_6=ruleExternDeclaration + { + $current = $this_ExternDeclaration_6.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_7()); + } + this_ScopeDeclaration_7=ruleScopeDeclaration + { + $current = $this_ScopeDeclaration_7.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDeclarationParserRuleCall_8()); + } + this_ObjectiveDeclaration_8=ruleObjectiveDeclaration + { + $current = $this_ObjectiveDeclaration_8.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_9()); + } + this_ClassDeclaration_9=ruleClassDeclaration + { + $current = $this_ClassDeclaration_9.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_10()); + } + this_EnumDeclaration_10=ruleEnumDeclaration + { + $current = $this_EnumDeclaration_10.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleImport +entryRuleImport returns [EObject current=null]: + { newCompositeNode(grammarAccess.getImportRule()); } + iv_ruleImport=ruleImport + { $current=$iv_ruleImport.current; } + EOF; + +// Rule Import +ruleImport returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getImportAccess().getUriImportParserRuleCall_0()); + } + this_UriImport_0=ruleUriImport + { + $current = $this_UriImport_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getImportAccess().getNamespaceImportParserRuleCall_1()); + } + this_NamespaceImport_1=ruleNamespaceImport + { + $current = $this_NamespaceImport_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleUriImport +entryRuleUriImport returns [EObject current=null]: + { newCompositeNode(grammarAccess.getUriImportRule()); } + iv_ruleUriImport=ruleUriImport + { $current=$iv_ruleUriImport.current; } + EOF; + +// Rule UriImport +ruleUriImport returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=Import + { + newLeafNode(otherlv_0, grammarAccess.getUriImportAccess().getImportKeyword_0()); + } ( + ( + lv_uri_1_0=RULE_STRING + { + newLeafNode(lv_uri_1_0, grammarAccess.getUriImportAccess().getUriSTRINGTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getUriImportRule()); + } + setWithLastConsumed( + $current, + "uri", + lv_uri_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); + } + ) + ) + ( + otherlv_2=As { - newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); - } - this_AssertionOrDefinition_0=ruleAssertionOrDefinition - { - $current = $this_AssertionOrDefinition_0.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); - } - this_PredicateDefinition_1=rulePredicateDefinition - { - $current = $this_PredicateDefinition_1.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); - } - this_UnnamedErrorPrediateDefinition_2=ruleUnnamedErrorPrediateDefinition - { - $current = $this_UnnamedErrorPrediateDefinition_2.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); - } - this_DefaultDefinition_3=ruleDefaultDefinition - { - $current = $this_DefaultDefinition_3.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4()); - } - this_MetricDefinition_4=ruleMetricDefinition - { - $current = $this_MetricDefinition_4.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5()); - } - this_ExternPredicateDefinition_5=ruleExternPredicateDefinition - { - $current = $this_ExternPredicateDefinition_5.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); - } - this_ExternMetricDefinition_6=ruleExternMetricDefinition - { - $current = $this_ExternMetricDefinition_6.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7()); - } - this_ExternAggregatorDefinition_7=ruleExternAggregatorDefinition - { - $current = $this_ExternAggregatorDefinition_7.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8()); - } - this_ExternDatatypeDefinition_8=ruleExternDatatypeDefinition - { - $current = $this_ExternDatatypeDefinition_8.current; - afterParserOrEnumRuleCall(); - } - | - { - newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9()); - } - this_ClassDefinition_9=ruleClassDefinition - { - $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()); + newLeafNode(otherlv_2, grammarAccess.getUriImportAccess().getAsKeyword_2_0()); } - this_ObjectiveDefinition_11=ruleObjectiveDefinition + ( + ( + { + newCompositeNode(grammarAccess.getUriImportAccess().getAliasQualifiedNameParserRuleCall_2_1_0()); + } + lv_alias_3_0=ruleQualifiedName + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUriImportRule()); + } + set( + $current, + "alias", + lv_alias_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + this_FULL_STOP_4=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_4, grammarAccess.getUriImportAccess().getFULL_STOPTerminalRuleCall_3()); + } + ) +; + +// Entry rule entryRuleNamespaceImport +entryRuleNamespaceImport returns [EObject current=null]: + { newCompositeNode(grammarAccess.getNamespaceImportRule()); } + iv_ruleNamespaceImport=ruleNamespaceImport + { $current=$iv_ruleNamespaceImport.current; } + EOF; + +// Rule NamespaceImport +ruleNamespaceImport returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=Import + { + newLeafNode(otherlv_0, grammarAccess.getNamespaceImportAccess().getImportKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getNamespaceImportAccess().getImportedNamespaceQualifiedNameParserRuleCall_1_0()); + } + lv_importedNamespace_1_0=ruleQualifiedName + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getNamespaceImportRule()); + } + set( + $current, + "importedNamespace", + lv_importedNamespace_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=As { - $current = $this_ObjectiveDefinition_11.current; - afterParserOrEnumRuleCall(); + newLeafNode(otherlv_2, grammarAccess.getNamespaceImportAccess().getAsKeyword_2_0()); } + ( + ( + { + newCompositeNode(grammarAccess.getNamespaceImportAccess().getAliasQualifiedNameParserRuleCall_2_1_0()); + } + lv_alias_3_0=ruleQualifiedName + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getNamespaceImportRule()); + } + set( + $current, + "alias", + lv_alias_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + afterParserOrEnumRuleCall(); + } + ) + ) ) - this_FULL_STOP_12=RULE_FULL_STOP + this_FULL_STOP_4=RULE_FULL_STOP { - newLeafNode(this_FULL_STOP_12, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); + newLeafNode(this_FULL_STOP_4, grammarAccess.getNamespaceImportAccess().getFULL_STOPTerminalRuleCall_3()); } ) ; @@ -251,33 +463,35 @@ ruleAssertionOrDefinition returns [EObject current=null] ( { $current = forceCreateModelElementAndSet( - grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(), + grammarAccess.getAssertionOrDefinitionAccess().getAssertionExpressionAction_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_2_0()); - } - lv_range_3_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); + ( + { + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); } - set( - $current, - "range", - lv_range_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } + 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(); + } + ) ) - ) + )? ) | ( @@ -317,13 +531,13 @@ ruleAssertionOrDefinition returns [EObject current=null] ( { $current = forceCreateModelElementAndSet( - grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(), + grammarAccess.getAssertionOrDefinitionAccess().getFunctionDefinitionHeadAction_1_2_0(), $current); } ) - otherlv_8=EqualsSign + otherlv_8=ColonEqualsSign { - newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); + newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getColonEqualsSignKeyword_1_2_1()); } ( ( @@ -345,7 +559,11 @@ ruleAssertionOrDefinition returns [EObject current=null] ) ) ) - )? + ) + this_FULL_STOP_10=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_10, grammarAccess.getAssertionOrDefinitionAccess().getFULL_STOPTerminalRuleCall_2()); + } ) ; @@ -470,18 +688,22 @@ rulePredicateDefinition returns [EObject current=null] } ) ) + this_FULL_STOP_7=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_7, grammarAccess.getPredicateDefinitionAccess().getFULL_STOPTerminalRuleCall_4()); + } ) ; -// Entry rule entryRuleUnnamedErrorPrediateDefinition -entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); } - iv_ruleUnnamedErrorPrediateDefinition=ruleUnnamedErrorPrediateDefinition - { $current=$iv_ruleUnnamedErrorPrediateDefinition.current; } +// Entry rule entryRuleUnnamedErrorPredicateDefintion +entryRuleUnnamedErrorPredicateDefintion returns [EObject current=null]: + { newCompositeNode(grammarAccess.getUnnamedErrorPredicateDefintionRule()); } + iv_ruleUnnamedErrorPredicateDefintion=ruleUnnamedErrorPredicateDefintion + { $current=$iv_ruleUnnamedErrorPredicateDefintion.current; } EOF; -// Rule UnnamedErrorPrediateDefinition -ruleUnnamedErrorPrediateDefinition returns [EObject current=null] +// Rule UnnamedErrorPredicateDefintion +ruleUnnamedErrorPredicateDefintion returns [EObject current=null] @init { enterRule(); } @@ -491,62 +713,137 @@ ruleUnnamedErrorPrediateDefinition returns [EObject current=null] ( otherlv_0=Error { - newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPredicateDefintionAccess().getErrorKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getArgumentListArgumentListParserRuleCall_1_0()); + } + lv_argumentList_1_0=ruleArgumentList + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnnamedErrorPredicateDefintionRule()); + } + set( + $current, + "argumentList", + lv_argumentList_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2=ColonHyphenMinus + { + newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPredicateDefintionAccess().getColonHyphenMinusKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getBodyExpressionParserRuleCall_3_0()); + } + lv_body_3_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnnamedErrorPredicateDefintionRule()); + } + set( + $current, + "body", + lv_body_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + this_FULL_STOP_4=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_4, grammarAccess.getUnnamedErrorPredicateDefintionAccess().getFULL_STOPTerminalRuleCall_4()); + } + ) +; + +// Entry rule entryRuleDefaultAssertion +entryRuleDefaultAssertion returns [EObject current=null]: + { newCompositeNode(grammarAccess.getDefaultAssertionRule()); } + iv_ruleDefaultAssertion=ruleDefaultAssertion + { $current=$iv_ruleDefaultAssertion.current; } + EOF; + +// Rule DefaultAssertion +ruleDefaultAssertion returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=Default + { + newLeafNode(otherlv_0, grammarAccess.getDefaultAssertionAccess().getDefaultKeyword_0()); } ( ( { - newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getDefaultAssertionAccess().getExpressionCallParserRuleCall_1_0()); } - lv_argumentList_1_0=ruleArgumentList + lv_expression_1_0=ruleCall { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getDefaultAssertionRule()); } set( $current, - "argumentList", - lv_argumentList_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); + "expression", + lv_expression_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); afterParserOrEnumRuleCall(); } ) ) - otherlv_2=ColonHyphenMinus - { - newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); - } ( + otherlv_2=Colon + { + newLeafNode(otherlv_2, grammarAccess.getDefaultAssertionAccess().getColonKeyword_2_0()); + } ( - { - newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); - } - lv_body_3_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); + ( + { + newCompositeNode(grammarAccess.getDefaultAssertionAccess().getRangeExpressionParserRuleCall_2_1_0()); } - set( - $current, - "body", - lv_body_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } + lv_range_3_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getDefaultAssertionRule()); + } + set( + $current, + "range", + lv_range_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } + ) ) - ) + )? + this_FULL_STOP_4=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_4, grammarAccess.getDefaultAssertionAccess().getFULL_STOPTerminalRuleCall_3()); + } ) ; -// Entry rule entryRuleDefaultDefinition -entryRuleDefaultDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getDefaultDefinitionRule()); } - iv_ruleDefaultDefinition=ruleDefaultDefinition - { $current=$iv_ruleDefaultDefinition.current; } +// Entry rule entryRuleFunctionDefinition +entryRuleFunctionDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getFunctionDefinitionRule()); } + iv_ruleFunctionDefinition=ruleFunctionDefinition + { $current=$iv_ruleFunctionDefinition.current; } EOF; -// Rule DefaultDefinition -ruleDefaultDefinition returns [EObject current=null] +// Rule FunctionDefinition +ruleFunctionDefinition returns [EObject current=null] @init { enterRule(); } @@ -554,19 +851,31 @@ ruleDefaultDefinition returns [EObject current=null] leaveRule(); }: ( - otherlv_0=Default - { - newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); - } ( ( { - newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); + if ($current==null) { + $current = createModelElement(grammarAccess.getFunctionDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getFunctionDefinitionAccess().getResultTypeSymbolCrossReference_0_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getFunctionDefinitionAccess().getHeadCallParserRuleCall_1_0()); } lv_head_1_0=ruleCall { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getFunctionDefinitionRule()); } set( $current, @@ -577,41 +886,45 @@ ruleDefaultDefinition returns [EObject current=null] } ) ) - otherlv_2=Colon + otherlv_2=ColonEqualsSign { - newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); + newLeafNode(otherlv_2, grammarAccess.getFunctionDefinitionAccess().getColonEqualsSignKeyword_2()); } ( ( { - newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getFunctionDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); } - lv_range_3_0=ruleExpression + lv_body_3_0=ruleExpression { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getFunctionDefinitionRule()); } set( $current, - "range", - lv_range_3_0, + "body", + lv_body_3_0, "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); afterParserOrEnumRuleCall(); } ) ) + this_FULL_STOP_4=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_4, grammarAccess.getFunctionDefinitionAccess().getFULL_STOPTerminalRuleCall_4()); + } ) ; -// Entry rule entryRuleMetricDefinition -entryRuleMetricDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getMetricDefinitionRule()); } - iv_ruleMetricDefinition=ruleMetricDefinition - { $current=$iv_ruleMetricDefinition.current; } +// Entry rule entryRuleTypeReference +entryRuleTypeReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTypeReferenceRule()); } + iv_ruleTypeReference=ruleTypeReference + { $current=$iv_ruleTypeReference.current; } EOF; -// Rule MetricDefinition -ruleMetricDefinition returns [EObject current=null] +// Rule TypeReference +ruleTypeReference returns [EObject current=null] @init { enterRule(); } @@ -623,11 +936,11 @@ ruleMetricDefinition returns [EObject current=null] ( { if ($current==null) { - $current = createModelElement(grammarAccess.getMetricDefinitionRule()); + $current = createModelElement(grammarAccess.getTypeReferenceRule()); } } { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0()); + newCompositeNode(grammarAccess.getTypeReferenceAccess().getTypeSymbolCrossReference_0_0()); } ruleQualifiedName { @@ -637,58 +950,142 @@ ruleMetricDefinition returns [EObject current=null] ) ( ( + lv_forceObjectType_1_0=Object { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0()); + newLeafNode(lv_forceObjectType_1_0, grammarAccess.getTypeReferenceAccess().getForceObjectTypeObjectKeyword_1_0()); } - lv_head_1_0=ruleCall { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + $current = createModelElement(grammarAccess.getTypeReferenceRule()); } - set( - $current, - "head", - lv_head_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Call"); - afterParserOrEnumRuleCall(); + setWithLastConsumed($current, "forceObjectType", true, "object"); } ) - ) - otherlv_2=EqualsSign - { - newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); - } + )? + ) +; + +// Entry rule entryRuleAttribute +entryRuleAttribute returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAttributeRule()); } + iv_ruleAttribute=ruleAttribute + { $current=$iv_ruleAttribute.current; } + EOF; + +// Rule Attribute +ruleAttribute returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( ( ( { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getAttributeAccess().getKindAttributeKindEnumRuleCall_0_0()); } - lv_body_3_0=ruleExpression + lv_kind_0_0=ruleAttributeKind { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getAttributeRule()); } set( $current, - "body", - lv_body_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + "kind", + lv_kind_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AttributeKind"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getAttributeRule()); + } + } + { + newCompositeNode(grammarAccess.getAttributeAccess().getTargetSymbolCrossReference_1_0()); + } + ruleQualifiedName + { afterParserOrEnumRuleCall(); } ) ) + this_FULL_STOP_2=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_2, grammarAccess.getAttributeAccess().getFULL_STOPTerminalRuleCall_2()); + } + ) +; + +// Entry rule entryRuleExternDeclaration +entryRuleExternDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExternDeclarationRule()); } + iv_ruleExternDeclaration=ruleExternDeclaration + { $current=$iv_ruleExternDeclaration.current; } + EOF; + +// Rule ExternDeclaration +ruleExternDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternPredicateDeclarationParserRuleCall_0()); + } + this_ExternPredicateDeclaration_0=ruleExternPredicateDeclaration + { + $current = $this_ExternPredicateDeclaration_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternFunctionDeclarationParserRuleCall_1()); + } + this_ExternFunctionDeclaration_1=ruleExternFunctionDeclaration + { + $current = $this_ExternFunctionDeclaration_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternAggregationOperatorDeclarationParserRuleCall_2()); + } + this_ExternAggregationOperatorDeclaration_2=ruleExternAggregationOperatorDeclaration + { + $current = $this_ExternAggregationOperatorDeclaration_2.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternDatatypeDeclarationParserRuleCall_3()); + } + this_ExternDatatypeDeclaration_3=ruleExternDatatypeDeclaration + { + $current = $this_ExternDatatypeDeclaration_3.current; + afterParserOrEnumRuleCall(); + } ) ; -// Entry rule entryRuleExternPredicateDefinition -entryRuleExternPredicateDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); } - iv_ruleExternPredicateDefinition=ruleExternPredicateDefinition - { $current=$iv_ruleExternPredicateDefinition.current; } +// Entry rule entryRuleExternPredicateDeclaration +entryRuleExternPredicateDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExternPredicateDeclarationRule()); } + iv_ruleExternPredicateDeclaration=ruleExternPredicateDeclaration + { $current=$iv_ruleExternPredicateDeclaration.current; } EOF; -// Rule ExternPredicateDefinition -ruleExternPredicateDefinition returns [EObject current=null] +// Rule ExternPredicateDeclaration +ruleExternPredicateDeclaration returns [EObject current=null] @init { enterRule(); } @@ -698,22 +1095,82 @@ ruleExternPredicateDefinition returns [EObject current=null] ( otherlv_0=Extern { - newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getExternPredicateDeclarationAccess().getExternKeyword_0()); } + ( + ( + { + getUnorderedGroupHelper().enter(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1()); + } + ( + ( + ( + {getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 0)}?=>( + { + getUnorderedGroupHelper().select(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 0); + } + ({true}?=>(( + lv_functional_2_0=Functional + { + newLeafNode(lv_functional_2_0, grammarAccess.getExternPredicateDeclarationAccess().getFunctionalFunctionalKeyword_1_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternPredicateDeclarationRule()); + } + setWithLastConsumed($current, "functional", true, "functional"); + } + ) + )) + { + getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1()); + } + ) + )| + ( + {getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 1)}?=>( + { + getUnorderedGroupHelper().select(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 1); + } + ({true}?=>(( + lv_error_3_0=Error + { + newLeafNode(lv_error_3_0, grammarAccess.getExternPredicateDeclarationAccess().getErrorErrorKeyword_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternPredicateDeclarationRule()); + } + setWithLastConsumed($current, "error", true, "error"); + } + ) + )) + { + getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1()); + } + ) + ) + )* + ) + ) + { + getUnorderedGroupHelper().leave(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1()); + } + ) ( ( { - newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getExternPredicateDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0()); } - lv_name_1_0=ruleQualifiedName + lv_name_4_0=ruleQualifiedName { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getExternPredicateDeclarationRule()); } set( $current, "name", - lv_name_1_0, + lv_name_4_0, "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); afterParserOrEnumRuleCall(); } @@ -722,34 +1179,38 @@ ruleExternPredicateDefinition returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getExternPredicateDeclarationAccess().getArgumentListArgumentListParserRuleCall_3_0()); } - lv_argumentList_2_0=ruleArgumentList + lv_argumentList_5_0=ruleArgumentList { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getExternPredicateDeclarationRule()); } set( $current, "argumentList", - lv_argumentList_2_0, + lv_argumentList_5_0, "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); afterParserOrEnumRuleCall(); } ) ) + this_FULL_STOP_6=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_6, grammarAccess.getExternPredicateDeclarationAccess().getFULL_STOPTerminalRuleCall_4()); + } ) ; -// Entry rule entryRuleExternMetricDefinition -entryRuleExternMetricDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); } - iv_ruleExternMetricDefinition=ruleExternMetricDefinition - { $current=$iv_ruleExternMetricDefinition.current; } +// Entry rule entryRuleExternFunctionDeclaration +entryRuleExternFunctionDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExternFunctionDeclarationRule()); } + iv_ruleExternFunctionDeclaration=ruleExternFunctionDeclaration + { $current=$iv_ruleExternFunctionDeclaration.current; } EOF; -// Rule ExternMetricDefinition -ruleExternMetricDefinition returns [EObject current=null] +// Rule ExternFunctionDeclaration +ruleExternFunctionDeclaration returns [EObject current=null] @init { enterRule(); } @@ -759,17 +1220,17 @@ ruleExternMetricDefinition returns [EObject current=null] ( otherlv_0=Extern { - newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getExternFunctionDeclarationAccess().getExternKeyword_0()); } ( ( { if ($current==null) { - $current = createModelElement(grammarAccess.getExternMetricDefinitionRule()); + $current = createModelElement(grammarAccess.getExternFunctionDeclarationRule()); } } { - newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + newCompositeNode(grammarAccess.getExternFunctionDeclarationAccess().getResultTypeSymbolCrossReference_1_0()); } ruleQualifiedName { @@ -780,12 +1241,12 @@ ruleExternMetricDefinition returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getExternFunctionDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0()); } lv_name_2_0=ruleQualifiedName { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getExternFunctionDeclarationRule()); } set( $current, @@ -799,12 +1260,12 @@ ruleExternMetricDefinition returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getExternFunctionDeclarationAccess().getArgumentListArgumentListParserRuleCall_3_0()); } lv_argumentList_3_0=ruleArgumentList { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getExternFunctionDeclarationRule()); } set( $current, @@ -815,18 +1276,22 @@ ruleExternMetricDefinition returns [EObject current=null] } ) ) + this_FULL_STOP_4=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_4, grammarAccess.getExternFunctionDeclarationAccess().getFULL_STOPTerminalRuleCall_4()); + } ) ; -// Entry rule entryRuleExternAggregatorDefinition -entryRuleExternAggregatorDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getExternAggregatorDefinitionRule()); } - iv_ruleExternAggregatorDefinition=ruleExternAggregatorDefinition - { $current=$iv_ruleExternAggregatorDefinition.current; } +// Entry rule entryRuleExternAggregationOperatorDeclaration +entryRuleExternAggregationOperatorDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationRule()); } + iv_ruleExternAggregationOperatorDeclaration=ruleExternAggregationOperatorDeclaration + { $current=$iv_ruleExternAggregationOperatorDeclaration.current; } EOF; -// Rule ExternAggregatorDefinition -ruleExternAggregatorDefinition returns [EObject current=null] +// Rule ExternAggregationOperatorDeclaration +ruleExternAggregationOperatorDeclaration returns [EObject current=null] @init { enterRule(); } @@ -836,17 +1301,17 @@ ruleExternAggregatorDefinition returns [EObject current=null] ( otherlv_0=Extern { - newLeafNode(otherlv_0, grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getExternAggregationOperatorDeclarationAccess().getExternKeyword_0()); } ( ( { if ($current==null) { - $current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule()); + $current = createModelElement(grammarAccess.getExternAggregationOperatorDeclarationRule()); } } { - newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationAccess().getResultTypeSymbolCrossReference_1_0()); } ruleQualifiedName { @@ -857,12 +1322,12 @@ ruleExternAggregatorDefinition returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0()); } lv_name_2_0=ruleQualifiedName { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getExternAggregatorDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getExternAggregationOperatorDeclarationRule()); } set( $current, @@ -875,17 +1340,17 @@ ruleExternAggregatorDefinition returns [EObject current=null] ) otherlv_3=LeftCurlyBracket { - newLeafNode(otherlv_3, grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3()); + newLeafNode(otherlv_3, grammarAccess.getExternAggregationOperatorDeclarationAccess().getLeftCurlyBracketKeyword_3()); } ( ( { if ($current==null) { - $current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule()); + $current = createModelElement(grammarAccess.getExternAggregationOperatorDeclarationRule()); } } { - newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0()); + newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationAccess().getArgumentTypeSymbolCrossReference_4_0()); } ruleQualifiedName { @@ -895,24 +1360,28 @@ ruleExternAggregatorDefinition returns [EObject current=null] ) otherlv_5=FullStopFullStopFullStop { - newLeafNode(otherlv_5, grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5()); + newLeafNode(otherlv_5, grammarAccess.getExternAggregationOperatorDeclarationAccess().getFullStopFullStopFullStopKeyword_5()); } otherlv_6=RightCurlyBracket { - newLeafNode(otherlv_6, grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6()); + newLeafNode(otherlv_6, grammarAccess.getExternAggregationOperatorDeclarationAccess().getRightCurlyBracketKeyword_6()); + } + this_FULL_STOP_7=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_7, grammarAccess.getExternAggregationOperatorDeclarationAccess().getFULL_STOPTerminalRuleCall_7()); } ) ; -// Entry rule entryRuleExternDatatypeDefinition -entryRuleExternDatatypeDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getExternDatatypeDefinitionRule()); } - iv_ruleExternDatatypeDefinition=ruleExternDatatypeDefinition - { $current=$iv_ruleExternDatatypeDefinition.current; } +// Entry rule entryRuleExternDatatypeDeclaration +entryRuleExternDatatypeDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExternDatatypeDeclarationRule()); } + iv_ruleExternDatatypeDeclaration=ruleExternDatatypeDeclaration + { $current=$iv_ruleExternDatatypeDeclaration.current; } EOF; -// Rule ExternDatatypeDefinition -ruleExternDatatypeDefinition returns [EObject current=null] +// Rule ExternDatatypeDeclaration +ruleExternDatatypeDeclaration returns [EObject current=null] @init { enterRule(); } @@ -922,21 +1391,21 @@ ruleExternDatatypeDefinition returns [EObject current=null] ( otherlv_0=Extern { - newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDeclarationAccess().getExternKeyword_0()); } otherlv_1=Datatype { - newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1()); + newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDeclarationAccess().getDatatypeKeyword_1()); } ( ( { - newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getExternDatatypeDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0()); } lv_name_2_0=ruleQualifiedName { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getExternDatatypeDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getExternDatatypeDeclarationRule()); } set( $current, @@ -947,103 +1416,10 @@ ruleExternDatatypeDefinition returns [EObject current=null] } ) ) - ( - 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 - { - newLeafNode(otherlv_5, grammarAccess.getExternDatatypeDefinitionAccess().getCommaKeyword_3_2_0()); - } - ( - ( - { - 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 = createModelElement(grammarAccess.getVariableRule()); - } - } - { - 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"); - } - ) - ) + this_FULL_STOP_3=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_3, grammarAccess.getExternDatatypeDeclarationAccess().getFULL_STOPTerminalRuleCall_3()); + } ) ; @@ -1064,43 +1440,77 @@ ruleExpression returns [EObject current=null] }: ( { - newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); + newCompositeNode(grammarAccess.getExpressionAccess().getConditionalExpressionParserRuleCall_0()); } - this_IfElse_0=ruleIfElse + this_ConditionalExpression_0=ruleConditionalExpression { - $current = $this_IfElse_0.current; + $current = $this_ConditionalExpression_0.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getExpressionAccess().getLetParserRuleCall_1()); + newCompositeNode(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_1()); } - this_Let_1=ruleLet + this_LetExpression_1=ruleLetExpression { - $current = $this_Let_1.current; + $current = $this_LetExpression_1.current; afterParserOrEnumRuleCall(); } | - { - newCompositeNode(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2()); - } - this_ImplicationExpression_2=ruleImplicationExpression - { - $current = $this_ImplicationExpression_2.current; - afterParserOrEnumRuleCall(); - } + ( + { + newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_2_0()); + } + this_DisjunctiveExpression_2=ruleDisjunctiveExpression + { + $current = $this_DisjunctiveExpression_2.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + $current = forceCreateModelElementAndSet( + grammarAccess.getExpressionAccess().getForallConditionAction_2_1_0(), + $current); + } + ) + otherlv_4=EqualsSignGreaterThanSign + { + newLeafNode(otherlv_4, grammarAccess.getExpressionAccess().getEqualsSignGreaterThanSignKeyword_2_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getExpressionAccess().getBodyDisjunctiveExpressionParserRuleCall_2_1_2_0()); + } + lv_body_5_0=ruleDisjunctiveExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExpressionRule()); + } + set( + $current, + "body", + lv_body_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) ) ; -// Entry rule entryRuleIfElse -entryRuleIfElse returns [EObject current=null]: - { newCompositeNode(grammarAccess.getIfElseRule()); } - iv_ruleIfElse=ruleIfElse - { $current=$iv_ruleIfElse.current; } +// Entry rule entryRuleConditionalExpression +entryRuleConditionalExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getConditionalExpressionRule()); } + iv_ruleConditionalExpression=ruleConditionalExpression + { $current=$iv_ruleConditionalExpression.current; } EOF; -// Rule IfElse -ruleIfElse returns [EObject current=null] +// Rule ConditionalExpression +ruleConditionalExpression returns [EObject current=null] @init { enterRule(); } @@ -1110,40 +1520,40 @@ ruleIfElse returns [EObject current=null] ( otherlv_0=If { - newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getConditionalExpressionAccess().getIfKeyword_0()); } ( ( { - newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getConditionalExpressionAccess().getConditionDisjunctiveExpressionParserRuleCall_1_0()); } - lv_condition_1_0=ruleExpression + lv_condition_1_0=ruleDisjunctiveExpression { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getIfElseRule()); + $current = createModelElementForParent(grammarAccess.getConditionalExpressionRule()); } set( $current, "condition", lv_condition_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression"); afterParserOrEnumRuleCall(); } ) ) otherlv_2=Then { - newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); + newLeafNode(otherlv_2, grammarAccess.getConditionalExpressionAccess().getThenKeyword_2()); } ( ( { - newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getConditionalExpressionAccess().getThenExpressionParserRuleCall_3_0()); } lv_then_3_0=ruleExpression { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getIfElseRule()); + $current = createModelElementForParent(grammarAccess.getConditionalExpressionRule()); } set( $current, @@ -1156,17 +1566,17 @@ ruleIfElse returns [EObject current=null] ) otherlv_4=Else { - newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); + newLeafNode(otherlv_4, grammarAccess.getConditionalExpressionAccess().getElseKeyword_4()); } ( ( { - newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); + newCompositeNode(grammarAccess.getConditionalExpressionAccess().getElseExpressionParserRuleCall_5_0()); } lv_else_5_0=ruleExpression { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getIfElseRule()); + $current = createModelElementForParent(grammarAccess.getConditionalExpressionRule()); } set( $current, @@ -1180,15 +1590,15 @@ ruleIfElse returns [EObject current=null] ) ; -// Entry rule entryRuleLet -entryRuleLet returns [EObject current=null]: - { newCompositeNode(grammarAccess.getLetRule()); } - iv_ruleLet=ruleLet - { $current=$iv_ruleLet.current; } +// Entry rule entryRuleLetExpression +entryRuleLetExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLetExpressionRule()); } + iv_ruleLetExpression=ruleLetExpression + { $current=$iv_ruleLetExpression.current; } EOF; -// Rule Let -ruleLet returns [EObject current=null] +// Rule LetExpression +ruleLetExpression returns [EObject current=null] @init { enterRule(); } @@ -1198,17 +1608,17 @@ ruleLet returns [EObject current=null] ( otherlv_0=Let { - newLeafNode(otherlv_0, grammarAccess.getLetAccess().getLetKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getLetExpressionAccess().getLetKeyword_0()); } ( ( { - newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getLetExpressionAccess().getBindingsLetBindingParserRuleCall_1_0()); } lv_bindings_1_0=ruleLetBinding { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getLetRule()); + $current = createModelElementForParent(grammarAccess.getLetExpressionRule()); } add( $current, @@ -1222,17 +1632,17 @@ ruleLet returns [EObject current=null] ( otherlv_2=Comma { - newLeafNode(otherlv_2, grammarAccess.getLetAccess().getCommaKeyword_2_0()); + newLeafNode(otherlv_2, grammarAccess.getLetExpressionAccess().getCommaKeyword_2_0()); } ( ( { - newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0()); + newCompositeNode(grammarAccess.getLetExpressionAccess().getBindingsLetBindingParserRuleCall_2_1_0()); } lv_bindings_3_0=ruleLetBinding { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getLetRule()); + $current = createModelElementForParent(grammarAccess.getLetExpressionRule()); } add( $current, @@ -1246,17 +1656,17 @@ ruleLet returns [EObject current=null] )* otherlv_4=In { - newLeafNode(otherlv_4, grammarAccess.getLetAccess().getInKeyword_3()); + newLeafNode(otherlv_4, grammarAccess.getLetExpressionAccess().getInKeyword_3()); } ( ( { - newCompositeNode(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0()); + newCompositeNode(grammarAccess.getLetExpressionAccess().getBodyExpressionParserRuleCall_4_0()); } lv_body_5_0=ruleExpression { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getLetRule()); + $current = createModelElementForParent(grammarAccess.getLetExpressionRule()); } set( $current, @@ -1289,32 +1699,47 @@ ruleLetBinding returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0()); + if ($current==null) { + $current = createModelElement(grammarAccess.getLetBindingRule()); + } + } + { + newCompositeNode(grammarAccess.getLetBindingAccess().getTypeSymbolCrossReference_0_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + )? + ( + ( + lv_name_1_0=RULE_ID + { + newLeafNode(lv_name_1_0, grammarAccess.getLetBindingAccess().getNameIDTerminalRuleCall_1_0()); } - lv_variable_0_0=ruleVariable { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getLetBindingRule()); + $current = createModelElement(grammarAccess.getLetBindingRule()); } - set( + setWithLastConsumed( $current, - "variable", - lv_variable_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); - afterParserOrEnumRuleCall(); + "name", + lv_name_1_0, + "org.eclipse.xtext.common.Terminals.ID"); } ) ) - otherlv_1=EqualsSign + otherlv_2=EqualsSign { - newLeafNode(otherlv_1, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1()); + newLeafNode(otherlv_2, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_2()); } ( ( { - newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_3_0()); } - lv_value_2_0=ruleAdditiveExpression + lv_value_3_0=ruleAdditiveExpression { if ($current==null) { $current = createModelElementForParent(grammarAccess.getLetBindingRule()); @@ -1322,7 +1747,7 @@ ruleLetBinding returns [EObject current=null] set( $current, "value", - lv_value_2_0, + lv_value_3_0, "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); afterParserOrEnumRuleCall(); } @@ -1331,80 +1756,6 @@ ruleLetBinding 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()); } @@ -1683,7 +2034,7 @@ ruleComparisonExpression returns [EObject current=null] ( { $current = forceCreateModelElementAndSet( - grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(), + grammarAccess.getComparisonExpressionAccess().getBinaryExpressionLeftAction_1_0(), $current); } ) @@ -1995,7 +2346,7 @@ ruleCastExpression returns [EObject current=null] } } { - newCompositeNode(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0()); + newCompositeNode(grammarAccess.getCastExpressionAccess().getTargetTypeSymbolCrossReference_1_2_0()); } ruleQualifiedName { @@ -2024,11 +2375,11 @@ ruleUnaryExpression returns [EObject current=null] }: ( { - newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBracedAggregateExpressionParserRuleCall_0()); } - this_AggregationExpression_0=ruleAggregationExpression + this_BracedAggregateExpression_0=ruleBracedAggregateExpression { - $current = $this_AggregationExpression_0.current; + $current = $this_BracedAggregateExpression_0.current; afterParserOrEnumRuleCall(); } | @@ -2043,9 +2394,9 @@ ruleUnaryExpression returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOperatorEnumRuleCall_1_1_0()); } - lv_op_2_0=ruleUnaryOp + lv_op_2_0=ruleUnaryOperator { if ($current==null) { $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); @@ -2054,7 +2405,7 @@ ruleUnaryExpression returns [EObject current=null] $current, "op", lv_op_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp"); + "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOperator"); afterParserOrEnumRuleCall(); } ) @@ -2062,9 +2413,9 @@ ruleUnaryExpression returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyBracedAggregateExpressionParserRuleCall_1_2_0()); } - lv_body_3_0=ruleAggregationExpression + lv_body_3_0=ruleBracedAggregateExpression { if ($current==null) { $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); @@ -2073,7 +2424,7 @@ ruleUnaryExpression returns [EObject current=null] $current, "body", lv_body_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); + "org.eclipse.viatra.solver.language.SolverLanguage.BracedAggregateExpression"); afterParserOrEnumRuleCall(); } ) @@ -2082,15 +2433,15 @@ ruleUnaryExpression returns [EObject current=null] ) ; -// Entry rule entryRuleAggregationExpression -entryRuleAggregationExpression returns [EObject current=null]: - { newCompositeNode(grammarAccess.getAggregationExpressionRule()); } - iv_ruleAggregationExpression=ruleAggregationExpression - { $current=$iv_ruleAggregationExpression.current; } +// Entry rule entryRuleBracedAggregateExpression +entryRuleBracedAggregateExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getBracedAggregateExpressionRule()); } + iv_ruleBracedAggregateExpression=ruleBracedAggregateExpression + { $current=$iv_ruleBracedAggregateExpression.current; } EOF; -// Rule AggregationExpression -ruleAggregationExpression returns [EObject current=null] +// Rule BracedAggregateExpression +ruleBracedAggregateExpression returns [EObject current=null] @init { enterRule(); } @@ -2099,7 +2450,7 @@ ruleAggregationExpression returns [EObject current=null] }: ( { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); + newCompositeNode(grammarAccess.getBracedAggregateExpressionAccess().getAtomicExpressionParserRuleCall_0()); } this_AtomicExpression_0=ruleAtomicExpression { @@ -2108,34 +2459,34 @@ ruleAggregationExpression returns [EObject current=null] } | { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1()); + newCompositeNode(grammarAccess.getBracedAggregateExpressionAccess().getAggregationParserRuleCall_1()); } - this_QuantifiedExpression_1=ruleQuantifiedExpression + this_Aggregation_1=ruleAggregation { - $current = $this_QuantifiedExpression_1.current; + $current = $this_Aggregation_1.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); + newCompositeNode(grammarAccess.getBracedAggregateExpressionAccess().getCountParserRuleCall_2()); } - this_Aggregation_2=ruleAggregation + this_Count_2=ruleCount { - $current = $this_Aggregation_2.current; + $current = $this_Count_2.current; afterParserOrEnumRuleCall(); } ) ; -// Entry rule entryRuleLocalVariables -entryRuleLocalVariables returns [EObject current=null]: - { newCompositeNode(grammarAccess.getLocalVariablesRule()); } - iv_ruleLocalVariables=ruleLocalVariables - { $current=$iv_ruleLocalVariables.current; } +// Entry rule entryRuleAggregation +entryRuleAggregation returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAggregationRule()); } + iv_ruleAggregation=ruleAggregation + { $current=$iv_ruleAggregation.current; } EOF; -// Rule LocalVariables -ruleLocalVariables returns [EObject current=null] +// Rule Aggregation +ruleAggregation returns [EObject current=null] @init { enterRule(); } @@ -2144,162 +2495,83 @@ ruleLocalVariables returns [EObject current=null] }: ( ( - { - $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()); + if ($current==null) { + $current = createModelElement(grammarAccess.getAggregationRule()); + } } - ( - ( - { - 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_5, grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3()); - } - ) -; - -// 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()); + newCompositeNode(grammarAccess.getAggregationAccess().getOpSymbolCrossReference_0_0()); } - lv_quantifier_0_0=ruleQuantifier + ruleQualifiedName { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); - } - set( - $current, - "quantifier", - lv_quantifier_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier"); afterParserOrEnumRuleCall(); } ) ) + otherlv_1=LeftCurlyBracket + { + newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); + } ( ( { - newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getAggregationAccess().getValueExpressionParserRuleCall_2_0()); } - lv_localVariables_1_0=ruleLocalVariables + lv_value_2_0=ruleExpression { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); + $current = createModelElementForParent(grammarAccess.getAggregationRule()); } set( $current, - "localVariables", - lv_localVariables_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables"); + "value", + lv_value_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); afterParserOrEnumRuleCall(); } ) - )? - otherlv_2=LeftCurlyBracket + ) + otherlv_3=VerticalLine { - newLeafNode(otherlv_2, grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2()); + newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); } ( ( { - newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); } - lv_body_3_0=ruleExpression + lv_condition_4_0=ruleExpression { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); + $current = createModelElementForParent(grammarAccess.getAggregationRule()); } set( $current, - "body", - lv_body_3_0, + "condition", + lv_condition_4_0, "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); afterParserOrEnumRuleCall(); } ) ) - otherlv_4=RightCurlyBracket + otherlv_5=RightCurlyBracket { - newLeafNode(otherlv_4, grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4()); + newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); } ) ; -// Entry rule entryRuleAggregation -entryRuleAggregation returns [EObject current=null]: - { newCompositeNode(grammarAccess.getAggregationRule()); } - iv_ruleAggregation=ruleAggregation - { $current=$iv_ruleAggregation.current; } +// Entry rule entryRuleCount +entryRuleCount returns [EObject current=null]: + { newCompositeNode(grammarAccess.getCountRule()); } + iv_ruleCount=ruleCount + { $current=$iv_ruleCount.current; } EOF; -// Rule Aggregation -ruleAggregation returns [EObject current=null] +// Rule Count +ruleCount returns [EObject current=null] @init { enterRule(); } @@ -2307,92 +2579,36 @@ ruleAggregation returns [EObject current=null] leaveRule(); }: ( - ( - ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getAggregationRule()); - } - } - { - newCompositeNode(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0()); - } - ruleQualifiedName - { - afterParserOrEnumRuleCall(); - } - ) - ) - ( - ( - { - newCompositeNode(grammarAccess.getAggregationAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0()); - } - lv_localVariables_1_0=ruleLocalVariables - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAggregationRule()); - } - set( - $current, - "localVariables", - lv_localVariables_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables"); - afterParserOrEnumRuleCall(); - } - ) - )? - otherlv_2=LeftCurlyBracket + otherlv_0=Count { - newLeafNode(otherlv_2, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2()); + newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); } - ( - ( - { - newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0()); - } - lv_body_3_0=ruleExpression - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAggregationRule()); - } - set( - $current, - "body", - lv_body_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - } - ) - ) - ( - 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_1=LeftCurlyBracket + { + newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getCountAccess().getConditionExpressionParserRuleCall_2_0()); + } + lv_condition_2_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCountRule()); } - ) + set( + $current, + "condition", + lv_condition_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + } ) - )? - otherlv_6=RightCurlyBracket + ) + otherlv_3=RightCurlyBracket { - newLeafNode(otherlv_6, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); + newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); } ) ; @@ -2505,51 +2721,12 @@ ruleCall returns [EObject current=null] } ) ) - ( - ( - ( - lv_transitiveClosure_1_0=RULE_TRANSITIVE_CLOSURE - { - newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getCallAccess().getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getCallRule()); - } - setWithLastConsumed( - $current, - "transitiveClosure", - true, - "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE"); - } - ) - ) - | - ( - ( - lv_reflexiveTransitiveClosure_2_0=RULE_REFLEXIVE_TRANSITIVE_CLOSURE - { - newLeafNode(lv_reflexiveTransitiveClosure_2_0, grammarAccess.getCallAccess().getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getCallRule()); - } - setWithLastConsumed( - $current, - "reflexiveTransitiveClosure", - true, - "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE"); - } - ) - ) - )? ( ( { - newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_1_0()); } - lv_argumentList_3_0=ruleArgumentList + lv_argumentList_1_0=ruleArgumentList { if ($current==null) { $current = createModelElementForParent(grammarAccess.getCallRule()); @@ -2557,7 +2734,7 @@ ruleCall returns [EObject current=null] set( $current, "argumentList", - lv_argumentList_3_0, + lv_argumentList_1_0, "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); afterParserOrEnumRuleCall(); } @@ -2681,11 +2858,11 @@ ruleArgument returns [EObject current=null] } | { - newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); + newCompositeNode(grammarAccess.getArgumentAccess().getTypedVariableArgumentParserRuleCall_2()); } - this_TypedArgument_2=ruleTypedArgument + this_TypedVariableArgument_2=ruleTypedVariableArgument { - $current = $this_TypedArgument_2.current; + $current = $this_TypedVariableArgument_2.current; afterParserOrEnumRuleCall(); } | @@ -2718,17 +2895,17 @@ ruleExpressionArgument returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); + newCompositeNode(grammarAccess.getExpressionArgumentAccess().getExpressionComparisonExpressionParserRuleCall_0()); } - lv_body_0_0=ruleComparisonExpression + lv_expression_0_0=ruleComparisonExpression { if ($current==null) { $current = createModelElementForParent(grammarAccess.getExpressionArgumentRule()); } set( $current, - "body", - lv_body_0_0, + "expression", + lv_expression_0_0, "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); afterParserOrEnumRuleCall(); } @@ -2766,15 +2943,15 @@ ruleStarArgument returns [EObject current=null] ) ; -// Entry rule entryRuleTypedArgument -entryRuleTypedArgument returns [EObject current=null]: - { newCompositeNode(grammarAccess.getTypedArgumentRule()); } - iv_ruleTypedArgument=ruleTypedArgument - { $current=$iv_ruleTypedArgument.current; } +// Entry rule entryRuleTypedVariableArgument +entryRuleTypedVariableArgument returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTypedVariableArgumentRule()); } + iv_ruleTypedVariableArgument=ruleTypedVariableArgument + { $current=$iv_ruleTypedVariableArgument.current; } EOF; -// Rule TypedArgument -ruleTypedArgument returns [EObject current=null] +// Rule TypedVariableArgument +ruleTypedVariableArgument returns [EObject current=null] @init { enterRule(); } @@ -2785,32 +2962,37 @@ ruleTypedArgument returns [EObject current=null] ( ( { - if ($current==null) { - $current = createModelElement(grammarAccess.getTypedArgumentRule()); - } - } - { - newCompositeNode(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); + newCompositeNode(grammarAccess.getTypedVariableArgumentAccess().getTypeReferenceTypeReferenceParserRuleCall_0_0()); } - ruleQualifiedName + lv_typeReference_0_0=ruleTypeReference { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTypedVariableArgumentRule()); + } + set( + $current, + "typeReference", + lv_typeReference_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.TypeReference"); afterParserOrEnumRuleCall(); } ) ) ( ( + lv_name_1_0=RULE_ID { - if ($current==null) { - $current = createModelElement(grammarAccess.getTypedArgumentRule()); - } - } - { - newCompositeNode(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); + newLeafNode(lv_name_1_0, grammarAccess.getTypedVariableArgumentAccess().getNameIDTerminalRuleCall_1_0()); } - ruleQualifiedName { - afterParserOrEnumRuleCall(); + if ($current==null) { + $current = createModelElement(grammarAccess.getTypedVariableArgumentRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_1_0, + "org.eclipse.xtext.common.Terminals.ID"); } ) ) @@ -2836,15 +3018,18 @@ ruleTypedStarArgument returns [EObject current=null] ( ( { - if ($current==null) { - $current = createModelElement(grammarAccess.getTypedStarArgumentRule()); - } - } - { - newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); + newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeReferenceTypeReferenceParserRuleCall_0_0()); } - ruleQualifiedName + lv_typeReference_0_0=ruleTypeReference { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTypedStarArgumentRule()); + } + set( + $current, + "typeReference", + lv_typeReference_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.TypeReference"); afterParserOrEnumRuleCall(); } ) @@ -2873,19 +3058,137 @@ ruleReference returns [EObject current=null] }: ( ( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getReferenceRule()); + ( + { + newCompositeNode(grammarAccess.getReferenceAccess().getComponentsPathComponentParserRuleCall_0_0()); } - } - { - newCompositeNode(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); - } - ruleQualifiedName + lv_components_0_0=rulePathComponent + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getReferenceRule()); + } + add( + $current, + "components", + lv_components_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.PathComponent"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_1=FullStop { - afterParserOrEnumRuleCall(); + newLeafNode(otherlv_1, grammarAccess.getReferenceAccess().getFullStopKeyword_1_0()); } + ( + ( + { + newCompositeNode(grammarAccess.getReferenceAccess().getComponentsPathComponentParserRuleCall_1_1_0()); + } + lv_components_2_0=rulePathComponent + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getReferenceRule()); + } + add( + $current, + "components", + lv_components_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.PathComponent"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRulePathComponent +entryRulePathComponent returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPathComponentRule()); } + iv_rulePathComponent=rulePathComponent + { $current=$iv_rulePathComponent.current; } + EOF; + +// Rule PathComponent +rulePathComponent returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + lv_inverse_0_0=Tilde + { + newLeafNode(lv_inverse_0_0, grammarAccess.getPathComponentAccess().getInverseTildeKeyword_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPathComponentRule()); + } + setWithLastConsumed($current, "inverse", true, "~"); + } + ) + )? + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPathComponentRule()); + } + } + { + newCompositeNode(grammarAccess.getPathComponentAccess().getSymbolSymbolCrossReference_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) ) + ( + ( + ( + lv_transitiveClosure_2_0=RULE_TRANSITIVE_CLOSURE + { + newLeafNode(lv_transitiveClosure_2_0, grammarAccess.getPathComponentAccess().getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_2_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPathComponentRule()); + } + setWithLastConsumed( + $current, + "transitiveClosure", + true, + "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE"); + } + ) + ) + | + ( + ( + lv_reflexiveTransitiveClosure_3_0=RULE_REFLEXIVE_TRANSITIVE_CLOSURE + { + newLeafNode(lv_reflexiveTransitiveClosure_3_0, grammarAccess.getPathComponentAccess().getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_2_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPathComponentRule()); + } + setWithLastConsumed( + $current, + "reflexiveTransitiveClosure", + true, + "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE"); + } + ) + ) + )? ) ; @@ -2912,9 +3215,9 @@ ruleInterval returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundAdditiveExpressionParserRuleCall_1_0()); } - lv_lowerBound_1_0=ruleExpression + lv_lowerBound_1_0=ruleAdditiveExpression { if ($current==null) { $current = createModelElementForParent(grammarAccess.getIntervalRule()); @@ -2923,21 +3226,21 @@ ruleInterval returns [EObject current=null] $current, "lowerBound", lv_lowerBound_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); afterParserOrEnumRuleCall(); } ) ) - otherlv_2=FullStopFullStop + otherlv_2=Comma { - newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); + newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getCommaKeyword_2()); } ( ( { - newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundAdditiveExpressionParserRuleCall_3_0()); } - lv_upperBound_3_0=ruleExpression + lv_upperBound_3_0=ruleAdditiveExpression { if ($current==null) { $current = createModelElementForParent(grammarAccess.getIntervalRule()); @@ -2946,7 +3249,7 @@ ruleInterval returns [EObject current=null] $current, "upperBound", lv_upperBound_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); afterParserOrEnumRuleCall(); } ) @@ -2984,38 +3287,47 @@ ruleLiteral returns [EObject current=null] } | { - newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); + newCompositeNode(grammarAccess.getLiteralAccess().getIntLiteralParserRuleCall_1()); + } + this_IntLiteral_1=ruleIntLiteral + { + $current = $this_IntLiteral_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_2()); } - this_NumericLiteral_1=ruleNumericLiteral + this_RealLiteral_2=ruleRealLiteral { - $current = $this_NumericLiteral_1.current; + $current = $this_RealLiteral_2.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); + newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_3()); } - this_InfinityLiteral_2=ruleInfinityLiteral + this_InfinityLiteral_3=ruleInfinityLiteral { - $current = $this_InfinityLiteral_2.current; + $current = $this_InfinityLiteral_3.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); + newCompositeNode(grammarAccess.getLiteralAccess().getEmptyLiteralParserRuleCall_4()); } - this_EmptyIntervalLiteral_3=ruleEmptyIntervalLiteral + this_EmptyLiteral_4=ruleEmptyLiteral { - $current = $this_EmptyIntervalLiteral_3.current; + $current = $this_EmptyLiteral_4.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); + newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_5()); } - this_StringLiteral_4=ruleStringLiteral + this_StringLiteral_5=ruleStringLiteral { - $current = $this_StringLiteral_4.current; + $current = $this_StringLiteral_5.current; afterParserOrEnumRuleCall(); } ) @@ -3057,15 +3369,50 @@ ruleLogicLiteral returns [EObject current=null] ) ; -// Entry rule entryRuleNumericLiteral -entryRuleNumericLiteral returns [EObject current=null]: - { newCompositeNode(grammarAccess.getNumericLiteralRule()); } - iv_ruleNumericLiteral=ruleNumericLiteral - { $current=$iv_ruleNumericLiteral.current; } +// Entry rule entryRuleIntLiteral +entryRuleIntLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getIntLiteralRule()); } + iv_ruleIntLiteral=ruleIntLiteral + { $current=$iv_ruleIntLiteral.current; } + EOF; + +// Rule IntLiteral +ruleIntLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + lv_value_0_0=RULE_INT + { + newLeafNode(lv_value_0_0, grammarAccess.getIntLiteralAccess().getValueINTTerminalRuleCall_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getIntLiteralRule()); + } + setWithLastConsumed( + $current, + "value", + lv_value_0_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) +; + +// Entry rule entryRuleRealLiteral +entryRuleRealLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getRealLiteralRule()); } + iv_ruleRealLiteral=ruleRealLiteral + { $current=$iv_ruleRealLiteral.current; } EOF; -// Rule NumericLiteral -ruleNumericLiteral returns [EObject current=null] +// Rule RealLiteral +ruleRealLiteral returns [EObject current=null] @init { enterRule(); } @@ -3075,12 +3422,12 @@ ruleNumericLiteral returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); + newCompositeNode(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_0()); } lv_value_0_0=ruleReal { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getNumericLiteralRule()); + $current = createModelElementForParent(grammarAccess.getRealLiteralRule()); } set( $current, @@ -3123,15 +3470,15 @@ ruleInfinityLiteral returns [EObject current=null] ) ; -// Entry rule entryRuleEmptyIntervalLiteral -entryRuleEmptyIntervalLiteral returns [EObject current=null]: - { newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); } - iv_ruleEmptyIntervalLiteral=ruleEmptyIntervalLiteral - { $current=$iv_ruleEmptyIntervalLiteral.current; } +// Entry rule entryRuleEmptyLiteral +entryRuleEmptyLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getEmptyLiteralRule()); } + iv_ruleEmptyLiteral=ruleEmptyLiteral + { $current=$iv_ruleEmptyLiteral.current; } EOF; -// Rule EmptyIntervalLiteral -ruleEmptyIntervalLiteral returns [EObject current=null] +// Rule EmptyLiteral +ruleEmptyLiteral returns [EObject current=null] @init { enterRule(); } @@ -3142,13 +3489,13 @@ ruleEmptyIntervalLiteral returns [EObject current=null] ( { $current = forceCreateModelElement( - grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0(), + grammarAccess.getEmptyLiteralAccess().getEmptyLiteralAction_0(), $current); } ) otherlv_1=Empty { - newLeafNode(otherlv_1, grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); + newLeafNode(otherlv_1, grammarAccess.getEmptyLiteralAccess().getEmptyKeyword_1()); } ) ; @@ -3188,15 +3535,15 @@ ruleStringLiteral returns [EObject current=null] ) ; -// Entry rule entryRuleClassDefinition -entryRuleClassDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getClassDefinitionRule()); } - iv_ruleClassDefinition=ruleClassDefinition - { $current=$iv_ruleClassDefinition.current; } +// Entry rule entryRuleClassDeclaration +entryRuleClassDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getClassDeclarationRule()); } + iv_ruleClassDeclaration=ruleClassDeclaration + { $current=$iv_ruleClassDeclaration.current; } EOF; -// Rule ClassDefinition -ruleClassDefinition returns [EObject current=null] +// Rule ClassDeclaration +ruleClassDeclaration returns [EObject current=null] @init { enterRule(); } @@ -3206,54 +3553,100 @@ ruleClassDefinition returns [EObject current=null] ( ( ( - lv_abstract_0_0=Abstract - { - newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); + { + getUnorderedGroupHelper().enter(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0()); } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getClassDefinitionRule()); + ( + ( + ( + {getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 0)}?=>( + { + getUnorderedGroupHelper().select(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 0); } - setWithLastConsumed($current, "abstract", true, "abstract"); - } + ({true}?=>(( + lv_abstract_1_0=Abstract + { + newLeafNode(lv_abstract_1_0, grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getClassDeclarationRule()); + } + setWithLastConsumed($current, "abstract", true, "abstract"); + } + ) + )) + { + getUnorderedGroupHelper().returnFromSelection(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0()); + } + ) + )| + ( + {getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 1)}?=>( + { + getUnorderedGroupHelper().select(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 1); + } + ({true}?=>(( + lv_root_2_0=Root + { + newLeafNode(lv_root_2_0, grammarAccess.getClassDeclarationAccess().getRootRootKeyword_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getClassDeclarationRule()); + } + setWithLastConsumed($current, "root", true, "root"); + } + ) + )) + { + getUnorderedGroupHelper().returnFromSelection(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0()); + } + ) ) - )? - otherlv_1=Class + )* + ) + ) + { + getUnorderedGroupHelper().leave(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0()); + } + ) + otherlv_3=Class { - newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); + newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); } ( ( - lv_name_2_0=RULE_ID + lv_name_4_0=RULE_ID { - newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); + newLeafNode(lv_name_4_0, grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); } { if ($current==null) { - $current = createModelElement(grammarAccess.getClassDefinitionRule()); + $current = createModelElement(grammarAccess.getClassDeclarationRule()); } setWithLastConsumed( $current, "name", - lv_name_2_0, + lv_name_4_0, "org.eclipse.xtext.common.Terminals.ID"); } ) ) ( - otherlv_3=Extends + otherlv_5=Extends { - newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); + newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0()); } ( ( { if ($current==null) { - $current = createModelElement(grammarAccess.getClassDefinitionRule()); + $current = createModelElement(grammarAccess.getClassDeclarationRule()); } } { - newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); + newCompositeNode(grammarAccess.getClassDeclarationAccess().getSupertypesSymbolCrossReference_3_1_0()); } ruleQualifiedName { @@ -3262,19 +3655,19 @@ ruleClassDefinition returns [EObject current=null] ) ) ( - otherlv_5=Comma + otherlv_7=Comma { - newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); + newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0()); } ( ( { if ($current==null) { - $current = createModelElement(grammarAccess.getClassDefinitionRule()); + $current = createModelElement(grammarAccess.getClassDeclarationRule()); } } { - newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); + newCompositeNode(grammarAccess.getClassDeclarationAccess().getSupertypesSymbolCrossReference_3_2_1_0()); } ruleQualifiedName { @@ -3284,45 +3677,54 @@ ruleClassDefinition returns [EObject current=null] ) )* )? - otherlv_7=LeftCurlyBracket - { - newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); - } ( ( + otherlv_9=LeftCurlyBracket { - newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); + newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()); } - lv_members_8_0=ruleMemberDefinition + ( + ( + { + newCompositeNode(grammarAccess.getClassDeclarationAccess().getFieldsFieldParserRuleCall_4_0_1_0()); + } + lv_fields_10_0=ruleField + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getClassDeclarationRule()); + } + add( + $current, + "fields", + lv_fields_10_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Field"); + afterParserOrEnumRuleCall(); + } + ) + )* + otherlv_11=RightCurlyBracket { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getClassDefinitionRule()); - } - add( - $current, - "members", - lv_members_8_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition"); - afterParserOrEnumRuleCall(); + newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2()); } ) - )* - otherlv_9=RightCurlyBracket - { - newLeafNode(otherlv_9, grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); - } + | + this_FULL_STOP_12=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_12, grammarAccess.getClassDeclarationAccess().getFULL_STOPTerminalRuleCall_4_1()); + } + ) ) ; -// Entry rule entryRuleMemberDefinition -entryRuleMemberDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getMemberDefinitionRule()); } - iv_ruleMemberDefinition=ruleMemberDefinition - { $current=$iv_ruleMemberDefinition.current; } +// Entry rule entryRuleField +entryRuleField returns [EObject current=null]: + { newCompositeNode(grammarAccess.getFieldRule()); } + iv_ruleField=ruleField + { $current=$iv_ruleField.current; } EOF; -// Rule MemberDefinition -ruleMemberDefinition returns [EObject current=null] +// Rule Field +ruleField returns [EObject current=null] @init { enterRule(); } @@ -3332,27 +3734,44 @@ ruleMemberDefinition returns [EObject current=null] ( ( ( - lv_containment_0_0=Contains - { - newLeafNode(lv_containment_0_0, grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getMemberDefinitionRule()); + ( + lv_containment_0_0=Contains + { + newLeafNode(lv_containment_0_0, grammarAccess.getFieldAccess().getContainmentContainsKeyword_0_0_0()); } - setWithLastConsumed($current, "containment", true, "contains"); - } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getFieldRule()); + } + setWithLastConsumed($current, "containment", true, "contains"); + } + ) + ) + | + ( + ( + lv_crossReference_1_0=Refers + { + newLeafNode(lv_crossReference_1_0, grammarAccess.getFieldAccess().getCrossReferenceRefersKeyword_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getFieldRule()); + } + setWithLastConsumed($current, "crossReference", true, "refers"); + } + ) ) )? ( ( { if ($current==null) { - $current = createModelElement(grammarAccess.getMemberDefinitionRule()); + $current = createModelElement(grammarAccess.getFieldRule()); } } { - newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + newCompositeNode(grammarAccess.getFieldAccess().getTypeSymbolCrossReference_1_0()); } ruleQualifiedName { @@ -3363,17 +3782,17 @@ ruleMemberDefinition returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getFieldAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); } - lv_multiplicity_2_0=ruleMultiplicity + lv_multiplicity_3_0=ruleMultiplicity { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getMemberDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getFieldRule()); } set( $current, "multiplicity", - lv_multiplicity_2_0, + lv_multiplicity_3_0, "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); afterParserOrEnumRuleCall(); } @@ -3381,36 +3800,36 @@ ruleMemberDefinition returns [EObject current=null] )? ( ( - lv_name_3_0=RULE_ID + lv_name_4_0=RULE_ID { - newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); + newLeafNode(lv_name_4_0, grammarAccess.getFieldAccess().getNameIDTerminalRuleCall_3_0()); } { if ($current==null) { - $current = createModelElement(grammarAccess.getMemberDefinitionRule()); + $current = createModelElement(grammarAccess.getFieldRule()); } setWithLastConsumed( $current, "name", - lv_name_3_0, + lv_name_4_0, "org.eclipse.xtext.common.Terminals.ID"); } ) ) ( - otherlv_4=Opposite + otherlv_5=Opposite { - newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); + newLeafNode(otherlv_5, grammarAccess.getFieldAccess().getOppositeKeyword_4_0()); } ( ( { if ($current==null) { - $current = createModelElement(grammarAccess.getMemberDefinitionRule()); + $current = createModelElement(grammarAccess.getFieldRule()); } } { - newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); + newCompositeNode(grammarAccess.getFieldAccess().getOppositeSymbolCrossReference_4_1_0()); } ruleQualifiedName { @@ -3420,9 +3839,9 @@ ruleMemberDefinition returns [EObject current=null] ) )? ( - otherlv_6=Semicolon + otherlv_7=Semicolon { - newLeafNode(otherlv_6, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); + newLeafNode(otherlv_7, grammarAccess.getFieldAccess().getSemicolonKeyword_5()); } )? ) @@ -3445,11 +3864,11 @@ ruleMultiplicity returns [EObject current=null] }: ( { - newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); + newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0()); } - this_ManyMultiplicity_0=ruleManyMultiplicity + this_UnboundedMultiplicity_0=ruleUnboundedMultiplicity { - $current = $this_ManyMultiplicity_0.current; + $current = $this_UnboundedMultiplicity_0.current; afterParserOrEnumRuleCall(); } | @@ -3473,15 +3892,15 @@ ruleMultiplicity returns [EObject current=null] ) ; -// Entry rule entryRuleManyMultiplicity -entryRuleManyMultiplicity returns [EObject current=null]: - { newCompositeNode(grammarAccess.getManyMultiplicityRule()); } - iv_ruleManyMultiplicity=ruleManyMultiplicity - { $current=$iv_ruleManyMultiplicity.current; } +// Entry rule entryRuleUnboundedMultiplicity +entryRuleUnboundedMultiplicity returns [EObject current=null]: + { newCompositeNode(grammarAccess.getUnboundedMultiplicityRule()); } + iv_ruleUnboundedMultiplicity=ruleUnboundedMultiplicity + { $current=$iv_ruleUnboundedMultiplicity.current; } EOF; -// Rule ManyMultiplicity -ruleManyMultiplicity returns [EObject current=null] +// Rule UnboundedMultiplicity +ruleUnboundedMultiplicity returns [EObject current=null] @init { enterRule(); } @@ -3492,17 +3911,17 @@ ruleManyMultiplicity returns [EObject current=null] ( { $current = forceCreateModelElement( - grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0(), + grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction_0(), $current); } ) otherlv_1=LeftSquareBracket { - newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); + newLeafNode(otherlv_1, grammarAccess.getUnboundedMultiplicityAccess().getLeftSquareBracketKeyword_1()); } otherlv_2=RightSquareBracket { - newLeafNode(otherlv_2, grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); + newLeafNode(otherlv_2, grammarAccess.getUnboundedMultiplicityAccess().getRightSquareBracketKeyword_2()); } ) ; @@ -3530,17 +3949,17 @@ ruleExactMultiplicity returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getExactMultiplicityAccess().getValueUpperMultiplictyParserRuleCall_1_0()); } - lv_multiplicity_1_0=ruleUpperMultiplicty + lv_value_1_0=ruleUpperMultiplicty { if ($current==null) { $current = createModelElementForParent(grammarAccess.getExactMultiplicityRule()); } set( $current, - "multiplicity", - lv_multiplicity_1_0, + "value", + lv_value_1_0, "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); afterParserOrEnumRuleCall(); } @@ -3591,9 +4010,9 @@ ruleBoundedMultiplicity returns [EObject current=null] } ) ) - otherlv_2=FullStopFullStop + otherlv_2=Comma { - newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); + newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getCommaKeyword_2()); } ( ( @@ -3621,15 +4040,156 @@ ruleBoundedMultiplicity returns [EObject current=null] ) ; -// Entry rule entryRuleScopeDefinition -entryRuleScopeDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getScopeDefinitionRule()); } - iv_ruleScopeDefinition=ruleScopeDefinition - { $current=$iv_ruleScopeDefinition.current; } +// Entry rule entryRuleEnumDeclaration +entryRuleEnumDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getEnumDeclarationRule()); } + iv_ruleEnumDeclaration=ruleEnumDeclaration + { $current=$iv_ruleEnumDeclaration.current; } + EOF; + +// Rule EnumDeclaration +ruleEnumDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0=Enum + { + newLeafNode(otherlv_0, grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0()); + } + ( + ( + lv_name_1_0=RULE_ID + { + newLeafNode(lv_name_1_0, grammarAccess.getEnumDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getEnumDeclarationRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_1_0, + "org.eclipse.xtext.common.Terminals.ID"); + } + ) + ) + ( + ( + otherlv_2=LeftCurlyBracket + { + newLeafNode(otherlv_2, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0()); + } + lv_literals_3_0=ruleEnumLiteral + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getEnumDeclarationRule()); + } + add( + $current, + "literals", + lv_literals_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.EnumLiteral"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + otherlv_4=Comma + { + newLeafNode(otherlv_4, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0()); + } + )? + ( + ( + { + newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0()); + } + lv_literals_5_0=ruleEnumLiteral + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getEnumDeclarationRule()); + } + add( + $current, + "literals", + lv_literals_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.EnumLiteral"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_6=RightCurlyBracket + { + newLeafNode(otherlv_6, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2()); + } + ) + | + this_FULL_STOP_7=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_7, grammarAccess.getEnumDeclarationAccess().getFULL_STOPTerminalRuleCall_2_1()); + } + ) + ) +; + +// Entry rule entryRuleEnumLiteral +entryRuleEnumLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getEnumLiteralRule()); } + iv_ruleEnumLiteral=ruleEnumLiteral + { $current=$iv_ruleEnumLiteral.current; } + EOF; + +// Rule EnumLiteral +ruleEnumLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + lv_name_0_0=RULE_ID + { + newLeafNode(lv_name_0_0, grammarAccess.getEnumLiteralAccess().getNameIDTerminalRuleCall_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getEnumLiteralRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_0_0, + "org.eclipse.xtext.common.Terminals.ID"); + } + ) + ) +; + +// Entry rule entryRuleScopeDeclaration +entryRuleScopeDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getScopeDeclarationRule()); } + iv_ruleScopeDeclaration=ruleScopeDeclaration + { $current=$iv_ruleScopeDeclaration.current; } EOF; -// Rule ScopeDefinition -ruleScopeDefinition returns [EObject current=null] +// Rule ScopeDeclaration +ruleScopeDeclaration returns [EObject current=null] @init { enterRule(); } @@ -3638,43 +4198,43 @@ ruleScopeDefinition returns [EObject current=null] }: ( { - newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); + newCompositeNode(grammarAccess.getScopeDeclarationAccess().getExactScopeParserRuleCall_0()); } - this_ExactScopeDefinition_0=ruleExactScopeDefinition + this_ExactScope_0=ruleExactScope { - $current = $this_ExactScopeDefinition_0.current; + $current = $this_ExactScope_0.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); + newCompositeNode(grammarAccess.getScopeDeclarationAccess().getBoundedScopeParserRuleCall_1()); } - this_BoundedScopeDefinition_1=ruleBoundedScopeDefinition + this_BoundedScope_1=ruleBoundedScope { - $current = $this_BoundedScopeDefinition_1.current; + $current = $this_BoundedScope_1.current; afterParserOrEnumRuleCall(); } | { - newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); + newCompositeNode(grammarAccess.getScopeDeclarationAccess().getLowerBoundedScopeParserRuleCall_2()); } - this_LowerBoundedScopeDefinition_2=ruleLowerBoundedScopeDefinition + this_LowerBoundedScope_2=ruleLowerBoundedScope { - $current = $this_LowerBoundedScopeDefinition_2.current; + $current = $this_LowerBoundedScope_2.current; afterParserOrEnumRuleCall(); } ) ; -// Entry rule entryRuleExactScopeDefinition -entryRuleExactScopeDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); } - iv_ruleExactScopeDefinition=ruleExactScopeDefinition - { $current=$iv_ruleExactScopeDefinition.current; } +// Entry rule entryRuleExactScope +entryRuleExactScope returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExactScopeRule()); } + iv_ruleExactScope=ruleExactScope + { $current=$iv_ruleExactScope.current; } EOF; -// Rule ExactScopeDefinition -ruleExactScopeDefinition returns [EObject current=null] +// Rule ExactScope +ruleExactScope returns [EObject current=null] @init { enterRule(); } @@ -3684,17 +4244,17 @@ ruleExactScopeDefinition returns [EObject current=null] ( otherlv_0=Scope { - newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getExactScopeAccess().getScopeKeyword_0()); } ( ( { if ($current==null) { - $current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); + $current = createModelElement(grammarAccess.getExactScopeRule()); } } { - newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + newCompositeNode(grammarAccess.getExactScopeAccess().getTypeSymbolCrossReference_1_0()); } ruleQualifiedName { @@ -3704,38 +4264,42 @@ ruleExactScopeDefinition returns [EObject current=null] ) otherlv_2=EqualsSignEqualsSign { - newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); + newLeafNode(otherlv_2, grammarAccess.getExactScopeAccess().getEqualsSignEqualsSignKeyword_2()); } ( ( - lv_exactScope_3_0=RULE_INT + lv_size_3_0=RULE_INT { - newLeafNode(lv_exactScope_3_0, grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); + newLeafNode(lv_size_3_0, grammarAccess.getExactScopeAccess().getSizeINTTerminalRuleCall_3_0()); } { if ($current==null) { - $current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); + $current = createModelElement(grammarAccess.getExactScopeRule()); } setWithLastConsumed( $current, - "exactScope", - lv_exactScope_3_0, + "size", + lv_size_3_0, "org.eclipse.xtext.common.Terminals.INT"); } ) ) + this_FULL_STOP_4=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_4, grammarAccess.getExactScopeAccess().getFULL_STOPTerminalRuleCall_4()); + } ) ; -// Entry rule entryRuleBoundedScopeDefinition -entryRuleBoundedScopeDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); } - iv_ruleBoundedScopeDefinition=ruleBoundedScopeDefinition - { $current=$iv_ruleBoundedScopeDefinition.current; } +// Entry rule entryRuleBoundedScope +entryRuleBoundedScope returns [EObject current=null]: + { newCompositeNode(grammarAccess.getBoundedScopeRule()); } + iv_ruleBoundedScope=ruleBoundedScope + { $current=$iv_ruleBoundedScope.current; } EOF; -// Rule BoundedScopeDefinition -ruleBoundedScopeDefinition returns [EObject current=null] +// Rule BoundedScope +ruleBoundedScope returns [EObject current=null] @init { enterRule(); } @@ -3745,7 +4309,7 @@ ruleBoundedScopeDefinition returns [EObject current=null] ( otherlv_0=Scope { - newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getBoundedScopeAccess().getScopeKeyword_0()); } ( ( @@ -3754,11 +4318,11 @@ ruleBoundedScopeDefinition returns [EObject current=null] ( lv_lowerBound_1_0=RULE_INT { - newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); + newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); } { if ($current==null) { - $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + $current = createModelElement(grammarAccess.getBoundedScopeRule()); } setWithLastConsumed( $current, @@ -3770,18 +4334,18 @@ ruleBoundedScopeDefinition returns [EObject current=null] ) otherlv_2=LessThanSignEqualsSign { - newLeafNode(otherlv_2, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); + newLeafNode(otherlv_2, grammarAccess.getBoundedScopeAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); } )? ( ( { if ($current==null) { - $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + $current = createModelElement(grammarAccess.getBoundedScopeRule()); } } { - newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); + newCompositeNode(grammarAccess.getBoundedScopeAccess().getTypeSymbolCrossReference_1_0_1_0()); } ruleQualifiedName { @@ -3791,17 +4355,17 @@ ruleBoundedScopeDefinition returns [EObject current=null] ) otherlv_4=LessThanSignEqualsSign { - newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); + newLeafNode(otherlv_4, grammarAccess.getBoundedScopeAccess().getLessThanSignEqualsSignKeyword_1_0_2()); } ( ( lv_upperBound_5_0=RULE_INT { - newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); + newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); } { if ($current==null) { - $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + $current = createModelElement(grammarAccess.getBoundedScopeRule()); } setWithLastConsumed( $current, @@ -3818,11 +4382,11 @@ ruleBoundedScopeDefinition returns [EObject current=null] ( lv_upperBound_6_0=RULE_INT { - newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); + newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); } { if ($current==null) { - $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + $current = createModelElement(grammarAccess.getBoundedScopeRule()); } setWithLastConsumed( $current, @@ -3834,17 +4398,17 @@ ruleBoundedScopeDefinition returns [EObject current=null] ) otherlv_7=GreaterThanSignEqualsSign { - newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); + newLeafNode(otherlv_7, grammarAccess.getBoundedScopeAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); } ( ( { if ($current==null) { - $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + $current = createModelElement(grammarAccess.getBoundedScopeRule()); } } { - newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); + newCompositeNode(grammarAccess.getBoundedScopeAccess().getTypeSymbolCrossReference_1_1_2_0()); } ruleQualifiedName { @@ -3855,17 +4419,17 @@ ruleBoundedScopeDefinition returns [EObject current=null] ( otherlv_9=GreaterThanSignEqualsSign { - newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); + newLeafNode(otherlv_9, grammarAccess.getBoundedScopeAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); } ( ( lv_lowerBound_10_0=RULE_INT { - newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); + newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); } { if ($current==null) { - $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + $current = createModelElement(grammarAccess.getBoundedScopeRule()); } setWithLastConsumed( $current, @@ -3878,18 +4442,22 @@ ruleBoundedScopeDefinition returns [EObject current=null] )? ) ) + this_FULL_STOP_11=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_11, grammarAccess.getBoundedScopeAccess().getFULL_STOPTerminalRuleCall_2()); + } ) ; -// Entry rule entryRuleLowerBoundedScopeDefinition -entryRuleLowerBoundedScopeDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); } - iv_ruleLowerBoundedScopeDefinition=ruleLowerBoundedScopeDefinition - { $current=$iv_ruleLowerBoundedScopeDefinition.current; } +// Entry rule entryRuleLowerBoundedScope +entryRuleLowerBoundedScope returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLowerBoundedScopeRule()); } + iv_ruleLowerBoundedScope=ruleLowerBoundedScope + { $current=$iv_ruleLowerBoundedScope.current; } EOF; -// Rule LowerBoundedScopeDefinition -ruleLowerBoundedScopeDefinition returns [EObject current=null] +// Rule LowerBoundedScope +ruleLowerBoundedScope returns [EObject current=null] @init { enterRule(); } @@ -3899,7 +4467,7 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null] ( otherlv_0=Scope { - newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeAccess().getScopeKeyword_0()); } ( ( @@ -3907,11 +4475,11 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null] ( lv_lowerBound_1_0=RULE_INT { - newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); + newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); } { if ($current==null) { - $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + $current = createModelElement(grammarAccess.getLowerBoundedScopeRule()); } setWithLastConsumed( $current, @@ -3923,17 +4491,17 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null] ) otherlv_2=LessThanSignEqualsSign { - newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); + newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeAccess().getLessThanSignEqualsSignKeyword_1_0_1()); } ( ( { if ($current==null) { - $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + $current = createModelElement(grammarAccess.getLowerBoundedScopeRule()); } } { - newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); + newCompositeNode(grammarAccess.getLowerBoundedScopeAccess().getTypeSymbolCrossReference_1_0_2_0()); } ruleQualifiedName { @@ -3948,11 +4516,11 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null] ( { if ($current==null) { - $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + $current = createModelElement(grammarAccess.getLowerBoundedScopeRule()); } } { - newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); + newCompositeNode(grammarAccess.getLowerBoundedScopeAccess().getTypeSymbolCrossReference_1_1_0_0()); } ruleQualifiedName { @@ -3962,17 +4530,17 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null] ) otherlv_5=GreaterThanSignEqualsSign { - newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); + newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); } ( ( lv_lowerBound_6_0=RULE_INT { - newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); + newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); } { if ($current==null) { - $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + $current = createModelElement(grammarAccess.getLowerBoundedScopeRule()); } setWithLastConsumed( $current, @@ -3984,18 +4552,22 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null] ) ) ) + this_FULL_STOP_7=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_7, grammarAccess.getLowerBoundedScopeAccess().getFULL_STOPTerminalRuleCall_2()); + } ) ; -// Entry rule entryRuleObjectiveDefinition -entryRuleObjectiveDefinition returns [EObject current=null]: - { newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); } - iv_ruleObjectiveDefinition=ruleObjectiveDefinition - { $current=$iv_ruleObjectiveDefinition.current; } +// Entry rule entryRuleObjectiveDeclaration +entryRuleObjectiveDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getObjectiveDeclarationRule()); } + iv_ruleObjectiveDeclaration=ruleObjectiveDeclaration + { $current=$iv_ruleObjectiveDeclaration.current; } EOF; -// Rule ObjectiveDefinition -ruleObjectiveDefinition returns [EObject current=null] +// Rule ObjectiveDeclaration +ruleObjectiveDeclaration returns [EObject current=null] @init { enterRule(); } @@ -4006,12 +4578,12 @@ ruleObjectiveDefinition returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); + newCompositeNode(grammarAccess.getObjectiveDeclarationAccess().getKindObjectiveKindEnumRuleCall_0_0()); } lv_kind_0_0=ruleObjectiveKind { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getObjectiveDeclarationRule()); } set( $current, @@ -4025,12 +4597,12 @@ ruleObjectiveDefinition returns [EObject current=null] ( ( { - newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getObjectiveDeclarationAccess().getObjectiveExpressionParserRuleCall_1_0()); } lv_objective_1_0=ruleExpression { if ($current==null) { - $current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); + $current = createModelElementForParent(grammarAccess.getObjectiveDeclarationRule()); } set( $current, @@ -4041,6 +4613,10 @@ ruleObjectiveDefinition returns [EObject current=null] } ) ) + this_FULL_STOP_2=RULE_FULL_STOP + { + newLeafNode(this_FULL_STOP_2, grammarAccess.getObjectiveDeclarationAccess().getFULL_STOPTerminalRuleCall_2()); + } ) ; @@ -4105,26 +4681,64 @@ ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] { newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); } - ( - kw=FullStop - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0()); - } - this_INT_2=RULE_INT - { - $current.merge(this_INT_2); - } - { - newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); - } - )? + kw=FullStop + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1()); + } + this_INT_2=RULE_INT + { + $current.merge(this_INT_2); + } + { + newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_2()); + } ) ; finally { myHiddenTokenState.restore(); } +// Entry rule entryRuleQualifiedNameSegment +entryRuleQualifiedNameSegment returns [String current=null]: + { newCompositeNode(grammarAccess.getQualifiedNameSegmentRule()); } + iv_ruleQualifiedNameSegment=ruleQualifiedNameSegment + { $current=$iv_ruleQualifiedNameSegment.current.getText(); } + EOF; + +// Rule QualifiedNameSegment +ruleQualifiedNameSegment returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + this_ID_0=RULE_ID + { + $current.merge(this_ID_0); + } + { + newLeafNode(this_ID_0, grammarAccess.getQualifiedNameSegmentAccess().getIDTerminalRuleCall_0()); + } + | + this_QUOTED_ID_1=RULE_QUOTED_ID + { + $current.merge(this_QUOTED_ID_1); + } + { + newLeafNode(this_QUOTED_ID_1, grammarAccess.getQualifiedNameSegmentAccess().getQUOTED_IDTerminalRuleCall_1()); + } + | + kw=Object + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameSegmentAccess().getObjectKeyword_2()); + } + ) +; + // Entry rule entryRuleQualifiedName entryRuleQualifiedName returns [String current=null]@init { HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); @@ -4147,45 +4761,41 @@ ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleT leaveRule(); }: ( + { + newCompositeNode(grammarAccess.getQualifiedNameAccess().getQualifiedNameSegmentParserRuleCall_0()); + } + this_QualifiedNameSegment_0=ruleQualifiedNameSegment + { + $current.merge(this_QualifiedNameSegment_0); + } + { + afterParserOrEnumRuleCall(); + } ( - this_ID_0=RULE_ID + kw=ColonColon { - $current.merge(this_ID_0); + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1_0()); } { - newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); + newCompositeNode(grammarAccess.getQualifiedNameAccess().getQualifiedNameSegmentParserRuleCall_1_1()); } - ( - kw=FullStop - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); - } - this_ID_2=RULE_ID - { - $current.merge(this_ID_2); - } - { - newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); - } - )* - ) - | - this_QUOTED_ID_3=RULE_QUOTED_ID - { - $current.merge(this_QUOTED_ID_3); - } - { - newLeafNode(this_QUOTED_ID_3, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); - } + this_QualifiedNameSegment_2=ruleQualifiedNameSegment + { + $current.merge(this_QualifiedNameSegment_2); + } + { + afterParserOrEnumRuleCall(); + } + )* ) ; finally { myHiddenTokenState.restore(); } -// Rule ImplicationOperator -ruleImplicationOperator returns [Enumerator current=null] +// Rule AttributeKind +ruleAttributeKind returns [Enumerator current=null] @init { enterRule(); } @@ -4193,11 +4803,37 @@ ruleImplicationOperator returns [Enumerator current=null] leaveRule(); }: ( - enumLiteral_0=EqualsSignGreaterThanSign - { - $current = grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration()); - } + ( + enumLiteral_0=Functional + { + $current = grammarAccess.getAttributeKindAccess().getFUNCTIONALEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getAttributeKindAccess().getFUNCTIONALEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1=Error + { + $current = grammarAccess.getAttributeKindAccess().getERROREnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getAttributeKindAccess().getERROREnumLiteralDeclaration_1()); + } + ) + | + ( + enumLiteral_2=Root + { + $current = grammarAccess.getAttributeKindAccess().getROOTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getAttributeKindAccess().getROOTEnumLiteralDeclaration_2()); + } + ) + | + ( + enumLiteral_3=Containment + { + $current = grammarAccess.getAttributeKindAccess().getCONTAINMENTEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getAttributeKindAccess().getCONTAINMENTEnumLiteralDeclaration_3()); + } + ) ) ; @@ -4213,16 +4849,16 @@ ruleComparisonOperator returns [Enumerator current=null] ( enumLiteral_0=EqualsSignEqualsSign { - $current = grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); + $current = grammarAccess.getComparisonOperatorAccess().getEQUALSEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQUALSEnumLiteralDeclaration_0()); } ) | ( enumLiteral_1=ExclamationMarkEqualsSign { - $current = grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); + $current = grammarAccess.getComparisonOperatorAccess().getNOT_EQUALSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQUALSEnumLiteralDeclaration_1()); } ) | @@ -4237,8 +4873,8 @@ ruleComparisonOperator returns [Enumerator current=null] ( enumLiteral_3=LessThanSignEqualsSign { - $current = grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); + $current = grammarAccess.getComparisonOperatorAccess().getLESS_EQUALSEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQUALSEnumLiteralDeclaration_3()); } ) | @@ -4253,8 +4889,8 @@ ruleComparisonOperator returns [Enumerator current=null] ( enumLiteral_5=GreaterThanSignEqualsSign { - $current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); + $current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQUALSEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQUALSEnumLiteralDeclaration_5()); } ) | @@ -4280,16 +4916,16 @@ ruleAdditiveBinaryOperator returns [Enumerator current=null] ( enumLiteral_0=PlusSign { - $current = grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); + $current = grammarAccess.getAdditiveBinaryOperatorAccess().getPLUSEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getPLUSEnumLiteralDeclaration_0()); } ) | ( enumLiteral_1=HyphenMinus { - $current = grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); + $current = grammarAccess.getAdditiveBinaryOperatorAccess().getMINUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getMINUSEnumLiteralDeclaration_1()); } ) ) @@ -4307,16 +4943,16 @@ ruleMultiplicativeBinaryOperator returns [Enumerator current=null] ( enumLiteral_0=Asterisk { - $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); + $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULTIPLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULTIPLYEnumLiteralDeclaration_0()); } ) | ( enumLiteral_1=Solidus { - $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); + $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVIDEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVIDEEnumLiteralDeclaration_1()); } ) ) @@ -4339,8 +4975,8 @@ ruleExponentialOp returns [Enumerator current=null] ) ; -// Rule UnaryOp -ruleUnaryOp returns [Enumerator current=null] +// Rule UnaryOperator +ruleUnaryOperator returns [Enumerator current=null] @init { enterRule(); } @@ -4351,83 +4987,32 @@ ruleUnaryOp returns [Enumerator current=null] ( enumLiteral_0=ExclamationMark { - $current = grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); + $current = grammarAccess.getUnaryOperatorAccess().getNOTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getUnaryOperatorAccess().getNOTEnumLiteralDeclaration_0()); } ) | ( enumLiteral_1=PlusSign { - $current = grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); + $current = grammarAccess.getUnaryOperatorAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getUnaryOperatorAccess().getPLUSEnumLiteralDeclaration_1()); } ) | ( enumLiteral_2=HyphenMinus { - $current = grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); - } - ) - | - ( - enumLiteral_3=May - { - $current = grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); - } - ) - | - ( - enumLiteral_4=Must - { - $current = grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_4, grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); - } - ) - | - ( - enumLiteral_5=Current - { - $current = grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); - } - ) - ) -; - -// Rule Quantifier -ruleQuantifier returns [Enumerator current=null] -@init { - enterRule(); -} -@after { - leaveRule(); -}: - ( - ( - enumLiteral_0=Exists - { - $current = grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0()); - } - ) - | - ( - enumLiteral_1=Forall - { - $current = grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1()); + $current = grammarAccess.getUnaryOperatorAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getUnaryOperatorAccess().getMINUSEnumLiteralDeclaration_2()); } ) | ( - enumLiteral_2=Count + enumLiteral_3=QuestionMark { - $current = grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2()); + $current = grammarAccess.getUnaryOperatorAccess().getMAYBEEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getUnaryOperatorAccess().getMAYBEEnumLiteralDeclaration_3()); } ) ) @@ -4488,16 +5073,16 @@ ruleObjectiveKind returns [Enumerator current=null] ( enumLiteral_0=Minimize { - $current = grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); + $current = grammarAccess.getObjectiveKindAccess().getMINIMIZATIONEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZATIONEnumLiteralDeclaration_0()); } ) | ( enumLiteral_1=Maximize { - $current = grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); + $current = grammarAccess.getObjectiveKindAccess().getMAXIMIZATIONEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZATIONEnumLiteralDeclaration_1()); } ) ) 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 3e25746c..37223f5c 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,79 +22,84 @@ import java.util.ArrayList; @SuppressWarnings("all") public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "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" + "", "", "", "", "Containment", "Functional", "Abstract", "Contains", "Datatype", "Maximize", "Minimize", "Opposite", "Default", "Extends", "Problem", "Unknown", "Extern", "Import", "Object", "Refers", "Class", "Count", "Empty", "Error", "False", "Scope", "Else", "Enum", "Root", "Then", "True", "FullStopFullStopFullStop", "Inf", "Let", "ExclamationMarkEqualsSign", "HyphenMinusGreaterThanSign", "ColonHyphenMinus", "ColonColon", "ColonEqualsSign", "LessThanSignEqualsSign", "EqualsSignEqualsSign", "EqualsSignGreaterThanSign", "GreaterThanSignEqualsSign", "As", "If", "In", "ExclamationMark", "LeftParenthesis", "RightParenthesis", "Asterisk", "PlusSign", "Comma", "HyphenMinus", "FullStop", "Solidus", "Colon", "Semicolon", "LessThanSign", "EqualsSign", "GreaterThanSign", "QuestionMark", "LeftSquareBracket", "RightSquareBracket", "CircumflexAccent", "LeftCurlyBracket", "VerticalLine", "RightCurlyBracket", "Tilde", "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 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 Enum=27; + public static final int Import=17; + public static final int EqualsSignGreaterThanSign=41; + public static final int True=30; + public static final int Count=21; + public static final int False=24; + public static final int FullStopFullStopFullStop=31; + public static final int LessThanSign=57; + public static final int Datatype=8; + public static final int LeftParenthesis=47; + public static final int Unknown=15; + public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=72; + public static final int Then=29; 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 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 RightSquareBracket=62; + public static final int ExclamationMark=46; + public static final int Opposite=11; + public static final int GreaterThanSign=59; + public static final int Root=28; + public static final int RULE_ID=74; + public static final int RULE_QUOTED_ID=69; + public static final int RightParenthesis=48; + public static final int ColonEqualsSign=38; + public static final int GreaterThanSignEqualsSign=42; + public static final int Functional=5; + public static final int ColonColon=37; + public static final int EqualsSignEqualsSign=40; + public static final int VerticalLine=65; + public static final int PlusSign=50; + public static final int RULE_INT=75; + public static final int Contains=7; + public static final int RULE_ML_COMMENT=76; + public static final int RULE_TRANSITIVE_CLOSURE=71; + public static final int Problem=14; + public static final int Object=18; + public static final int Class=20; + public static final int LeftSquareBracket=61; + public static final int RULE_FULL_STOP=73; + public static final int If=44; + public static final int Refers=19; + public static final int Inf=32; + public static final int In=45; + public static final int RULE_STRING=68; 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=36; - public static final int Solidus=51; - public static final int Colon=52; - public static final int RightCurlyBracket=62; + public static final int RULE_SL_COMMENT=70; + public static final int Comma=51; + public static final int EqualsSign=58; + public static final int Empty=22; + public static final int As=43; + public static final int HyphenMinus=52; + public static final int Maximize=9; + public static final int LessThanSignEqualsSign=39; + public static final int Solidus=54; + public static final int Colon=55; + public static final int RightCurlyBracket=66; public static final int EOF=-1; - 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 LeftCurlyBracket=60; - public static final int Error=21; - public static final int RULE_ANY_OTHER=73; + public static final int Asterisk=49; + public static final int Containment=4; + public static final int FullStop=53; + public static final int RULE_WS=77; + public static final int Abstract=6; + public static final int Minimize=10; + public static final int LeftCurlyBracket=64; + public static final int Error=23; + public static final int Tilde=67; + public static final int RULE_ANY_OTHER=78; 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; + public static final int ColonHyphenMinus=36; + public static final int CircumflexAccent=63; + public static final int Semicolon=56; + public static final int Scope=25; + public static final int QuestionMark=60; + public static final int Else=26; + public static final int Let=33; + public static final int ExclamationMarkEqualsSign=34; + public static final int HyphenMinusGreaterThanSign=35; // delegates // delegators @@ -172,57 +177,171 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleProblem" - // InternalSolverLanguageParser.g:65:1: ruleProblem returns [EObject current=null] : ( (lv_statements_0_0= ruleStatement ) )* ; + // InternalSolverLanguageParser.g:65:1: ruleProblem returns [EObject current=null] : ( (otherlv_0= Problem ( (lv_name_1_0= ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP )? ( (lv_imports_3_0= ruleImport ) )* ( (lv_statements_4_0= ruleStatement ) )* ) ; public final EObject ruleProblem() throws RecognitionException { EObject current = null; - EObject lv_statements_0_0 = null; + Token otherlv_0=null; + Token this_FULL_STOP_2=null; + AntlrDatatypeRuleToken lv_name_1_0 = null; + + EObject lv_imports_3_0 = null; + + EObject lv_statements_4_0 = null; enterRule(); try { - // InternalSolverLanguageParser.g:71:2: ( ( (lv_statements_0_0= ruleStatement ) )* ) - // InternalSolverLanguageParser.g:72:2: ( (lv_statements_0_0= ruleStatement ) )* + // InternalSolverLanguageParser.g:71:2: ( ( (otherlv_0= Problem ( (lv_name_1_0= ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP )? ( (lv_imports_3_0= ruleImport ) )* ( (lv_statements_4_0= ruleStatement ) )* ) ) + // InternalSolverLanguageParser.g:72:2: ( (otherlv_0= Problem ( (lv_name_1_0= ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP )? ( (lv_imports_3_0= ruleImport ) )* ( (lv_statements_4_0= ruleStatement ) )* ) { - // InternalSolverLanguageParser.g:72:2: ( (lv_statements_0_0= ruleStatement ) )* - loop1: + // InternalSolverLanguageParser.g:72:2: ( (otherlv_0= Problem ( (lv_name_1_0= ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP )? ( (lv_imports_3_0= ruleImport ) )* ( (lv_statements_4_0= ruleStatement ) )* ) + // InternalSolverLanguageParser.g:73:3: (otherlv_0= Problem ( (lv_name_1_0= ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP )? ( (lv_imports_3_0= ruleImport ) )* ( (lv_statements_4_0= ruleStatement ) )* + { + // InternalSolverLanguageParser.g:73:3: (otherlv_0= Problem ( (lv_name_1_0= ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP )? + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0==Problem) ) { + alt1=1; + } + switch (alt1) { + case 1 : + // InternalSolverLanguageParser.g:74:4: otherlv_0= Problem ( (lv_name_1_0= ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP + { + otherlv_0=(Token)match(input,Problem,FOLLOW_3); + + newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0()); + + // InternalSolverLanguageParser.g:78:4: ( (lv_name_1_0= ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:79:5: (lv_name_1_0= ruleQualifiedName ) + { + // InternalSolverLanguageParser.g:79:5: (lv_name_1_0= ruleQualifiedName ) + // InternalSolverLanguageParser.g:80:6: lv_name_1_0= ruleQualifiedName + { + + newCompositeNode(grammarAccess.getProblemAccess().getNameQualifiedNameParserRuleCall_0_1_0()); + + pushFollow(FOLLOW_4); + lv_name_1_0=ruleQualifiedName(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProblemRule()); + } + set( + current, + "name", + lv_name_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + afterParserOrEnumRuleCall(); + + + } + + + } + + this_FULL_STOP_2=(Token)match(input,RULE_FULL_STOP,FOLLOW_5); + + newLeafNode(this_FULL_STOP_2, grammarAccess.getProblemAccess().getFULL_STOPTerminalRuleCall_0_2()); + + + } + break; + + } + + // InternalSolverLanguageParser.g:102:3: ( (lv_imports_3_0= ruleImport ) )* + loop2: do { - int alt1=2; - int LA1_0 = input.LA(1); + int alt2=2; + int LA2_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<=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; + if ( (LA2_0==Import) ) { + alt2=1; } - switch (alt1) { + switch (alt2) { case 1 : - // InternalSolverLanguageParser.g:73:3: (lv_statements_0_0= ruleStatement ) + // InternalSolverLanguageParser.g:103:4: (lv_imports_3_0= ruleImport ) { - // InternalSolverLanguageParser.g:73:3: (lv_statements_0_0= ruleStatement ) - // InternalSolverLanguageParser.g:74:4: lv_statements_0_0= ruleStatement + // InternalSolverLanguageParser.g:103:4: (lv_imports_3_0= ruleImport ) + // InternalSolverLanguageParser.g:104:5: lv_imports_3_0= ruleImport { - newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); - - pushFollow(FOLLOW_3); - lv_statements_0_0=ruleStatement(); + newCompositeNode(grammarAccess.getProblemAccess().getImportsImportParserRuleCall_1_0()); + + pushFollow(FOLLOW_5); + lv_imports_3_0=ruleImport(); state._fsp--; - if (current==null) { - current = createModelElementForParent(grammarAccess.getProblemRule()); - } - add( - current, - "statements", - lv_statements_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); - afterParserOrEnumRuleCall(); - + if (current==null) { + current = createModelElementForParent(grammarAccess.getProblemRule()); + } + add( + current, + "imports", + lv_imports_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Import"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + default : + break loop2; + } + } while (true); + + // InternalSolverLanguageParser.g:121:3: ( (lv_statements_4_0= ruleStatement ) )* + loop3: + do { + int alt3=2; + int LA3_0 = input.LA(1); + + if ( ((LA3_0>=Containment && LA3_0<=Abstract)||(LA3_0>=Maximize && LA3_0<=Minimize)||LA3_0==Default||(LA3_0>=Unknown && LA3_0<=Extern)||LA3_0==Object||(LA3_0>=Class && LA3_0<=Scope)||(LA3_0>=Enum && LA3_0<=Root)||LA3_0==True||(LA3_0>=Inf && LA3_0<=Let)||LA3_0==If||(LA3_0>=ExclamationMark && LA3_0<=LeftParenthesis)||LA3_0==PlusSign||LA3_0==HyphenMinus||(LA3_0>=QuestionMark && LA3_0<=LeftSquareBracket)||(LA3_0>=Tilde && LA3_0<=RULE_QUOTED_ID)||(LA3_0>=RULE_ID && LA3_0<=RULE_INT)) ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // InternalSolverLanguageParser.g:122:4: (lv_statements_4_0= ruleStatement ) + { + // InternalSolverLanguageParser.g:122:4: (lv_statements_4_0= ruleStatement ) + // InternalSolverLanguageParser.g:123:5: lv_statements_4_0= ruleStatement + { + + newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_2_0()); + + pushFollow(FOLLOW_6); + lv_statements_4_0=ruleStatement(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProblemRule()); + } + add( + current, + "statements", + lv_statements_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); + afterParserOrEnumRuleCall(); + } @@ -231,11 +350,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop1; + break loop3; } } while (true); + } + + } @@ -255,7 +377,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleStatement" - // InternalSolverLanguageParser.g:94:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; + // InternalSolverLanguageParser.g:144:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; public final EObject entryRuleStatement() throws RecognitionException { EObject current = null; @@ -263,8 +385,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:94:50: (iv_ruleStatement= ruleStatement EOF ) - // InternalSolverLanguageParser.g:95:2: iv_ruleStatement= ruleStatement EOF + // InternalSolverLanguageParser.g:144:50: (iv_ruleStatement= ruleStatement EOF ) + // InternalSolverLanguageParser.g:145:2: iv_ruleStatement= ruleStatement EOF { newCompositeNode(grammarAccess.getStatementRule()); pushFollow(FOLLOW_1); @@ -291,276 +413,245 @@ 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_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:151:1: ruleStatement returns [EObject current=null] : (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPredicateDefintion_2= ruleUnnamedErrorPredicateDefintion | this_DefaultAssertion_3= ruleDefaultAssertion | this_FunctionDefinition_4= ruleFunctionDefinition | this_Attribute_5= ruleAttribute | this_ExternDeclaration_6= ruleExternDeclaration | this_ScopeDeclaration_7= ruleScopeDeclaration | this_ObjectiveDeclaration_8= ruleObjectiveDeclaration | this_ClassDeclaration_9= ruleClassDeclaration | this_EnumDeclaration_10= ruleEnumDeclaration ) ; public final EObject ruleStatement() throws RecognitionException { EObject current = null; - Token this_FULL_STOP_12=null; EObject this_AssertionOrDefinition_0 = null; EObject this_PredicateDefinition_1 = null; - EObject this_UnnamedErrorPrediateDefinition_2 = null; - - EObject this_DefaultDefinition_3 = null; + EObject this_UnnamedErrorPredicateDefintion_2 = null; - EObject this_MetricDefinition_4 = null; + EObject this_DefaultAssertion_3 = null; - EObject this_ExternPredicateDefinition_5 = null; + EObject this_FunctionDefinition_4 = null; - EObject this_ExternMetricDefinition_6 = null; + EObject this_Attribute_5 = null; - EObject this_ExternAggregatorDefinition_7 = null; + EObject this_ExternDeclaration_6 = null; - EObject this_ExternDatatypeDefinition_8 = null; + EObject this_ScopeDeclaration_7 = null; - EObject this_ClassDefinition_9 = null; + EObject this_ObjectiveDeclaration_8 = null; - EObject this_ScopeDefinition_10 = null; + EObject this_ClassDeclaration_9 = null; - EObject this_ObjectiveDefinition_11 = null; + EObject this_EnumDeclaration_10 = null; enterRule(); try { - // 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:157:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPredicateDefintion_2= ruleUnnamedErrorPredicateDefintion | this_DefaultAssertion_3= ruleDefaultAssertion | this_FunctionDefinition_4= ruleFunctionDefinition | this_Attribute_5= ruleAttribute | this_ExternDeclaration_6= ruleExternDeclaration | this_ScopeDeclaration_7= ruleScopeDeclaration | this_ObjectiveDeclaration_8= ruleObjectiveDeclaration | this_ClassDeclaration_9= ruleClassDeclaration | this_EnumDeclaration_10= ruleEnumDeclaration ) ) + // InternalSolverLanguageParser.g:158:2: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPredicateDefintion_2= ruleUnnamedErrorPredicateDefintion | this_DefaultAssertion_3= ruleDefaultAssertion | this_FunctionDefinition_4= ruleFunctionDefinition | this_Attribute_5= ruleAttribute | this_ExternDeclaration_6= ruleExternDeclaration | this_ScopeDeclaration_7= ruleScopeDeclaration | this_ObjectiveDeclaration_8= ruleObjectiveDeclaration | this_ClassDeclaration_9= ruleClassDeclaration | this_EnumDeclaration_10= ruleEnumDeclaration ) { - // 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_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) { + // InternalSolverLanguageParser.g:158:2: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPredicateDefintion_2= ruleUnnamedErrorPredicateDefintion | this_DefaultAssertion_3= ruleDefaultAssertion | this_FunctionDefinition_4= ruleFunctionDefinition | this_Attribute_5= ruleAttribute | this_ExternDeclaration_6= ruleExternDeclaration | this_ScopeDeclaration_7= ruleScopeDeclaration | this_ObjectiveDeclaration_8= ruleObjectiveDeclaration | this_ClassDeclaration_9= ruleClassDeclaration | this_EnumDeclaration_10= ruleEnumDeclaration ) + int alt4=11; + alt4 = dfa4.predict(input); + switch (alt4) { case 1 : - // InternalSolverLanguageParser.g:110:4: this_AssertionOrDefinition_0= ruleAssertionOrDefinition + // InternalSolverLanguageParser.g:159:3: this_AssertionOrDefinition_0= ruleAssertionOrDefinition { - newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); - - pushFollow(FOLLOW_4); + newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0()); + + pushFollow(FOLLOW_2); this_AssertionOrDefinition_0=ruleAssertionOrDefinition(); state._fsp--; - current = this_AssertionOrDefinition_0; - afterParserOrEnumRuleCall(); - + current = this_AssertionOrDefinition_0; + afterParserOrEnumRuleCall(); + } break; case 2 : - // InternalSolverLanguageParser.g:119:4: this_PredicateDefinition_1= rulePredicateDefinition + // InternalSolverLanguageParser.g:168:3: this_PredicateDefinition_1= rulePredicateDefinition { - newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); - - pushFollow(FOLLOW_4); + newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1()); + + pushFollow(FOLLOW_2); this_PredicateDefinition_1=rulePredicateDefinition(); state._fsp--; - current = this_PredicateDefinition_1; - afterParserOrEnumRuleCall(); - + current = this_PredicateDefinition_1; + afterParserOrEnumRuleCall(); + } break; case 3 : - // InternalSolverLanguageParser.g:128:4: this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition + // InternalSolverLanguageParser.g:177:3: this_UnnamedErrorPredicateDefintion_2= ruleUnnamedErrorPredicateDefintion { - newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); - - pushFollow(FOLLOW_4); - this_UnnamedErrorPrediateDefinition_2=ruleUnnamedErrorPrediateDefinition(); + newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPredicateDefintionParserRuleCall_2()); + + pushFollow(FOLLOW_2); + this_UnnamedErrorPredicateDefintion_2=ruleUnnamedErrorPredicateDefintion(); state._fsp--; - current = this_UnnamedErrorPrediateDefinition_2; - afterParserOrEnumRuleCall(); - + current = this_UnnamedErrorPredicateDefintion_2; + afterParserOrEnumRuleCall(); + } break; case 4 : - // InternalSolverLanguageParser.g:137:4: this_DefaultDefinition_3= ruleDefaultDefinition + // InternalSolverLanguageParser.g:186:3: this_DefaultAssertion_3= ruleDefaultAssertion { - newCompositeNode(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); - - pushFollow(FOLLOW_4); - this_DefaultDefinition_3=ruleDefaultDefinition(); + newCompositeNode(grammarAccess.getStatementAccess().getDefaultAssertionParserRuleCall_3()); + + pushFollow(FOLLOW_2); + this_DefaultAssertion_3=ruleDefaultAssertion(); state._fsp--; - current = this_DefaultDefinition_3; - afterParserOrEnumRuleCall(); - + current = this_DefaultAssertion_3; + afterParserOrEnumRuleCall(); + } break; case 5 : - // InternalSolverLanguageParser.g:146:4: this_MetricDefinition_4= ruleMetricDefinition + // InternalSolverLanguageParser.g:195:3: this_FunctionDefinition_4= ruleFunctionDefinition { - newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4()); - - pushFollow(FOLLOW_4); - this_MetricDefinition_4=ruleMetricDefinition(); + newCompositeNode(grammarAccess.getStatementAccess().getFunctionDefinitionParserRuleCall_4()); + + pushFollow(FOLLOW_2); + this_FunctionDefinition_4=ruleFunctionDefinition(); state._fsp--; - current = this_MetricDefinition_4; - afterParserOrEnumRuleCall(); - + current = this_FunctionDefinition_4; + afterParserOrEnumRuleCall(); + } break; case 6 : - // InternalSolverLanguageParser.g:155:4: this_ExternPredicateDefinition_5= ruleExternPredicateDefinition + // InternalSolverLanguageParser.g:204:3: this_Attribute_5= ruleAttribute { - newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5()); - - pushFollow(FOLLOW_4); - this_ExternPredicateDefinition_5=ruleExternPredicateDefinition(); + newCompositeNode(grammarAccess.getStatementAccess().getAttributeParserRuleCall_5()); + + pushFollow(FOLLOW_2); + this_Attribute_5=ruleAttribute(); state._fsp--; - current = this_ExternPredicateDefinition_5; - afterParserOrEnumRuleCall(); - + current = this_Attribute_5; + afterParserOrEnumRuleCall(); + } break; case 7 : - // InternalSolverLanguageParser.g:164:4: this_ExternMetricDefinition_6= ruleExternMetricDefinition + // InternalSolverLanguageParser.g:213:3: this_ExternDeclaration_6= ruleExternDeclaration { - newCompositeNode(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); - - pushFollow(FOLLOW_4); - this_ExternMetricDefinition_6=ruleExternMetricDefinition(); + newCompositeNode(grammarAccess.getStatementAccess().getExternDeclarationParserRuleCall_6()); + + pushFollow(FOLLOW_2); + this_ExternDeclaration_6=ruleExternDeclaration(); state._fsp--; - current = this_ExternMetricDefinition_6; - afterParserOrEnumRuleCall(); - + current = this_ExternDeclaration_6; + afterParserOrEnumRuleCall(); + } break; case 8 : - // InternalSolverLanguageParser.g:173:4: this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition + // InternalSolverLanguageParser.g:222:3: this_ScopeDeclaration_7= ruleScopeDeclaration { - newCompositeNode(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7()); - - pushFollow(FOLLOW_4); - this_ExternAggregatorDefinition_7=ruleExternAggregatorDefinition(); + newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_7()); + + pushFollow(FOLLOW_2); + this_ScopeDeclaration_7=ruleScopeDeclaration(); state._fsp--; - current = this_ExternAggregatorDefinition_7; - afterParserOrEnumRuleCall(); - + current = this_ScopeDeclaration_7; + afterParserOrEnumRuleCall(); + } break; case 9 : - // InternalSolverLanguageParser.g:182:4: this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition + // InternalSolverLanguageParser.g:231:3: this_ObjectiveDeclaration_8= ruleObjectiveDeclaration { - newCompositeNode(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8()); - - pushFollow(FOLLOW_4); - this_ExternDatatypeDefinition_8=ruleExternDatatypeDefinition(); + newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDeclarationParserRuleCall_8()); + + pushFollow(FOLLOW_2); + this_ObjectiveDeclaration_8=ruleObjectiveDeclaration(); state._fsp--; - current = this_ExternDatatypeDefinition_8; - afterParserOrEnumRuleCall(); - + current = this_ObjectiveDeclaration_8; + afterParserOrEnumRuleCall(); + } break; case 10 : - // InternalSolverLanguageParser.g:191:4: this_ClassDefinition_9= ruleClassDefinition + // InternalSolverLanguageParser.g:240:3: this_ClassDeclaration_9= ruleClassDeclaration { - newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9()); - - pushFollow(FOLLOW_4); - this_ClassDefinition_9=ruleClassDefinition(); + newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_9()); + + pushFollow(FOLLOW_2); + this_ClassDeclaration_9=ruleClassDeclaration(); state._fsp--; - current = this_ClassDefinition_9; - afterParserOrEnumRuleCall(); - + current = this_ClassDeclaration_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 + // InternalSolverLanguageParser.g:249:3: this_EnumDeclaration_10= ruleEnumDeclaration { - newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_11()); - - pushFollow(FOLLOW_4); - this_ObjectiveDefinition_11=ruleObjectiveDefinition(); + newCompositeNode(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_10()); + + pushFollow(FOLLOW_2); + this_EnumDeclaration_10=ruleEnumDeclaration(); state._fsp--; - current = this_ObjectiveDefinition_11; - afterParserOrEnumRuleCall(); - + current = this_EnumDeclaration_10; + afterParserOrEnumRuleCall(); + } break; } - this_FULL_STOP_12=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); - - newLeafNode(this_FULL_STOP_12, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); - - - } - } @@ -580,25 +671,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR end "ruleStatement" - // $ANTLR start "entryRuleAssertionOrDefinition" - // InternalSolverLanguageParser.g:226:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ; - public final EObject entryRuleAssertionOrDefinition() throws RecognitionException { + // $ANTLR start "entryRuleImport" + // InternalSolverLanguageParser.g:261:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ; + public final EObject entryRuleImport() throws RecognitionException { EObject current = null; - EObject iv_ruleAssertionOrDefinition = null; + EObject iv_ruleImport = null; try { - // InternalSolverLanguageParser.g:226:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ) - // InternalSolverLanguageParser.g:227:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF + // InternalSolverLanguageParser.g:261:47: (iv_ruleImport= ruleImport EOF ) + // InternalSolverLanguageParser.g:262:2: iv_ruleImport= ruleImport EOF { - newCompositeNode(grammarAccess.getAssertionOrDefinitionRule()); + newCompositeNode(grammarAccess.getImportRule()); pushFollow(FOLLOW_1); - iv_ruleAssertionOrDefinition=ruleAssertionOrDefinition(); + iv_ruleImport=ruleImport(); state._fsp--; - current =iv_ruleAssertionOrDefinition; + current =iv_ruleImport; match(input,EOF,FOLLOW_2); } @@ -613,118 +704,596 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleAssertionOrDefinition" + // $ANTLR end "entryRuleImport" - // $ANTLR start "ruleAssertionOrDefinition" - // 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 { + // $ANTLR start "ruleImport" + // InternalSolverLanguageParser.g:268:1: ruleImport returns [EObject current=null] : (this_UriImport_0= ruleUriImport | this_NamespaceImport_1= ruleNamespaceImport ) ; + public final EObject ruleImport() throws RecognitionException { EObject current = null; - Token otherlv_2=null; - Token otherlv_5=null; - Token otherlv_8=null; - EObject this_Expression_0 = null; - - EObject lv_range_3_0 = null; - - EObject lv_body_6_0 = null; + EObject this_UriImport_0 = null; - EObject lv_body_9_0 = null; + EObject this_NamespaceImport_1 = null; enterRule(); try { - // 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: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 ) ) ) )? + // InternalSolverLanguageParser.g:274:2: ( (this_UriImport_0= ruleUriImport | this_NamespaceImport_1= ruleNamespaceImport ) ) + // InternalSolverLanguageParser.g:275:2: (this_UriImport_0= ruleUriImport | this_NamespaceImport_1= ruleNamespaceImport ) { + // InternalSolverLanguageParser.g:275:2: (this_UriImport_0= ruleUriImport | this_NamespaceImport_1= ruleNamespaceImport ) + int alt5=2; + int LA5_0 = input.LA(1); - newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); - - pushFollow(FOLLOW_5); - this_Expression_0=ruleExpression(); - - state._fsp--; + if ( (LA5_0==Import) ) { + int LA5_1 = input.LA(2); + if ( (LA5_1==RULE_STRING) ) { + alt5=1; + } + else if ( (LA5_1==Object||LA5_1==RULE_QUOTED_ID||LA5_1==RULE_ID) ) { + alt5=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 5, 1, input); - current = this_Expression_0; - afterParserOrEnumRuleCall(); - - // 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 Colon: - { - alt3=1; - } - break; - case ColonHyphenMinus: - { - alt3=2; - } - break; - case EqualsSign: - { - alt3=3; - } - break; + throw nvae; + } } + else { + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); - switch (alt3) { + throw nvae; + } + switch (alt5) { case 1 : - // InternalSolverLanguageParser.g:250:4: ( () 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:276:3: this_UriImport_0= ruleUriImport { - // InternalSolverLanguageParser.g:251:5: () - // InternalSolverLanguageParser.g:252:6: - { - - current = forceCreateModelElementAndSet( - grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(), - current); - - } + newCompositeNode(grammarAccess.getImportAccess().getUriImportParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_UriImport_0=ruleUriImport(); - otherlv_2=(Token)match(input,Colon,FOLLOW_6); + state._fsp--; - 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 - { - newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0()); - + current = this_UriImport_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalSolverLanguageParser.g:285:3: this_NamespaceImport_1= ruleNamespaceImport + { + + newCompositeNode(grammarAccess.getImportAccess().getNamespaceImportParserRuleCall_1()); + pushFollow(FOLLOW_2); - lv_range_3_0=ruleExpression(); + this_NamespaceImport_1=ruleNamespaceImport(); state._fsp--; - if (current==null) { - current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); - } - set( - current, - "range", - lv_range_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - + current = this_NamespaceImport_1; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleImport" + + + // $ANTLR start "entryRuleUriImport" + // InternalSolverLanguageParser.g:297:1: entryRuleUriImport returns [EObject current=null] : iv_ruleUriImport= ruleUriImport EOF ; + public final EObject entryRuleUriImport() throws RecognitionException { + EObject current = null; + + EObject iv_ruleUriImport = null; + + + try { + // InternalSolverLanguageParser.g:297:50: (iv_ruleUriImport= ruleUriImport EOF ) + // InternalSolverLanguageParser.g:298:2: iv_ruleUriImport= ruleUriImport EOF + { + newCompositeNode(grammarAccess.getUriImportRule()); + pushFollow(FOLLOW_1); + iv_ruleUriImport=ruleUriImport(); + + state._fsp--; + + current =iv_ruleUriImport; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleUriImport" + + + // $ANTLR start "ruleUriImport" + // InternalSolverLanguageParser.g:304:1: ruleUriImport returns [EObject current=null] : (otherlv_0= Import ( (lv_uri_1_0= RULE_STRING ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ; + public final EObject ruleUriImport() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_uri_1_0=null; + Token otherlv_2=null; + Token this_FULL_STOP_4=null; + AntlrDatatypeRuleToken lv_alias_3_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:310:2: ( (otherlv_0= Import ( (lv_uri_1_0= RULE_STRING ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:311:2: (otherlv_0= Import ( (lv_uri_1_0= RULE_STRING ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP ) + { + // InternalSolverLanguageParser.g:311:2: (otherlv_0= Import ( (lv_uri_1_0= RULE_STRING ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:312:3: otherlv_0= Import ( (lv_uri_1_0= RULE_STRING ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP + { + otherlv_0=(Token)match(input,Import,FOLLOW_7); + + newLeafNode(otherlv_0, grammarAccess.getUriImportAccess().getImportKeyword_0()); + + // InternalSolverLanguageParser.g:316:3: ( (lv_uri_1_0= RULE_STRING ) ) + // InternalSolverLanguageParser.g:317:4: (lv_uri_1_0= RULE_STRING ) + { + // InternalSolverLanguageParser.g:317:4: (lv_uri_1_0= RULE_STRING ) + // InternalSolverLanguageParser.g:318:5: lv_uri_1_0= RULE_STRING + { + lv_uri_1_0=(Token)match(input,RULE_STRING,FOLLOW_8); + + newLeafNode(lv_uri_1_0, grammarAccess.getUriImportAccess().getUriSTRINGTerminalRuleCall_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getUriImportRule()); + } + setWithLastConsumed( + current, + "uri", + lv_uri_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); + + + } + + + } + + // InternalSolverLanguageParser.g:334:3: (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) + // InternalSolverLanguageParser.g:335:4: otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) + { + otherlv_2=(Token)match(input,As,FOLLOW_3); + + newLeafNode(otherlv_2, grammarAccess.getUriImportAccess().getAsKeyword_2_0()); + + // InternalSolverLanguageParser.g:339:4: ( (lv_alias_3_0= ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:340:5: (lv_alias_3_0= ruleQualifiedName ) + { + // InternalSolverLanguageParser.g:340:5: (lv_alias_3_0= ruleQualifiedName ) + // InternalSolverLanguageParser.g:341:6: lv_alias_3_0= ruleQualifiedName + { + + newCompositeNode(grammarAccess.getUriImportAccess().getAliasQualifiedNameParserRuleCall_2_1_0()); + + pushFollow(FOLLOW_4); + lv_alias_3_0=ruleQualifiedName(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUriImportRule()); + } + set( + current, + "alias", + lv_alias_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + this_FULL_STOP_4=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_4, grammarAccess.getUriImportAccess().getFULL_STOPTerminalRuleCall_3()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleUriImport" + + + // $ANTLR start "entryRuleNamespaceImport" + // InternalSolverLanguageParser.g:367:1: entryRuleNamespaceImport returns [EObject current=null] : iv_ruleNamespaceImport= ruleNamespaceImport EOF ; + public final EObject entryRuleNamespaceImport() throws RecognitionException { + EObject current = null; + + EObject iv_ruleNamespaceImport = null; + + + try { + // InternalSolverLanguageParser.g:367:56: (iv_ruleNamespaceImport= ruleNamespaceImport EOF ) + // InternalSolverLanguageParser.g:368:2: iv_ruleNamespaceImport= ruleNamespaceImport EOF + { + newCompositeNode(grammarAccess.getNamespaceImportRule()); + pushFollow(FOLLOW_1); + iv_ruleNamespaceImport=ruleNamespaceImport(); + + state._fsp--; + + current =iv_ruleNamespaceImport; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleNamespaceImport" + + + // $ANTLR start "ruleNamespaceImport" + // InternalSolverLanguageParser.g:374:1: ruleNamespaceImport returns [EObject current=null] : (otherlv_0= Import ( (lv_importedNamespace_1_0= ruleQualifiedName ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ; + public final EObject ruleNamespaceImport() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token this_FULL_STOP_4=null; + AntlrDatatypeRuleToken lv_importedNamespace_1_0 = null; + + AntlrDatatypeRuleToken lv_alias_3_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:380:2: ( (otherlv_0= Import ( (lv_importedNamespace_1_0= ruleQualifiedName ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:381:2: (otherlv_0= Import ( (lv_importedNamespace_1_0= ruleQualifiedName ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP ) + { + // InternalSolverLanguageParser.g:381:2: (otherlv_0= Import ( (lv_importedNamespace_1_0= ruleQualifiedName ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:382:3: otherlv_0= Import ( (lv_importedNamespace_1_0= ruleQualifiedName ) ) (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) this_FULL_STOP_4= RULE_FULL_STOP + { + otherlv_0=(Token)match(input,Import,FOLLOW_3); + + newLeafNode(otherlv_0, grammarAccess.getNamespaceImportAccess().getImportKeyword_0()); + + // InternalSolverLanguageParser.g:386:3: ( (lv_importedNamespace_1_0= ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:387:4: (lv_importedNamespace_1_0= ruleQualifiedName ) + { + // InternalSolverLanguageParser.g:387:4: (lv_importedNamespace_1_0= ruleQualifiedName ) + // InternalSolverLanguageParser.g:388:5: lv_importedNamespace_1_0= ruleQualifiedName + { + + newCompositeNode(grammarAccess.getNamespaceImportAccess().getImportedNamespaceQualifiedNameParserRuleCall_1_0()); + + pushFollow(FOLLOW_8); + lv_importedNamespace_1_0=ruleQualifiedName(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getNamespaceImportRule()); + } + set( + current, + "importedNamespace", + lv_importedNamespace_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalSolverLanguageParser.g:405:3: (otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) ) + // InternalSolverLanguageParser.g:406:4: otherlv_2= As ( (lv_alias_3_0= ruleQualifiedName ) ) + { + otherlv_2=(Token)match(input,As,FOLLOW_3); + + newLeafNode(otherlv_2, grammarAccess.getNamespaceImportAccess().getAsKeyword_2_0()); + + // InternalSolverLanguageParser.g:410:4: ( (lv_alias_3_0= ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:411:5: (lv_alias_3_0= ruleQualifiedName ) + { + // InternalSolverLanguageParser.g:411:5: (lv_alias_3_0= ruleQualifiedName ) + // InternalSolverLanguageParser.g:412:6: lv_alias_3_0= ruleQualifiedName + { + + newCompositeNode(grammarAccess.getNamespaceImportAccess().getAliasQualifiedNameParserRuleCall_2_1_0()); + + pushFollow(FOLLOW_4); + lv_alias_3_0=ruleQualifiedName(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getNamespaceImportRule()); + } + set( + current, + "alias", + lv_alias_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + this_FULL_STOP_4=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_4, grammarAccess.getNamespaceImportAccess().getFULL_STOPTerminalRuleCall_3()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleNamespaceImport" + + + // $ANTLR start "entryRuleAssertionOrDefinition" + // InternalSolverLanguageParser.g:438:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ; + public final EObject entryRuleAssertionOrDefinition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAssertionOrDefinition = null; + + + try { + // InternalSolverLanguageParser.g:438:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ) + // InternalSolverLanguageParser.g:439:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF + { + newCompositeNode(grammarAccess.getAssertionOrDefinitionRule()); + pushFollow(FOLLOW_1); + iv_ruleAssertionOrDefinition=ruleAssertionOrDefinition(); + + state._fsp--; + + current =iv_ruleAssertionOrDefinition; + match(input,EOF,FOLLOW_2); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAssertionOrDefinition" + + + // $ANTLR start "ruleAssertionOrDefinition" + // InternalSolverLanguageParser.g:445: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= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) this_FULL_STOP_10= RULE_FULL_STOP ) ; + public final EObject ruleAssertionOrDefinition() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + Token otherlv_5=null; + Token otherlv_8=null; + Token this_FULL_STOP_10=null; + EObject this_Expression_0 = null; + + EObject lv_range_3_0 = null; + + EObject lv_body_6_0 = null; + + EObject lv_body_9_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:451:2: ( (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) this_FULL_STOP_10= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:452:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) this_FULL_STOP_10= RULE_FULL_STOP ) + { + // InternalSolverLanguageParser.g:452:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) this_FULL_STOP_10= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:453:3: this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) this_FULL_STOP_10= RULE_FULL_STOP + { + + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); + + pushFollow(FOLLOW_9); + this_Expression_0=ruleExpression(); + + state._fsp--; + + + current = this_Expression_0; + afterParserOrEnumRuleCall(); + + // InternalSolverLanguageParser.g:461:3: ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) + int alt7=3; + switch ( input.LA(1) ) { + case Colon: + case RULE_FULL_STOP: + { + alt7=1; + } + break; + case ColonHyphenMinus: + { + alt7=2; + } + break; + case ColonEqualsSign: + { + alt7=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 7, 0, input); + + throw nvae; + } + + switch (alt7) { + case 1 : + // InternalSolverLanguageParser.g:462:4: ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) + { + // InternalSolverLanguageParser.g:462:4: ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) + // InternalSolverLanguageParser.g:463:5: () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? + { + // InternalSolverLanguageParser.g:463:5: () + // InternalSolverLanguageParser.g:464:6: + { + + current = forceCreateModelElementAndSet( + grammarAccess.getAssertionOrDefinitionAccess().getAssertionExpressionAction_1_0_0(), + current); + + + } + + // InternalSolverLanguageParser.g:470:5: (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0==Colon) ) { + alt6=1; } + switch (alt6) { + case 1 : + // InternalSolverLanguageParser.g:471:6: otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) + { + otherlv_2=(Token)match(input,Colon,FOLLOW_10); + + newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); + + // InternalSolverLanguageParser.g:475:6: ( (lv_range_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:476:7: (lv_range_3_0= ruleExpression ) + { + // InternalSolverLanguageParser.g:476:7: (lv_range_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:477:8: lv_range_3_0= ruleExpression + { + + newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); + + pushFollow(FOLLOW_4); + 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; } @@ -735,13 +1304,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:283:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:497:4: ( () 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:497:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:498:5: () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) { - // InternalSolverLanguageParser.g:284:5: () - // InternalSolverLanguageParser.g:285:6: + // InternalSolverLanguageParser.g:498:5: () + // InternalSolverLanguageParser.g:499:6: { current = forceCreateModelElementAndSet( @@ -751,20 +1320,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_5=(Token)match(input,ColonHyphenMinus,FOLLOW_6); + otherlv_5=(Token)match(input,ColonHyphenMinus,FOLLOW_10); newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); - // InternalSolverLanguageParser.g:295:5: ( (lv_body_6_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:296:6: (lv_body_6_0= ruleExpression ) + // InternalSolverLanguageParser.g:509:5: ( (lv_body_6_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:510:6: (lv_body_6_0= ruleExpression ) { - // InternalSolverLanguageParser.g:296:6: (lv_body_6_0= ruleExpression ) - // InternalSolverLanguageParser.g:297:7: lv_body_6_0= ruleExpression + // InternalSolverLanguageParser.g:510:6: (lv_body_6_0= ruleExpression ) + // InternalSolverLanguageParser.g:511:7: lv_body_6_0= ruleExpression { newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); - pushFollow(FOLLOW_2); + pushFollow(FOLLOW_4); lv_body_6_0=ruleExpression(); state._fsp--; @@ -793,36 +1362,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:316:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:530:4: ( () otherlv_8= ColonEqualsSign ( (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:530:4: ( () otherlv_8= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:531:5: () otherlv_8= ColonEqualsSign ( (lv_body_9_0= ruleExpression ) ) { - // InternalSolverLanguageParser.g:317:5: () - // InternalSolverLanguageParser.g:318:6: + // InternalSolverLanguageParser.g:531:5: () + // InternalSolverLanguageParser.g:532:6: { current = forceCreateModelElementAndSet( - grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(), + grammarAccess.getAssertionOrDefinitionAccess().getFunctionDefinitionHeadAction_1_2_0(), current); } - otherlv_8=(Token)match(input,EqualsSign,FOLLOW_6); + otherlv_8=(Token)match(input,ColonEqualsSign,FOLLOW_10); - newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); + newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getColonEqualsSignKeyword_1_2_1()); - // InternalSolverLanguageParser.g:328:5: ( (lv_body_9_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:329:6: (lv_body_9_0= ruleExpression ) + // InternalSolverLanguageParser.g:542:5: ( (lv_body_9_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:543:6: (lv_body_9_0= ruleExpression ) { - // InternalSolverLanguageParser.g:329:6: (lv_body_9_0= ruleExpression ) - // InternalSolverLanguageParser.g:330:7: lv_body_9_0= ruleExpression + // InternalSolverLanguageParser.g:543:6: (lv_body_9_0= ruleExpression ) + // InternalSolverLanguageParser.g:544:7: lv_body_9_0= ruleExpression { newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); - pushFollow(FOLLOW_2); + pushFollow(FOLLOW_4); lv_body_9_0=ruleExpression(); state._fsp--; @@ -853,6 +1422,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + this_FULL_STOP_10=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_10, grammarAccess.getAssertionOrDefinitionAccess().getFULL_STOPTerminalRuleCall_2()); + } @@ -876,7 +1449,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRulePredicateDefinition" - // InternalSolverLanguageParser.g:353:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; + // InternalSolverLanguageParser.g:571:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; public final EObject entryRulePredicateDefinition() throws RecognitionException { EObject current = null; @@ -884,8 +1457,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:353:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) - // InternalSolverLanguageParser.g:354:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF + // InternalSolverLanguageParser.g:571:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) + // InternalSolverLanguageParser.g:572:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF { newCompositeNode(grammarAccess.getPredicateDefinitionRule()); pushFollow(FOLLOW_1); @@ -912,7 +1485,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "rulePredicateDefinition" - // 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 ) ) ) ; + // InternalSolverLanguageParser.g:578: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 ) ) this_FULL_STOP_7= RULE_FULL_STOP ) ; public final EObject rulePredicateDefinition() throws RecognitionException { EObject current = null; @@ -921,6 +1494,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { Token lv_error_2_0=null; Token lv_functional_3_0=null; Token otherlv_5=null; + Token this_FULL_STOP_7=null; EObject lv_head_4_0 = null; EObject lv_body_6_0 = null; @@ -930,42 +1504,42 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:584: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 ) ) this_FULL_STOP_7= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:585: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 ) ) this_FULL_STOP_7= RULE_FULL_STOP ) { - // 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:585: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 ) ) this_FULL_STOP_7= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:586: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 ) ) this_FULL_STOP_7= RULE_FULL_STOP { - // 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); + // InternalSolverLanguageParser.g:586:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) + int alt10=2; + int LA10_0 = input.LA(1); - if ( (LA6_0==Functional) ) { - alt6=1; + if ( (LA10_0==Functional) ) { + alt10=1; } - else if ( (LA6_0==Error) ) { - alt6=2; + else if ( (LA10_0==Error) ) { + alt10=2; } else { NoViableAltException nvae = - new NoViableAltException("", 6, 0, input); + new NoViableAltException("", 10, 0, input); throw nvae; } - switch (alt6) { + switch (alt10) { case 1 : - // InternalSolverLanguageParser.g:369:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) + // InternalSolverLanguageParser.g:587: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:370:5: ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? + // InternalSolverLanguageParser.g:587:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) + // InternalSolverLanguageParser.g:588:5: ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? { - // InternalSolverLanguageParser.g:370:5: ( (lv_functional_0_0= Functional ) ) - // InternalSolverLanguageParser.g:371:6: (lv_functional_0_0= Functional ) + // InternalSolverLanguageParser.g:588:5: ( (lv_functional_0_0= Functional ) ) + // InternalSolverLanguageParser.g:589:6: (lv_functional_0_0= Functional ) { - // InternalSolverLanguageParser.g:371:6: (lv_functional_0_0= Functional ) - // InternalSolverLanguageParser.g:372:7: lv_functional_0_0= Functional + // InternalSolverLanguageParser.g:589:6: (lv_functional_0_0= Functional ) + // InternalSolverLanguageParser.g:590:7: lv_functional_0_0= Functional { - lv_functional_0_0=(Token)match(input,Functional,FOLLOW_7); + lv_functional_0_0=(Token)match(input,Functional,FOLLOW_11); newLeafNode(lv_functional_0_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_0_0_0()); @@ -981,21 +1555,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:384:5: ( (lv_error_1_0= Error ) )? - int alt4=2; - int LA4_0 = input.LA(1); + // InternalSolverLanguageParser.g:602:5: ( (lv_error_1_0= Error ) )? + int alt8=2; + int LA8_0 = input.LA(1); - if ( (LA4_0==Error) ) { - alt4=1; + if ( (LA8_0==Error) ) { + alt8=1; } - switch (alt4) { + switch (alt8) { case 1 : - // InternalSolverLanguageParser.g:385:6: (lv_error_1_0= Error ) + // InternalSolverLanguageParser.g:603:6: (lv_error_1_0= Error ) { - // InternalSolverLanguageParser.g:385:6: (lv_error_1_0= Error ) - // InternalSolverLanguageParser.g:386:7: lv_error_1_0= Error + // InternalSolverLanguageParser.g:603:6: (lv_error_1_0= Error ) + // InternalSolverLanguageParser.g:604:7: lv_error_1_0= Error { - lv_error_1_0=(Token)match(input,Error,FOLLOW_8); + lv_error_1_0=(Token)match(input,Error,FOLLOW_12); newLeafNode(lv_error_1_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_1_0()); @@ -1021,18 +1595,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:400:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) + // InternalSolverLanguageParser.g:618: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:401:5: ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? + // InternalSolverLanguageParser.g:618:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) + // InternalSolverLanguageParser.g:619:5: ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? { - // InternalSolverLanguageParser.g:401:5: ( (lv_error_2_0= Error ) ) - // InternalSolverLanguageParser.g:402:6: (lv_error_2_0= Error ) + // InternalSolverLanguageParser.g:619:5: ( (lv_error_2_0= Error ) ) + // InternalSolverLanguageParser.g:620:6: (lv_error_2_0= Error ) { - // InternalSolverLanguageParser.g:402:6: (lv_error_2_0= Error ) - // InternalSolverLanguageParser.g:403:7: lv_error_2_0= Error + // InternalSolverLanguageParser.g:620:6: (lv_error_2_0= Error ) + // InternalSolverLanguageParser.g:621:7: lv_error_2_0= Error { - lv_error_2_0=(Token)match(input,Error,FOLLOW_9); + lv_error_2_0=(Token)match(input,Error,FOLLOW_13); newLeafNode(lv_error_2_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_1_0_0()); @@ -1048,71 +1622,226 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:415:5: ( (lv_functional_3_0= Functional ) )? - int alt5=2; - int LA5_0 = input.LA(1); + // InternalSolverLanguageParser.g:633:5: ( (lv_functional_3_0= Functional ) )? + int alt9=2; + int LA9_0 = input.LA(1); - if ( (LA5_0==Functional) ) { - alt5=1; + if ( (LA9_0==Functional) ) { + alt9=1; } - switch (alt5) { + switch (alt9) { case 1 : - // InternalSolverLanguageParser.g:416:6: (lv_functional_3_0= Functional ) + // InternalSolverLanguageParser.g:634:6: (lv_functional_3_0= Functional ) { - // InternalSolverLanguageParser.g:416:6: (lv_functional_3_0= Functional ) - // InternalSolverLanguageParser.g:417:7: lv_functional_3_0= Functional + // InternalSolverLanguageParser.g:634:6: (lv_functional_3_0= Functional ) + // InternalSolverLanguageParser.g:635:7: lv_functional_3_0= Functional { - lv_functional_3_0=(Token)match(input,Functional,FOLLOW_8); + lv_functional_3_0=(Token)match(input,Functional,FOLLOW_12); + + newLeafNode(lv_functional_3_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getPredicateDefinitionRule()); + } + setWithLastConsumed(current, "functional", true, "functional"); + + + } + + + } + break; + + } + + + } + + + } + break; + + } + + // InternalSolverLanguageParser.g:649:3: ( (lv_head_4_0= ruleCall ) ) + // InternalSolverLanguageParser.g:650:4: (lv_head_4_0= ruleCall ) + { + // InternalSolverLanguageParser.g:650:4: (lv_head_4_0= ruleCall ) + // InternalSolverLanguageParser.g:651:5: lv_head_4_0= ruleCall + { + + newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); + + pushFollow(FOLLOW_14); + lv_head_4_0=ruleCall(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); + } + set( + current, + "head", + lv_head_4_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,ColonHyphenMinus,FOLLOW_10); + + newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); + + // InternalSolverLanguageParser.g:672:3: ( (lv_body_6_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:673:4: (lv_body_6_0= ruleExpression ) + { + // InternalSolverLanguageParser.g:673:4: (lv_body_6_0= ruleExpression ) + // InternalSolverLanguageParser.g:674:5: lv_body_6_0= ruleExpression + { + + newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + + pushFollow(FOLLOW_4); + lv_body_6_0=ruleExpression(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); + } + set( + current, + "body", + lv_body_6_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + + } + + + } + + this_FULL_STOP_7=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_7, grammarAccess.getPredicateDefinitionAccess().getFULL_STOPTerminalRuleCall_4()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePredicateDefinition" + + + // $ANTLR start "entryRuleUnnamedErrorPredicateDefintion" + // InternalSolverLanguageParser.g:699:1: entryRuleUnnamedErrorPredicateDefintion returns [EObject current=null] : iv_ruleUnnamedErrorPredicateDefintion= ruleUnnamedErrorPredicateDefintion EOF ; + public final EObject entryRuleUnnamedErrorPredicateDefintion() throws RecognitionException { + EObject current = null; + + EObject iv_ruleUnnamedErrorPredicateDefintion = null; + + + try { + // InternalSolverLanguageParser.g:699:71: (iv_ruleUnnamedErrorPredicateDefintion= ruleUnnamedErrorPredicateDefintion EOF ) + // InternalSolverLanguageParser.g:700:2: iv_ruleUnnamedErrorPredicateDefintion= ruleUnnamedErrorPredicateDefintion EOF + { + newCompositeNode(grammarAccess.getUnnamedErrorPredicateDefintionRule()); + pushFollow(FOLLOW_1); + iv_ruleUnnamedErrorPredicateDefintion=ruleUnnamedErrorPredicateDefintion(); + + state._fsp--; + + current =iv_ruleUnnamedErrorPredicateDefintion; + match(input,EOF,FOLLOW_2); - newLeafNode(lv_functional_3_0, grammarAccess.getPredicateDefinitionAccess().getFunctionalFunctionalKeyword_0_1_1_0()); - + } - if (current==null) { - current = createModelElement(grammarAccess.getPredicateDefinitionRule()); - } - setWithLastConsumed(current, "functional", true, "functional"); - + } - } + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleUnnamedErrorPredicateDefintion" - } - break; + // $ANTLR start "ruleUnnamedErrorPredicateDefintion" + // InternalSolverLanguageParser.g:706:1: ruleUnnamedErrorPredicateDefintion returns [EObject current=null] : (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ; + public final EObject ruleUnnamedErrorPredicateDefintion() throws RecognitionException { + EObject current = null; - } + Token otherlv_0=null; + Token otherlv_2=null; + Token this_FULL_STOP_4=null; + EObject lv_argumentList_1_0 = null; + EObject lv_body_3_0 = null; - } - } - break; + enterRule(); - } + try { + // InternalSolverLanguageParser.g:712:2: ( (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:713:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP ) + { + // InternalSolverLanguageParser.g:713:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:714:3: otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP + { + otherlv_0=(Token)match(input,Error,FOLLOW_15); - // InternalSolverLanguageParser.g:431:3: ( (lv_head_4_0= ruleCall ) ) - // InternalSolverLanguageParser.g:432:4: (lv_head_4_0= ruleCall ) + newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPredicateDefintionAccess().getErrorKeyword_0()); + + // InternalSolverLanguageParser.g:718:3: ( (lv_argumentList_1_0= ruleArgumentList ) ) + // InternalSolverLanguageParser.g:719:4: (lv_argumentList_1_0= ruleArgumentList ) { - // InternalSolverLanguageParser.g:432:4: (lv_head_4_0= ruleCall ) - // InternalSolverLanguageParser.g:433:5: lv_head_4_0= ruleCall + // InternalSolverLanguageParser.g:719:4: (lv_argumentList_1_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:720:5: lv_argumentList_1_0= ruleArgumentList { - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getArgumentListArgumentListParserRuleCall_1_0()); - pushFollow(FOLLOW_10); - lv_head_4_0=ruleCall(); + pushFollow(FOLLOW_14); + lv_argumentList_1_0=ruleArgumentList(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); + current = createModelElementForParent(grammarAccess.getUnnamedErrorPredicateDefintionRule()); } set( current, - "head", - lv_head_4_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + "argumentList", + lv_argumentList_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); afterParserOrEnumRuleCall(); @@ -1121,32 +1850,32 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_5=(Token)match(input,ColonHyphenMinus,FOLLOW_6); + otherlv_2=(Token)match(input,ColonHyphenMinus,FOLLOW_10); - newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); + newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPredicateDefintionAccess().getColonHyphenMinusKeyword_2()); - // InternalSolverLanguageParser.g:454:3: ( (lv_body_6_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:455:4: (lv_body_6_0= ruleExpression ) + // InternalSolverLanguageParser.g:741:3: ( (lv_body_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:742:4: (lv_body_3_0= ruleExpression ) { - // InternalSolverLanguageParser.g:455:4: (lv_body_6_0= ruleExpression ) - // InternalSolverLanguageParser.g:456:5: lv_body_6_0= ruleExpression + // InternalSolverLanguageParser.g:742:4: (lv_body_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:743:5: lv_body_3_0= ruleExpression { - newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getBodyExpressionParserRuleCall_3_0()); - pushFollow(FOLLOW_2); - lv_body_6_0=ruleExpression(); + pushFollow(FOLLOW_4); + lv_body_3_0=ruleExpression(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule()); + current = createModelElementForParent(grammarAccess.getUnnamedErrorPredicateDefintionRule()); } set( current, "body", - lv_body_6_0, + lv_body_3_0, "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); afterParserOrEnumRuleCall(); @@ -1156,6 +1885,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + this_FULL_STOP_4=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_4, grammarAccess.getUnnamedErrorPredicateDefintionAccess().getFULL_STOPTerminalRuleCall_4()); + } @@ -1175,28 +1908,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "rulePredicateDefinition" + // $ANTLR end "ruleUnnamedErrorPredicateDefintion" - // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition" - // InternalSolverLanguageParser.g:477:1: entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null] : iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ; - public final EObject entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException { + // $ANTLR start "entryRuleDefaultAssertion" + // InternalSolverLanguageParser.g:768:1: entryRuleDefaultAssertion returns [EObject current=null] : iv_ruleDefaultAssertion= ruleDefaultAssertion EOF ; + public final EObject entryRuleDefaultAssertion() throws RecognitionException { EObject current = null; - EObject iv_ruleUnnamedErrorPrediateDefinition = null; + EObject iv_ruleDefaultAssertion = null; try { - // InternalSolverLanguageParser.g:477:71: (iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ) - // InternalSolverLanguageParser.g:478:2: iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF + // InternalSolverLanguageParser.g:768:57: (iv_ruleDefaultAssertion= ruleDefaultAssertion EOF ) + // InternalSolverLanguageParser.g:769:2: iv_ruleDefaultAssertion= ruleDefaultAssertion EOF { - newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); + newCompositeNode(grammarAccess.getDefaultAssertionRule()); pushFollow(FOLLOW_1); - iv_ruleUnnamedErrorPrediateDefinition=ruleUnnamedErrorPrediateDefinition(); + iv_ruleDefaultAssertion=ruleDefaultAssertion(); state._fsp--; - current =iv_ruleUnnamedErrorPrediateDefinition; + current =iv_ruleDefaultAssertion; match(input,EOF,FOLLOW_2); } @@ -1211,58 +1944,59 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleUnnamedErrorPrediateDefinition" + // $ANTLR end "entryRuleDefaultAssertion" - // $ANTLR start "ruleUnnamedErrorPrediateDefinition" - // 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 { + // $ANTLR start "ruleDefaultAssertion" + // InternalSolverLanguageParser.g:775:1: ruleDefaultAssertion returns [EObject current=null] : (otherlv_0= Default ( (lv_expression_1_0= ruleCall ) ) (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? this_FULL_STOP_4= RULE_FULL_STOP ) ; + public final EObject ruleDefaultAssertion() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; - EObject lv_argumentList_1_0 = null; + Token this_FULL_STOP_4=null; + EObject lv_expression_1_0 = null; - EObject lv_body_3_0 = null; + EObject lv_range_3_0 = null; enterRule(); try { - // 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:781:2: ( (otherlv_0= Default ( (lv_expression_1_0= ruleCall ) ) (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? this_FULL_STOP_4= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:782:2: (otherlv_0= Default ( (lv_expression_1_0= ruleCall ) ) (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? this_FULL_STOP_4= RULE_FULL_STOP ) { - // 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 ) ) + // InternalSolverLanguageParser.g:782:2: (otherlv_0= Default ( (lv_expression_1_0= ruleCall ) ) (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? this_FULL_STOP_4= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:783:3: otherlv_0= Default ( (lv_expression_1_0= ruleCall ) ) (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? this_FULL_STOP_4= RULE_FULL_STOP { - otherlv_0=(Token)match(input,Error,FOLLOW_11); + otherlv_0=(Token)match(input,Default,FOLLOW_12); - newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getDefaultAssertionAccess().getDefaultKeyword_0()); - // InternalSolverLanguageParser.g:496:3: ( (lv_argumentList_1_0= ruleArgumentList ) ) - // InternalSolverLanguageParser.g:497:4: (lv_argumentList_1_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:787:3: ( (lv_expression_1_0= ruleCall ) ) + // InternalSolverLanguageParser.g:788:4: (lv_expression_1_0= ruleCall ) { - // InternalSolverLanguageParser.g:497:4: (lv_argumentList_1_0= ruleArgumentList ) - // InternalSolverLanguageParser.g:498:5: lv_argumentList_1_0= ruleArgumentList + // InternalSolverLanguageParser.g:788:4: (lv_expression_1_0= ruleCall ) + // InternalSolverLanguageParser.g:789:5: lv_expression_1_0= ruleCall { - newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getDefaultAssertionAccess().getExpressionCallParserRuleCall_1_0()); - pushFollow(FOLLOW_10); - lv_argumentList_1_0=ruleArgumentList(); + pushFollow(FOLLOW_16); + lv_expression_1_0=ruleCall(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); + current = createModelElementForParent(grammarAccess.getDefaultAssertionRule()); } set( current, - "argumentList", - lv_argumentList_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); + "expression", + lv_expression_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Call"); afterParserOrEnumRuleCall(); @@ -1271,41 +2005,62 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,ColonHyphenMinus,FOLLOW_6); + // InternalSolverLanguageParser.g:806:3: (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? + int alt11=2; + int LA11_0 = input.LA(1); - newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); - - // InternalSolverLanguageParser.g:519:3: ( (lv_body_3_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:520:4: (lv_body_3_0= ruleExpression ) - { - // InternalSolverLanguageParser.g:520:4: (lv_body_3_0= ruleExpression ) - // InternalSolverLanguageParser.g:521:5: lv_body_3_0= ruleExpression - { + if ( (LA11_0==Colon) ) { + alt11=1; + } + switch (alt11) { + case 1 : + // InternalSolverLanguageParser.g:807:4: otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) + { + otherlv_2=(Token)match(input,Colon,FOLLOW_10); - newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); - - pushFollow(FOLLOW_2); - lv_body_3_0=ruleExpression(); + newLeafNode(otherlv_2, grammarAccess.getDefaultAssertionAccess().getColonKeyword_2_0()); + + // InternalSolverLanguageParser.g:811:4: ( (lv_range_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:812:5: (lv_range_3_0= ruleExpression ) + { + // InternalSolverLanguageParser.g:812:5: (lv_range_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:813:6: lv_range_3_0= ruleExpression + { - state._fsp--; + newCompositeNode(grammarAccess.getDefaultAssertionAccess().getRangeExpressionParserRuleCall_2_1_0()); + + pushFollow(FOLLOW_4); + lv_range_3_0=ruleExpression(); + state._fsp--; - if (current==null) { - current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); - } - set( - current, - "body", - lv_body_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - } + if (current==null) { + current = createModelElementForParent(grammarAccess.getDefaultAssertionRule()); + } + set( + current, + "range", + lv_range_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + + } + + + } + + } + break; } + this_FULL_STOP_4=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_4, grammarAccess.getDefaultAssertionAccess().getFULL_STOPTerminalRuleCall_3()); + } @@ -1325,28 +2080,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleUnnamedErrorPrediateDefinition" + // $ANTLR end "ruleDefaultAssertion" - // $ANTLR start "entryRuleDefaultDefinition" - // InternalSolverLanguageParser.g:542:1: entryRuleDefaultDefinition returns [EObject current=null] : iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ; - public final EObject entryRuleDefaultDefinition() throws RecognitionException { + // $ANTLR start "entryRuleFunctionDefinition" + // InternalSolverLanguageParser.g:839:1: entryRuleFunctionDefinition returns [EObject current=null] : iv_ruleFunctionDefinition= ruleFunctionDefinition EOF ; + public final EObject entryRuleFunctionDefinition() throws RecognitionException { EObject current = null; - EObject iv_ruleDefaultDefinition = null; + EObject iv_ruleFunctionDefinition = null; try { - // InternalSolverLanguageParser.g:542:58: (iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ) - // InternalSolverLanguageParser.g:543:2: iv_ruleDefaultDefinition= ruleDefaultDefinition EOF + // InternalSolverLanguageParser.g:839:59: (iv_ruleFunctionDefinition= ruleFunctionDefinition EOF ) + // InternalSolverLanguageParser.g:840:2: iv_ruleFunctionDefinition= ruleFunctionDefinition EOF { - newCompositeNode(grammarAccess.getDefaultDefinitionRule()); + newCompositeNode(grammarAccess.getFunctionDefinitionRule()); pushFollow(FOLLOW_1); - iv_ruleDefaultDefinition=ruleDefaultDefinition(); + iv_ruleFunctionDefinition=ruleFunctionDefinition(); state._fsp--; - current =iv_ruleDefaultDefinition; + current =iv_ruleFunctionDefinition; match(input,EOF,FOLLOW_2); } @@ -1361,52 +2116,76 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleDefaultDefinition" + // $ANTLR end "entryRuleFunctionDefinition" - // $ANTLR start "ruleDefaultDefinition" - // 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 { + // $ANTLR start "ruleFunctionDefinition" + // InternalSolverLanguageParser.g:846:1: ruleFunctionDefinition returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= ColonEqualsSign ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ; + public final EObject ruleFunctionDefinition() throws RecognitionException { EObject current = null; - Token otherlv_0=null; Token otherlv_2=null; + Token this_FULL_STOP_4=null; EObject lv_head_1_0 = null; - EObject lv_range_3_0 = null; + EObject lv_body_3_0 = null; enterRule(); try { - // 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:852:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= ColonEqualsSign ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:853:2: ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= ColonEqualsSign ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP ) { - // 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 ) ) + // InternalSolverLanguageParser.g:853:2: ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= ColonEqualsSign ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:854:3: ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= ColonEqualsSign ( (lv_body_3_0= ruleExpression ) ) this_FULL_STOP_4= RULE_FULL_STOP { - otherlv_0=(Token)match(input,Default,FOLLOW_8); - - newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); - - // InternalSolverLanguageParser.g:561:3: ( (lv_head_1_0= ruleCall ) ) - // InternalSolverLanguageParser.g:562:4: (lv_head_1_0= ruleCall ) + // InternalSolverLanguageParser.g:854:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:855:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:562:4: (lv_head_1_0= ruleCall ) - // InternalSolverLanguageParser.g:563:5: lv_head_1_0= ruleCall + // InternalSolverLanguageParser.g:855:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:856:5: ruleQualifiedName { - newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); + if (current==null) { + current = createModelElement(grammarAccess.getFunctionDefinitionRule()); + } + + + newCompositeNode(grammarAccess.getFunctionDefinitionAccess().getResultTypeSymbolCrossReference_0_0()); pushFollow(FOLLOW_12); + ruleQualifiedName(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalSolverLanguageParser.g:870:3: ( (lv_head_1_0= ruleCall ) ) + // InternalSolverLanguageParser.g:871:4: (lv_head_1_0= ruleCall ) + { + // InternalSolverLanguageParser.g:871:4: (lv_head_1_0= ruleCall ) + // InternalSolverLanguageParser.g:872:5: lv_head_1_0= ruleCall + { + + newCompositeNode(grammarAccess.getFunctionDefinitionAccess().getHeadCallParserRuleCall_1_0()); + + pushFollow(FOLLOW_17); lv_head_1_0=ruleCall(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); + current = createModelElementForParent(grammarAccess.getFunctionDefinitionRule()); } set( current, @@ -1421,32 +2200,32 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,Colon,FOLLOW_6); + otherlv_2=(Token)match(input,ColonEqualsSign,FOLLOW_10); - newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); + newLeafNode(otherlv_2, grammarAccess.getFunctionDefinitionAccess().getColonEqualsSignKeyword_2()); - // InternalSolverLanguageParser.g:584:3: ( (lv_range_3_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:585:4: (lv_range_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:893:3: ( (lv_body_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:894:4: (lv_body_3_0= ruleExpression ) { - // InternalSolverLanguageParser.g:585:4: (lv_range_3_0= ruleExpression ) - // InternalSolverLanguageParser.g:586:5: lv_range_3_0= ruleExpression + // InternalSolverLanguageParser.g:894:4: (lv_body_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:895:5: lv_body_3_0= ruleExpression { - newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getFunctionDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); - pushFollow(FOLLOW_2); - lv_range_3_0=ruleExpression(); + pushFollow(FOLLOW_4); + lv_body_3_0=ruleExpression(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); + current = createModelElementForParent(grammarAccess.getFunctionDefinitionRule()); } set( current, - "range", - lv_range_3_0, + "body", + lv_body_3_0, "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); afterParserOrEnumRuleCall(); @@ -1456,6 +2235,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + this_FULL_STOP_4=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_4, grammarAccess.getFunctionDefinitionAccess().getFULL_STOPTerminalRuleCall_4()); + } @@ -1475,28 +2258,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleDefaultDefinition" + // $ANTLR end "ruleFunctionDefinition" - // $ANTLR start "entryRuleMetricDefinition" - // InternalSolverLanguageParser.g:607:1: entryRuleMetricDefinition returns [EObject current=null] : iv_ruleMetricDefinition= ruleMetricDefinition EOF ; - public final EObject entryRuleMetricDefinition() throws RecognitionException { + // $ANTLR start "entryRuleTypeReference" + // InternalSolverLanguageParser.g:920:1: entryRuleTypeReference returns [EObject current=null] : iv_ruleTypeReference= ruleTypeReference EOF ; + public final EObject entryRuleTypeReference() throws RecognitionException { EObject current = null; - EObject iv_ruleMetricDefinition = null; + EObject iv_ruleTypeReference = null; try { - // InternalSolverLanguageParser.g:607:57: (iv_ruleMetricDefinition= ruleMetricDefinition EOF ) - // InternalSolverLanguageParser.g:608:2: iv_ruleMetricDefinition= ruleMetricDefinition EOF + // InternalSolverLanguageParser.g:920:54: (iv_ruleTypeReference= ruleTypeReference EOF ) + // InternalSolverLanguageParser.g:921:2: iv_ruleTypeReference= ruleTypeReference EOF { - newCompositeNode(grammarAccess.getMetricDefinitionRule()); + newCompositeNode(grammarAccess.getTypeReferenceRule()); pushFollow(FOLLOW_1); - iv_ruleMetricDefinition=ruleMetricDefinition(); + iv_ruleTypeReference=ruleTypeReference(); state._fsp--; - current =iv_ruleMetricDefinition; + current =iv_ruleTypeReference; match(input,EOF,FOLLOW_2); } @@ -1511,45 +2294,41 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleMetricDefinition" + // $ANTLR end "entryRuleTypeReference" - // $ANTLR start "ruleMetricDefinition" - // 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 { + // $ANTLR start "ruleTypeReference" + // InternalSolverLanguageParser.g:927:1: ruleTypeReference returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_forceObjectType_1_0= Object ) )? ) ; + public final EObject ruleTypeReference() throws RecognitionException { EObject current = null; - Token otherlv_2=null; - EObject lv_head_1_0 = null; - - EObject lv_body_3_0 = null; - + Token lv_forceObjectType_1_0=null; enterRule(); try { - // 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:933:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_forceObjectType_1_0= Object ) )? ) ) + // InternalSolverLanguageParser.g:934:2: ( ( ( ruleQualifiedName ) ) ( (lv_forceObjectType_1_0= Object ) )? ) { - // 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:934:2: ( ( ( ruleQualifiedName ) ) ( (lv_forceObjectType_1_0= Object ) )? ) + // InternalSolverLanguageParser.g:935:3: ( ( ruleQualifiedName ) ) ( (lv_forceObjectType_1_0= Object ) )? { - // InternalSolverLanguageParser.g:622:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:623:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:935:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:936:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:623:4: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:624:5: ruleQualifiedName + // InternalSolverLanguageParser.g:936:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:937:5: ruleQualifiedName { if (current==null) { - current = createModelElement(grammarAccess.getMetricDefinitionRule()); + current = createModelElement(grammarAccess.getTypeReferenceRule()); } - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0()); + newCompositeNode(grammarAccess.getTypeReferenceAccess().getTypeSymbolCrossReference_0_0()); - pushFollow(FOLLOW_8); + pushFollow(FOLLOW_18); ruleQualifiedName(); state._fsp--; @@ -1563,29 +2342,139 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:638:3: ( (lv_head_1_0= ruleCall ) ) - // InternalSolverLanguageParser.g:639:4: (lv_head_1_0= ruleCall ) + // InternalSolverLanguageParser.g:951:3: ( (lv_forceObjectType_1_0= Object ) )? + int alt12=2; + int LA12_0 = input.LA(1); + + if ( (LA12_0==Object) ) { + alt12=1; + } + switch (alt12) { + case 1 : + // InternalSolverLanguageParser.g:952:4: (lv_forceObjectType_1_0= Object ) + { + // InternalSolverLanguageParser.g:952:4: (lv_forceObjectType_1_0= Object ) + // InternalSolverLanguageParser.g:953:5: lv_forceObjectType_1_0= Object + { + lv_forceObjectType_1_0=(Token)match(input,Object,FOLLOW_2); + + newLeafNode(lv_forceObjectType_1_0, grammarAccess.getTypeReferenceAccess().getForceObjectTypeObjectKeyword_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getTypeReferenceRule()); + } + setWithLastConsumed(current, "forceObjectType", true, "object"); + + + } + + + } + break; + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleTypeReference" + + + // $ANTLR start "entryRuleAttribute" + // InternalSolverLanguageParser.g:969:1: entryRuleAttribute returns [EObject current=null] : iv_ruleAttribute= ruleAttribute EOF ; + public final EObject entryRuleAttribute() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAttribute = null; + + + try { + // InternalSolverLanguageParser.g:969:50: (iv_ruleAttribute= ruleAttribute EOF ) + // InternalSolverLanguageParser.g:970:2: iv_ruleAttribute= ruleAttribute EOF + { + newCompositeNode(grammarAccess.getAttributeRule()); + pushFollow(FOLLOW_1); + iv_ruleAttribute=ruleAttribute(); + + state._fsp--; + + current =iv_ruleAttribute; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAttribute" + + + // $ANTLR start "ruleAttribute" + // InternalSolverLanguageParser.g:976:1: ruleAttribute returns [EObject current=null] : ( ( (lv_kind_0_0= ruleAttributeKind ) ) ( ( ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP ) ; + public final EObject ruleAttribute() throws RecognitionException { + EObject current = null; + + Token this_FULL_STOP_2=null; + Enumerator lv_kind_0_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:982:2: ( ( ( (lv_kind_0_0= ruleAttributeKind ) ) ( ( ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:983:2: ( ( (lv_kind_0_0= ruleAttributeKind ) ) ( ( ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP ) + { + // InternalSolverLanguageParser.g:983:2: ( ( (lv_kind_0_0= ruleAttributeKind ) ) ( ( ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:984:3: ( (lv_kind_0_0= ruleAttributeKind ) ) ( ( ruleQualifiedName ) ) this_FULL_STOP_2= RULE_FULL_STOP { - // InternalSolverLanguageParser.g:639:4: (lv_head_1_0= ruleCall ) - // InternalSolverLanguageParser.g:640:5: lv_head_1_0= ruleCall + // InternalSolverLanguageParser.g:984:3: ( (lv_kind_0_0= ruleAttributeKind ) ) + // InternalSolverLanguageParser.g:985:4: (lv_kind_0_0= ruleAttributeKind ) + { + // InternalSolverLanguageParser.g:985:4: (lv_kind_0_0= ruleAttributeKind ) + // InternalSolverLanguageParser.g:986:5: lv_kind_0_0= ruleAttributeKind { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getAttributeAccess().getKindAttributeKindEnumRuleCall_0_0()); - pushFollow(FOLLOW_13); - lv_head_1_0=ruleCall(); + pushFollow(FOLLOW_3); + lv_kind_0_0=ruleAttributeKind(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); + current = createModelElementForParent(grammarAccess.getAttributeRule()); } set( current, - "head", - lv_head_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Call"); + "kind", + lv_kind_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AttributeKind"); afterParserOrEnumRuleCall(); @@ -1594,33 +2483,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,EqualsSign,FOLLOW_6); - - newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); - - // InternalSolverLanguageParser.g:661:3: ( (lv_body_3_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:662:4: (lv_body_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:1003:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:1004:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:662:4: (lv_body_3_0= ruleExpression ) - // InternalSolverLanguageParser.g:663:5: lv_body_3_0= ruleExpression + // InternalSolverLanguageParser.g:1004:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:1005:5: ruleQualifiedName { - newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); + if (current==null) { + current = createModelElement(grammarAccess.getAttributeRule()); + } - pushFollow(FOLLOW_2); - lv_body_3_0=ruleExpression(); - state._fsp--; + newCompositeNode(grammarAccess.getAttributeAccess().getTargetSymbolCrossReference_1_0()); + + pushFollow(FOLLOW_4); + ruleQualifiedName(); + + state._fsp--; - if (current==null) { - current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); - } - set( - current, - "body", - lv_body_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); afterParserOrEnumRuleCall(); @@ -1629,6 +2511,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + this_FULL_STOP_2=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_2, grammarAccess.getAttributeAccess().getFULL_STOPTerminalRuleCall_2()); + } @@ -1648,28 +2534,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleMetricDefinition" + // $ANTLR end "ruleAttribute" - // $ANTLR start "entryRuleExternPredicateDefinition" - // InternalSolverLanguageParser.g:684:1: entryRuleExternPredicateDefinition returns [EObject current=null] : iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ; - public final EObject entryRuleExternPredicateDefinition() throws RecognitionException { + // $ANTLR start "entryRuleExternDeclaration" + // InternalSolverLanguageParser.g:1027:1: entryRuleExternDeclaration returns [EObject current=null] : iv_ruleExternDeclaration= ruleExternDeclaration EOF ; + public final EObject entryRuleExternDeclaration() throws RecognitionException { EObject current = null; - EObject iv_ruleExternPredicateDefinition = null; + EObject iv_ruleExternDeclaration = null; try { - // InternalSolverLanguageParser.g:684:66: (iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ) - // InternalSolverLanguageParser.g:685:2: iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF + // InternalSolverLanguageParser.g:1027:58: (iv_ruleExternDeclaration= ruleExternDeclaration EOF ) + // InternalSolverLanguageParser.g:1028:2: iv_ruleExternDeclaration= ruleExternDeclaration EOF { - newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); + newCompositeNode(grammarAccess.getExternDeclarationRule()); pushFollow(FOLLOW_1); - iv_ruleExternPredicateDefinition=ruleExternPredicateDefinition(); + iv_ruleExternDeclaration=ruleExternDeclaration(); state._fsp--; - current =iv_ruleExternPredicateDefinition; + current =iv_ruleExternDeclaration; match(input,EOF,FOLLOW_2); } @@ -1684,97 +2570,107 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleExternPredicateDefinition" + // $ANTLR end "entryRuleExternDeclaration" - // $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 { + // $ANTLR start "ruleExternDeclaration" + // InternalSolverLanguageParser.g:1034:1: ruleExternDeclaration returns [EObject current=null] : (this_ExternPredicateDeclaration_0= ruleExternPredicateDeclaration | this_ExternFunctionDeclaration_1= ruleExternFunctionDeclaration | this_ExternAggregationOperatorDeclaration_2= ruleExternAggregationOperatorDeclaration | this_ExternDatatypeDeclaration_3= ruleExternDatatypeDeclaration ) ; + public final EObject ruleExternDeclaration() throws RecognitionException { EObject current = null; - Token otherlv_0=null; - AntlrDatatypeRuleToken lv_name_1_0 = null; + EObject this_ExternPredicateDeclaration_0 = null; + + EObject this_ExternFunctionDeclaration_1 = null; - EObject lv_argumentList_2_0 = null; + EObject this_ExternAggregationOperatorDeclaration_2 = null; + + EObject this_ExternDatatypeDeclaration_3 = null; enterRule(); try { - // 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: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 ) ) + // InternalSolverLanguageParser.g:1040:2: ( (this_ExternPredicateDeclaration_0= ruleExternPredicateDeclaration | this_ExternFunctionDeclaration_1= ruleExternFunctionDeclaration | this_ExternAggregationOperatorDeclaration_2= ruleExternAggregationOperatorDeclaration | this_ExternDatatypeDeclaration_3= ruleExternDatatypeDeclaration ) ) + // InternalSolverLanguageParser.g:1041:2: (this_ExternPredicateDeclaration_0= ruleExternPredicateDeclaration | this_ExternFunctionDeclaration_1= ruleExternFunctionDeclaration | this_ExternAggregationOperatorDeclaration_2= ruleExternAggregationOperatorDeclaration | this_ExternDatatypeDeclaration_3= ruleExternDatatypeDeclaration ) { - otherlv_0=(Token)match(input,Extern,FOLLOW_8); + // InternalSolverLanguageParser.g:1041:2: (this_ExternPredicateDeclaration_0= ruleExternPredicateDeclaration | this_ExternFunctionDeclaration_1= ruleExternFunctionDeclaration | this_ExternAggregationOperatorDeclaration_2= ruleExternAggregationOperatorDeclaration | this_ExternDatatypeDeclaration_3= ruleExternDatatypeDeclaration ) + int alt13=4; + alt13 = dfa13.predict(input); + switch (alt13) { + case 1 : + // InternalSolverLanguageParser.g:1042:3: this_ExternPredicateDeclaration_0= ruleExternPredicateDeclaration + { - newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); - - // InternalSolverLanguageParser.g:703:3: ( (lv_name_1_0= ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:704:4: (lv_name_1_0= ruleQualifiedName ) - { - // InternalSolverLanguageParser.g:704:4: (lv_name_1_0= ruleQualifiedName ) - // InternalSolverLanguageParser.g:705:5: lv_name_1_0= ruleQualifiedName - { + newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternPredicateDeclarationParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_ExternPredicateDeclaration_0=ruleExternPredicateDeclaration(); - newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0()); - - pushFollow(FOLLOW_11); - lv_name_1_0=ruleQualifiedName(); + state._fsp--; - state._fsp--; + current = this_ExternPredicateDeclaration_0; + afterParserOrEnumRuleCall(); + - if (current==null) { - current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); - } - set( - current, - "name", - lv_name_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); - afterParserOrEnumRuleCall(); - + } + break; + case 2 : + // InternalSolverLanguageParser.g:1051:3: this_ExternFunctionDeclaration_1= ruleExternFunctionDeclaration + { - } + newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternFunctionDeclarationParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_ExternFunctionDeclaration_1=ruleExternFunctionDeclaration(); + state._fsp--; - } - // InternalSolverLanguageParser.g:722:3: ( (lv_argumentList_2_0= ruleArgumentList ) ) - // InternalSolverLanguageParser.g:723:4: (lv_argumentList_2_0= ruleArgumentList ) - { - // InternalSolverLanguageParser.g:723:4: (lv_argumentList_2_0= ruleArgumentList ) - // InternalSolverLanguageParser.g:724:5: lv_argumentList_2_0= ruleArgumentList - { + current = this_ExternFunctionDeclaration_1; + afterParserOrEnumRuleCall(); + - newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0()); - - pushFollow(FOLLOW_2); - lv_argumentList_2_0=ruleArgumentList(); + } + break; + case 3 : + // InternalSolverLanguageParser.g:1060:3: this_ExternAggregationOperatorDeclaration_2= ruleExternAggregationOperatorDeclaration + { - state._fsp--; + newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternAggregationOperatorDeclarationParserRuleCall_2()); + + pushFollow(FOLLOW_2); + this_ExternAggregationOperatorDeclaration_2=ruleExternAggregationOperatorDeclaration(); + state._fsp--; - if (current==null) { - current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); - } - set( - current, - "argumentList", - lv_argumentList_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); - afterParserOrEnumRuleCall(); - - } + current = this_ExternAggregationOperatorDeclaration_2; + afterParserOrEnumRuleCall(); + + + } + break; + case 4 : + // InternalSolverLanguageParser.g:1069:3: this_ExternDatatypeDeclaration_3= ruleExternDatatypeDeclaration + { + newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternDatatypeDeclarationParserRuleCall_3()); + + pushFollow(FOLLOW_2); + this_ExternDatatypeDeclaration_3=ruleExternDatatypeDeclaration(); - } + state._fsp--; + current = this_ExternDatatypeDeclaration_3; + afterParserOrEnumRuleCall(); + + + } + break; + } @@ -1793,28 +2689,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleExternPredicateDefinition" + // $ANTLR end "ruleExternDeclaration" - // $ANTLR start "entryRuleExternMetricDefinition" - // InternalSolverLanguageParser.g:745:1: entryRuleExternMetricDefinition returns [EObject current=null] : iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ; - public final EObject entryRuleExternMetricDefinition() throws RecognitionException { + // $ANTLR start "entryRuleExternPredicateDeclaration" + // InternalSolverLanguageParser.g:1081:1: entryRuleExternPredicateDeclaration returns [EObject current=null] : iv_ruleExternPredicateDeclaration= ruleExternPredicateDeclaration EOF ; + public final EObject entryRuleExternPredicateDeclaration() throws RecognitionException { EObject current = null; - EObject iv_ruleExternMetricDefinition = null; + EObject iv_ruleExternPredicateDeclaration = null; try { - // InternalSolverLanguageParser.g:745:63: (iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ) - // InternalSolverLanguageParser.g:746:2: iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF + // InternalSolverLanguageParser.g:1081:67: (iv_ruleExternPredicateDeclaration= ruleExternPredicateDeclaration EOF ) + // InternalSolverLanguageParser.g:1082:2: iv_ruleExternPredicateDeclaration= ruleExternPredicateDeclaration EOF { - newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); + newCompositeNode(grammarAccess.getExternPredicateDeclarationRule()); pushFollow(FOLLOW_1); - iv_ruleExternMetricDefinition=ruleExternMetricDefinition(); + iv_ruleExternPredicateDeclaration=ruleExternPredicateDeclaration(); state._fsp--; - current =iv_ruleExternMetricDefinition; + current =iv_ruleExternPredicateDeclaration; match(input,EOF,FOLLOW_2); } @@ -1829,84 +2725,220 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleExternMetricDefinition" + // $ANTLR end "entryRuleExternPredicateDeclaration" - // $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 { + // $ANTLR start "ruleExternPredicateDeclaration" + // InternalSolverLanguageParser.g:1088:1: ruleExternPredicateDeclaration returns [EObject current=null] : (otherlv_0= Extern ( ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) ) ) ( (lv_name_4_0= ruleQualifiedName ) ) ( (lv_argumentList_5_0= ruleArgumentList ) ) this_FULL_STOP_6= RULE_FULL_STOP ) ; + public final EObject ruleExternPredicateDeclaration() throws RecognitionException { EObject current = null; Token otherlv_0=null; - AntlrDatatypeRuleToken lv_name_2_0 = null; + Token lv_functional_2_0=null; + Token lv_error_3_0=null; + Token this_FULL_STOP_6=null; + AntlrDatatypeRuleToken lv_name_4_0 = null; - EObject lv_argumentList_3_0 = null; + EObject lv_argumentList_5_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:1094:2: ( (otherlv_0= Extern ( ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) ) ) ( (lv_name_4_0= ruleQualifiedName ) ) ( (lv_argumentList_5_0= ruleArgumentList ) ) this_FULL_STOP_6= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:1095:2: (otherlv_0= Extern ( ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) ) ) ( (lv_name_4_0= ruleQualifiedName ) ) ( (lv_argumentList_5_0= ruleArgumentList ) ) this_FULL_STOP_6= RULE_FULL_STOP ) { - // 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 ) ) + // InternalSolverLanguageParser.g:1095:2: (otherlv_0= Extern ( ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) ) ) ( (lv_name_4_0= ruleQualifiedName ) ) ( (lv_argumentList_5_0= ruleArgumentList ) ) this_FULL_STOP_6= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:1096:3: otherlv_0= Extern ( ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) ) ) ( (lv_name_4_0= ruleQualifiedName ) ) ( (lv_argumentList_5_0= ruleArgumentList ) ) this_FULL_STOP_6= RULE_FULL_STOP { - otherlv_0=(Token)match(input,Extern,FOLLOW_8); + otherlv_0=(Token)match(input,Extern,FOLLOW_19); - newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getExternPredicateDeclarationAccess().getExternKeyword_0()); - // InternalSolverLanguageParser.g:764:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:765:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:1100:3: ( ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) ) ) + // InternalSolverLanguageParser.g:1101:4: ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) ) { - // InternalSolverLanguageParser.g:765:4: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:766:5: ruleQualifiedName + // InternalSolverLanguageParser.g:1101:4: ( ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) ) + // InternalSolverLanguageParser.g:1102:5: ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) { - - if (current==null) { - current = createModelElement(grammarAccess.getExternMetricDefinitionRule()); - } + + getUnorderedGroupHelper().enter(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1()); + // InternalSolverLanguageParser.g:1105:5: ( ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* ) + // InternalSolverLanguageParser.g:1106:6: ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* + { + // InternalSolverLanguageParser.g:1106:6: ( ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) )* + loop14: + do { + int alt14=3; + int LA14_0 = input.LA(1); - newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0()); - - pushFollow(FOLLOW_8); - ruleQualifiedName(); + if ( LA14_0 == Functional && getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 0) ) { + alt14=1; + } + else if ( LA14_0 == Error && getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 1) ) { + alt14=2; + } - state._fsp--; + switch (alt14) { + case 1 : + // InternalSolverLanguageParser.g:1107:4: ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) + { + // InternalSolverLanguageParser.g:1107:4: ({...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) ) + // InternalSolverLanguageParser.g:1108:5: {...}? => ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) + { + if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 0) ) { + throw new FailedPredicateException(input, "ruleExternPredicateDeclaration", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 0)"); + } + // InternalSolverLanguageParser.g:1108:123: ( ({...}? => ( (lv_functional_2_0= Functional ) ) ) ) + // InternalSolverLanguageParser.g:1109:6: ({...}? => ( (lv_functional_2_0= Functional ) ) ) + { + + getUnorderedGroupHelper().select(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 0); + + // InternalSolverLanguageParser.g:1112:9: ({...}? => ( (lv_functional_2_0= Functional ) ) ) + // InternalSolverLanguageParser.g:1112:10: {...}? => ( (lv_functional_2_0= Functional ) ) + { + if ( !((true)) ) { + throw new FailedPredicateException(input, "ruleExternPredicateDeclaration", "true"); + } + // InternalSolverLanguageParser.g:1112:19: ( (lv_functional_2_0= Functional ) ) + // InternalSolverLanguageParser.g:1112:20: (lv_functional_2_0= Functional ) + { + // InternalSolverLanguageParser.g:1112:20: (lv_functional_2_0= Functional ) + // InternalSolverLanguageParser.g:1113:10: lv_functional_2_0= Functional + { + lv_functional_2_0=(Token)match(input,Functional,FOLLOW_19); + + newLeafNode(lv_functional_2_0, grammarAccess.getExternPredicateDeclarationAccess().getFunctionalFunctionalKeyword_1_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getExternPredicateDeclarationRule()); + } + setWithLastConsumed(current, "functional", true, "functional"); + + + } + + + } + + + } + + + getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1()); + + + } + + + } + + + } + break; + case 2 : + // InternalSolverLanguageParser.g:1130:4: ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) + { + // InternalSolverLanguageParser.g:1130:4: ({...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) ) + // InternalSolverLanguageParser.g:1131:5: {...}? => ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) + { + if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 1) ) { + throw new FailedPredicateException(input, "ruleExternPredicateDeclaration", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 1)"); + } + // InternalSolverLanguageParser.g:1131:123: ( ({...}? => ( (lv_error_3_0= Error ) ) ) ) + // InternalSolverLanguageParser.g:1132:6: ({...}? => ( (lv_error_3_0= Error ) ) ) + { + + getUnorderedGroupHelper().select(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 1); + + // InternalSolverLanguageParser.g:1135:9: ({...}? => ( (lv_error_3_0= Error ) ) ) + // InternalSolverLanguageParser.g:1135:10: {...}? => ( (lv_error_3_0= Error ) ) + { + if ( !((true)) ) { + throw new FailedPredicateException(input, "ruleExternPredicateDeclaration", "true"); + } + // InternalSolverLanguageParser.g:1135:19: ( (lv_error_3_0= Error ) ) + // InternalSolverLanguageParser.g:1135:20: (lv_error_3_0= Error ) + { + // InternalSolverLanguageParser.g:1135:20: (lv_error_3_0= Error ) + // InternalSolverLanguageParser.g:1136:10: lv_error_3_0= Error + { + lv_error_3_0=(Token)match(input,Error,FOLLOW_19); + + newLeafNode(lv_error_3_0, grammarAccess.getExternPredicateDeclarationAccess().getErrorErrorKeyword_1_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getExternPredicateDeclarationRule()); + } + setWithLastConsumed(current, "error", true, "error"); + + + } + + + } + + + } + + + getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1()); + + + } + + + } + + + } + break; + + default : + break loop14; + } + } while (true); + + + } - afterParserOrEnumRuleCall(); - } + + getUnorderedGroupHelper().leave(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1()); + } - // InternalSolverLanguageParser.g:780:3: ( (lv_name_2_0= ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:781:4: (lv_name_2_0= ruleQualifiedName ) + // InternalSolverLanguageParser.g:1160:3: ( (lv_name_4_0= ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:1161:4: (lv_name_4_0= ruleQualifiedName ) { - // InternalSolverLanguageParser.g:781:4: (lv_name_2_0= ruleQualifiedName ) - // InternalSolverLanguageParser.g:782:5: lv_name_2_0= ruleQualifiedName + // InternalSolverLanguageParser.g:1161:4: (lv_name_4_0= ruleQualifiedName ) + // InternalSolverLanguageParser.g:1162:5: lv_name_4_0= ruleQualifiedName { - newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getExternPredicateDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0()); - pushFollow(FOLLOW_11); - lv_name_2_0=ruleQualifiedName(); + pushFollow(FOLLOW_15); + lv_name_4_0=ruleQualifiedName(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + current = createModelElementForParent(grammarAccess.getExternPredicateDeclarationRule()); } set( current, "name", - lv_name_2_0, + lv_name_4_0, "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); afterParserOrEnumRuleCall(); @@ -1916,28 +2948,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:799:3: ( (lv_argumentList_3_0= ruleArgumentList ) ) - // InternalSolverLanguageParser.g:800:4: (lv_argumentList_3_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:1179:3: ( (lv_argumentList_5_0= ruleArgumentList ) ) + // InternalSolverLanguageParser.g:1180:4: (lv_argumentList_5_0= ruleArgumentList ) { - // InternalSolverLanguageParser.g:800:4: (lv_argumentList_3_0= ruleArgumentList ) - // InternalSolverLanguageParser.g:801:5: lv_argumentList_3_0= ruleArgumentList + // InternalSolverLanguageParser.g:1180:4: (lv_argumentList_5_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:1181:5: lv_argumentList_5_0= ruleArgumentList { - newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getExternPredicateDeclarationAccess().getArgumentListArgumentListParserRuleCall_3_0()); - pushFollow(FOLLOW_2); - lv_argumentList_3_0=ruleArgumentList(); + pushFollow(FOLLOW_4); + lv_argumentList_5_0=ruleArgumentList(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); + current = createModelElementForParent(grammarAccess.getExternPredicateDeclarationRule()); } set( current, "argumentList", - lv_argumentList_3_0, + lv_argumentList_5_0, "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); afterParserOrEnumRuleCall(); @@ -1947,6 +2979,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + this_FULL_STOP_6=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_6, grammarAccess.getExternPredicateDeclarationAccess().getFULL_STOPTerminalRuleCall_4()); + } @@ -1966,28 +3002,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleExternMetricDefinition" + // $ANTLR end "ruleExternPredicateDeclaration" - // $ANTLR start "entryRuleExternAggregatorDefinition" - // InternalSolverLanguageParser.g:822:1: entryRuleExternAggregatorDefinition returns [EObject current=null] : iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF ; - public final EObject entryRuleExternAggregatorDefinition() throws RecognitionException { + // $ANTLR start "entryRuleExternFunctionDeclaration" + // InternalSolverLanguageParser.g:1206:1: entryRuleExternFunctionDeclaration returns [EObject current=null] : iv_ruleExternFunctionDeclaration= ruleExternFunctionDeclaration EOF ; + public final EObject entryRuleExternFunctionDeclaration() throws RecognitionException { EObject current = null; - EObject iv_ruleExternAggregatorDefinition = null; + EObject iv_ruleExternFunctionDeclaration = null; try { - // InternalSolverLanguageParser.g:822:67: (iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF ) - // InternalSolverLanguageParser.g:823:2: iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF + // InternalSolverLanguageParser.g:1206:66: (iv_ruleExternFunctionDeclaration= ruleExternFunctionDeclaration EOF ) + // InternalSolverLanguageParser.g:1207:2: iv_ruleExternFunctionDeclaration= ruleExternFunctionDeclaration EOF { - newCompositeNode(grammarAccess.getExternAggregatorDefinitionRule()); + newCompositeNode(grammarAccess.getExternFunctionDeclarationRule()); pushFollow(FOLLOW_1); - iv_ruleExternAggregatorDefinition=ruleExternAggregatorDefinition(); + iv_ruleExternFunctionDeclaration=ruleExternFunctionDeclaration(); state._fsp--; - current =iv_ruleExternAggregatorDefinition; + current =iv_ruleExternFunctionDeclaration; match(input,EOF,FOLLOW_2); } @@ -2002,50 +3038,50 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleExternAggregatorDefinition" + // $ANTLR end "entryRuleExternFunctionDeclaration" - // $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 { + // $ANTLR start "ruleExternFunctionDeclaration" + // InternalSolverLanguageParser.g:1213:1: ruleExternFunctionDeclaration returns [EObject current=null] : (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ; + public final EObject ruleExternFunctionDeclaration() throws RecognitionException { EObject current = null; Token otherlv_0=null; - Token otherlv_3=null; - Token otherlv_5=null; - Token otherlv_6=null; + Token this_FULL_STOP_4=null; AntlrDatatypeRuleToken lv_name_2_0 = null; + EObject lv_argumentList_3_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:1219:2: ( (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:1220:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) this_FULL_STOP_4= RULE_FULL_STOP ) { - // 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 + // InternalSolverLanguageParser.g:1220:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) this_FULL_STOP_4= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:1221:3: otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) this_FULL_STOP_4= RULE_FULL_STOP { - otherlv_0=(Token)match(input,Extern,FOLLOW_8); + otherlv_0=(Token)match(input,Extern,FOLLOW_3); - newLeafNode(otherlv_0, grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getExternFunctionDeclarationAccess().getExternKeyword_0()); - // InternalSolverLanguageParser.g:841:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:842:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:1225:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:1226:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:842:4: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:843:5: ruleQualifiedName + // InternalSolverLanguageParser.g:1226:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:1227:5: ruleQualifiedName { if (current==null) { - current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule()); + current = createModelElement(grammarAccess.getExternFunctionDeclarationRule()); } - newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + newCompositeNode(grammarAccess.getExternFunctionDeclarationAccess().getResultTypeSymbolCrossReference_1_0()); - pushFollow(FOLLOW_8); + pushFollow(FOLLOW_3); ruleQualifiedName(); state._fsp--; @@ -2059,23 +3095,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:857:3: ( (lv_name_2_0= ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:858:4: (lv_name_2_0= ruleQualifiedName ) + // InternalSolverLanguageParser.g:1241:3: ( (lv_name_2_0= ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:1242:4: (lv_name_2_0= ruleQualifiedName ) { - // InternalSolverLanguageParser.g:858:4: (lv_name_2_0= ruleQualifiedName ) - // InternalSolverLanguageParser.g:859:5: lv_name_2_0= ruleQualifiedName + // InternalSolverLanguageParser.g:1242:4: (lv_name_2_0= ruleQualifiedName ) + // InternalSolverLanguageParser.g:1243:5: lv_name_2_0= ruleQualifiedName { - newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getExternFunctionDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0()); - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_name_2_0=ruleQualifiedName(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getExternAggregatorDefinitionRule()); + current = createModelElementForParent(grammarAccess.getExternFunctionDeclarationRule()); } set( current, @@ -2090,30 +3126,29 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - 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:1260:3: ( (lv_argumentList_3_0= ruleArgumentList ) ) + // InternalSolverLanguageParser.g:1261:4: (lv_argumentList_3_0= ruleArgumentList ) { - // InternalSolverLanguageParser.g:881:4: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:882:5: ruleQualifiedName + // InternalSolverLanguageParser.g:1261:4: (lv_argumentList_3_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:1262:5: lv_argumentList_3_0= ruleArgumentList { - if (current==null) { - current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule()); - } - - - newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0()); + newCompositeNode(grammarAccess.getExternFunctionDeclarationAccess().getArgumentListArgumentListParserRuleCall_3_0()); - pushFollow(FOLLOW_15); - ruleQualifiedName(); + pushFollow(FOLLOW_4); + lv_argumentList_3_0=ruleArgumentList(); state._fsp--; + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternFunctionDeclarationRule()); + } + set( + current, + "argumentList", + lv_argumentList_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); afterParserOrEnumRuleCall(); @@ -2122,13 +3157,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_5=(Token)match(input,FullStopFullStopFullStop,FOLLOW_16); - - newLeafNode(otherlv_5, grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5()); - - otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_2); + this_FULL_STOP_4=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); - newLeafNode(otherlv_6, grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6()); + newLeafNode(this_FULL_STOP_4, grammarAccess.getExternFunctionDeclarationAccess().getFULL_STOPTerminalRuleCall_4()); } @@ -2149,28 +3180,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleExternAggregatorDefinition" + // $ANTLR end "ruleExternFunctionDeclaration" - // $ANTLR start "entryRuleExternDatatypeDefinition" - // InternalSolverLanguageParser.g:908:1: entryRuleExternDatatypeDefinition returns [EObject current=null] : iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF ; - public final EObject entryRuleExternDatatypeDefinition() throws RecognitionException { + // $ANTLR start "entryRuleExternAggregationOperatorDeclaration" + // InternalSolverLanguageParser.g:1287:1: entryRuleExternAggregationOperatorDeclaration returns [EObject current=null] : iv_ruleExternAggregationOperatorDeclaration= ruleExternAggregationOperatorDeclaration EOF ; + public final EObject entryRuleExternAggregationOperatorDeclaration() throws RecognitionException { EObject current = null; - EObject iv_ruleExternDatatypeDefinition = null; + EObject iv_ruleExternAggregationOperatorDeclaration = null; try { - // InternalSolverLanguageParser.g:908:65: (iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF ) - // InternalSolverLanguageParser.g:909:2: iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF + // InternalSolverLanguageParser.g:1287:77: (iv_ruleExternAggregationOperatorDeclaration= ruleExternAggregationOperatorDeclaration EOF ) + // InternalSolverLanguageParser.g:1288:2: iv_ruleExternAggregationOperatorDeclaration= ruleExternAggregationOperatorDeclaration EOF { - newCompositeNode(grammarAccess.getExternDatatypeDefinitionRule()); + newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationRule()); pushFollow(FOLLOW_1); - iv_ruleExternDatatypeDefinition=ruleExternDatatypeDefinition(); + iv_ruleExternAggregationOperatorDeclaration=ruleExternAggregationOperatorDeclaration(); state._fsp--; - current =iv_ruleExternDatatypeDefinition; + current =iv_ruleExternAggregationOperatorDeclaration; match(input,EOF,FOLLOW_2); } @@ -2185,18 +3216,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleExternDatatypeDefinition" + // $ANTLR end "entryRuleExternAggregationOperatorDeclaration" - // $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 { + // $ANTLR start "ruleExternAggregationOperatorDeclaration" + // InternalSolverLanguageParser.g:1294:1: ruleExternAggregationOperatorDeclaration returns [EObject current=null] : (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket this_FULL_STOP_7= RULE_FULL_STOP ) ; + public final EObject ruleExternAggregationOperatorDeclaration() throws RecognitionException { EObject current = null; Token otherlv_0=null; - Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; + Token otherlv_6=null; + Token this_FULL_STOP_7=null; AntlrDatatypeRuleToken lv_name_2_0 = null; @@ -2204,43 +3236,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { 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:1300:2: ( (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket this_FULL_STOP_7= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:1301:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket this_FULL_STOP_7= RULE_FULL_STOP ) { - // 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 ) ) )* ) + // InternalSolverLanguageParser.g:1301:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket this_FULL_STOP_7= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:1302:3: otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket this_FULL_STOP_7= RULE_FULL_STOP { - otherlv_0=(Token)match(input,Extern,FOLLOW_17); - - newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0()); - - otherlv_1=(Token)match(input,Datatype,FOLLOW_8); + otherlv_0=(Token)match(input,Extern,FOLLOW_3); - newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1()); + newLeafNode(otherlv_0, grammarAccess.getExternAggregationOperatorDeclarationAccess().getExternKeyword_0()); - // InternalSolverLanguageParser.g:931:3: ( (lv_name_2_0= ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:932:4: (lv_name_2_0= ruleQualifiedName ) + // InternalSolverLanguageParser.g:1306:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:1307:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:932:4: (lv_name_2_0= ruleQualifiedName ) - // InternalSolverLanguageParser.g:933:5: lv_name_2_0= ruleQualifiedName + // InternalSolverLanguageParser.g:1307:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:1308:5: ruleQualifiedName { - newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); + if (current==null) { + current = createModelElement(grammarAccess.getExternAggregationOperatorDeclarationRule()); + } - pushFollow(FOLLOW_18); - lv_name_2_0=ruleQualifiedName(); + + newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationAccess().getResultTypeSymbolCrossReference_1_0()); + + pushFollow(FOLLOW_3); + 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(); @@ -2249,100 +3274,81 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // 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:1322:3: ( (lv_name_2_0= ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:1323:4: (lv_name_2_0= ruleQualifiedName ) { - // InternalSolverLanguageParser.g:956:5: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:957:6: ruleQualifiedName + // InternalSolverLanguageParser.g:1323:4: (lv_name_2_0= ruleQualifiedName ) + // InternalSolverLanguageParser.g:1324:5: lv_name_2_0= ruleQualifiedName { - if (current==null) { - current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule()); - } - - - newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_1_0()); - - pushFollow(FOLLOW_19); - ruleQualifiedName(); + newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0()); + + pushFollow(FOLLOW_20); + lv_name_2_0=ruleQualifiedName(); state._fsp--; - afterParserOrEnumRuleCall(); - - - } - + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternAggregationOperatorDeclarationRule()); + } + set( + current, + "name", + lv_name_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + 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--; + } + otherlv_3=(Token)match(input,LeftCurlyBracket,FOLLOW_3); - afterParserOrEnumRuleCall(); - + newLeafNode(otherlv_3, grammarAccess.getExternAggregationOperatorDeclarationAccess().getLeftCurlyBracketKeyword_3()); + + // InternalSolverLanguageParser.g:1345:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:1346:4: ( ruleQualifiedName ) + { + // InternalSolverLanguageParser.g:1346:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:1347:5: ruleQualifiedName + { - } + if (current==null) { + current = createModelElement(grammarAccess.getExternAggregationOperatorDeclarationRule()); + } + + newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationAccess().getArgumentTypeSymbolCrossReference_4_0()); + + pushFollow(FOLLOW_21); + ruleQualifiedName(); - } + state._fsp--; - } - break; + afterParserOrEnumRuleCall(); + - default : - break loop7; - } - } while (true); + } } + otherlv_5=(Token)match(input,FullStopFullStopFullStop,FOLLOW_22); + + newLeafNode(otherlv_5, grammarAccess.getExternAggregationOperatorDeclarationAccess().getFullStopFullStopFullStopKeyword_5()); + + otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_4); + + newLeafNode(otherlv_6, grammarAccess.getExternAggregationOperatorDeclarationAccess().getRightCurlyBracketKeyword_6()); + + this_FULL_STOP_7=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_7, grammarAccess.getExternAggregationOperatorDeclarationAccess().getFULL_STOPTerminalRuleCall_7()); + } @@ -2362,28 +3368,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleExternDatatypeDefinition" + // $ANTLR end "ruleExternAggregationOperatorDeclaration" - // $ANTLR start "entryRuleVariable" - // InternalSolverLanguageParser.g:998:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ; - public final EObject entryRuleVariable() throws RecognitionException { + // $ANTLR start "entryRuleExternDatatypeDeclaration" + // InternalSolverLanguageParser.g:1377:1: entryRuleExternDatatypeDeclaration returns [EObject current=null] : iv_ruleExternDatatypeDeclaration= ruleExternDatatypeDeclaration EOF ; + public final EObject entryRuleExternDatatypeDeclaration() throws RecognitionException { EObject current = null; - EObject iv_ruleVariable = null; + EObject iv_ruleExternDatatypeDeclaration = null; try { - // InternalSolverLanguageParser.g:998:49: (iv_ruleVariable= ruleVariable EOF ) - // InternalSolverLanguageParser.g:999:2: iv_ruleVariable= ruleVariable EOF + // InternalSolverLanguageParser.g:1377:66: (iv_ruleExternDatatypeDeclaration= ruleExternDatatypeDeclaration EOF ) + // InternalSolverLanguageParser.g:1378:2: iv_ruleExternDatatypeDeclaration= ruleExternDatatypeDeclaration EOF { - newCompositeNode(grammarAccess.getVariableRule()); + newCompositeNode(grammarAccess.getExternDatatypeDeclarationRule()); pushFollow(FOLLOW_1); - iv_ruleVariable=ruleVariable(); + iv_ruleExternDatatypeDeclaration=ruleExternDatatypeDeclaration(); state._fsp--; - current =iv_ruleVariable; + current =iv_ruleExternDatatypeDeclaration; match(input,EOF,FOLLOW_2); } @@ -2398,91 +3404,62 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleVariable" + // $ANTLR end "entryRuleExternDatatypeDeclaration" - // $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 { + // $ANTLR start "ruleExternDatatypeDeclaration" + // InternalSolverLanguageParser.g:1384:1: ruleExternDatatypeDeclaration returns [EObject current=null] : (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) this_FULL_STOP_3= RULE_FULL_STOP ) ; + public final EObject ruleExternDatatypeDeclaration() throws RecognitionException { EObject current = null; - Token lv_name_1_0=null; + Token otherlv_0=null; + Token otherlv_1=null; + Token this_FULL_STOP_3=null; + AntlrDatatypeRuleToken lv_name_2_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:1390:2: ( (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) this_FULL_STOP_3= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:1391:2: (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) this_FULL_STOP_3= RULE_FULL_STOP ) { - // InternalSolverLanguageParser.g:1012:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) ) - // InternalSolverLanguageParser.g:1013:3: ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) + // InternalSolverLanguageParser.g:1391:2: (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) this_FULL_STOP_3= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:1392:3: otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) this_FULL_STOP_3= RULE_FULL_STOP { - // 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(); + otherlv_0=(Token)match(input,Extern,FOLLOW_23); - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - break; - - } + newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDeclarationAccess().getExternKeyword_0()); + + otherlv_1=(Token)match(input,Datatype,FOLLOW_3); - // InternalSolverLanguageParser.g:1029:3: ( (lv_name_1_0= RULE_ID ) ) - // InternalSolverLanguageParser.g:1030:4: (lv_name_1_0= RULE_ID ) + newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDeclarationAccess().getDatatypeKeyword_1()); + + // InternalSolverLanguageParser.g:1400:3: ( (lv_name_2_0= ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:1401:4: (lv_name_2_0= ruleQualifiedName ) { - // InternalSolverLanguageParser.g:1030:4: (lv_name_1_0= RULE_ID ) - // InternalSolverLanguageParser.g:1031:5: lv_name_1_0= RULE_ID + // InternalSolverLanguageParser.g:1401:4: (lv_name_2_0= ruleQualifiedName ) + // InternalSolverLanguageParser.g:1402:5: lv_name_2_0= ruleQualifiedName { - lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_2); - newLeafNode(lv_name_1_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_1_0()); + newCompositeNode(grammarAccess.getExternDatatypeDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0()); + pushFollow(FOLLOW_4); + lv_name_2_0=ruleQualifiedName(); + + state._fsp--; + if (current==null) { - current = createModelElement(grammarAccess.getVariableRule()); + current = createModelElementForParent(grammarAccess.getExternDatatypeDeclarationRule()); } - setWithLastConsumed( + set( current, "name", - lv_name_1_0, - "org.eclipse.xtext.common.Terminals.ID"); + lv_name_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + afterParserOrEnumRuleCall(); } @@ -2490,6 +3467,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + this_FULL_STOP_3=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_3, grammarAccess.getExternDatatypeDeclarationAccess().getFULL_STOPTerminalRuleCall_3()); + } @@ -2509,11 +3490,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleVariable" + // $ANTLR end "ruleExternDatatypeDeclaration" // $ANTLR start "entryRuleExpression" - // InternalSolverLanguageParser.g:1051:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ; + // InternalSolverLanguageParser.g:1427:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ; public final EObject entryRuleExpression() throws RecognitionException { EObject current = null; @@ -2521,8 +3502,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1051:51: (iv_ruleExpression= ruleExpression EOF ) - // InternalSolverLanguageParser.g:1052:2: iv_ruleExpression= ruleExpression EOF + // InternalSolverLanguageParser.g:1427:51: (iv_ruleExpression= ruleExpression EOF ) + // InternalSolverLanguageParser.g:1428:2: iv_ruleExpression= ruleExpression EOF { newCompositeNode(grammarAccess.getExpressionRule()); pushFollow(FOLLOW_1); @@ -2549,121 +3530,191 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExpression" - // InternalSolverLanguageParser.g:1058:1: ruleExpression returns [EObject current=null] : (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) ; + // InternalSolverLanguageParser.g:1434:1: ruleExpression returns [EObject current=null] : (this_ConditionalExpression_0= ruleConditionalExpression | this_LetExpression_1= ruleLetExpression | (this_DisjunctiveExpression_2= ruleDisjunctiveExpression ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )? ) ) ; public final EObject ruleExpression() throws RecognitionException { EObject current = null; - EObject this_IfElse_0 = null; + Token otherlv_4=null; + EObject this_ConditionalExpression_0 = null; + + EObject this_LetExpression_1 = null; - EObject this_Let_1 = null; + EObject this_DisjunctiveExpression_2 = null; - EObject this_ImplicationExpression_2 = null; + EObject lv_body_5_0 = 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:1440:2: ( (this_ConditionalExpression_0= ruleConditionalExpression | this_LetExpression_1= ruleLetExpression | (this_DisjunctiveExpression_2= ruleDisjunctiveExpression ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )? ) ) ) + // InternalSolverLanguageParser.g:1441:2: (this_ConditionalExpression_0= ruleConditionalExpression | this_LetExpression_1= ruleLetExpression | (this_DisjunctiveExpression_2= ruleDisjunctiveExpression ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )? ) ) { - // InternalSolverLanguageParser.g:1065:2: (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) - int alt9=3; + // InternalSolverLanguageParser.g:1441:2: (this_ConditionalExpression_0= ruleConditionalExpression | this_LetExpression_1= ruleLetExpression | (this_DisjunctiveExpression_2= ruleDisjunctiveExpression ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )? ) ) + int alt16=3; switch ( input.LA(1) ) { case If: { - alt9=1; + alt16=1; } break; case Let: { - alt9=2; + alt16=2; } break; - case Current: case Unknown: - case Exists: - case Forall: + case Object: 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 QuestionMark: case LeftSquareBracket: + case Tilde: case RULE_STRING: case RULE_QUOTED_ID: case RULE_ID: case RULE_INT: { - alt9=3; + alt16=3; } break; default: NoViableAltException nvae = - new NoViableAltException("", 9, 0, input); + new NoViableAltException("", 16, 0, input); throw nvae; } - switch (alt9) { + switch (alt16) { case 1 : - // InternalSolverLanguageParser.g:1066:3: this_IfElse_0= ruleIfElse + // InternalSolverLanguageParser.g:1442:3: this_ConditionalExpression_0= ruleConditionalExpression { - newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); + newCompositeNode(grammarAccess.getExpressionAccess().getConditionalExpressionParserRuleCall_0()); pushFollow(FOLLOW_2); - this_IfElse_0=ruleIfElse(); + this_ConditionalExpression_0=ruleConditionalExpression(); state._fsp--; - current = this_IfElse_0; + current = this_ConditionalExpression_0; afterParserOrEnumRuleCall(); } break; case 2 : - // InternalSolverLanguageParser.g:1075:3: this_Let_1= ruleLet + // InternalSolverLanguageParser.g:1451:3: this_LetExpression_1= ruleLetExpression { - newCompositeNode(grammarAccess.getExpressionAccess().getLetParserRuleCall_1()); + newCompositeNode(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_1()); pushFollow(FOLLOW_2); - this_Let_1=ruleLet(); + this_LetExpression_1=ruleLetExpression(); state._fsp--; - current = this_Let_1; + current = this_LetExpression_1; afterParserOrEnumRuleCall(); } break; case 3 : - // InternalSolverLanguageParser.g:1084:3: this_ImplicationExpression_2= ruleImplicationExpression + // InternalSolverLanguageParser.g:1460:3: (this_DisjunctiveExpression_2= ruleDisjunctiveExpression ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )? ) + { + // InternalSolverLanguageParser.g:1460:3: (this_DisjunctiveExpression_2= ruleDisjunctiveExpression ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )? ) + // InternalSolverLanguageParser.g:1461:4: this_DisjunctiveExpression_2= ruleDisjunctiveExpression ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )? { - newCompositeNode(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2()); - - pushFollow(FOLLOW_2); - this_ImplicationExpression_2=ruleImplicationExpression(); + newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_2_0()); + + pushFollow(FOLLOW_24); + this_DisjunctiveExpression_2=ruleDisjunctiveExpression(); state._fsp--; - current = this_ImplicationExpression_2; - afterParserOrEnumRuleCall(); - + current = this_DisjunctiveExpression_2; + afterParserOrEnumRuleCall(); + + // InternalSolverLanguageParser.g:1469:4: ( () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) )? + int alt15=2; + int LA15_0 = input.LA(1); + + if ( (LA15_0==EqualsSignGreaterThanSign) ) { + alt15=1; + } + switch (alt15) { + case 1 : + // InternalSolverLanguageParser.g:1470:5: () otherlv_4= EqualsSignGreaterThanSign ( (lv_body_5_0= ruleDisjunctiveExpression ) ) + { + // InternalSolverLanguageParser.g:1470:5: () + // InternalSolverLanguageParser.g:1471:6: + { + + current = forceCreateModelElementAndSet( + grammarAccess.getExpressionAccess().getForallConditionAction_2_1_0(), + current); + + + } + + otherlv_4=(Token)match(input,EqualsSignGreaterThanSign,FOLLOW_10); + + newLeafNode(otherlv_4, grammarAccess.getExpressionAccess().getEqualsSignGreaterThanSignKeyword_2_1_1()); + + // InternalSolverLanguageParser.g:1481:5: ( (lv_body_5_0= ruleDisjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1482:6: (lv_body_5_0= ruleDisjunctiveExpression ) + { + // InternalSolverLanguageParser.g:1482:6: (lv_body_5_0= ruleDisjunctiveExpression ) + // InternalSolverLanguageParser.g:1483:7: lv_body_5_0= ruleDisjunctiveExpression + { + + newCompositeNode(grammarAccess.getExpressionAccess().getBodyDisjunctiveExpressionParserRuleCall_2_1_2_0()); + + pushFollow(FOLLOW_2); + lv_body_5_0=ruleDisjunctiveExpression(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExpressionRule()); + } + set( + current, + "body", + lv_body_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + + } + } break; @@ -2689,25 +3740,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $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 { + // $ANTLR start "entryRuleConditionalExpression" + // InternalSolverLanguageParser.g:1506:1: entryRuleConditionalExpression returns [EObject current=null] : iv_ruleConditionalExpression= ruleConditionalExpression EOF ; + public final EObject entryRuleConditionalExpression() throws RecognitionException { EObject current = null; - EObject iv_ruleIfElse = null; + EObject iv_ruleConditionalExpression = null; try { - // InternalSolverLanguageParser.g:1096:47: (iv_ruleIfElse= ruleIfElse EOF ) - // InternalSolverLanguageParser.g:1097:2: iv_ruleIfElse= ruleIfElse EOF + // InternalSolverLanguageParser.g:1506:62: (iv_ruleConditionalExpression= ruleConditionalExpression EOF ) + // InternalSolverLanguageParser.g:1507:2: iv_ruleConditionalExpression= ruleConditionalExpression EOF { - newCompositeNode(grammarAccess.getIfElseRule()); + newCompositeNode(grammarAccess.getConditionalExpressionRule()); pushFollow(FOLLOW_1); - iv_ruleIfElse=ruleIfElse(); + iv_ruleConditionalExpression=ruleConditionalExpression(); state._fsp--; - current =iv_ruleIfElse; + current =iv_ruleConditionalExpression; match(input,EOF,FOLLOW_2); } @@ -2722,12 +3773,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleIfElse" + // $ANTLR end "entryRuleConditionalExpression" - // $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 { + // $ANTLR start "ruleConditionalExpression" + // InternalSolverLanguageParser.g:1513:1: ruleConditionalExpression returns [EObject current=null] : (otherlv_0= If ( (lv_condition_1_0= ruleDisjunctiveExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ; + public final EObject ruleConditionalExpression() throws RecognitionException { EObject current = null; Token otherlv_0=null; @@ -2744,39 +3795,39 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:1519:2: ( (otherlv_0= If ( (lv_condition_1_0= ruleDisjunctiveExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ) + // InternalSolverLanguageParser.g:1520:2: (otherlv_0= If ( (lv_condition_1_0= ruleDisjunctiveExpression ) ) 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: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 ) ) + // InternalSolverLanguageParser.g:1520:2: (otherlv_0= If ( (lv_condition_1_0= ruleDisjunctiveExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) + // InternalSolverLanguageParser.g:1521:3: otherlv_0= If ( (lv_condition_1_0= ruleDisjunctiveExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) { - otherlv_0=(Token)match(input,If,FOLLOW_6); + otherlv_0=(Token)match(input,If,FOLLOW_10); - newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getConditionalExpressionAccess().getIfKeyword_0()); - // InternalSolverLanguageParser.g:1115:3: ( (lv_condition_1_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:1116:4: (lv_condition_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:1525:3: ( (lv_condition_1_0= ruleDisjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1526:4: (lv_condition_1_0= ruleDisjunctiveExpression ) { - // InternalSolverLanguageParser.g:1116:4: (lv_condition_1_0= ruleExpression ) - // InternalSolverLanguageParser.g:1117:5: lv_condition_1_0= ruleExpression + // InternalSolverLanguageParser.g:1526:4: (lv_condition_1_0= ruleDisjunctiveExpression ) + // InternalSolverLanguageParser.g:1527:5: lv_condition_1_0= ruleDisjunctiveExpression { - newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getConditionalExpressionAccess().getConditionDisjunctiveExpressionParserRuleCall_1_0()); - pushFollow(FOLLOW_21); - lv_condition_1_0=ruleExpression(); + pushFollow(FOLLOW_25); + lv_condition_1_0=ruleDisjunctiveExpression(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getIfElseRule()); + current = createModelElementForParent(grammarAccess.getConditionalExpressionRule()); } set( current, "condition", lv_condition_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression"); afterParserOrEnumRuleCall(); @@ -2785,27 +3836,27 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,Then,FOLLOW_6); + otherlv_2=(Token)match(input,Then,FOLLOW_10); - newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); + newLeafNode(otherlv_2, grammarAccess.getConditionalExpressionAccess().getThenKeyword_2()); - // InternalSolverLanguageParser.g:1138:3: ( (lv_then_3_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:1139:4: (lv_then_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:1548:3: ( (lv_then_3_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:1549:4: (lv_then_3_0= ruleExpression ) { - // InternalSolverLanguageParser.g:1139:4: (lv_then_3_0= ruleExpression ) - // InternalSolverLanguageParser.g:1140:5: lv_then_3_0= ruleExpression + // InternalSolverLanguageParser.g:1549:4: (lv_then_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:1550:5: lv_then_3_0= ruleExpression { - newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getConditionalExpressionAccess().getThenExpressionParserRuleCall_3_0()); - pushFollow(FOLLOW_22); + pushFollow(FOLLOW_26); lv_then_3_0=ruleExpression(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getIfElseRule()); + current = createModelElementForParent(grammarAccess.getConditionalExpressionRule()); } set( current, @@ -2820,18 +3871,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_4=(Token)match(input,Else,FOLLOW_6); + otherlv_4=(Token)match(input,Else,FOLLOW_10); - newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); + newLeafNode(otherlv_4, grammarAccess.getConditionalExpressionAccess().getElseKeyword_4()); - // InternalSolverLanguageParser.g:1161:3: ( (lv_else_5_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:1162:4: (lv_else_5_0= ruleExpression ) + // InternalSolverLanguageParser.g:1571:3: ( (lv_else_5_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:1572:4: (lv_else_5_0= ruleExpression ) { - // InternalSolverLanguageParser.g:1162:4: (lv_else_5_0= ruleExpression ) - // InternalSolverLanguageParser.g:1163:5: lv_else_5_0= ruleExpression + // InternalSolverLanguageParser.g:1572:4: (lv_else_5_0= ruleExpression ) + // InternalSolverLanguageParser.g:1573:5: lv_else_5_0= ruleExpression { - newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); + newCompositeNode(grammarAccess.getConditionalExpressionAccess().getElseExpressionParserRuleCall_5_0()); pushFollow(FOLLOW_2); lv_else_5_0=ruleExpression(); @@ -2840,7 +3891,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { if (current==null) { - current = createModelElementForParent(grammarAccess.getIfElseRule()); + current = createModelElementForParent(grammarAccess.getConditionalExpressionRule()); } set( current, @@ -2874,28 +3925,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleIfElse" + // $ANTLR end "ruleConditionalExpression" - // $ANTLR start "entryRuleLet" - // InternalSolverLanguageParser.g:1184:1: entryRuleLet returns [EObject current=null] : iv_ruleLet= ruleLet EOF ; - public final EObject entryRuleLet() throws RecognitionException { + // $ANTLR start "entryRuleLetExpression" + // InternalSolverLanguageParser.g:1594:1: entryRuleLetExpression returns [EObject current=null] : iv_ruleLetExpression= ruleLetExpression EOF ; + public final EObject entryRuleLetExpression() throws RecognitionException { EObject current = null; - EObject iv_ruleLet = null; + EObject iv_ruleLetExpression = null; try { - // InternalSolverLanguageParser.g:1184:44: (iv_ruleLet= ruleLet EOF ) - // InternalSolverLanguageParser.g:1185:2: iv_ruleLet= ruleLet EOF + // InternalSolverLanguageParser.g:1594:54: (iv_ruleLetExpression= ruleLetExpression EOF ) + // InternalSolverLanguageParser.g:1595:2: iv_ruleLetExpression= ruleLetExpression EOF { - newCompositeNode(grammarAccess.getLetRule()); + newCompositeNode(grammarAccess.getLetExpressionRule()); pushFollow(FOLLOW_1); - iv_ruleLet=ruleLet(); + iv_ruleLetExpression=ruleLetExpression(); state._fsp--; - current =iv_ruleLet; + current =iv_ruleLetExpression; match(input,EOF,FOLLOW_2); } @@ -2910,12 +3961,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleLet" + // $ANTLR end "entryRuleLetExpression" - // $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 { + // $ANTLR start "ruleLetExpression" + // InternalSolverLanguageParser.g:1601:1: ruleLetExpression 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 ruleLetExpression() throws RecognitionException { EObject current = null; Token otherlv_0=null; @@ -2932,33 +3983,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { 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:1607: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:1608: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 ) ) + // InternalSolverLanguageParser.g:1608: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:1609: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); + otherlv_0=(Token)match(input,Let,FOLLOW_3); - newLeafNode(otherlv_0, grammarAccess.getLetAccess().getLetKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getLetExpressionAccess().getLetKeyword_0()); - // InternalSolverLanguageParser.g:1203:3: ( (lv_bindings_1_0= ruleLetBinding ) ) - // InternalSolverLanguageParser.g:1204:4: (lv_bindings_1_0= ruleLetBinding ) + // InternalSolverLanguageParser.g:1613:3: ( (lv_bindings_1_0= ruleLetBinding ) ) + // InternalSolverLanguageParser.g:1614:4: (lv_bindings_1_0= ruleLetBinding ) { - // InternalSolverLanguageParser.g:1204:4: (lv_bindings_1_0= ruleLetBinding ) - // InternalSolverLanguageParser.g:1205:5: lv_bindings_1_0= ruleLetBinding + // InternalSolverLanguageParser.g:1614:4: (lv_bindings_1_0= ruleLetBinding ) + // InternalSolverLanguageParser.g:1615:5: lv_bindings_1_0= ruleLetBinding { - newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getLetExpressionAccess().getBindingsLetBindingParserRuleCall_1_0()); - pushFollow(FOLLOW_23); + pushFollow(FOLLOW_27); lv_bindings_1_0=ruleLetBinding(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getLetRule()); + current = createModelElementForParent(grammarAccess.getLetExpressionRule()); } add( current, @@ -2973,42 +4024,42 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1222:3: (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* - loop10: + // InternalSolverLanguageParser.g:1632:3: (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* + loop17: do { - int alt10=2; - int LA10_0 = input.LA(1); + int alt17=2; + int LA17_0 = input.LA(1); - if ( (LA10_0==Comma) ) { - alt10=1; + if ( (LA17_0==Comma) ) { + alt17=1; } - switch (alt10) { + switch (alt17) { case 1 : - // InternalSolverLanguageParser.g:1223:4: otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) + // InternalSolverLanguageParser.g:1633:4: otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) { - otherlv_2=(Token)match(input,Comma,FOLLOW_8); + otherlv_2=(Token)match(input,Comma,FOLLOW_3); - newLeafNode(otherlv_2, grammarAccess.getLetAccess().getCommaKeyword_2_0()); + newLeafNode(otherlv_2, grammarAccess.getLetExpressionAccess().getCommaKeyword_2_0()); - // InternalSolverLanguageParser.g:1227:4: ( (lv_bindings_3_0= ruleLetBinding ) ) - // InternalSolverLanguageParser.g:1228:5: (lv_bindings_3_0= ruleLetBinding ) + // InternalSolverLanguageParser.g:1637:4: ( (lv_bindings_3_0= ruleLetBinding ) ) + // InternalSolverLanguageParser.g:1638:5: (lv_bindings_3_0= ruleLetBinding ) { - // InternalSolverLanguageParser.g:1228:5: (lv_bindings_3_0= ruleLetBinding ) - // InternalSolverLanguageParser.g:1229:6: lv_bindings_3_0= ruleLetBinding + // InternalSolverLanguageParser.g:1638:5: (lv_bindings_3_0= ruleLetBinding ) + // InternalSolverLanguageParser.g:1639:6: lv_bindings_3_0= ruleLetBinding { - newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0()); + newCompositeNode(grammarAccess.getLetExpressionAccess().getBindingsLetBindingParserRuleCall_2_1_0()); - pushFollow(FOLLOW_23); + pushFollow(FOLLOW_27); lv_bindings_3_0=ruleLetBinding(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getLetRule()); + current = createModelElementForParent(grammarAccess.getLetExpressionRule()); } add( current, @@ -3028,22 +4079,22 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop10; + break loop17; } } while (true); - otherlv_4=(Token)match(input,In,FOLLOW_6); + otherlv_4=(Token)match(input,In,FOLLOW_10); - newLeafNode(otherlv_4, grammarAccess.getLetAccess().getInKeyword_3()); + newLeafNode(otherlv_4, grammarAccess.getLetExpressionAccess().getInKeyword_3()); - // InternalSolverLanguageParser.g:1251:3: ( (lv_body_5_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:1252:4: (lv_body_5_0= ruleExpression ) + // InternalSolverLanguageParser.g:1661:3: ( (lv_body_5_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:1662:4: (lv_body_5_0= ruleExpression ) { - // InternalSolverLanguageParser.g:1252:4: (lv_body_5_0= ruleExpression ) - // InternalSolverLanguageParser.g:1253:5: lv_body_5_0= ruleExpression + // InternalSolverLanguageParser.g:1662:4: (lv_body_5_0= ruleExpression ) + // InternalSolverLanguageParser.g:1663:5: lv_body_5_0= ruleExpression { - newCompositeNode(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0()); + newCompositeNode(grammarAccess.getLetExpressionAccess().getBodyExpressionParserRuleCall_4_0()); pushFollow(FOLLOW_2); lv_body_5_0=ruleExpression(); @@ -3052,7 +4103,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { if (current==null) { - current = createModelElementForParent(grammarAccess.getLetRule()); + current = createModelElementForParent(grammarAccess.getLetExpressionRule()); } set( current, @@ -3086,11 +4137,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleLet" + // $ANTLR end "ruleLetExpression" // $ANTLR start "entryRuleLetBinding" - // InternalSolverLanguageParser.g:1274:1: entryRuleLetBinding returns [EObject current=null] : iv_ruleLetBinding= ruleLetBinding EOF ; + // InternalSolverLanguageParser.g:1684:1: entryRuleLetBinding returns [EObject current=null] : iv_ruleLetBinding= ruleLetBinding EOF ; public final EObject entryRuleLetBinding() throws RecognitionException { EObject current = null; @@ -3098,8 +4149,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1274:51: (iv_ruleLetBinding= ruleLetBinding EOF ) - // InternalSolverLanguageParser.g:1275:2: iv_ruleLetBinding= ruleLetBinding EOF + // InternalSolverLanguageParser.g:1684:51: (iv_ruleLetBinding= ruleLetBinding EOF ) + // InternalSolverLanguageParser.g:1685:2: iv_ruleLetBinding= ruleLetBinding EOF { newCompositeNode(grammarAccess.getLetBindingRule()); pushFollow(FOLLOW_1); @@ -3126,271 +4177,129 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $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 ) ) ) ; + // InternalSolverLanguageParser.g:1691:1: ruleLetBinding returns [EObject current=null] : ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= EqualsSign ( (lv_value_3_0= ruleAdditiveExpression ) ) ) ; public final EObject ruleLetBinding() throws RecognitionException { EObject current = null; - Token otherlv_1=null; - EObject lv_variable_0_0 = null; - - EObject lv_value_2_0 = null; - - - - enterRule(); - - try { - // 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: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 ) ) - { - // InternalSolverLanguageParser.g:1289:3: ( (lv_variable_0_0= ruleVariable ) ) - // InternalSolverLanguageParser.g:1290:4: (lv_variable_0_0= ruleVariable ) - { - // InternalSolverLanguageParser.g:1290:4: (lv_variable_0_0= ruleVariable ) - // InternalSolverLanguageParser.g:1291:5: lv_variable_0_0= ruleVariable - { - - newCompositeNode(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0()); - - pushFollow(FOLLOW_13); - lv_variable_0_0=ruleVariable(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getLetBindingRule()); - } - set( - current, - "variable", - lv_variable_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); - afterParserOrEnumRuleCall(); - - - } - - - } - - otherlv_1=(Token)match(input,EqualsSign,FOLLOW_6); - - newLeafNode(otherlv_1, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1()); - - // InternalSolverLanguageParser.g:1312:3: ( (lv_value_2_0= ruleAdditiveExpression ) ) - // InternalSolverLanguageParser.g:1313:4: (lv_value_2_0= ruleAdditiveExpression ) - { - // InternalSolverLanguageParser.g:1313:4: (lv_value_2_0= ruleAdditiveExpression ) - // InternalSolverLanguageParser.g:1314:5: lv_value_2_0= ruleAdditiveExpression - { - - newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0()); - - pushFollow(FOLLOW_2); - lv_value_2_0=ruleAdditiveExpression(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getLetBindingRule()); - } - set( - current, - "value", - lv_value_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - - - } - - - 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; + Token lv_name_1_0=null; + Token otherlv_2=null; + EObject lv_value_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:1697:2: ( ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= EqualsSign ( (lv_value_3_0= ruleAdditiveExpression ) ) ) ) + // InternalSolverLanguageParser.g:1698:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= EqualsSign ( (lv_value_3_0= ruleAdditiveExpression ) ) ) { - // 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 ) ) )? + // InternalSolverLanguageParser.g:1698:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= EqualsSign ( (lv_value_3_0= ruleAdditiveExpression ) ) ) + // InternalSolverLanguageParser.g:1699:3: ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= EqualsSign ( (lv_value_3_0= ruleAdditiveExpression ) ) { + // InternalSolverLanguageParser.g:1699:3: ( ( ruleQualifiedName ) )? + int alt18=2; + int LA18_0 = input.LA(1); - newCompositeNode(grammarAccess.getImplicationExpressionAccess().getDisjunctiveExpressionParserRuleCall_0()); - - pushFollow(FOLLOW_24); - this_DisjunctiveExpression_0=ruleDisjunctiveExpression(); - - state._fsp--; - - - 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; + if ( (LA18_0==RULE_ID) ) { + int LA18_1 = input.LA(2); + + if ( (LA18_1==ColonColon||LA18_1==RULE_ID) ) { + alt18=1; + } } - switch (alt11) { + else if ( (LA18_0==Object||LA18_0==RULE_QUOTED_ID) ) { + alt18=1; + } + switch (alt18) { case 1 : - // InternalSolverLanguageParser.g:1359:4: () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) + // InternalSolverLanguageParser.g:1700:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:1359:4: () - // InternalSolverLanguageParser.g:1360:5: + // InternalSolverLanguageParser.g:1700:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:1701:5: ruleQualifiedName { - current = forceCreateModelElementAndSet( - grammarAccess.getImplicationExpressionAccess().getBinaryExpressionLeftAction_1_0(), - current); + if (current==null) { + current = createModelElement(grammarAccess.getLetBindingRule()); + } - } - - // 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(); + newCompositeNode(grammarAccess.getLetBindingAccess().getTypeSymbolCrossReference_0_0()); + + pushFollow(FOLLOW_28); + ruleQualifiedName(); state._fsp--; - if (current==null) { - current = createModelElementForParent(grammarAccess.getImplicationExpressionRule()); - } - set( - current, - "op", - lv_op_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationOperator"); - afterParserOrEnumRuleCall(); - + afterParserOrEnumRuleCall(); + } } + break; - // 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(); + // InternalSolverLanguageParser.g:1715:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalSolverLanguageParser.g:1716:4: (lv_name_1_0= RULE_ID ) + { + // InternalSolverLanguageParser.g:1716:4: (lv_name_1_0= RULE_ID ) + // InternalSolverLanguageParser.g:1717:5: lv_name_1_0= RULE_ID + { + lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_29); - state._fsp--; + newLeafNode(lv_name_1_0, grammarAccess.getLetBindingAccess().getNameIDTerminalRuleCall_1_0()); + + if (current==null) { + current = createModelElement(grammarAccess.getLetBindingRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_1_0, + "org.eclipse.xtext.common.Terminals.ID"); + - if (current==null) { - current = createModelElementForParent(grammarAccess.getImplicationExpressionRule()); - } - set( - current, - "right", - lv_right_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationExpression"); - afterParserOrEnumRuleCall(); - + } - } + } - } + otherlv_2=(Token)match(input,EqualsSign,FOLLOW_10); + newLeafNode(otherlv_2, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_2()); + + // InternalSolverLanguageParser.g:1737:3: ( (lv_value_3_0= ruleAdditiveExpression ) ) + // InternalSolverLanguageParser.g:1738:4: (lv_value_3_0= ruleAdditiveExpression ) + { + // InternalSolverLanguageParser.g:1738:4: (lv_value_3_0= ruleAdditiveExpression ) + // InternalSolverLanguageParser.g:1739:5: lv_value_3_0= ruleAdditiveExpression + { + + newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_3_0()); + + pushFollow(FOLLOW_2); + lv_value_3_0=ruleAdditiveExpression(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLetBindingRule()); + } + set( + current, + "value", + lv_value_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); + afterParserOrEnumRuleCall(); + + + } - } - break; } @@ -3413,11 +4322,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleImplicationExpression" + // $ANTLR end "ruleLetBinding" // $ANTLR start "entryRuleDisjunctiveExpression" - // InternalSolverLanguageParser.g:1409:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ; + // InternalSolverLanguageParser.g:1760:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ; public final EObject entryRuleDisjunctiveExpression() throws RecognitionException { EObject current = null; @@ -3425,8 +4334,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1409:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ) - // InternalSolverLanguageParser.g:1410:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF + // InternalSolverLanguageParser.g:1760:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ) + // InternalSolverLanguageParser.g:1761:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); pushFollow(FOLLOW_1); @@ -3453,7 +4362,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleDisjunctiveExpression" - // 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 ) ) )* ) )? ) ; + // InternalSolverLanguageParser.g:1767: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; @@ -3473,16 +4382,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:1773: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:1774: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: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 ) ) )* ) )? + // InternalSolverLanguageParser.g:1774: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:1775: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_25); + pushFollow(FOLLOW_30); this_ConjunctiveExpression_0=ruleConjunctiveExpression(); state._fsp--; @@ -3491,25 +4400,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current = this_ConjunctiveExpression_0; afterParserOrEnumRuleCall(); - // 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); + // InternalSolverLanguageParser.g:1783: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 alt21=3; + int LA21_0 = input.LA(1); - if ( (LA14_0==Semicolon) ) { - alt14=1; + if ( (LA21_0==Semicolon) ) { + alt21=1; } - else if ( (LA14_0==HyphenMinusGreaterThanSign) ) { - alt14=2; + else if ( (LA21_0==HyphenMinusGreaterThanSign) ) { + alt21=2; } - switch (alt14) { + switch (alt21) { case 1 : - // InternalSolverLanguageParser.g:1433:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) + // InternalSolverLanguageParser.g:1784:4: ( () (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:1784:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) + // InternalSolverLanguageParser.g:1785:5: () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ { - // InternalSolverLanguageParser.g:1434:5: () - // InternalSolverLanguageParser.g:1435:6: + // InternalSolverLanguageParser.g:1785:5: () + // InternalSolverLanguageParser.g:1786:6: { current = forceCreateModelElementAndAdd( @@ -3519,36 +4428,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1441:5: (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ - int cnt12=0; - loop12: + // InternalSolverLanguageParser.g:1792:5: (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ + int cnt19=0; + loop19: do { - int alt12=2; - int LA12_0 = input.LA(1); + int alt19=2; + int LA19_0 = input.LA(1); - if ( (LA12_0==Semicolon) ) { - alt12=1; + if ( (LA19_0==Semicolon) ) { + alt19=1; } - switch (alt12) { + switch (alt19) { case 1 : - // InternalSolverLanguageParser.g:1442:6: otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1793:6: otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) { - otherlv_2=(Token)match(input,Semicolon,FOLLOW_6); + otherlv_2=(Token)match(input,Semicolon,FOLLOW_10); newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); - // InternalSolverLanguageParser.g:1446:6: ( (lv_children_3_0= ruleConjunctiveExpression ) ) - // InternalSolverLanguageParser.g:1447:7: (lv_children_3_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1797:6: ( (lv_children_3_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1798:7: (lv_children_3_0= ruleConjunctiveExpression ) { - // InternalSolverLanguageParser.g:1447:7: (lv_children_3_0= ruleConjunctiveExpression ) - // InternalSolverLanguageParser.g:1448:8: lv_children_3_0= ruleConjunctiveExpression + // InternalSolverLanguageParser.g:1798:7: (lv_children_3_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1799:8: lv_children_3_0= ruleConjunctiveExpression { newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_31); lv_children_3_0=ruleConjunctiveExpression(); state._fsp--; @@ -3575,12 +4484,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - if ( cnt12 >= 1 ) break loop12; + if ( cnt19 >= 1 ) break loop19; EarlyExitException eee = - new EarlyExitException(12, input); + new EarlyExitException(19, input); throw eee; } - cnt12++; + cnt19++; } while (true); @@ -3590,13 +4499,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:1468:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) + // InternalSolverLanguageParser.g:1819: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:1469:5: () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* + // InternalSolverLanguageParser.g:1819:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) + // InternalSolverLanguageParser.g:1820:5: () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* { - // InternalSolverLanguageParser.g:1469:5: () - // InternalSolverLanguageParser.g:1470:6: + // InternalSolverLanguageParser.g:1820:5: () + // InternalSolverLanguageParser.g:1821:6: { current = forceCreateModelElementAndSet( @@ -3606,20 +4515,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_5=(Token)match(input,HyphenMinusGreaterThanSign,FOLLOW_6); + otherlv_5=(Token)match(input,HyphenMinusGreaterThanSign,FOLLOW_10); newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); - // InternalSolverLanguageParser.g:1480:5: ( (lv_body_6_0= ruleConjunctiveExpression ) ) - // InternalSolverLanguageParser.g:1481:6: (lv_body_6_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1831:5: ( (lv_body_6_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1832:6: (lv_body_6_0= ruleConjunctiveExpression ) { - // InternalSolverLanguageParser.g:1481:6: (lv_body_6_0= ruleConjunctiveExpression ) - // InternalSolverLanguageParser.g:1482:7: lv_body_6_0= ruleConjunctiveExpression + // InternalSolverLanguageParser.g:1832:6: (lv_body_6_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1833:7: lv_body_6_0= ruleConjunctiveExpression { newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_31); lv_body_6_0=ruleConjunctiveExpression(); state._fsp--; @@ -3641,8 +4550,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1499:5: () - // InternalSolverLanguageParser.g:1500:6: + // InternalSolverLanguageParser.g:1850:5: () + // InternalSolverLanguageParser.g:1851:6: { current = forceCreateModelElementAndAdd( @@ -3652,35 +4561,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1506:5: (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* - loop13: + // InternalSolverLanguageParser.g:1857:5: (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* + loop20: do { - int alt13=2; - int LA13_0 = input.LA(1); + int alt20=2; + int LA20_0 = input.LA(1); - if ( (LA13_0==Semicolon) ) { - alt13=1; + if ( (LA20_0==Semicolon) ) { + alt20=1; } - switch (alt13) { + switch (alt20) { case 1 : - // InternalSolverLanguageParser.g:1507:6: otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) + // InternalSolverLanguageParser.g:1858:6: otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) { - otherlv_8=(Token)match(input,Semicolon,FOLLOW_6); + otherlv_8=(Token)match(input,Semicolon,FOLLOW_10); newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); - // InternalSolverLanguageParser.g:1511:6: ( (lv_cases_9_0= ruleCase ) ) - // InternalSolverLanguageParser.g:1512:7: (lv_cases_9_0= ruleCase ) + // InternalSolverLanguageParser.g:1862:6: ( (lv_cases_9_0= ruleCase ) ) + // InternalSolverLanguageParser.g:1863:7: (lv_cases_9_0= ruleCase ) { - // InternalSolverLanguageParser.g:1512:7: (lv_cases_9_0= ruleCase ) - // InternalSolverLanguageParser.g:1513:8: lv_cases_9_0= ruleCase + // InternalSolverLanguageParser.g:1863:7: (lv_cases_9_0= ruleCase ) + // InternalSolverLanguageParser.g:1864:8: lv_cases_9_0= ruleCase { newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_31); lv_cases_9_0=ruleCase(); state._fsp--; @@ -3707,7 +4616,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop13; + break loop20; } } while (true); @@ -3743,7 +4652,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleCase" - // InternalSolverLanguageParser.g:1537:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ; + // InternalSolverLanguageParser.g:1888:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ; public final EObject entryRuleCase() throws RecognitionException { EObject current = null; @@ -3751,8 +4660,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1537:45: (iv_ruleCase= ruleCase EOF ) - // InternalSolverLanguageParser.g:1538:2: iv_ruleCase= ruleCase EOF + // InternalSolverLanguageParser.g:1888:45: (iv_ruleCase= ruleCase EOF ) + // InternalSolverLanguageParser.g:1889:2: iv_ruleCase= ruleCase EOF { newCompositeNode(grammarAccess.getCaseRule()); pushFollow(FOLLOW_1); @@ -3779,7 +4688,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleCase" - // InternalSolverLanguageParser.g:1544:1: ruleCase returns [EObject current=null] : ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ; + // InternalSolverLanguageParser.g:1895: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; @@ -3793,22 +4702,22 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:1901:2: ( ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ) + // InternalSolverLanguageParser.g:1902: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:1552:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1902:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) + // InternalSolverLanguageParser.g:1903:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) { - // InternalSolverLanguageParser.g:1552:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) - // InternalSolverLanguageParser.g:1553:4: (lv_condition_0_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1903:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1904:4: (lv_condition_0_0= ruleConjunctiveExpression ) { - // InternalSolverLanguageParser.g:1553:4: (lv_condition_0_0= ruleConjunctiveExpression ) - // InternalSolverLanguageParser.g:1554:5: lv_condition_0_0= ruleConjunctiveExpression + // InternalSolverLanguageParser.g:1904:4: (lv_condition_0_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1905:5: lv_condition_0_0= ruleConjunctiveExpression { newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); - pushFollow(FOLLOW_27); + pushFollow(FOLLOW_32); lv_condition_0_0=ruleConjunctiveExpression(); state._fsp--; @@ -3830,15 +4739,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,HyphenMinusGreaterThanSign,FOLLOW_6); + otherlv_1=(Token)match(input,HyphenMinusGreaterThanSign,FOLLOW_10); newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); - // InternalSolverLanguageParser.g:1575:3: ( (lv_body_2_0= ruleConjunctiveExpression ) ) - // InternalSolverLanguageParser.g:1576:4: (lv_body_2_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1926:3: ( (lv_body_2_0= ruleConjunctiveExpression ) ) + // InternalSolverLanguageParser.g:1927:4: (lv_body_2_0= ruleConjunctiveExpression ) { - // InternalSolverLanguageParser.g:1576:4: (lv_body_2_0= ruleConjunctiveExpression ) - // InternalSolverLanguageParser.g:1577:5: lv_body_2_0= ruleConjunctiveExpression + // InternalSolverLanguageParser.g:1927:4: (lv_body_2_0= ruleConjunctiveExpression ) + // InternalSolverLanguageParser.g:1928:5: lv_body_2_0= ruleConjunctiveExpression { newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); @@ -3888,7 +4797,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleConjunctiveExpression" - // InternalSolverLanguageParser.g:1598:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ; + // InternalSolverLanguageParser.g:1949:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ; public final EObject entryRuleConjunctiveExpression() throws RecognitionException { EObject current = null; @@ -3896,8 +4805,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1598:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ) - // InternalSolverLanguageParser.g:1599:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF + // InternalSolverLanguageParser.g:1949:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ) + // InternalSolverLanguageParser.g:1950:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF { newCompositeNode(grammarAccess.getConjunctiveExpressionRule()); pushFollow(FOLLOW_1); @@ -3924,7 +4833,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleConjunctiveExpression" - // InternalSolverLanguageParser.g:1605:1: ruleConjunctiveExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ; + // InternalSolverLanguageParser.g:1956: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; @@ -3938,16 +4847,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:1962:2: ( (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ) + // InternalSolverLanguageParser.g:1963: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:1613:3: this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? + // InternalSolverLanguageParser.g:1963:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) + // InternalSolverLanguageParser.g:1964:3: this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? { newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); - pushFollow(FOLLOW_19); + pushFollow(FOLLOW_33); this_ComparisonExpression_0=ruleComparisonExpression(); state._fsp--; @@ -3956,19 +4865,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current = this_ComparisonExpression_0; afterParserOrEnumRuleCall(); - // InternalSolverLanguageParser.g:1621:3: ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? - int alt16=2; - int LA16_0 = input.LA(1); + // InternalSolverLanguageParser.g:1972:3: ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? + int alt23=2; + int LA23_0 = input.LA(1); - if ( (LA16_0==Comma) ) { - alt16=1; + if ( (LA23_0==Comma) ) { + alt23=1; } - switch (alt16) { + switch (alt23) { case 1 : - // InternalSolverLanguageParser.g:1622:4: () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ + // InternalSolverLanguageParser.g:1973:4: () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ { - // InternalSolverLanguageParser.g:1622:4: () - // InternalSolverLanguageParser.g:1623:5: + // InternalSolverLanguageParser.g:1973:4: () + // InternalSolverLanguageParser.g:1974:5: { current = forceCreateModelElementAndAdd( @@ -3978,36 +4887,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1629:4: (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ - int cnt15=0; - loop15: + // InternalSolverLanguageParser.g:1980:4: (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ + int cnt22=0; + loop22: do { - int alt15=2; - int LA15_0 = input.LA(1); + int alt22=2; + int LA22_0 = input.LA(1); - if ( (LA15_0==Comma) ) { - alt15=1; + if ( (LA22_0==Comma) ) { + alt22=1; } - switch (alt15) { + switch (alt22) { case 1 : - // InternalSolverLanguageParser.g:1630:5: otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) + // InternalSolverLanguageParser.g:1981:5: otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) { - otherlv_2=(Token)match(input,Comma,FOLLOW_6); + otherlv_2=(Token)match(input,Comma,FOLLOW_10); newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); - // InternalSolverLanguageParser.g:1634:5: ( (lv_children_3_0= ruleComparisonExpression ) ) - // InternalSolverLanguageParser.g:1635:6: (lv_children_3_0= ruleComparisonExpression ) + // InternalSolverLanguageParser.g:1985:5: ( (lv_children_3_0= ruleComparisonExpression ) ) + // InternalSolverLanguageParser.g:1986:6: (lv_children_3_0= ruleComparisonExpression ) { - // InternalSolverLanguageParser.g:1635:6: (lv_children_3_0= ruleComparisonExpression ) - // InternalSolverLanguageParser.g:1636:7: lv_children_3_0= ruleComparisonExpression + // InternalSolverLanguageParser.g:1986:6: (lv_children_3_0= ruleComparisonExpression ) + // InternalSolverLanguageParser.g:1987:7: lv_children_3_0= ruleComparisonExpression { newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); - pushFollow(FOLLOW_19); + pushFollow(FOLLOW_33); lv_children_3_0=ruleComparisonExpression(); state._fsp--; @@ -4034,12 +4943,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - if ( cnt15 >= 1 ) break loop15; + if ( cnt22 >= 1 ) break loop22; EarlyExitException eee = - new EarlyExitException(15, input); + new EarlyExitException(22, input); throw eee; } - cnt15++; + cnt22++; } while (true); @@ -4071,7 +4980,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleComparisonExpression" - // InternalSolverLanguageParser.g:1659:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ; + // InternalSolverLanguageParser.g:2010:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ; public final EObject entryRuleComparisonExpression() throws RecognitionException { EObject current = null; @@ -4079,8 +4988,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1659:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF ) - // InternalSolverLanguageParser.g:1660:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF + // InternalSolverLanguageParser.g:2010:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF ) + // InternalSolverLanguageParser.g:2011:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF { newCompositeNode(grammarAccess.getComparisonExpressionRule()); pushFollow(FOLLOW_1); @@ -4107,7 +5016,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleComparisonExpression" - // InternalSolverLanguageParser.g:1666:1: ruleComparisonExpression returns [EObject current=null] : (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ; + // InternalSolverLanguageParser.g:2017: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; @@ -4122,16 +5031,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:2023:2: ( (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ) + // InternalSolverLanguageParser.g:2024: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:1674:3: this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? + // InternalSolverLanguageParser.g:2024:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) + // InternalSolverLanguageParser.g:2025:3: this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? { newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_34); this_AdditiveExpression_0=ruleAdditiveExpression(); state._fsp--; @@ -4140,38 +5049,38 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current = this_AdditiveExpression_0; afterParserOrEnumRuleCall(); - // InternalSolverLanguageParser.g:1682:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? - int alt17=2; - int LA17_0 = input.LA(1); + // InternalSolverLanguageParser.g:2033:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? + int alt24=2; + int LA24_0 = input.LA(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; + if ( (LA24_0==ExclamationMarkEqualsSign||(LA24_0>=LessThanSignEqualsSign && LA24_0<=EqualsSignEqualsSign)||LA24_0==GreaterThanSignEqualsSign||LA24_0==In||LA24_0==LessThanSign||LA24_0==GreaterThanSign) ) { + alt24=1; } - switch (alt17) { + switch (alt24) { case 1 : - // InternalSolverLanguageParser.g:1683:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) + // InternalSolverLanguageParser.g:2034:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) { - // InternalSolverLanguageParser.g:1683:4: () - // InternalSolverLanguageParser.g:1684:5: + // InternalSolverLanguageParser.g:2034:4: () + // InternalSolverLanguageParser.g:2035:5: { current = forceCreateModelElementAndSet( - grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(), + grammarAccess.getComparisonExpressionAccess().getBinaryExpressionLeftAction_1_0(), current); } - // InternalSolverLanguageParser.g:1690:4: ( (lv_op_2_0= ruleComparisonOperator ) ) - // InternalSolverLanguageParser.g:1691:5: (lv_op_2_0= ruleComparisonOperator ) + // InternalSolverLanguageParser.g:2041:4: ( (lv_op_2_0= ruleComparisonOperator ) ) + // InternalSolverLanguageParser.g:2042:5: (lv_op_2_0= ruleComparisonOperator ) { - // InternalSolverLanguageParser.g:1691:5: (lv_op_2_0= ruleComparisonOperator ) - // InternalSolverLanguageParser.g:1692:6: lv_op_2_0= ruleComparisonOperator + // InternalSolverLanguageParser.g:2042:5: (lv_op_2_0= ruleComparisonOperator ) + // InternalSolverLanguageParser.g:2043:6: lv_op_2_0= ruleComparisonOperator { newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); - pushFollow(FOLLOW_6); + pushFollow(FOLLOW_10); lv_op_2_0=ruleComparisonOperator(); state._fsp--; @@ -4193,11 +5102,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1709:4: ( (lv_right_3_0= ruleAdditiveExpression ) ) - // InternalSolverLanguageParser.g:1710:5: (lv_right_3_0= ruleAdditiveExpression ) + // InternalSolverLanguageParser.g:2060:4: ( (lv_right_3_0= ruleAdditiveExpression ) ) + // InternalSolverLanguageParser.g:2061:5: (lv_right_3_0= ruleAdditiveExpression ) { - // InternalSolverLanguageParser.g:1710:5: (lv_right_3_0= ruleAdditiveExpression ) - // InternalSolverLanguageParser.g:1711:6: lv_right_3_0= ruleAdditiveExpression + // InternalSolverLanguageParser.g:2061:5: (lv_right_3_0= ruleAdditiveExpression ) + // InternalSolverLanguageParser.g:2062:6: lv_right_3_0= ruleAdditiveExpression { newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); @@ -4253,7 +5162,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleAdditiveExpression" - // InternalSolverLanguageParser.g:1733:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ; + // InternalSolverLanguageParser.g:2084:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ; public final EObject entryRuleAdditiveExpression() throws RecognitionException { EObject current = null; @@ -4261,8 +5170,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1733:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ) - // InternalSolverLanguageParser.g:1734:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF + // InternalSolverLanguageParser.g:2084:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ) + // InternalSolverLanguageParser.g:2085:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF { newCompositeNode(grammarAccess.getAdditiveExpressionRule()); pushFollow(FOLLOW_1); @@ -4289,7 +5198,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAdditiveExpression" - // InternalSolverLanguageParser.g:1740:1: ruleAdditiveExpression returns [EObject current=null] : (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ; + // InternalSolverLanguageParser.g:2091: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; @@ -4304,16 +5213,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:2097:2: ( (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ) + // InternalSolverLanguageParser.g:2098: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:1748:3: this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* + // InternalSolverLanguageParser.g:2098:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) + // InternalSolverLanguageParser.g:2099:3: this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* { newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_35); this_MultiplicativeExpression_0=ruleMultiplicativeExpression(); state._fsp--; @@ -4322,23 +5231,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current = this_MultiplicativeExpression_0; afterParserOrEnumRuleCall(); - // InternalSolverLanguageParser.g:1756:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* - loop18: + // InternalSolverLanguageParser.g:2107:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* + loop25: do { - int alt18=2; - int LA18_0 = input.LA(1); + int alt25=2; + int LA25_0 = input.LA(1); - if ( (LA18_0==PlusSign||LA18_0==HyphenMinus) ) { - alt18=1; + if ( (LA25_0==PlusSign||LA25_0==HyphenMinus) ) { + alt25=1; } - switch (alt18) { + switch (alt25) { case 1 : - // InternalSolverLanguageParser.g:1757:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) + // InternalSolverLanguageParser.g:2108:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) { - // InternalSolverLanguageParser.g:1757:4: () - // InternalSolverLanguageParser.g:1758:5: + // InternalSolverLanguageParser.g:2108:4: () + // InternalSolverLanguageParser.g:2109:5: { current = forceCreateModelElementAndSet( @@ -4348,16 +5257,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1764:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) - // InternalSolverLanguageParser.g:1765:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) + // InternalSolverLanguageParser.g:2115:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) + // InternalSolverLanguageParser.g:2116:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) { - // InternalSolverLanguageParser.g:1765:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) - // InternalSolverLanguageParser.g:1766:6: lv_op_2_0= ruleAdditiveBinaryOperator + // InternalSolverLanguageParser.g:2116:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) + // InternalSolverLanguageParser.g:2117:6: lv_op_2_0= ruleAdditiveBinaryOperator { newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); - pushFollow(FOLLOW_6); + pushFollow(FOLLOW_10); lv_op_2_0=ruleAdditiveBinaryOperator(); state._fsp--; @@ -4379,16 +5288,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1783:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) ) - // InternalSolverLanguageParser.g:1784:5: (lv_right_3_0= ruleMultiplicativeExpression ) + // InternalSolverLanguageParser.g:2134:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) ) + // InternalSolverLanguageParser.g:2135:5: (lv_right_3_0= ruleMultiplicativeExpression ) { - // InternalSolverLanguageParser.g:1784:5: (lv_right_3_0= ruleMultiplicativeExpression ) - // InternalSolverLanguageParser.g:1785:6: lv_right_3_0= ruleMultiplicativeExpression + // InternalSolverLanguageParser.g:2135:5: (lv_right_3_0= ruleMultiplicativeExpression ) + // InternalSolverLanguageParser.g:2136:6: lv_right_3_0= ruleMultiplicativeExpression { newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_35); lv_right_3_0=ruleMultiplicativeExpression(); state._fsp--; @@ -4415,7 +5324,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop18; + break loop25; } } while (true); @@ -4442,7 +5351,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleMultiplicativeExpression" - // InternalSolverLanguageParser.g:1807:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ; + // InternalSolverLanguageParser.g:2158:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ; public final EObject entryRuleMultiplicativeExpression() throws RecognitionException { EObject current = null; @@ -4450,8 +5359,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1807:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ) - // InternalSolverLanguageParser.g:1808:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF + // InternalSolverLanguageParser.g:2158:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ) + // InternalSolverLanguageParser.g:2159:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF { newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); pushFollow(FOLLOW_1); @@ -4478,7 +5387,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleMultiplicativeExpression" - // InternalSolverLanguageParser.g:1814:1: ruleMultiplicativeExpression returns [EObject current=null] : (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ; + // InternalSolverLanguageParser.g:2165: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; @@ -4493,16 +5402,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:2171:2: ( (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ) + // InternalSolverLanguageParser.g:2172: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:1822:3: this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* + // InternalSolverLanguageParser.g:2172:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) + // InternalSolverLanguageParser.g:2173:3: this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* { newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); - pushFollow(FOLLOW_30); + pushFollow(FOLLOW_36); this_ExponentialExpression_0=ruleExponentialExpression(); state._fsp--; @@ -4511,23 +5420,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current = this_ExponentialExpression_0; afterParserOrEnumRuleCall(); - // InternalSolverLanguageParser.g:1830:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* - loop19: + // InternalSolverLanguageParser.g:2181:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* + loop26: do { - int alt19=2; - int LA19_0 = input.LA(1); + int alt26=2; + int LA26_0 = input.LA(1); - if ( (LA19_0==Asterisk||LA19_0==Solidus) ) { - alt19=1; + if ( (LA26_0==Asterisk||LA26_0==Solidus) ) { + alt26=1; } - switch (alt19) { + switch (alt26) { case 1 : - // InternalSolverLanguageParser.g:1831:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) + // InternalSolverLanguageParser.g:2182:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) { - // InternalSolverLanguageParser.g:1831:4: () - // InternalSolverLanguageParser.g:1832:5: + // InternalSolverLanguageParser.g:2182:4: () + // InternalSolverLanguageParser.g:2183:5: { current = forceCreateModelElementAndSet( @@ -4537,16 +5446,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1838:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) - // InternalSolverLanguageParser.g:1839:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) + // InternalSolverLanguageParser.g:2189:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) + // InternalSolverLanguageParser.g:2190:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) { - // InternalSolverLanguageParser.g:1839:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) - // InternalSolverLanguageParser.g:1840:6: lv_op_2_0= ruleMultiplicativeBinaryOperator + // InternalSolverLanguageParser.g:2190:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) + // InternalSolverLanguageParser.g:2191:6: lv_op_2_0= ruleMultiplicativeBinaryOperator { newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); - pushFollow(FOLLOW_6); + pushFollow(FOLLOW_10); lv_op_2_0=ruleMultiplicativeBinaryOperator(); state._fsp--; @@ -4568,16 +5477,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1857:4: ( (lv_right_3_0= ruleExponentialExpression ) ) - // InternalSolverLanguageParser.g:1858:5: (lv_right_3_0= ruleExponentialExpression ) + // InternalSolverLanguageParser.g:2208:4: ( (lv_right_3_0= ruleExponentialExpression ) ) + // InternalSolverLanguageParser.g:2209:5: (lv_right_3_0= ruleExponentialExpression ) { - // InternalSolverLanguageParser.g:1858:5: (lv_right_3_0= ruleExponentialExpression ) - // InternalSolverLanguageParser.g:1859:6: lv_right_3_0= ruleExponentialExpression + // InternalSolverLanguageParser.g:2209:5: (lv_right_3_0= ruleExponentialExpression ) + // InternalSolverLanguageParser.g:2210:6: lv_right_3_0= ruleExponentialExpression { newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); - pushFollow(FOLLOW_30); + pushFollow(FOLLOW_36); lv_right_3_0=ruleExponentialExpression(); state._fsp--; @@ -4604,7 +5513,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop19; + break loop26; } } while (true); @@ -4631,7 +5540,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleExponentialExpression" - // InternalSolverLanguageParser.g:1881:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ; + // InternalSolverLanguageParser.g:2232:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ; public final EObject entryRuleExponentialExpression() throws RecognitionException { EObject current = null; @@ -4639,8 +5548,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1881:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF ) - // InternalSolverLanguageParser.g:1882:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF + // InternalSolverLanguageParser.g:2232:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF ) + // InternalSolverLanguageParser.g:2233:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF { newCompositeNode(grammarAccess.getExponentialExpressionRule()); pushFollow(FOLLOW_1); @@ -4667,7 +5576,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExponentialExpression" - // InternalSolverLanguageParser.g:1888:1: ruleExponentialExpression returns [EObject current=null] : (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) ; + // InternalSolverLanguageParser.g:2239: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; @@ -4682,16 +5591,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:2245:2: ( (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) ) + // InternalSolverLanguageParser.g:2246: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:1896:3: this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? + // InternalSolverLanguageParser.g:2246:2: (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) + // InternalSolverLanguageParser.g:2247:3: this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? { newCompositeNode(grammarAccess.getExponentialExpressionAccess().getCastExpressionParserRuleCall_0()); - pushFollow(FOLLOW_31); + pushFollow(FOLLOW_37); this_CastExpression_0=ruleCastExpression(); state._fsp--; @@ -4700,19 +5609,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current = this_CastExpression_0; afterParserOrEnumRuleCall(); - // InternalSolverLanguageParser.g:1904:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? - int alt20=2; - int LA20_0 = input.LA(1); + // InternalSolverLanguageParser.g:2255:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? + int alt27=2; + int LA27_0 = input.LA(1); - if ( (LA20_0==CircumflexAccent) ) { - alt20=1; + if ( (LA27_0==CircumflexAccent) ) { + alt27=1; } - switch (alt20) { + switch (alt27) { case 1 : - // InternalSolverLanguageParser.g:1905:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) + // InternalSolverLanguageParser.g:2256:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) { - // InternalSolverLanguageParser.g:1905:4: () - // InternalSolverLanguageParser.g:1906:5: + // InternalSolverLanguageParser.g:2256:4: () + // InternalSolverLanguageParser.g:2257:5: { current = forceCreateModelElementAndSet( @@ -4722,16 +5631,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1912:4: ( (lv_op_2_0= ruleExponentialOp ) ) - // InternalSolverLanguageParser.g:1913:5: (lv_op_2_0= ruleExponentialOp ) + // InternalSolverLanguageParser.g:2263:4: ( (lv_op_2_0= ruleExponentialOp ) ) + // InternalSolverLanguageParser.g:2264:5: (lv_op_2_0= ruleExponentialOp ) { - // InternalSolverLanguageParser.g:1913:5: (lv_op_2_0= ruleExponentialOp ) - // InternalSolverLanguageParser.g:1914:6: lv_op_2_0= ruleExponentialOp + // InternalSolverLanguageParser.g:2264:5: (lv_op_2_0= ruleExponentialOp ) + // InternalSolverLanguageParser.g:2265:6: lv_op_2_0= ruleExponentialOp { newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); - pushFollow(FOLLOW_6); + pushFollow(FOLLOW_10); lv_op_2_0=ruleExponentialOp(); state._fsp--; @@ -4753,11 +5662,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:1931:4: ( (lv_right_3_0= ruleCastExpression ) ) - // InternalSolverLanguageParser.g:1932:5: (lv_right_3_0= ruleCastExpression ) + // InternalSolverLanguageParser.g:2282:4: ( (lv_right_3_0= ruleCastExpression ) ) + // InternalSolverLanguageParser.g:2283:5: (lv_right_3_0= ruleCastExpression ) { - // InternalSolverLanguageParser.g:1932:5: (lv_right_3_0= ruleCastExpression ) - // InternalSolverLanguageParser.g:1933:6: lv_right_3_0= ruleCastExpression + // InternalSolverLanguageParser.g:2283:5: (lv_right_3_0= ruleCastExpression ) + // InternalSolverLanguageParser.g:2284:6: lv_right_3_0= ruleCastExpression { newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightCastExpressionParserRuleCall_1_2_0()); @@ -4813,7 +5722,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleCastExpression" - // InternalSolverLanguageParser.g:1955:1: entryRuleCastExpression returns [EObject current=null] : iv_ruleCastExpression= ruleCastExpression EOF ; + // InternalSolverLanguageParser.g:2306:1: entryRuleCastExpression returns [EObject current=null] : iv_ruleCastExpression= ruleCastExpression EOF ; public final EObject entryRuleCastExpression() throws RecognitionException { EObject current = null; @@ -4821,8 +5730,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:1955:55: (iv_ruleCastExpression= ruleCastExpression EOF ) - // InternalSolverLanguageParser.g:1956:2: iv_ruleCastExpression= ruleCastExpression EOF + // InternalSolverLanguageParser.g:2306:55: (iv_ruleCastExpression= ruleCastExpression EOF ) + // InternalSolverLanguageParser.g:2307:2: iv_ruleCastExpression= ruleCastExpression EOF { newCompositeNode(grammarAccess.getCastExpressionRule()); pushFollow(FOLLOW_1); @@ -4849,7 +5758,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleCastExpression" - // InternalSolverLanguageParser.g:1962:1: ruleCastExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) ; + // InternalSolverLanguageParser.g:2313:1: ruleCastExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) ; public final EObject ruleCastExpression() throws RecognitionException { EObject current = null; @@ -4861,16 +5770,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { 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:2319:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) ) + // InternalSolverLanguageParser.g:2320: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 ) ) )? + // InternalSolverLanguageParser.g:2320:2: (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) + // InternalSolverLanguageParser.g:2321:3: this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? { newCompositeNode(grammarAccess.getCastExpressionAccess().getUnaryExpressionParserRuleCall_0()); - pushFollow(FOLLOW_32); + pushFollow(FOLLOW_38); this_UnaryExpression_0=ruleUnaryExpression(); state._fsp--; @@ -4879,19 +5788,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current = this_UnaryExpression_0; afterParserOrEnumRuleCall(); - // InternalSolverLanguageParser.g:1978:3: ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? - int alt21=2; - int LA21_0 = input.LA(1); + // InternalSolverLanguageParser.g:2329:3: ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? + int alt28=2; + int LA28_0 = input.LA(1); - if ( (LA21_0==As) ) { - alt21=1; + if ( (LA28_0==As) ) { + alt28=1; } - switch (alt21) { + switch (alt28) { case 1 : - // InternalSolverLanguageParser.g:1979:4: () otherlv_2= As ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2330:4: () otherlv_2= As ( ( ruleQualifiedName ) ) { - // InternalSolverLanguageParser.g:1979:4: () - // InternalSolverLanguageParser.g:1980:5: + // InternalSolverLanguageParser.g:2330:4: () + // InternalSolverLanguageParser.g:2331:5: { current = forceCreateModelElementAndSet( @@ -4901,15 +5810,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,As,FOLLOW_8); + otherlv_2=(Token)match(input,As,FOLLOW_3); newLeafNode(otherlv_2, grammarAccess.getCastExpressionAccess().getAsKeyword_1_1()); - // InternalSolverLanguageParser.g:1990:4: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:1991:5: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2341:4: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2342:5: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:1991:5: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:1992:6: ruleQualifiedName + // InternalSolverLanguageParser.g:2342:5: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2343:6: ruleQualifiedName { if (current==null) { @@ -4917,7 +5826,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - newCompositeNode(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0()); + newCompositeNode(grammarAccess.getCastExpressionAccess().getTargetTypeSymbolCrossReference_1_2_0()); pushFollow(FOLLOW_2); ruleQualifiedName(); @@ -4962,7 +5871,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleUnaryExpression" - // InternalSolverLanguageParser.g:2011:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ; + // InternalSolverLanguageParser.g:2362:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ; public final EObject entryRuleUnaryExpression() throws RecognitionException { EObject current = null; @@ -4970,8 +5879,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2011:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF ) - // InternalSolverLanguageParser.g:2012:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF + // InternalSolverLanguageParser.g:2362:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF ) + // InternalSolverLanguageParser.g:2363:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF { newCompositeNode(grammarAccess.getUnaryExpressionRule()); pushFollow(FOLLOW_1); @@ -4998,11 +5907,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleUnaryExpression" - // InternalSolverLanguageParser.g:2018:1: ruleUnaryExpression returns [EObject current=null] : (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ; + // InternalSolverLanguageParser.g:2369:1: ruleUnaryExpression returns [EObject current=null] : (this_BracedAggregateExpression_0= ruleBracedAggregateExpression | ( () ( (lv_op_2_0= ruleUnaryOperator ) ) ( (lv_body_3_0= ruleBracedAggregateExpression ) ) ) ) ; public final EObject ruleUnaryExpression() throws RecognitionException { EObject current = null; - EObject this_AggregationExpression_0 = null; + EObject this_BracedAggregateExpression_0 = null; Enumerator lv_op_2_0 = null; @@ -5013,52 +5922,52 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:2375:2: ( (this_BracedAggregateExpression_0= ruleBracedAggregateExpression | ( () ( (lv_op_2_0= ruleUnaryOperator ) ) ( (lv_body_3_0= ruleBracedAggregateExpression ) ) ) ) ) + // InternalSolverLanguageParser.g:2376:2: (this_BracedAggregateExpression_0= ruleBracedAggregateExpression | ( () ( (lv_op_2_0= ruleUnaryOperator ) ) ( (lv_body_3_0= ruleBracedAggregateExpression ) ) ) ) { - // 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); + // InternalSolverLanguageParser.g:2376:2: (this_BracedAggregateExpression_0= ruleBracedAggregateExpression | ( () ( (lv_op_2_0= ruleUnaryOperator ) ) ( (lv_body_3_0= ruleBracedAggregateExpression ) ) ) ) + int alt29=2; + int LA29_0 = input.LA(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; + if ( (LA29_0==Unknown||LA29_0==Object||(LA29_0>=Count && LA29_0<=False)||LA29_0==True||LA29_0==Inf||LA29_0==LeftParenthesis||LA29_0==LeftSquareBracket||(LA29_0>=Tilde && LA29_0<=RULE_QUOTED_ID)||(LA29_0>=RULE_ID && LA29_0<=RULE_INT)) ) { + alt29=1; } - else if ( (LA22_0==Current||LA22_0==Must||LA22_0==May||LA22_0==ExclamationMark||LA22_0==PlusSign||LA22_0==HyphenMinus) ) { - alt22=2; + else if ( (LA29_0==ExclamationMark||LA29_0==PlusSign||LA29_0==HyphenMinus||LA29_0==QuestionMark) ) { + alt29=2; } else { NoViableAltException nvae = - new NoViableAltException("", 22, 0, input); + new NoViableAltException("", 29, 0, input); throw nvae; } - switch (alt22) { + switch (alt29) { case 1 : - // InternalSolverLanguageParser.g:2026:3: this_AggregationExpression_0= ruleAggregationExpression + // InternalSolverLanguageParser.g:2377:3: this_BracedAggregateExpression_0= ruleBracedAggregateExpression { - newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBracedAggregateExpressionParserRuleCall_0()); pushFollow(FOLLOW_2); - this_AggregationExpression_0=ruleAggregationExpression(); + this_BracedAggregateExpression_0=ruleBracedAggregateExpression(); state._fsp--; - current = this_AggregationExpression_0; + current = this_BracedAggregateExpression_0; afterParserOrEnumRuleCall(); } break; case 2 : - // InternalSolverLanguageParser.g:2035:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) + // InternalSolverLanguageParser.g:2386:3: ( () ( (lv_op_2_0= ruleUnaryOperator ) ) ( (lv_body_3_0= ruleBracedAggregateExpression ) ) ) { - // 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:2386:3: ( () ( (lv_op_2_0= ruleUnaryOperator ) ) ( (lv_body_3_0= ruleBracedAggregateExpression ) ) ) + // InternalSolverLanguageParser.g:2387:4: () ( (lv_op_2_0= ruleUnaryOperator ) ) ( (lv_body_3_0= ruleBracedAggregateExpression ) ) { - // InternalSolverLanguageParser.g:2036:4: () - // InternalSolverLanguageParser.g:2037:5: + // InternalSolverLanguageParser.g:2387:4: () + // InternalSolverLanguageParser.g:2388:5: { current = forceCreateModelElement( @@ -5068,17 +5977,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:2043:4: ( (lv_op_2_0= ruleUnaryOp ) ) - // InternalSolverLanguageParser.g:2044:5: (lv_op_2_0= ruleUnaryOp ) + // InternalSolverLanguageParser.g:2394:4: ( (lv_op_2_0= ruleUnaryOperator ) ) + // InternalSolverLanguageParser.g:2395:5: (lv_op_2_0= ruleUnaryOperator ) { - // InternalSolverLanguageParser.g:2044:5: (lv_op_2_0= ruleUnaryOp ) - // InternalSolverLanguageParser.g:2045:6: lv_op_2_0= ruleUnaryOp + // InternalSolverLanguageParser.g:2395:5: (lv_op_2_0= ruleUnaryOperator ) + // InternalSolverLanguageParser.g:2396:6: lv_op_2_0= ruleUnaryOperator { - newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOperatorEnumRuleCall_1_1_0()); - pushFollow(FOLLOW_33); - lv_op_2_0=ruleUnaryOp(); + pushFollow(FOLLOW_39); + lv_op_2_0=ruleUnaryOperator(); state._fsp--; @@ -5090,7 +5999,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current, "op", lv_op_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp"); + "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOperator"); afterParserOrEnumRuleCall(); @@ -5099,17 +6008,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:2062:4: ( (lv_body_3_0= ruleAggregationExpression ) ) - // InternalSolverLanguageParser.g:2063:5: (lv_body_3_0= ruleAggregationExpression ) + // InternalSolverLanguageParser.g:2413:4: ( (lv_body_3_0= ruleBracedAggregateExpression ) ) + // InternalSolverLanguageParser.g:2414:5: (lv_body_3_0= ruleBracedAggregateExpression ) { - // InternalSolverLanguageParser.g:2063:5: (lv_body_3_0= ruleAggregationExpression ) - // InternalSolverLanguageParser.g:2064:6: lv_body_3_0= ruleAggregationExpression + // InternalSolverLanguageParser.g:2414:5: (lv_body_3_0= ruleBracedAggregateExpression ) + // InternalSolverLanguageParser.g:2415:6: lv_body_3_0= ruleBracedAggregateExpression { - newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyBracedAggregateExpressionParserRuleCall_1_2_0()); pushFollow(FOLLOW_2); - lv_body_3_0=ruleAggregationExpression(); + lv_body_3_0=ruleBracedAggregateExpression(); state._fsp--; @@ -5121,7 +6030,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current, "body", lv_body_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); + "org.eclipse.viatra.solver.language.SolverLanguage.BracedAggregateExpression"); afterParserOrEnumRuleCall(); @@ -5158,25 +6067,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $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 { + // $ANTLR start "entryRuleBracedAggregateExpression" + // InternalSolverLanguageParser.g:2437:1: entryRuleBracedAggregateExpression returns [EObject current=null] : iv_ruleBracedAggregateExpression= ruleBracedAggregateExpression EOF ; + public final EObject entryRuleBracedAggregateExpression() throws RecognitionException { EObject current = null; - EObject iv_ruleAggregationExpression = null; + EObject iv_ruleBracedAggregateExpression = null; try { - // InternalSolverLanguageParser.g:2086:62: (iv_ruleAggregationExpression= ruleAggregationExpression EOF ) - // InternalSolverLanguageParser.g:2087:2: iv_ruleAggregationExpression= ruleAggregationExpression EOF + // InternalSolverLanguageParser.g:2437:66: (iv_ruleBracedAggregateExpression= ruleBracedAggregateExpression EOF ) + // InternalSolverLanguageParser.g:2438:2: iv_ruleBracedAggregateExpression= ruleBracedAggregateExpression EOF { - newCompositeNode(grammarAccess.getAggregationExpressionRule()); + newCompositeNode(grammarAccess.getBracedAggregateExpressionRule()); pushFollow(FOLLOW_1); - iv_ruleAggregationExpression=ruleAggregationExpression(); + iv_ruleBracedAggregateExpression=ruleBracedAggregateExpression(); state._fsp--; - current =iv_ruleAggregationExpression; + current =iv_ruleBracedAggregateExpression; match(input,EOF,FOLLOW_2); } @@ -5191,37 +6100,37 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleAggregationExpression" + // $ANTLR end "entryRuleBracedAggregateExpression" - // $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 { + // $ANTLR start "ruleBracedAggregateExpression" + // InternalSolverLanguageParser.g:2444:1: ruleBracedAggregateExpression returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression | this_Aggregation_1= ruleAggregation | this_Count_2= ruleCount ) ; + public final EObject ruleBracedAggregateExpression() throws RecognitionException { EObject current = null; EObject this_AtomicExpression_0 = null; - EObject this_QuantifiedExpression_1 = null; + EObject this_Aggregation_1 = null; - EObject this_Aggregation_2 = null; + EObject this_Count_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:2450:2: ( (this_AtomicExpression_0= ruleAtomicExpression | this_Aggregation_1= ruleAggregation | this_Count_2= ruleCount ) ) + // InternalSolverLanguageParser.g:2451:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Aggregation_1= ruleAggregation | this_Count_2= ruleCount ) { - // 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) { + // InternalSolverLanguageParser.g:2451:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Aggregation_1= ruleAggregation | this_Count_2= ruleCount ) + int alt30=3; + alt30 = dfa30.predict(input); + switch (alt30) { case 1 : - // InternalSolverLanguageParser.g:2101:3: this_AtomicExpression_0= ruleAtomicExpression + // InternalSolverLanguageParser.g:2452:3: this_AtomicExpression_0= ruleAtomicExpression { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); + newCompositeNode(grammarAccess.getBracedAggregateExpressionAccess().getAtomicExpressionParserRuleCall_0()); pushFollow(FOLLOW_2); this_AtomicExpression_0=ruleAtomicExpression(); @@ -5236,248 +6145,41 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:2110:3: this_QuantifiedExpression_1= ruleQuantifiedExpression + // InternalSolverLanguageParser.g:2461:3: this_Aggregation_1= ruleAggregation { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1()); + newCompositeNode(grammarAccess.getBracedAggregateExpressionAccess().getAggregationParserRuleCall_1()); pushFollow(FOLLOW_2); - this_QuantifiedExpression_1=ruleQuantifiedExpression(); + this_Aggregation_1=ruleAggregation(); state._fsp--; - current = this_QuantifiedExpression_1; + current = this_Aggregation_1; afterParserOrEnumRuleCall(); } break; case 3 : - // InternalSolverLanguageParser.g:2119:3: this_Aggregation_2= ruleAggregation + // InternalSolverLanguageParser.g:2470:3: this_Count_2= ruleCount { - newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); + newCompositeNode(grammarAccess.getBracedAggregateExpressionAccess().getCountParserRuleCall_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 "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_ruleLocalVariables = null; - - - try { - // InternalSolverLanguageParser.g:2131:55: (iv_ruleLocalVariables= ruleLocalVariables EOF ) - // InternalSolverLanguageParser.g:2132:2: iv_ruleLocalVariables= ruleLocalVariables EOF - { - newCompositeNode(grammarAccess.getLocalVariablesRule()); - pushFollow(FOLLOW_1); - iv_ruleLocalVariables=ruleLocalVariables(); - - state._fsp--; - - current =iv_ruleLocalVariables; - match(input,EOF,FOLLOW_2); - - } - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "entryRuleLocalVariables" - - - // $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; - - Token otherlv_1=null; - Token otherlv_3=null; - Token otherlv_5=null; - EObject lv_variables_2_0 = null; - - EObject lv_variables_4_0 = null; - - - - enterRule(); - - try { - // 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: - { - - current = forceCreateModelElement( - grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0(), - current); - - - } - - 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: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.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_0_0()); - - pushFollow(FOLLOW_35); - lv_variables_2_0=ruleVariable(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getLocalVariablesRule()); - } - add( - current, - "variables", - lv_variables_2_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); - afterParserOrEnumRuleCall(); - - - } - - - } - - // InternalSolverLanguageParser.g:2177:4: (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* - loop24: - do { - int alt24=2; - int LA24_0 = input.LA(1); - - if ( (LA24_0==Comma) ) { - alt24=1; - } - - - switch (alt24) { - case 1 : - // InternalSolverLanguageParser.g:2178:5: otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) - { - otherlv_3=(Token)match(input,Comma,FOLLOW_8); - - 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); - + this_Count_2=ruleCount(); - } - break; + state._fsp--; - } - otherlv_5=(Token)match(input,RightSquareBracket,FOLLOW_2); + current = this_Count_2; + afterParserOrEnumRuleCall(); + - newLeafNode(otherlv_5, grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3()); - + } + break; } @@ -5497,28 +6199,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleLocalVariables" + // $ANTLR end "ruleBracedAggregateExpression" - // $ANTLR start "entryRuleQuantifiedExpression" - // InternalSolverLanguageParser.g:2211:1: entryRuleQuantifiedExpression returns [EObject current=null] : iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF ; - public final EObject entryRuleQuantifiedExpression() throws RecognitionException { + // $ANTLR start "entryRuleAggregation" + // InternalSolverLanguageParser.g:2482:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ; + public final EObject entryRuleAggregation() throws RecognitionException { EObject current = null; - EObject iv_ruleQuantifiedExpression = null; + EObject iv_ruleAggregation = null; try { - // InternalSolverLanguageParser.g:2211:61: (iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF ) - // InternalSolverLanguageParser.g:2212:2: iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF + // InternalSolverLanguageParser.g:2482:52: (iv_ruleAggregation= ruleAggregation EOF ) + // InternalSolverLanguageParser.g:2483:2: iv_ruleAggregation= ruleAggregation EOF { - newCompositeNode(grammarAccess.getQuantifiedExpressionRule()); + newCompositeNode(grammarAccess.getAggregationRule()); pushFollow(FOLLOW_1); - iv_ruleQuantifiedExpression=ruleQuantifiedExpression(); + iv_ruleAggregation=ruleAggregation(); state._fsp--; - current =iv_ruleQuantifiedExpression; + current =iv_ruleAggregation; match(input,EOF,FOLLOW_2); } @@ -5533,56 +6235,52 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleQuantifiedExpression" + // $ANTLR end "entryRuleAggregation" - // $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 { + // $ANTLR start "ruleAggregation" + // InternalSolverLanguageParser.g:2489:1: ruleAggregation returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= LeftCurlyBracket ( (lv_value_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) ; + public final EObject ruleAggregation() throws RecognitionException { EObject current = null; - Token otherlv_2=null; - Token otherlv_4=null; - Enumerator lv_quantifier_0_0 = null; - - EObject lv_localVariables_1_0 = null; + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + EObject lv_value_2_0 = null; - EObject lv_body_3_0 = null; + EObject lv_condition_4_0 = null; enterRule(); try { - // 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:2495:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= LeftCurlyBracket ( (lv_value_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) ) + // InternalSolverLanguageParser.g:2496:2: ( ( ( ruleQualifiedName ) ) otherlv_1= LeftCurlyBracket ( (lv_value_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= 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:2496:2: ( ( ( ruleQualifiedName ) ) otherlv_1= LeftCurlyBracket ( (lv_value_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) + // InternalSolverLanguageParser.g:2497:3: ( ( ruleQualifiedName ) ) otherlv_1= LeftCurlyBracket ( (lv_value_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket { - // InternalSolverLanguageParser.g:2226:3: ( (lv_quantifier_0_0= ruleQuantifier ) ) - // InternalSolverLanguageParser.g:2227:4: (lv_quantifier_0_0= ruleQuantifier ) + // InternalSolverLanguageParser.g:2497:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2498:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:2227:4: (lv_quantifier_0_0= ruleQuantifier ) - // InternalSolverLanguageParser.g:2228:5: lv_quantifier_0_0= ruleQuantifier + // InternalSolverLanguageParser.g:2498:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2499:5: ruleQualifiedName { - newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0()); + if (current==null) { + current = createModelElement(grammarAccess.getAggregationRule()); + } + + + newCompositeNode(grammarAccess.getAggregationAccess().getOpSymbolCrossReference_0_0()); - pushFollow(FOLLOW_36); - lv_quantifier_0_0=ruleQuantifier(); + pushFollow(FOLLOW_20); + ruleQualifiedName(); state._fsp--; - if (current==null) { - current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); - } - set( - current, - "quantifier", - lv_quantifier_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier"); afterParserOrEnumRuleCall(); @@ -5591,74 +6289,67 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // 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 - { + otherlv_1=(Token)match(input,LeftCurlyBracket,FOLLOW_10); - newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0()); - - pushFollow(FOLLOW_14); - lv_localVariables_1_0=ruleLocalVariables(); + newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); + + // InternalSolverLanguageParser.g:2517:3: ( (lv_value_2_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:2518:4: (lv_value_2_0= ruleExpression ) + { + // InternalSolverLanguageParser.g:2518:4: (lv_value_2_0= ruleExpression ) + // InternalSolverLanguageParser.g:2519:5: lv_value_2_0= ruleExpression + { - state._fsp--; + newCompositeNode(grammarAccess.getAggregationAccess().getValueExpressionParserRuleCall_2_0()); + + pushFollow(FOLLOW_40); + lv_value_2_0=ruleExpression(); + state._fsp--; - if (current==null) { - current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); - } - set( - current, - "localVariables", - lv_localVariables_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables"); - afterParserOrEnumRuleCall(); - - } + if (current==null) { + current = createModelElementForParent(grammarAccess.getAggregationRule()); + } + set( + current, + "value", + lv_value_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + afterParserOrEnumRuleCall(); + + } - } - break; } - otherlv_2=(Token)match(input,LeftCurlyBracket,FOLLOW_6); + otherlv_3=(Token)match(input,VerticalLine,FOLLOW_10); - newLeafNode(otherlv_2, grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2()); + newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); - // InternalSolverLanguageParser.g:2268:3: ( (lv_body_3_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:2269:4: (lv_body_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:2540:3: ( (lv_condition_4_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:2541:4: (lv_condition_4_0= ruleExpression ) { - // InternalSolverLanguageParser.g:2269:4: (lv_body_3_0= ruleExpression ) - // InternalSolverLanguageParser.g:2270:5: lv_body_3_0= ruleExpression + // InternalSolverLanguageParser.g:2541:4: (lv_condition_4_0= ruleExpression ) + // InternalSolverLanguageParser.g:2542:5: lv_condition_4_0= ruleExpression { - newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); - pushFollow(FOLLOW_16); - lv_body_3_0=ruleExpression(); + pushFollow(FOLLOW_22); + lv_condition_4_0=ruleExpression(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); + current = createModelElementForParent(grammarAccess.getAggregationRule()); } set( current, - "body", - lv_body_3_0, + "condition", + lv_condition_4_0, "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); afterParserOrEnumRuleCall(); @@ -5668,9 +6359,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_4=(Token)match(input,RightCurlyBracket,FOLLOW_2); + otherlv_5=(Token)match(input,RightCurlyBracket,FOLLOW_2); - newLeafNode(otherlv_4, grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4()); + newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); } @@ -5691,28 +6382,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleQuantifiedExpression" + // $ANTLR end "ruleAggregation" - // $ANTLR start "entryRuleAggregation" - // InternalSolverLanguageParser.g:2295:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ; - public final EObject entryRuleAggregation() throws RecognitionException { + // $ANTLR start "entryRuleCount" + // InternalSolverLanguageParser.g:2567:1: entryRuleCount returns [EObject current=null] : iv_ruleCount= ruleCount EOF ; + public final EObject entryRuleCount() throws RecognitionException { EObject current = null; - EObject iv_ruleAggregation = null; + EObject iv_ruleCount = null; try { - // InternalSolverLanguageParser.g:2295:52: (iv_ruleAggregation= ruleAggregation EOF ) - // InternalSolverLanguageParser.g:2296:2: iv_ruleAggregation= ruleAggregation EOF + // InternalSolverLanguageParser.g:2567:46: (iv_ruleCount= ruleCount EOF ) + // InternalSolverLanguageParser.g:2568:2: iv_ruleCount= ruleCount EOF { - newCompositeNode(grammarAccess.getAggregationRule()); + newCompositeNode(grammarAccess.getCountRule()); pushFollow(FOLLOW_1); - iv_ruleAggregation=ruleAggregation(); + iv_ruleCount=ruleCount(); state._fsp--; - current =iv_ruleAggregation; + current =iv_ruleCount; match(input,EOF,FOLLOW_2); } @@ -5727,130 +6418,60 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleAggregation" + // $ANTLR end "entryRuleCount" - // $ANTLR start "ruleAggregation" - // 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 { + // $ANTLR start "ruleCount" + // InternalSolverLanguageParser.g:2574:1: ruleCount returns [EObject current=null] : (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_condition_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) ; + public final EObject ruleCount() throws RecognitionException { EObject current = null; - Token otherlv_2=null; - Token otherlv_4=null; - Token otherlv_6=null; - EObject lv_localVariables_1_0 = null; - - EObject lv_body_3_0 = null; - - EObject lv_condition_5_0 = null; + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_3=null; + EObject lv_condition_2_0 = null; enterRule(); try { - // 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: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:2580:2: ( (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_condition_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) ) + // InternalSolverLanguageParser.g:2581:2: (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_condition_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) { - // InternalSolverLanguageParser.g:2310:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:2311:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2581:2: (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_condition_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) + // InternalSolverLanguageParser.g:2582:3: otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_condition_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket { - // InternalSolverLanguageParser.g:2311:4: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:2312:5: ruleQualifiedName - { - - if (current==null) { - current = createModelElement(grammarAccess.getAggregationRule()); - } - - - newCompositeNode(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0()); - - pushFollow(FOLLOW_36); - ruleQualifiedName(); - - state._fsp--; - - - afterParserOrEnumRuleCall(); - - - } - - - } - - // 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_0=(Token)match(input,Count,FOLLOW_20); - otherlv_2=(Token)match(input,LeftCurlyBracket,FOLLOW_6); + newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); + + otherlv_1=(Token)match(input,LeftCurlyBracket,FOLLOW_10); - newLeafNode(otherlv_2, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2()); + newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); - // InternalSolverLanguageParser.g:2349:3: ( (lv_body_3_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:2350:4: (lv_body_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:2590:3: ( (lv_condition_2_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:2591:4: (lv_condition_2_0= ruleExpression ) { - // InternalSolverLanguageParser.g:2350:4: (lv_body_3_0= ruleExpression ) - // InternalSolverLanguageParser.g:2351:5: lv_body_3_0= ruleExpression + // InternalSolverLanguageParser.g:2591:4: (lv_condition_2_0= ruleExpression ) + // InternalSolverLanguageParser.g:2592:5: lv_condition_2_0= ruleExpression { - newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getCountAccess().getConditionExpressionParserRuleCall_2_0()); - pushFollow(FOLLOW_37); - lv_body_3_0=ruleExpression(); + pushFollow(FOLLOW_22); + lv_condition_2_0=ruleExpression(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getAggregationRule()); + current = createModelElementForParent(grammarAccess.getCountRule()); } set( current, - "body", - lv_body_3_0, + "condition", + lv_condition_2_0, "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); afterParserOrEnumRuleCall(); @@ -5860,61 +6481,9 @@ 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(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getAggregationRule()); - } - set( - current, - "condition", - lv_condition_5_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); - afterParserOrEnumRuleCall(); - - - } - - - } - - - } - break; - - } - - otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_2); + otherlv_3=(Token)match(input,RightCurlyBracket,FOLLOW_2); - newLeafNode(otherlv_6, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); + newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); } @@ -5935,11 +6504,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleAggregation" + // $ANTLR end "ruleCount" // $ANTLR start "entryRuleAtomicExpression" - // InternalSolverLanguageParser.g:2401:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ; + // InternalSolverLanguageParser.g:2617:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ; public final EObject entryRuleAtomicExpression() throws RecognitionException { EObject current = null; @@ -5947,8 +6516,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2401:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF ) - // InternalSolverLanguageParser.g:2402:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF + // InternalSolverLanguageParser.g:2617:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF ) + // InternalSolverLanguageParser.g:2618:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF { newCompositeNode(grammarAccess.getAtomicExpressionRule()); pushFollow(FOLLOW_1); @@ -5975,7 +6544,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAtomicExpression" - // 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 ) ) ; + // InternalSolverLanguageParser.g:2624: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; @@ -5996,15 +6565,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:2630: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:2631: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 ) ) - int alt29=5; - alt29 = dfa29.predict(input); - switch (alt29) { + // InternalSolverLanguageParser.g:2631: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 alt31=5; + alt31 = dfa31.predict(input); + switch (alt31) { case 1 : - // InternalSolverLanguageParser.g:2416:3: this_Reference_0= ruleReference + // InternalSolverLanguageParser.g:2632:3: this_Reference_0= ruleReference { newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0()); @@ -6022,7 +6591,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:2425:3: this_Call_1= ruleCall + // InternalSolverLanguageParser.g:2641:3: this_Call_1= ruleCall { newCompositeNode(grammarAccess.getAtomicExpressionAccess().getCallParserRuleCall_1()); @@ -6040,7 +6609,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:2434:3: this_Interval_2= ruleInterval + // InternalSolverLanguageParser.g:2650:3: this_Interval_2= ruleInterval { newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_2()); @@ -6058,7 +6627,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguageParser.g:2443:3: this_Literal_3= ruleLiteral + // InternalSolverLanguageParser.g:2659:3: this_Literal_3= ruleLiteral { newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_3()); @@ -6076,19 +6645,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 5 : - // InternalSolverLanguageParser.g:2452:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) + // InternalSolverLanguageParser.g:2668: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:2453:4: otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis + // InternalSolverLanguageParser.g:2668:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) + // InternalSolverLanguageParser.g:2669:4: otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis { - otherlv_4=(Token)match(input,LeftParenthesis,FOLLOW_6); + otherlv_4=(Token)match(input,LeftParenthesis,FOLLOW_10); newLeafNode(otherlv_4, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_4_0()); newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_4_1()); - pushFollow(FOLLOW_38); + pushFollow(FOLLOW_41); this_Expression_5=ruleExpression(); state._fsp--; @@ -6130,7 +6699,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleCall" - // InternalSolverLanguageParser.g:2474:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ; + // InternalSolverLanguageParser.g:2690:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ; public final EObject entryRuleCall() throws RecognitionException { EObject current = null; @@ -6138,8 +6707,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2474:45: (iv_ruleCall= ruleCall EOF ) - // InternalSolverLanguageParser.g:2475:2: iv_ruleCall= ruleCall EOF + // InternalSolverLanguageParser.g:2690:45: (iv_ruleCall= ruleCall EOF ) + // InternalSolverLanguageParser.g:2691:2: iv_ruleCall= ruleCall EOF { newCompositeNode(grammarAccess.getCallRule()); pushFollow(FOLLOW_1); @@ -6166,37 +6735,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleCall" - // 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 ) ) ) ; + // InternalSolverLanguageParser.g:2697:1: ruleCall returns [EObject current=null] : ( ( (lv_functor_0_0= ruleReference ) ) ( (lv_argumentList_1_0= ruleArgumentList ) ) ) ; public final EObject ruleCall() throws RecognitionException { EObject current = null; - Token lv_transitiveClosure_1_0=null; - Token lv_reflexiveTransitiveClosure_2_0=null; EObject lv_functor_0_0 = null; - EObject lv_argumentList_3_0 = null; + EObject lv_argumentList_1_0 = null; enterRule(); try { - // 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:2703:2: ( ( ( (lv_functor_0_0= ruleReference ) ) ( (lv_argumentList_1_0= ruleArgumentList ) ) ) ) + // InternalSolverLanguageParser.g:2704:2: ( ( (lv_functor_0_0= ruleReference ) ) ( (lv_argumentList_1_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:2704:2: ( ( (lv_functor_0_0= ruleReference ) ) ( (lv_argumentList_1_0= ruleArgumentList ) ) ) + // InternalSolverLanguageParser.g:2705:3: ( (lv_functor_0_0= ruleReference ) ) ( (lv_argumentList_1_0= ruleArgumentList ) ) { - // InternalSolverLanguageParser.g:2489:3: ( (lv_functor_0_0= ruleReference ) ) - // InternalSolverLanguageParser.g:2490:4: (lv_functor_0_0= ruleReference ) + // InternalSolverLanguageParser.g:2705:3: ( (lv_functor_0_0= ruleReference ) ) + // InternalSolverLanguageParser.g:2706:4: (lv_functor_0_0= ruleReference ) { - // InternalSolverLanguageParser.g:2490:4: (lv_functor_0_0= ruleReference ) - // InternalSolverLanguageParser.g:2491:5: lv_functor_0_0= ruleReference + // InternalSolverLanguageParser.g:2706:4: (lv_functor_0_0= ruleReference ) + // InternalSolverLanguageParser.g:2707:5: lv_functor_0_0= ruleReference { newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); - pushFollow(FOLLOW_39); + pushFollow(FOLLOW_15); lv_functor_0_0=ruleReference(); state._fsp--; @@ -6209,104 +6776,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current, "functor", lv_functor_0_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Reference"); - afterParserOrEnumRuleCall(); - - - } - - - } - - // 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 ( (LA30_0==RULE_TRANSITIVE_CLOSURE) ) { - alt30=1; - } - else if ( (LA30_0==RULE_REFLEXIVE_TRANSITIVE_CLOSURE) ) { - alt30=2; - } - switch (alt30) { - case 1 : - // InternalSolverLanguageParser.g:2509:4: ( (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: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); - - newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getCallAccess().getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getCallRule()); - } - setWithLastConsumed( - current, - "transitiveClosure", - true, - "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE"); - - - } - - - } - - - } - break; - case 2 : - // InternalSolverLanguageParser.g:2528:4: ( (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: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); - - newLeafNode(lv_reflexiveTransitiveClosure_2_0, grammarAccess.getCallAccess().getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getCallRule()); - } - setWithLastConsumed( - current, - "reflexiveTransitiveClosure", - true, - "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE"); - - - } - - - } + "org.eclipse.viatra.solver.language.SolverLanguage.Reference"); + afterParserOrEnumRuleCall(); + + } - } - break; } - // InternalSolverLanguageParser.g:2547:3: ( (lv_argumentList_3_0= ruleArgumentList ) ) - // InternalSolverLanguageParser.g:2548:4: (lv_argumentList_3_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:2724:3: ( (lv_argumentList_1_0= ruleArgumentList ) ) + // InternalSolverLanguageParser.g:2725:4: (lv_argumentList_1_0= ruleArgumentList ) { - // InternalSolverLanguageParser.g:2548:4: (lv_argumentList_3_0= ruleArgumentList ) - // InternalSolverLanguageParser.g:2549:5: lv_argumentList_3_0= ruleArgumentList + // InternalSolverLanguageParser.g:2725:4: (lv_argumentList_1_0= ruleArgumentList ) + // InternalSolverLanguageParser.g:2726:5: lv_argumentList_1_0= ruleArgumentList { - newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_1_0()); pushFollow(FOLLOW_2); - lv_argumentList_3_0=ruleArgumentList(); + lv_argumentList_1_0=ruleArgumentList(); state._fsp--; @@ -6317,7 +6806,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { set( current, "argumentList", - lv_argumentList_3_0, + lv_argumentList_1_0, "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); afterParserOrEnumRuleCall(); @@ -6350,7 +6839,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleArgumentList" - // InternalSolverLanguageParser.g:2570:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ; + // InternalSolverLanguageParser.g:2747:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ; public final EObject entryRuleArgumentList() throws RecognitionException { EObject current = null; @@ -6358,8 +6847,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2570:53: (iv_ruleArgumentList= ruleArgumentList EOF ) - // InternalSolverLanguageParser.g:2571:2: iv_ruleArgumentList= ruleArgumentList EOF + // InternalSolverLanguageParser.g:2747:53: (iv_ruleArgumentList= ruleArgumentList EOF ) + // InternalSolverLanguageParser.g:2748:2: iv_ruleArgumentList= ruleArgumentList EOF { newCompositeNode(grammarAccess.getArgumentListRule()); pushFollow(FOLLOW_1); @@ -6386,7 +6875,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleArgumentList" - // 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 ) ; + // InternalSolverLanguageParser.g:2754: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; @@ -6402,14 +6891,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:2760:2: ( ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ) + // InternalSolverLanguageParser.g:2761: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:2585:3: () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis + // InternalSolverLanguageParser.g:2761:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) + // InternalSolverLanguageParser.g:2762:3: () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis { - // InternalSolverLanguageParser.g:2585:3: () - // InternalSolverLanguageParser.g:2586:4: + // InternalSolverLanguageParser.g:2762:3: () + // InternalSolverLanguageParser.g:2763:4: { current = forceCreateModelElement( @@ -6419,31 +6908,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_1=(Token)match(input,LeftParenthesis,FOLLOW_40); + otherlv_1=(Token)match(input,LeftParenthesis,FOLLOW_42); newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_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); + // InternalSolverLanguageParser.g:2773:3: ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? + int alt33=2; + int LA33_0 = input.LA(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; + if ( (LA33_0==Unknown||LA33_0==Object||(LA33_0>=Count && LA33_0<=False)||LA33_0==True||LA33_0==Inf||(LA33_0>=ExclamationMark && LA33_0<=LeftParenthesis)||(LA33_0>=Asterisk && LA33_0<=PlusSign)||LA33_0==HyphenMinus||(LA33_0>=QuestionMark && LA33_0<=LeftSquareBracket)||(LA33_0>=Tilde && LA33_0<=RULE_QUOTED_ID)||(LA33_0>=RULE_ID && LA33_0<=RULE_INT)) ) { + alt33=1; } - switch (alt32) { + switch (alt33) { case 1 : - // InternalSolverLanguageParser.g:2597:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* + // InternalSolverLanguageParser.g:2774:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* { - // InternalSolverLanguageParser.g:2597:4: ( (lv_arguments_2_0= ruleArgument ) ) - // InternalSolverLanguageParser.g:2598:5: (lv_arguments_2_0= ruleArgument ) + // InternalSolverLanguageParser.g:2774:4: ( (lv_arguments_2_0= ruleArgument ) ) + // InternalSolverLanguageParser.g:2775:5: (lv_arguments_2_0= ruleArgument ) { - // InternalSolverLanguageParser.g:2598:5: (lv_arguments_2_0= ruleArgument ) - // InternalSolverLanguageParser.g:2599:6: lv_arguments_2_0= ruleArgument + // InternalSolverLanguageParser.g:2775:5: (lv_arguments_2_0= ruleArgument ) + // InternalSolverLanguageParser.g:2776:6: lv_arguments_2_0= ruleArgument { newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); - pushFollow(FOLLOW_41); + pushFollow(FOLLOW_43); lv_arguments_2_0=ruleArgument(); state._fsp--; @@ -6465,35 +6954,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:2616:4: (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* - loop31: + // InternalSolverLanguageParser.g:2793:4: (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* + loop32: do { - int alt31=2; - int LA31_0 = input.LA(1); + int alt32=2; + int LA32_0 = input.LA(1); - if ( (LA31_0==Comma) ) { - alt31=1; + if ( (LA32_0==Comma) ) { + alt32=1; } - switch (alt31) { + switch (alt32) { case 1 : - // InternalSolverLanguageParser.g:2617:5: otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) + // InternalSolverLanguageParser.g:2794:5: otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) { - otherlv_3=(Token)match(input,Comma,FOLLOW_42); + otherlv_3=(Token)match(input,Comma,FOLLOW_44); newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); - // InternalSolverLanguageParser.g:2621:5: ( (lv_arguments_4_0= ruleArgument ) ) - // InternalSolverLanguageParser.g:2622:6: (lv_arguments_4_0= ruleArgument ) + // InternalSolverLanguageParser.g:2798:5: ( (lv_arguments_4_0= ruleArgument ) ) + // InternalSolverLanguageParser.g:2799:6: (lv_arguments_4_0= ruleArgument ) { - // InternalSolverLanguageParser.g:2622:6: (lv_arguments_4_0= ruleArgument ) - // InternalSolverLanguageParser.g:2623:7: lv_arguments_4_0= ruleArgument + // InternalSolverLanguageParser.g:2799:6: (lv_arguments_4_0= ruleArgument ) + // InternalSolverLanguageParser.g:2800:7: lv_arguments_4_0= ruleArgument { newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); - pushFollow(FOLLOW_41); + pushFollow(FOLLOW_43); lv_arguments_4_0=ruleArgument(); state._fsp--; @@ -6520,7 +7009,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop31; + break loop32; } } while (true); @@ -6557,7 +7046,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleArgument" - // InternalSolverLanguageParser.g:2650:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ; + // InternalSolverLanguageParser.g:2827:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ; public final EObject entryRuleArgument() throws RecognitionException { EObject current = null; @@ -6565,8 +7054,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2650:49: (iv_ruleArgument= ruleArgument EOF ) - // InternalSolverLanguageParser.g:2651:2: iv_ruleArgument= ruleArgument EOF + // InternalSolverLanguageParser.g:2827:49: (iv_ruleArgument= ruleArgument EOF ) + // InternalSolverLanguageParser.g:2828:2: iv_ruleArgument= ruleArgument EOF { newCompositeNode(grammarAccess.getArgumentRule()); pushFollow(FOLLOW_1); @@ -6593,7 +7082,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleArgument" - // 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 ) ; + // InternalSolverLanguageParser.g:2834:1: ruleArgument returns [EObject current=null] : (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedVariableArgument_2= ruleTypedVariableArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ; public final EObject ruleArgument() throws RecognitionException { EObject current = null; @@ -6601,7 +7090,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { EObject this_StarArgument_1 = null; - EObject this_TypedArgument_2 = null; + EObject this_TypedVariableArgument_2 = null; EObject this_TypedStarArgument_3 = null; @@ -6610,15 +7099,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:2840:2: ( (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedVariableArgument_2= ruleTypedVariableArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ) + // InternalSolverLanguageParser.g:2841:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedVariableArgument_2= ruleTypedVariableArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) { - // 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) { + // InternalSolverLanguageParser.g:2841:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedVariableArgument_2= ruleTypedVariableArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) + int alt34=4; + alt34 = dfa34.predict(input); + switch (alt34) { case 1 : - // InternalSolverLanguageParser.g:2665:3: this_ExpressionArgument_0= ruleExpressionArgument + // InternalSolverLanguageParser.g:2842:3: this_ExpressionArgument_0= ruleExpressionArgument { newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); @@ -6636,7 +7125,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:2674:3: this_StarArgument_1= ruleStarArgument + // InternalSolverLanguageParser.g:2851:3: this_StarArgument_1= ruleStarArgument { newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); @@ -6654,25 +7143,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:2683:3: this_TypedArgument_2= ruleTypedArgument + // InternalSolverLanguageParser.g:2860:3: this_TypedVariableArgument_2= ruleTypedVariableArgument { - newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); + newCompositeNode(grammarAccess.getArgumentAccess().getTypedVariableArgumentParserRuleCall_2()); pushFollow(FOLLOW_2); - this_TypedArgument_2=ruleTypedArgument(); + this_TypedVariableArgument_2=ruleTypedVariableArgument(); state._fsp--; - current = this_TypedArgument_2; + current = this_TypedVariableArgument_2; afterParserOrEnumRuleCall(); } break; case 4 : - // InternalSolverLanguageParser.g:2692:3: this_TypedStarArgument_3= ruleTypedStarArgument + // InternalSolverLanguageParser.g:2869:3: this_TypedStarArgument_3= ruleTypedStarArgument { newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); @@ -6712,7 +7201,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleExpressionArgument" - // InternalSolverLanguageParser.g:2704:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ; + // InternalSolverLanguageParser.g:2881:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ; public final EObject entryRuleExpressionArgument() throws RecognitionException { EObject current = null; @@ -6720,8 +7209,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2704:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF ) - // InternalSolverLanguageParser.g:2705:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF + // InternalSolverLanguageParser.g:2881:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF ) + // InternalSolverLanguageParser.g:2882:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF { newCompositeNode(grammarAccess.getExpressionArgumentRule()); pushFollow(FOLLOW_1); @@ -6748,31 +7237,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExpressionArgument" - // InternalSolverLanguageParser.g:2711:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_body_0_0= ruleComparisonExpression ) ) ; + // InternalSolverLanguageParser.g:2888:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_expression_0_0= ruleComparisonExpression ) ) ; public final EObject ruleExpressionArgument() throws RecognitionException { EObject current = null; - EObject lv_body_0_0 = null; + EObject lv_expression_0_0 = null; enterRule(); try { - // InternalSolverLanguageParser.g:2717:2: ( ( (lv_body_0_0= ruleComparisonExpression ) ) ) - // InternalSolverLanguageParser.g:2718:2: ( (lv_body_0_0= ruleComparisonExpression ) ) + // InternalSolverLanguageParser.g:2894:2: ( ( (lv_expression_0_0= ruleComparisonExpression ) ) ) + // InternalSolverLanguageParser.g:2895:2: ( (lv_expression_0_0= ruleComparisonExpression ) ) { - // InternalSolverLanguageParser.g:2718:2: ( (lv_body_0_0= ruleComparisonExpression ) ) - // InternalSolverLanguageParser.g:2719:3: (lv_body_0_0= ruleComparisonExpression ) + // InternalSolverLanguageParser.g:2895:2: ( (lv_expression_0_0= ruleComparisonExpression ) ) + // InternalSolverLanguageParser.g:2896:3: (lv_expression_0_0= ruleComparisonExpression ) { - // InternalSolverLanguageParser.g:2719:3: (lv_body_0_0= ruleComparisonExpression ) - // InternalSolverLanguageParser.g:2720:4: lv_body_0_0= ruleComparisonExpression + // InternalSolverLanguageParser.g:2896:3: (lv_expression_0_0= ruleComparisonExpression ) + // InternalSolverLanguageParser.g:2897:4: lv_expression_0_0= ruleComparisonExpression { - newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); + newCompositeNode(grammarAccess.getExpressionArgumentAccess().getExpressionComparisonExpressionParserRuleCall_0()); pushFollow(FOLLOW_2); - lv_body_0_0=ruleComparisonExpression(); + lv_expression_0_0=ruleComparisonExpression(); state._fsp--; @@ -6782,8 +7271,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } set( current, - "body", - lv_body_0_0, + "expression", + lv_expression_0_0, "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); afterParserOrEnumRuleCall(); @@ -6813,7 +7302,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleStarArgument" - // InternalSolverLanguageParser.g:2740:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ; + // InternalSolverLanguageParser.g:2917:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ; public final EObject entryRuleStarArgument() throws RecognitionException { EObject current = null; @@ -6821,8 +7310,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2740:53: (iv_ruleStarArgument= ruleStarArgument EOF ) - // InternalSolverLanguageParser.g:2741:2: iv_ruleStarArgument= ruleStarArgument EOF + // InternalSolverLanguageParser.g:2917:53: (iv_ruleStarArgument= ruleStarArgument EOF ) + // InternalSolverLanguageParser.g:2918:2: iv_ruleStarArgument= ruleStarArgument EOF { newCompositeNode(grammarAccess.getStarArgumentRule()); pushFollow(FOLLOW_1); @@ -6849,7 +7338,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleStarArgument" - // InternalSolverLanguageParser.g:2747:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= Asterisk ) ; + // InternalSolverLanguageParser.g:2924:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= Asterisk ) ; public final EObject ruleStarArgument() throws RecognitionException { EObject current = null; @@ -6859,14 +7348,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:2753:2: ( ( () otherlv_1= Asterisk ) ) - // InternalSolverLanguageParser.g:2754:2: ( () otherlv_1= Asterisk ) + // InternalSolverLanguageParser.g:2930:2: ( ( () otherlv_1= Asterisk ) ) + // InternalSolverLanguageParser.g:2931:2: ( () otherlv_1= Asterisk ) { - // InternalSolverLanguageParser.g:2754:2: ( () otherlv_1= Asterisk ) - // InternalSolverLanguageParser.g:2755:3: () otherlv_1= Asterisk + // InternalSolverLanguageParser.g:2931:2: ( () otherlv_1= Asterisk ) + // InternalSolverLanguageParser.g:2932:3: () otherlv_1= Asterisk { - // InternalSolverLanguageParser.g:2755:3: () - // InternalSolverLanguageParser.g:2756:4: + // InternalSolverLanguageParser.g:2932:3: () + // InternalSolverLanguageParser.g:2933:4: { current = forceCreateModelElement( @@ -6902,25 +7391,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR end "ruleStarArgument" - // $ANTLR start "entryRuleTypedArgument" - // InternalSolverLanguageParser.g:2770:1: entryRuleTypedArgument returns [EObject current=null] : iv_ruleTypedArgument= ruleTypedArgument EOF ; - public final EObject entryRuleTypedArgument() throws RecognitionException { + // $ANTLR start "entryRuleTypedVariableArgument" + // InternalSolverLanguageParser.g:2947:1: entryRuleTypedVariableArgument returns [EObject current=null] : iv_ruleTypedVariableArgument= ruleTypedVariableArgument EOF ; + public final EObject entryRuleTypedVariableArgument() throws RecognitionException { EObject current = null; - EObject iv_ruleTypedArgument = null; + EObject iv_ruleTypedVariableArgument = null; try { - // InternalSolverLanguageParser.g:2770:54: (iv_ruleTypedArgument= ruleTypedArgument EOF ) - // InternalSolverLanguageParser.g:2771:2: iv_ruleTypedArgument= ruleTypedArgument EOF + // InternalSolverLanguageParser.g:2947:62: (iv_ruleTypedVariableArgument= ruleTypedVariableArgument EOF ) + // InternalSolverLanguageParser.g:2948:2: iv_ruleTypedVariableArgument= ruleTypedVariableArgument EOF { - newCompositeNode(grammarAccess.getTypedArgumentRule()); + newCompositeNode(grammarAccess.getTypedVariableArgumentRule()); pushFollow(FOLLOW_1); - iv_ruleTypedArgument=ruleTypedArgument(); + iv_ruleTypedVariableArgument=ruleTypedVariableArgument(); state._fsp--; - current =iv_ruleTypedArgument; + current =iv_ruleTypedVariableArgument; match(input,EOF,FOLLOW_2); } @@ -6935,44 +7424,51 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleTypedArgument" + // $ANTLR end "entryRuleTypedVariableArgument" - // $ANTLR start "ruleTypedArgument" - // InternalSolverLanguageParser.g:2777:1: ruleTypedArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ; - public final EObject ruleTypedArgument() throws RecognitionException { + // $ANTLR start "ruleTypedVariableArgument" + // InternalSolverLanguageParser.g:2954:1: ruleTypedVariableArgument returns [EObject current=null] : ( ( (lv_typeReference_0_0= ruleTypeReference ) ) ( (lv_name_1_0= RULE_ID ) ) ) ; + public final EObject ruleTypedVariableArgument() throws RecognitionException { EObject current = null; + Token lv_name_1_0=null; + EObject lv_typeReference_0_0 = null; + + enterRule(); try { - // InternalSolverLanguageParser.g:2783:2: ( ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ) - // InternalSolverLanguageParser.g:2784:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguageParser.g:2960:2: ( ( ( (lv_typeReference_0_0= ruleTypeReference ) ) ( (lv_name_1_0= RULE_ID ) ) ) ) + // InternalSolverLanguageParser.g:2961:2: ( ( (lv_typeReference_0_0= ruleTypeReference ) ) ( (lv_name_1_0= RULE_ID ) ) ) { - // InternalSolverLanguageParser.g:2784:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) - // InternalSolverLanguageParser.g:2785:3: ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:2961:2: ( ( (lv_typeReference_0_0= ruleTypeReference ) ) ( (lv_name_1_0= RULE_ID ) ) ) + // InternalSolverLanguageParser.g:2962:3: ( (lv_typeReference_0_0= ruleTypeReference ) ) ( (lv_name_1_0= RULE_ID ) ) { - // InternalSolverLanguageParser.g:2785:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:2786:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2962:3: ( (lv_typeReference_0_0= ruleTypeReference ) ) + // InternalSolverLanguageParser.g:2963:4: (lv_typeReference_0_0= ruleTypeReference ) { - // InternalSolverLanguageParser.g:2786:4: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:2787:5: ruleQualifiedName + // InternalSolverLanguageParser.g:2963:4: (lv_typeReference_0_0= ruleTypeReference ) + // InternalSolverLanguageParser.g:2964:5: lv_typeReference_0_0= ruleTypeReference { - if (current==null) { - current = createModelElement(grammarAccess.getTypedArgumentRule()); - } - - - newCompositeNode(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); + newCompositeNode(grammarAccess.getTypedVariableArgumentAccess().getTypeReferenceTypeReferenceParserRuleCall_0_0()); - pushFollow(FOLLOW_8); - ruleQualifiedName(); + pushFollow(FOLLOW_28); + lv_typeReference_0_0=ruleTypeReference(); state._fsp--; + if (current==null) { + current = createModelElementForParent(grammarAccess.getTypedVariableArgumentRule()); + } + set( + current, + "typeReference", + lv_typeReference_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.TypeReference"); afterParserOrEnumRuleCall(); @@ -6981,27 +7477,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:2801:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:2802:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:2981:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalSolverLanguageParser.g:2982:4: (lv_name_1_0= RULE_ID ) { - // InternalSolverLanguageParser.g:2802:4: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:2803:5: ruleQualifiedName + // InternalSolverLanguageParser.g:2982:4: (lv_name_1_0= RULE_ID ) + // InternalSolverLanguageParser.g:2983:5: lv_name_1_0= RULE_ID { + lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_2); - if (current==null) { - current = createModelElement(grammarAccess.getTypedArgumentRule()); - } - - - newCompositeNode(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); + newLeafNode(lv_name_1_0, grammarAccess.getTypedVariableArgumentAccess().getNameIDTerminalRuleCall_1_0()); - pushFollow(FOLLOW_2); - ruleQualifiedName(); - - state._fsp--; - - afterParserOrEnumRuleCall(); + if (current==null) { + current = createModelElement(grammarAccess.getTypedVariableArgumentRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_1_0, + "org.eclipse.xtext.common.Terminals.ID"); } @@ -7028,11 +7522,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleTypedArgument" + // $ANTLR end "ruleTypedVariableArgument" // $ANTLR start "entryRuleTypedStarArgument" - // InternalSolverLanguageParser.g:2821:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ; + // InternalSolverLanguageParser.g:3003:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ; public final EObject entryRuleTypedStarArgument() throws RecognitionException { EObject current = null; @@ -7040,8 +7534,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2821:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ) - // InternalSolverLanguageParser.g:2822:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF + // InternalSolverLanguageParser.g:3003:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ) + // InternalSolverLanguageParser.g:3004:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF { newCompositeNode(grammarAccess.getTypedStarArgumentRule()); pushFollow(FOLLOW_1); @@ -7068,42 +7562,47 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleTypedStarArgument" - // InternalSolverLanguageParser.g:2828:1: ruleTypedStarArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ; + // InternalSolverLanguageParser.g:3010:1: ruleTypedStarArgument returns [EObject current=null] : ( ( (lv_typeReference_0_0= ruleTypeReference ) ) otherlv_1= Asterisk ) ; public final EObject ruleTypedStarArgument() throws RecognitionException { EObject current = null; Token otherlv_1=null; + EObject lv_typeReference_0_0 = null; + enterRule(); try { - // InternalSolverLanguageParser.g:2834:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ) - // InternalSolverLanguageParser.g:2835:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) + // InternalSolverLanguageParser.g:3016:2: ( ( ( (lv_typeReference_0_0= ruleTypeReference ) ) otherlv_1= Asterisk ) ) + // InternalSolverLanguageParser.g:3017:2: ( ( (lv_typeReference_0_0= ruleTypeReference ) ) otherlv_1= Asterisk ) { - // InternalSolverLanguageParser.g:2835:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) - // InternalSolverLanguageParser.g:2836:3: ( ( ruleQualifiedName ) ) otherlv_1= Asterisk + // InternalSolverLanguageParser.g:3017:2: ( ( (lv_typeReference_0_0= ruleTypeReference ) ) otherlv_1= Asterisk ) + // InternalSolverLanguageParser.g:3018:3: ( (lv_typeReference_0_0= ruleTypeReference ) ) otherlv_1= Asterisk { - // InternalSolverLanguageParser.g:2836:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:2837:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3018:3: ( (lv_typeReference_0_0= ruleTypeReference ) ) + // InternalSolverLanguageParser.g:3019:4: (lv_typeReference_0_0= ruleTypeReference ) { - // InternalSolverLanguageParser.g:2837:4: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:2838:5: ruleQualifiedName + // InternalSolverLanguageParser.g:3019:4: (lv_typeReference_0_0= ruleTypeReference ) + // InternalSolverLanguageParser.g:3020:5: lv_typeReference_0_0= ruleTypeReference { - if (current==null) { - current = createModelElement(grammarAccess.getTypedStarArgumentRule()); - } - - - newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); + newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeReferenceTypeReferenceParserRuleCall_0_0()); - pushFollow(FOLLOW_43); - ruleQualifiedName(); + pushFollow(FOLLOW_45); + lv_typeReference_0_0=ruleTypeReference(); state._fsp--; + if (current==null) { + current = createModelElementForParent(grammarAccess.getTypedStarArgumentRule()); + } + set( + current, + "typeReference", + lv_typeReference_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.TypeReference"); afterParserOrEnumRuleCall(); @@ -7139,7 +7638,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleReference" - // InternalSolverLanguageParser.g:2860:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ; + // InternalSolverLanguageParser.g:3045:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ; public final EObject entryRuleReference() throws RecognitionException { EObject current = null; @@ -7147,8 +7646,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2860:50: (iv_ruleReference= ruleReference EOF ) - // InternalSolverLanguageParser.g:2861:2: iv_ruleReference= ruleReference EOF + // InternalSolverLanguageParser.g:3045:50: (iv_ruleReference= ruleReference EOF ) + // InternalSolverLanguageParser.g:3046:2: iv_ruleReference= ruleReference EOF { newCompositeNode(grammarAccess.getReferenceRule()); pushFollow(FOLLOW_1); @@ -7175,39 +7674,329 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleReference" - // InternalSolverLanguageParser.g:2867:1: ruleReference returns [EObject current=null] : ( ( ruleQualifiedName ) ) ; + // InternalSolverLanguageParser.g:3052:1: ruleReference returns [EObject current=null] : ( ( (lv_components_0_0= rulePathComponent ) ) (otherlv_1= FullStop ( (lv_components_2_0= rulePathComponent ) ) )* ) ; public final EObject ruleReference() throws RecognitionException { EObject current = null; + Token otherlv_1=null; + EObject lv_components_0_0 = null; + + EObject lv_components_2_0 = null; + + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:3058:2: ( ( ( (lv_components_0_0= rulePathComponent ) ) (otherlv_1= FullStop ( (lv_components_2_0= rulePathComponent ) ) )* ) ) + // InternalSolverLanguageParser.g:3059:2: ( ( (lv_components_0_0= rulePathComponent ) ) (otherlv_1= FullStop ( (lv_components_2_0= rulePathComponent ) ) )* ) + { + // InternalSolverLanguageParser.g:3059:2: ( ( (lv_components_0_0= rulePathComponent ) ) (otherlv_1= FullStop ( (lv_components_2_0= rulePathComponent ) ) )* ) + // InternalSolverLanguageParser.g:3060:3: ( (lv_components_0_0= rulePathComponent ) ) (otherlv_1= FullStop ( (lv_components_2_0= rulePathComponent ) ) )* + { + // InternalSolverLanguageParser.g:3060:3: ( (lv_components_0_0= rulePathComponent ) ) + // InternalSolverLanguageParser.g:3061:4: (lv_components_0_0= rulePathComponent ) + { + // InternalSolverLanguageParser.g:3061:4: (lv_components_0_0= rulePathComponent ) + // InternalSolverLanguageParser.g:3062:5: lv_components_0_0= rulePathComponent + { + + newCompositeNode(grammarAccess.getReferenceAccess().getComponentsPathComponentParserRuleCall_0_0()); + + pushFollow(FOLLOW_46); + lv_components_0_0=rulePathComponent(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getReferenceRule()); + } + add( + current, + "components", + lv_components_0_0, + "org.eclipse.viatra.solver.language.SolverLanguage.PathComponent"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalSolverLanguageParser.g:3079:3: (otherlv_1= FullStop ( (lv_components_2_0= rulePathComponent ) ) )* + loop35: + do { + int alt35=2; + int LA35_0 = input.LA(1); + + if ( (LA35_0==FullStop) ) { + alt35=1; + } + + + switch (alt35) { + case 1 : + // InternalSolverLanguageParser.g:3080:4: otherlv_1= FullStop ( (lv_components_2_0= rulePathComponent ) ) + { + otherlv_1=(Token)match(input,FullStop,FOLLOW_12); + + newLeafNode(otherlv_1, grammarAccess.getReferenceAccess().getFullStopKeyword_1_0()); + + // InternalSolverLanguageParser.g:3084:4: ( (lv_components_2_0= rulePathComponent ) ) + // InternalSolverLanguageParser.g:3085:5: (lv_components_2_0= rulePathComponent ) + { + // InternalSolverLanguageParser.g:3085:5: (lv_components_2_0= rulePathComponent ) + // InternalSolverLanguageParser.g:3086:6: lv_components_2_0= rulePathComponent + { + + newCompositeNode(grammarAccess.getReferenceAccess().getComponentsPathComponentParserRuleCall_1_1_0()); + + pushFollow(FOLLOW_46); + lv_components_2_0=rulePathComponent(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getReferenceRule()); + } + add( + current, + "components", + lv_components_2_0, + "org.eclipse.viatra.solver.language.SolverLanguage.PathComponent"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop35; + } + } while (true); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleReference" + + + // $ANTLR start "entryRulePathComponent" + // InternalSolverLanguageParser.g:3108:1: entryRulePathComponent returns [EObject current=null] : iv_rulePathComponent= rulePathComponent EOF ; + public final EObject entryRulePathComponent() throws RecognitionException { + EObject current = null; + + EObject iv_rulePathComponent = null; + + + try { + // InternalSolverLanguageParser.g:3108:54: (iv_rulePathComponent= rulePathComponent EOF ) + // InternalSolverLanguageParser.g:3109:2: iv_rulePathComponent= rulePathComponent EOF + { + newCompositeNode(grammarAccess.getPathComponentRule()); + pushFollow(FOLLOW_1); + iv_rulePathComponent=rulePathComponent(); + + state._fsp--; + + current =iv_rulePathComponent; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePathComponent" + + + // $ANTLR start "rulePathComponent" + // InternalSolverLanguageParser.g:3115:1: rulePathComponent returns [EObject current=null] : ( ( (lv_inverse_0_0= Tilde ) )? ( ( ruleQualifiedName ) ) ( ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ) ; + public final EObject rulePathComponent() throws RecognitionException { + EObject current = null; + + Token lv_inverse_0_0=null; + Token lv_transitiveClosure_2_0=null; + Token lv_reflexiveTransitiveClosure_3_0=null; + enterRule(); try { - // InternalSolverLanguageParser.g:2873:2: ( ( ( ruleQualifiedName ) ) ) - // InternalSolverLanguageParser.g:2874:2: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3121:2: ( ( ( (lv_inverse_0_0= Tilde ) )? ( ( ruleQualifiedName ) ) ( ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ) ) + // InternalSolverLanguageParser.g:3122:2: ( ( (lv_inverse_0_0= Tilde ) )? ( ( ruleQualifiedName ) ) ( ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ) + { + // InternalSolverLanguageParser.g:3122:2: ( ( (lv_inverse_0_0= Tilde ) )? ( ( ruleQualifiedName ) ) ( ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ) + // InternalSolverLanguageParser.g:3123:3: ( (lv_inverse_0_0= Tilde ) )? ( ( ruleQualifiedName ) ) ( ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? { - // InternalSolverLanguageParser.g:2874:2: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:2875:3: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3123:3: ( (lv_inverse_0_0= Tilde ) )? + int alt36=2; + int LA36_0 = input.LA(1); + + if ( (LA36_0==Tilde) ) { + alt36=1; + } + switch (alt36) { + case 1 : + // InternalSolverLanguageParser.g:3124:4: (lv_inverse_0_0= Tilde ) + { + // InternalSolverLanguageParser.g:3124:4: (lv_inverse_0_0= Tilde ) + // InternalSolverLanguageParser.g:3125:5: lv_inverse_0_0= Tilde + { + lv_inverse_0_0=(Token)match(input,Tilde,FOLLOW_3); + + newLeafNode(lv_inverse_0_0, grammarAccess.getPathComponentAccess().getInverseTildeKeyword_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getPathComponentRule()); + } + setWithLastConsumed(current, "inverse", true, "~"); + + + } + + + } + break; + + } + + // InternalSolverLanguageParser.g:3137:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3138:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:2875:3: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:2876:4: ruleQualifiedName + // InternalSolverLanguageParser.g:3138:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3139:5: ruleQualifiedName { - if (current==null) { - current = createModelElement(grammarAccess.getReferenceRule()); - } - + if (current==null) { + current = createModelElement(grammarAccess.getPathComponentRule()); + } + + + newCompositeNode(grammarAccess.getPathComponentAccess().getSymbolSymbolCrossReference_1_0()); + + pushFollow(FOLLOW_47); + ruleQualifiedName(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalSolverLanguageParser.g:3153:3: ( ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? + int alt37=3; + int LA37_0 = input.LA(1); + + if ( (LA37_0==RULE_TRANSITIVE_CLOSURE) ) { + alt37=1; + } + else if ( (LA37_0==RULE_REFLEXIVE_TRANSITIVE_CLOSURE) ) { + alt37=2; + } + switch (alt37) { + case 1 : + // InternalSolverLanguageParser.g:3154:4: ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) ) + { + // InternalSolverLanguageParser.g:3154:4: ( (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) ) + // InternalSolverLanguageParser.g:3155:5: (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) + { + // InternalSolverLanguageParser.g:3155:5: (lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE ) + // InternalSolverLanguageParser.g:3156:6: lv_transitiveClosure_2_0= RULE_TRANSITIVE_CLOSURE + { + lv_transitiveClosure_2_0=(Token)match(input,RULE_TRANSITIVE_CLOSURE,FOLLOW_2); + + newLeafNode(lv_transitiveClosure_2_0, grammarAccess.getPathComponentAccess().getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_2_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getPathComponentRule()); + } + setWithLastConsumed( + current, + "transitiveClosure", + true, + "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE"); + + + } + + + } + + + } + break; + case 2 : + // InternalSolverLanguageParser.g:3173:4: ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) + { + // InternalSolverLanguageParser.g:3173:4: ( (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) + // InternalSolverLanguageParser.g:3174:5: (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) + { + // InternalSolverLanguageParser.g:3174:5: (lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) + // InternalSolverLanguageParser.g:3175:6: lv_reflexiveTransitiveClosure_3_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE + { + lv_reflexiveTransitiveClosure_3_0=(Token)match(input,RULE_REFLEXIVE_TRANSITIVE_CLOSURE,FOLLOW_2); + + newLeafNode(lv_reflexiveTransitiveClosure_3_0, grammarAccess.getPathComponentAccess().getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_2_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getPathComponentRule()); + } + setWithLastConsumed( + current, + "reflexiveTransitiveClosure", + true, + "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE"); + + + } - newCompositeNode(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); - - pushFollow(FOLLOW_2); - ruleQualifiedName(); - state._fsp--; + } - afterParserOrEnumRuleCall(); - + } + break; } @@ -7230,11 +8019,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleReference" + // $ANTLR end "rulePathComponent" // $ANTLR start "entryRuleInterval" - // InternalSolverLanguageParser.g:2893:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ; + // InternalSolverLanguageParser.g:3196:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ; public final EObject entryRuleInterval() throws RecognitionException { EObject current = null; @@ -7242,8 +8031,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2893:49: (iv_ruleInterval= ruleInterval EOF ) - // InternalSolverLanguageParser.g:2894:2: iv_ruleInterval= ruleInterval EOF + // InternalSolverLanguageParser.g:3196:49: (iv_ruleInterval= ruleInterval EOF ) + // InternalSolverLanguageParser.g:3197:2: iv_ruleInterval= ruleInterval EOF { newCompositeNode(grammarAccess.getIntervalRule()); pushFollow(FOLLOW_1); @@ -7270,7 +8059,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleInterval" - // 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 ) ; + // InternalSolverLanguageParser.g:3203:1: ruleInterval returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleAdditiveExpression ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleAdditiveExpression ) ) otherlv_4= RightSquareBracket ) ; public final EObject ruleInterval() throws RecognitionException { EObject current = null; @@ -7286,27 +8075,27 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:3209:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleAdditiveExpression ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleAdditiveExpression ) ) otherlv_4= RightSquareBracket ) ) + // InternalSolverLanguageParser.g:3210:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleAdditiveExpression ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleAdditiveExpression ) ) 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 + // InternalSolverLanguageParser.g:3210:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleAdditiveExpression ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleAdditiveExpression ) ) otherlv_4= RightSquareBracket ) + // InternalSolverLanguageParser.g:3211:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleAdditiveExpression ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleAdditiveExpression ) ) otherlv_4= RightSquareBracket { - otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_6); + otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_10); newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); - // InternalSolverLanguageParser.g:2912:3: ( (lv_lowerBound_1_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:2913:4: (lv_lowerBound_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:3215:3: ( (lv_lowerBound_1_0= ruleAdditiveExpression ) ) + // InternalSolverLanguageParser.g:3216:4: (lv_lowerBound_1_0= ruleAdditiveExpression ) { - // InternalSolverLanguageParser.g:2913:4: (lv_lowerBound_1_0= ruleExpression ) - // InternalSolverLanguageParser.g:2914:5: lv_lowerBound_1_0= ruleExpression + // InternalSolverLanguageParser.g:3216:4: (lv_lowerBound_1_0= ruleAdditiveExpression ) + // InternalSolverLanguageParser.g:3217:5: lv_lowerBound_1_0= ruleAdditiveExpression { - newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundAdditiveExpressionParserRuleCall_1_0()); - pushFollow(FOLLOW_44); - lv_lowerBound_1_0=ruleExpression(); + pushFollow(FOLLOW_48); + lv_lowerBound_1_0=ruleAdditiveExpression(); state._fsp--; @@ -7318,7 +8107,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current, "lowerBound", lv_lowerBound_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); afterParserOrEnumRuleCall(); @@ -7327,21 +8116,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,FullStopFullStop,FOLLOW_6); + otherlv_2=(Token)match(input,Comma,FOLLOW_10); - newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); + newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getCommaKeyword_2()); - // InternalSolverLanguageParser.g:2935:3: ( (lv_upperBound_3_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:2936:4: (lv_upperBound_3_0= ruleExpression ) + // InternalSolverLanguageParser.g:3238:3: ( (lv_upperBound_3_0= ruleAdditiveExpression ) ) + // InternalSolverLanguageParser.g:3239:4: (lv_upperBound_3_0= ruleAdditiveExpression ) { - // InternalSolverLanguageParser.g:2936:4: (lv_upperBound_3_0= ruleExpression ) - // InternalSolverLanguageParser.g:2937:5: lv_upperBound_3_0= ruleExpression + // InternalSolverLanguageParser.g:3239:4: (lv_upperBound_3_0= ruleAdditiveExpression ) + // InternalSolverLanguageParser.g:3240:5: lv_upperBound_3_0= ruleAdditiveExpression { - newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); + newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundAdditiveExpressionParserRuleCall_3_0()); - pushFollow(FOLLOW_45); - lv_upperBound_3_0=ruleExpression(); + pushFollow(FOLLOW_49); + lv_upperBound_3_0=ruleAdditiveExpression(); state._fsp--; @@ -7353,7 +8142,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { current, "upperBound", lv_upperBound_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); + "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); afterParserOrEnumRuleCall(); @@ -7389,7 +8178,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleLiteral" - // InternalSolverLanguageParser.g:2962:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; + // InternalSolverLanguageParser.g:3265:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; public final EObject entryRuleLiteral() throws RecognitionException { EObject current = null; @@ -7397,8 +8186,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:2962:48: (iv_ruleLiteral= ruleLiteral EOF ) - // InternalSolverLanguageParser.g:2963:2: iv_ruleLiteral= ruleLiteral EOF + // InternalSolverLanguageParser.g:3265:48: (iv_ruleLiteral= ruleLiteral EOF ) + // InternalSolverLanguageParser.g:3266:2: iv_ruleLiteral= ruleLiteral EOF { newCompositeNode(grammarAccess.getLiteralRule()); pushFollow(FOLLOW_1); @@ -7425,69 +8214,84 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleLiteral" - // 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 ) ; + // InternalSolverLanguageParser.g:3272:1: ruleLiteral returns [EObject current=null] : (this_LogicLiteral_0= ruleLogicLiteral | this_IntLiteral_1= ruleIntLiteral | this_RealLiteral_2= ruleRealLiteral | this_InfinityLiteral_3= ruleInfinityLiteral | this_EmptyLiteral_4= ruleEmptyLiteral | this_StringLiteral_5= ruleStringLiteral ) ; public final EObject ruleLiteral() throws RecognitionException { EObject current = null; EObject this_LogicLiteral_0 = null; - EObject this_NumericLiteral_1 = null; + EObject this_IntLiteral_1 = null; + + EObject this_RealLiteral_2 = null; - EObject this_InfinityLiteral_2 = null; + EObject this_InfinityLiteral_3 = null; - EObject this_EmptyIntervalLiteral_3 = null; + EObject this_EmptyLiteral_4 = null; - EObject this_StringLiteral_4 = null; + EObject this_StringLiteral_5 = null; enterRule(); try { - // 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:3278:2: ( (this_LogicLiteral_0= ruleLogicLiteral | this_IntLiteral_1= ruleIntLiteral | this_RealLiteral_2= ruleRealLiteral | this_InfinityLiteral_3= ruleInfinityLiteral | this_EmptyLiteral_4= ruleEmptyLiteral | this_StringLiteral_5= ruleStringLiteral ) ) + // InternalSolverLanguageParser.g:3279:2: (this_LogicLiteral_0= ruleLogicLiteral | this_IntLiteral_1= ruleIntLiteral | this_RealLiteral_2= ruleRealLiteral | this_InfinityLiteral_3= ruleInfinityLiteral | this_EmptyLiteral_4= ruleEmptyLiteral | this_StringLiteral_5= 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 ) - int alt34=5; + // InternalSolverLanguageParser.g:3279:2: (this_LogicLiteral_0= ruleLogicLiteral | this_IntLiteral_1= ruleIntLiteral | this_RealLiteral_2= ruleRealLiteral | this_InfinityLiteral_3= ruleInfinityLiteral | this_EmptyLiteral_4= ruleEmptyLiteral | this_StringLiteral_5= ruleStringLiteral ) + int alt38=6; switch ( input.LA(1) ) { case Unknown: case Error: case False: case True: { - alt34=1; + alt38=1; } break; case RULE_INT: { - alt34=2; + int LA38_2 = input.LA(2); + + if ( (LA38_2==EOF||LA38_2==Else||LA38_2==Then||(LA38_2>=ExclamationMarkEqualsSign && LA38_2<=ColonHyphenMinus)||(LA38_2>=ColonEqualsSign && LA38_2<=As)||LA38_2==In||(LA38_2>=RightParenthesis && LA38_2<=HyphenMinus)||(LA38_2>=Solidus && LA38_2<=LessThanSign)||LA38_2==GreaterThanSign||(LA38_2>=RightSquareBracket && LA38_2<=CircumflexAccent)||(LA38_2>=VerticalLine && LA38_2<=RightCurlyBracket)||LA38_2==RULE_FULL_STOP) ) { + alt38=2; + } + else if ( (LA38_2==FullStop) ) { + alt38=3; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 38, 2, input); + + throw nvae; + } } break; case Inf: { - alt34=3; + alt38=4; } break; case Empty: { - alt34=4; + alt38=5; } break; case RULE_STRING: { - alt34=5; + alt38=6; } break; default: NoViableAltException nvae = - new NoViableAltException("", 34, 0, input); + new NoViableAltException("", 38, 0, input); throw nvae; } - switch (alt34) { + switch (alt38) { case 1 : - // InternalSolverLanguageParser.g:2977:3: this_LogicLiteral_0= ruleLogicLiteral + // InternalSolverLanguageParser.g:3280:3: this_LogicLiteral_0= ruleLogicLiteral { newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); @@ -7505,72 +8309,90 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:2986:3: this_NumericLiteral_1= ruleNumericLiteral + // InternalSolverLanguageParser.g:3289:3: this_IntLiteral_1= ruleIntLiteral { - newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); + newCompositeNode(grammarAccess.getLiteralAccess().getIntLiteralParserRuleCall_1()); pushFollow(FOLLOW_2); - this_NumericLiteral_1=ruleNumericLiteral(); + this_IntLiteral_1=ruleIntLiteral(); state._fsp--; - current = this_NumericLiteral_1; + current = this_IntLiteral_1; afterParserOrEnumRuleCall(); } break; case 3 : - // InternalSolverLanguageParser.g:2995:3: this_InfinityLiteral_2= ruleInfinityLiteral + // InternalSolverLanguageParser.g:3298:3: this_RealLiteral_2= ruleRealLiteral { - newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); + newCompositeNode(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_2()); pushFollow(FOLLOW_2); - this_InfinityLiteral_2=ruleInfinityLiteral(); + this_RealLiteral_2=ruleRealLiteral(); state._fsp--; - current = this_InfinityLiteral_2; + current = this_RealLiteral_2; afterParserOrEnumRuleCall(); } break; case 4 : - // InternalSolverLanguageParser.g:3004:3: this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral + // InternalSolverLanguageParser.g:3307:3: this_InfinityLiteral_3= ruleInfinityLiteral { - newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); + newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_3()); pushFollow(FOLLOW_2); - this_EmptyIntervalLiteral_3=ruleEmptyIntervalLiteral(); + this_InfinityLiteral_3=ruleInfinityLiteral(); state._fsp--; - current = this_EmptyIntervalLiteral_3; + current = this_InfinityLiteral_3; afterParserOrEnumRuleCall(); } break; case 5 : - // InternalSolverLanguageParser.g:3013:3: this_StringLiteral_4= ruleStringLiteral + // InternalSolverLanguageParser.g:3316:3: this_EmptyLiteral_4= ruleEmptyLiteral + { + + newCompositeNode(grammarAccess.getLiteralAccess().getEmptyLiteralParserRuleCall_4()); + + pushFollow(FOLLOW_2); + this_EmptyLiteral_4=ruleEmptyLiteral(); + + state._fsp--; + + + current = this_EmptyLiteral_4; + afterParserOrEnumRuleCall(); + + + } + break; + case 6 : + // InternalSolverLanguageParser.g:3325:3: this_StringLiteral_5= ruleStringLiteral { - newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); + newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_5()); pushFollow(FOLLOW_2); - this_StringLiteral_4=ruleStringLiteral(); + this_StringLiteral_5=ruleStringLiteral(); state._fsp--; - current = this_StringLiteral_4; + current = this_StringLiteral_5; afterParserOrEnumRuleCall(); @@ -7599,7 +8421,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleLogicLiteral" - // InternalSolverLanguageParser.g:3025:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ; + // InternalSolverLanguageParser.g:3337:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ; public final EObject entryRuleLogicLiteral() throws RecognitionException { EObject current = null; @@ -7607,8 +8429,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:3025:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF ) - // InternalSolverLanguageParser.g:3026:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF + // InternalSolverLanguageParser.g:3337:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF ) + // InternalSolverLanguageParser.g:3338:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF { newCompositeNode(grammarAccess.getLogicLiteralRule()); pushFollow(FOLLOW_1); @@ -7635,7 +8457,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleLogicLiteral" - // InternalSolverLanguageParser.g:3032:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ; + // InternalSolverLanguageParser.g:3344:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ; public final EObject ruleLogicLiteral() throws RecognitionException { EObject current = null; @@ -7646,14 +8468,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3038:2: ( ( (lv_value_0_0= ruleLogicValue ) ) ) - // InternalSolverLanguageParser.g:3039:2: ( (lv_value_0_0= ruleLogicValue ) ) + // InternalSolverLanguageParser.g:3350:2: ( ( (lv_value_0_0= ruleLogicValue ) ) ) + // InternalSolverLanguageParser.g:3351:2: ( (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:3351:2: ( (lv_value_0_0= ruleLogicValue ) ) + // InternalSolverLanguageParser.g:3352:3: (lv_value_0_0= ruleLogicValue ) { - // InternalSolverLanguageParser.g:3040:3: (lv_value_0_0= ruleLogicValue ) - // InternalSolverLanguageParser.g:3041:4: lv_value_0_0= ruleLogicValue + // InternalSolverLanguageParser.g:3352:3: (lv_value_0_0= ruleLogicValue ) + // InternalSolverLanguageParser.g:3353:4: lv_value_0_0= ruleLogicValue { newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); @@ -7699,25 +8521,120 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR end "ruleLogicLiteral" - // $ANTLR start "entryRuleNumericLiteral" - // InternalSolverLanguageParser.g:3061:1: entryRuleNumericLiteral returns [EObject current=null] : iv_ruleNumericLiteral= ruleNumericLiteral EOF ; - public final EObject entryRuleNumericLiteral() throws RecognitionException { + // $ANTLR start "entryRuleIntLiteral" + // InternalSolverLanguageParser.g:3373:1: entryRuleIntLiteral returns [EObject current=null] : iv_ruleIntLiteral= ruleIntLiteral EOF ; + public final EObject entryRuleIntLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleIntLiteral = null; + + + try { + // InternalSolverLanguageParser.g:3373:51: (iv_ruleIntLiteral= ruleIntLiteral EOF ) + // InternalSolverLanguageParser.g:3374:2: iv_ruleIntLiteral= ruleIntLiteral EOF + { + newCompositeNode(grammarAccess.getIntLiteralRule()); + pushFollow(FOLLOW_1); + iv_ruleIntLiteral=ruleIntLiteral(); + + state._fsp--; + + current =iv_ruleIntLiteral; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleIntLiteral" + + + // $ANTLR start "ruleIntLiteral" + // InternalSolverLanguageParser.g:3380:1: ruleIntLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_INT ) ) ; + public final EObject ruleIntLiteral() throws RecognitionException { + EObject current = null; + + Token lv_value_0_0=null; + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:3386:2: ( ( (lv_value_0_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:3387:2: ( (lv_value_0_0= RULE_INT ) ) + { + // InternalSolverLanguageParser.g:3387:2: ( (lv_value_0_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3388:3: (lv_value_0_0= RULE_INT ) + { + // InternalSolverLanguageParser.g:3388:3: (lv_value_0_0= RULE_INT ) + // InternalSolverLanguageParser.g:3389:4: lv_value_0_0= RULE_INT + { + lv_value_0_0=(Token)match(input,RULE_INT,FOLLOW_2); + + newLeafNode(lv_value_0_0, grammarAccess.getIntLiteralAccess().getValueINTTerminalRuleCall_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getIntLiteralRule()); + } + setWithLastConsumed( + current, + "value", + lv_value_0_0, + "org.eclipse.xtext.common.Terminals.INT"); + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleIntLiteral" + + + // $ANTLR start "entryRuleRealLiteral" + // InternalSolverLanguageParser.g:3408:1: entryRuleRealLiteral returns [EObject current=null] : iv_ruleRealLiteral= ruleRealLiteral EOF ; + public final EObject entryRuleRealLiteral() throws RecognitionException { EObject current = null; - EObject iv_ruleNumericLiteral = null; + EObject iv_ruleRealLiteral = null; try { - // InternalSolverLanguageParser.g:3061:55: (iv_ruleNumericLiteral= ruleNumericLiteral EOF ) - // InternalSolverLanguageParser.g:3062:2: iv_ruleNumericLiteral= ruleNumericLiteral EOF + // InternalSolverLanguageParser.g:3408:52: (iv_ruleRealLiteral= ruleRealLiteral EOF ) + // InternalSolverLanguageParser.g:3409:2: iv_ruleRealLiteral= ruleRealLiteral EOF { - newCompositeNode(grammarAccess.getNumericLiteralRule()); + newCompositeNode(grammarAccess.getRealLiteralRule()); pushFollow(FOLLOW_1); - iv_ruleNumericLiteral=ruleNumericLiteral(); + iv_ruleRealLiteral=ruleRealLiteral(); state._fsp--; - current =iv_ruleNumericLiteral; + current =iv_ruleRealLiteral; match(input,EOF,FOLLOW_2); } @@ -7732,12 +8649,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleNumericLiteral" + // $ANTLR end "entryRuleRealLiteral" - // $ANTLR start "ruleNumericLiteral" - // InternalSolverLanguageParser.g:3068:1: ruleNumericLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ; - public final EObject ruleNumericLiteral() throws RecognitionException { + // $ANTLR start "ruleRealLiteral" + // InternalSolverLanguageParser.g:3415:1: ruleRealLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ; + public final EObject ruleRealLiteral() throws RecognitionException { EObject current = null; AntlrDatatypeRuleToken lv_value_0_0 = null; @@ -7747,17 +8664,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3074:2: ( ( (lv_value_0_0= ruleReal ) ) ) - // InternalSolverLanguageParser.g:3075:2: ( (lv_value_0_0= ruleReal ) ) + // InternalSolverLanguageParser.g:3421:2: ( ( (lv_value_0_0= ruleReal ) ) ) + // InternalSolverLanguageParser.g:3422:2: ( (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:3422:2: ( (lv_value_0_0= ruleReal ) ) + // InternalSolverLanguageParser.g:3423:3: (lv_value_0_0= ruleReal ) { - // InternalSolverLanguageParser.g:3076:3: (lv_value_0_0= ruleReal ) - // InternalSolverLanguageParser.g:3077:4: lv_value_0_0= ruleReal + // InternalSolverLanguageParser.g:3423:3: (lv_value_0_0= ruleReal ) + // InternalSolverLanguageParser.g:3424:4: lv_value_0_0= ruleReal { - newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); + newCompositeNode(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_0()); pushFollow(FOLLOW_2); lv_value_0_0=ruleReal(); @@ -7766,7 +8683,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { if (current==null) { - current = createModelElementForParent(grammarAccess.getNumericLiteralRule()); + current = createModelElementForParent(grammarAccess.getRealLiteralRule()); } set( current, @@ -7797,11 +8714,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleNumericLiteral" + // $ANTLR end "ruleRealLiteral" // $ANTLR start "entryRuleInfinityLiteral" - // InternalSolverLanguageParser.g:3097:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ; + // InternalSolverLanguageParser.g:3444:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ; public final EObject entryRuleInfinityLiteral() throws RecognitionException { EObject current = null; @@ -7809,8 +8726,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:3097:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ) - // InternalSolverLanguageParser.g:3098:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF + // InternalSolverLanguageParser.g:3444:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ) + // InternalSolverLanguageParser.g:3445:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF { newCompositeNode(grammarAccess.getInfinityLiteralRule()); pushFollow(FOLLOW_1); @@ -7837,7 +8754,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleInfinityLiteral" - // InternalSolverLanguageParser.g:3104:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= Inf ) ; + // InternalSolverLanguageParser.g:3451:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= Inf ) ; public final EObject ruleInfinityLiteral() throws RecognitionException { EObject current = null; @@ -7847,14 +8764,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3110:2: ( ( () otherlv_1= Inf ) ) - // InternalSolverLanguageParser.g:3111:2: ( () otherlv_1= Inf ) + // InternalSolverLanguageParser.g:3457:2: ( ( () otherlv_1= Inf ) ) + // InternalSolverLanguageParser.g:3458:2: ( () otherlv_1= Inf ) { - // InternalSolverLanguageParser.g:3111:2: ( () otherlv_1= Inf ) - // InternalSolverLanguageParser.g:3112:3: () otherlv_1= Inf + // InternalSolverLanguageParser.g:3458:2: ( () otherlv_1= Inf ) + // InternalSolverLanguageParser.g:3459:3: () otherlv_1= Inf { - // InternalSolverLanguageParser.g:3112:3: () - // InternalSolverLanguageParser.g:3113:4: + // InternalSolverLanguageParser.g:3459:3: () + // InternalSolverLanguageParser.g:3460:4: { current = forceCreateModelElement( @@ -7890,25 +8807,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR end "ruleInfinityLiteral" - // $ANTLR start "entryRuleEmptyIntervalLiteral" - // InternalSolverLanguageParser.g:3127:1: entryRuleEmptyIntervalLiteral returns [EObject current=null] : iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ; - public final EObject entryRuleEmptyIntervalLiteral() throws RecognitionException { + // $ANTLR start "entryRuleEmptyLiteral" + // InternalSolverLanguageParser.g:3474:1: entryRuleEmptyLiteral returns [EObject current=null] : iv_ruleEmptyLiteral= ruleEmptyLiteral EOF ; + public final EObject entryRuleEmptyLiteral() throws RecognitionException { EObject current = null; - EObject iv_ruleEmptyIntervalLiteral = null; + EObject iv_ruleEmptyLiteral = null; try { - // InternalSolverLanguageParser.g:3127:61: (iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ) - // InternalSolverLanguageParser.g:3128:2: iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF + // InternalSolverLanguageParser.g:3474:53: (iv_ruleEmptyLiteral= ruleEmptyLiteral EOF ) + // InternalSolverLanguageParser.g:3475:2: iv_ruleEmptyLiteral= ruleEmptyLiteral EOF { - newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); + newCompositeNode(grammarAccess.getEmptyLiteralRule()); pushFollow(FOLLOW_1); - iv_ruleEmptyIntervalLiteral=ruleEmptyIntervalLiteral(); + iv_ruleEmptyLiteral=ruleEmptyLiteral(); state._fsp--; - current =iv_ruleEmptyIntervalLiteral; + current =iv_ruleEmptyLiteral; match(input,EOF,FOLLOW_2); } @@ -7923,12 +8840,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleEmptyIntervalLiteral" + // $ANTLR end "entryRuleEmptyLiteral" - // $ANTLR start "ruleEmptyIntervalLiteral" - // InternalSolverLanguageParser.g:3134:1: ruleEmptyIntervalLiteral returns [EObject current=null] : ( () otherlv_1= Empty ) ; - public final EObject ruleEmptyIntervalLiteral() throws RecognitionException { + // $ANTLR start "ruleEmptyLiteral" + // InternalSolverLanguageParser.g:3481:1: ruleEmptyLiteral returns [EObject current=null] : ( () otherlv_1= Empty ) ; + public final EObject ruleEmptyLiteral() throws RecognitionException { EObject current = null; Token otherlv_1=null; @@ -7937,18 +8854,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3140:2: ( ( () otherlv_1= Empty ) ) - // InternalSolverLanguageParser.g:3141:2: ( () otherlv_1= Empty ) + // InternalSolverLanguageParser.g:3487:2: ( ( () otherlv_1= Empty ) ) + // InternalSolverLanguageParser.g:3488:2: ( () otherlv_1= Empty ) { - // InternalSolverLanguageParser.g:3141:2: ( () otherlv_1= Empty ) - // InternalSolverLanguageParser.g:3142:3: () otherlv_1= Empty + // InternalSolverLanguageParser.g:3488:2: ( () otherlv_1= Empty ) + // InternalSolverLanguageParser.g:3489:3: () otherlv_1= Empty { - // InternalSolverLanguageParser.g:3142:3: () - // InternalSolverLanguageParser.g:3143:4: + // InternalSolverLanguageParser.g:3489:3: () + // InternalSolverLanguageParser.g:3490:4: { current = forceCreateModelElement( - grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0(), + grammarAccess.getEmptyLiteralAccess().getEmptyLiteralAction_0(), current); @@ -7956,7 +8873,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { otherlv_1=(Token)match(input,Empty,FOLLOW_2); - newLeafNode(otherlv_1, grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); + newLeafNode(otherlv_1, grammarAccess.getEmptyLiteralAccess().getEmptyKeyword_1()); } @@ -7977,11 +8894,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleEmptyIntervalLiteral" + // $ANTLR end "ruleEmptyLiteral" // $ANTLR start "entryRuleStringLiteral" - // InternalSolverLanguageParser.g:3157:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ; + // InternalSolverLanguageParser.g:3504:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ; public final EObject entryRuleStringLiteral() throws RecognitionException { EObject current = null; @@ -7989,8 +8906,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:3157:54: (iv_ruleStringLiteral= ruleStringLiteral EOF ) - // InternalSolverLanguageParser.g:3158:2: iv_ruleStringLiteral= ruleStringLiteral EOF + // InternalSolverLanguageParser.g:3504:54: (iv_ruleStringLiteral= ruleStringLiteral EOF ) + // InternalSolverLanguageParser.g:3505:2: iv_ruleStringLiteral= ruleStringLiteral EOF { newCompositeNode(grammarAccess.getStringLiteralRule()); pushFollow(FOLLOW_1); @@ -8017,7 +8934,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleStringLiteral" - // InternalSolverLanguageParser.g:3164:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; + // InternalSolverLanguageParser.g:3511:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; public final EObject ruleStringLiteral() throws RecognitionException { EObject current = null; @@ -8027,14 +8944,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:3170:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) - // InternalSolverLanguageParser.g:3171:2: ( (lv_value_0_0= RULE_STRING ) ) + // InternalSolverLanguageParser.g:3517:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) + // InternalSolverLanguageParser.g:3518:2: ( (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:3518:2: ( (lv_value_0_0= RULE_STRING ) ) + // InternalSolverLanguageParser.g:3519:3: (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 + // InternalSolverLanguageParser.g:3519:3: (lv_value_0_0= RULE_STRING ) + // InternalSolverLanguageParser.g:3520:4: lv_value_0_0= RULE_STRING { lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); @@ -8075,25 +8992,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR end "ruleStringLiteral" - // $ANTLR start "entryRuleClassDefinition" - // InternalSolverLanguageParser.g:3192:1: entryRuleClassDefinition returns [EObject current=null] : iv_ruleClassDefinition= ruleClassDefinition EOF ; - public final EObject entryRuleClassDefinition() throws RecognitionException { + // $ANTLR start "entryRuleClassDeclaration" + // InternalSolverLanguageParser.g:3539:1: entryRuleClassDeclaration returns [EObject current=null] : iv_ruleClassDeclaration= ruleClassDeclaration EOF ; + public final EObject entryRuleClassDeclaration() throws RecognitionException { EObject current = null; - EObject iv_ruleClassDefinition = null; + EObject iv_ruleClassDeclaration = null; try { - // InternalSolverLanguageParser.g:3192:56: (iv_ruleClassDefinition= ruleClassDefinition EOF ) - // InternalSolverLanguageParser.g:3193:2: iv_ruleClassDefinition= ruleClassDefinition EOF + // InternalSolverLanguageParser.g:3539:57: (iv_ruleClassDeclaration= ruleClassDeclaration EOF ) + // InternalSolverLanguageParser.g:3540:2: iv_ruleClassDeclaration= ruleClassDeclaration EOF { - newCompositeNode(grammarAccess.getClassDefinitionRule()); + newCompositeNode(grammarAccess.getClassDeclarationRule()); pushFollow(FOLLOW_1); - iv_ruleClassDefinition=ruleClassDefinition(); + iv_ruleClassDeclaration=ruleClassDeclaration(); state._fsp--; - current =iv_ruleClassDefinition; + current =iv_ruleClassDeclaration; match(input,EOF,FOLLOW_2); } @@ -8108,89 +9025,219 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleClassDefinition" + // $ANTLR end "entryRuleClassDeclaration" - // $ANTLR start "ruleClassDefinition" - // 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 { + // $ANTLR start "ruleClassDeclaration" + // InternalSolverLanguageParser.g:3546:1: ruleClassDeclaration returns [EObject current=null] : ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) ) ) otherlv_3= Class ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Extends ( ( ruleQualifiedName ) ) (otherlv_7= Comma ( ( ruleQualifiedName ) ) )* )? ( (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket ) | this_FULL_STOP_12= RULE_FULL_STOP ) ) ; + public final EObject ruleClassDeclaration() throws RecognitionException { EObject current = null; - Token lv_abstract_0_0=null; - Token otherlv_1=null; - Token lv_name_2_0=null; + Token lv_abstract_1_0=null; + Token lv_root_2_0=null; Token otherlv_3=null; + Token lv_name_4_0=null; Token otherlv_5=null; Token otherlv_7=null; Token otherlv_9=null; - EObject lv_members_8_0 = null; + Token otherlv_11=null; + Token this_FULL_STOP_12=null; + EObject lv_fields_10_0 = null; enterRule(); try { - // 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:3552:2: ( ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) ) ) otherlv_3= Class ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Extends ( ( ruleQualifiedName ) ) (otherlv_7= Comma ( ( ruleQualifiedName ) ) )* )? ( (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket ) | this_FULL_STOP_12= RULE_FULL_STOP ) ) ) + // InternalSolverLanguageParser.g:3553:2: ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) ) ) otherlv_3= Class ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Extends ( ( ruleQualifiedName ) ) (otherlv_7= Comma ( ( ruleQualifiedName ) ) )* )? ( (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket ) | this_FULL_STOP_12= RULE_FULL_STOP ) ) { - // 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:3553:2: ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) ) ) otherlv_3= Class ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Extends ( ( ruleQualifiedName ) ) (otherlv_7= Comma ( ( ruleQualifiedName ) ) )* )? ( (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket ) | this_FULL_STOP_12= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:3554:3: ( ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) ) ) otherlv_3= Class ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Extends ( ( ruleQualifiedName ) ) (otherlv_7= Comma ( ( ruleQualifiedName ) ) )* )? ( (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket ) | this_FULL_STOP_12= RULE_FULL_STOP ) { - // InternalSolverLanguageParser.g:3207:3: ( (lv_abstract_0_0= Abstract ) )? - int alt35=2; - int LA35_0 = input.LA(1); + // InternalSolverLanguageParser.g:3554:3: ( ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) ) ) + // InternalSolverLanguageParser.g:3555:4: ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) ) + { + // InternalSolverLanguageParser.g:3555:4: ( ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) ) + // InternalSolverLanguageParser.g:3556:5: ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) + { + + getUnorderedGroupHelper().enter(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0()); + + // InternalSolverLanguageParser.g:3559:5: ( ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* ) + // InternalSolverLanguageParser.g:3560:6: ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* + { + // InternalSolverLanguageParser.g:3560:6: ( ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) )* + loop39: + do { + int alt39=3; + int LA39_0 = input.LA(1); - if ( (LA35_0==Abstract) ) { - alt35=1; - } - switch (alt35) { - case 1 : - // InternalSolverLanguageParser.g:3208:4: (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_46); + if ( LA39_0 == Abstract && getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 0) ) { + alt39=1; + } + else if ( LA39_0 == Root && getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 1) ) { + alt39=2; + } - newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); - - if (current==null) { - current = createModelElement(grammarAccess.getClassDefinitionRule()); - } - setWithLastConsumed(current, "abstract", true, "abstract"); - + switch (alt39) { + case 1 : + // InternalSolverLanguageParser.g:3561:4: ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) + { + // InternalSolverLanguageParser.g:3561:4: ({...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) ) + // InternalSolverLanguageParser.g:3562:5: {...}? => ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) + { + if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 0) ) { + throw new FailedPredicateException(input, "ruleClassDeclaration", "getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 0)"); + } + // InternalSolverLanguageParser.g:3562:113: ( ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) ) + // InternalSolverLanguageParser.g:3563:6: ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) + { - } + getUnorderedGroupHelper().select(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 0); + + // InternalSolverLanguageParser.g:3566:9: ({...}? => ( (lv_abstract_1_0= Abstract ) ) ) + // InternalSolverLanguageParser.g:3566:10: {...}? => ( (lv_abstract_1_0= Abstract ) ) + { + if ( !((true)) ) { + throw new FailedPredicateException(input, "ruleClassDeclaration", "true"); + } + // InternalSolverLanguageParser.g:3566:19: ( (lv_abstract_1_0= Abstract ) ) + // InternalSolverLanguageParser.g:3566:20: (lv_abstract_1_0= Abstract ) + { + // InternalSolverLanguageParser.g:3566:20: (lv_abstract_1_0= Abstract ) + // InternalSolverLanguageParser.g:3567:10: lv_abstract_1_0= Abstract + { + lv_abstract_1_0=(Token)match(input,Abstract,FOLLOW_50); + newLeafNode(lv_abstract_1_0, grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0_0()); + - } - break; + if (current==null) { + current = createModelElement(grammarAccess.getClassDeclarationRule()); + } + setWithLastConsumed(current, "abstract", true, "abstract"); + + + } + + + } + + + } + + + getUnorderedGroupHelper().returnFromSelection(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0()); + + + } + + + } + + + } + break; + case 2 : + // InternalSolverLanguageParser.g:3584:4: ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) + { + // InternalSolverLanguageParser.g:3584:4: ({...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) ) + // InternalSolverLanguageParser.g:3585:5: {...}? => ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) + { + if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 1) ) { + throw new FailedPredicateException(input, "ruleClassDeclaration", "getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 1)"); + } + // InternalSolverLanguageParser.g:3585:113: ( ({...}? => ( (lv_root_2_0= Root ) ) ) ) + // InternalSolverLanguageParser.g:3586:6: ({...}? => ( (lv_root_2_0= Root ) ) ) + { + + getUnorderedGroupHelper().select(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 1); + + // InternalSolverLanguageParser.g:3589:9: ({...}? => ( (lv_root_2_0= Root ) ) ) + // InternalSolverLanguageParser.g:3589:10: {...}? => ( (lv_root_2_0= Root ) ) + { + if ( !((true)) ) { + throw new FailedPredicateException(input, "ruleClassDeclaration", "true"); + } + // InternalSolverLanguageParser.g:3589:19: ( (lv_root_2_0= Root ) ) + // InternalSolverLanguageParser.g:3589:20: (lv_root_2_0= Root ) + { + // InternalSolverLanguageParser.g:3589:20: (lv_root_2_0= Root ) + // InternalSolverLanguageParser.g:3590:10: lv_root_2_0= Root + { + lv_root_2_0=(Token)match(input,Root,FOLLOW_50); + + newLeafNode(lv_root_2_0, grammarAccess.getClassDeclarationAccess().getRootRootKeyword_0_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getClassDeclarationRule()); + } + setWithLastConsumed(current, "root", true, "root"); + + + } + + + } + + + } + + + getUnorderedGroupHelper().returnFromSelection(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0()); + + + } + + + } + + + } + break; + + default : + break loop39; + } + } while (true); + + + } + + + } + + + getUnorderedGroupHelper().leave(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0()); + } - otherlv_1=(Token)match(input,Class,FOLLOW_20); + otherlv_3=(Token)match(input,Class,FOLLOW_28); - newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); + newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); - // InternalSolverLanguageParser.g:3225:3: ( (lv_name_2_0= RULE_ID ) ) - // InternalSolverLanguageParser.g:3226:4: (lv_name_2_0= RULE_ID ) + // InternalSolverLanguageParser.g:3618:3: ( (lv_name_4_0= RULE_ID ) ) + // InternalSolverLanguageParser.g:3619:4: (lv_name_4_0= RULE_ID ) { - // InternalSolverLanguageParser.g:3226:4: (lv_name_2_0= RULE_ID ) - // InternalSolverLanguageParser.g:3227:5: lv_name_2_0= RULE_ID + // InternalSolverLanguageParser.g:3619:4: (lv_name_4_0= RULE_ID ) + // InternalSolverLanguageParser.g:3620:5: lv_name_4_0= RULE_ID { - lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_47); + lv_name_4_0=(Token)match(input,RULE_ID,FOLLOW_51); - newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); + newLeafNode(lv_name_4_0, grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); if (current==null) { - current = createModelElement(grammarAccess.getClassDefinitionRule()); + current = createModelElement(grammarAccess.getClassDeclarationRule()); } setWithLastConsumed( current, "name", - lv_name_2_0, + lv_name_4_0, "org.eclipse.xtext.common.Terminals.ID"); @@ -8199,36 +9246,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:3243:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? - int alt37=2; - int LA37_0 = input.LA(1); + // InternalSolverLanguageParser.g:3636:3: (otherlv_5= Extends ( ( ruleQualifiedName ) ) (otherlv_7= Comma ( ( ruleQualifiedName ) ) )* )? + int alt41=2; + int LA41_0 = input.LA(1); - if ( (LA37_0==Extends) ) { - alt37=1; + if ( (LA41_0==Extends) ) { + alt41=1; } - switch (alt37) { + switch (alt41) { case 1 : - // InternalSolverLanguageParser.g:3244:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* + // InternalSolverLanguageParser.g:3637:4: otherlv_5= Extends ( ( ruleQualifiedName ) ) (otherlv_7= Comma ( ( ruleQualifiedName ) ) )* { - otherlv_3=(Token)match(input,Extends,FOLLOW_8); + otherlv_5=(Token)match(input,Extends,FOLLOW_3); - newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); + newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0()); - // InternalSolverLanguageParser.g:3248:4: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:3249:5: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3641:4: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3642:5: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:3249:5: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:3250:6: ruleQualifiedName + // InternalSolverLanguageParser.g:3642:5: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3643:6: ruleQualifiedName { if (current==null) { - current = createModelElement(grammarAccess.getClassDefinitionRule()); + current = createModelElement(grammarAccess.getClassDeclarationRule()); } - newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); + newCompositeNode(grammarAccess.getClassDeclarationAccess().getSupertypesSymbolCrossReference_3_1_0()); - pushFollow(FOLLOW_48); + pushFollow(FOLLOW_52); ruleQualifiedName(); state._fsp--; @@ -8242,40 +9289,40 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:3264:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* - loop36: + // InternalSolverLanguageParser.g:3657:4: (otherlv_7= Comma ( ( ruleQualifiedName ) ) )* + loop40: do { - int alt36=2; - int LA36_0 = input.LA(1); + int alt40=2; + int LA40_0 = input.LA(1); - if ( (LA36_0==Comma) ) { - alt36=1; + if ( (LA40_0==Comma) ) { + alt40=1; } - switch (alt36) { + switch (alt40) { case 1 : - // InternalSolverLanguageParser.g:3265:5: otherlv_5= Comma ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3658:5: otherlv_7= Comma ( ( ruleQualifiedName ) ) { - otherlv_5=(Token)match(input,Comma,FOLLOW_8); + otherlv_7=(Token)match(input,Comma,FOLLOW_3); - newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); + newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0()); - // InternalSolverLanguageParser.g:3269:5: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:3270:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3662:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3663:6: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:3270:6: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:3271:7: ruleQualifiedName + // InternalSolverLanguageParser.g:3663:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3664:7: ruleQualifiedName { if (current==null) { - current = createModelElement(grammarAccess.getClassDefinitionRule()); + current = createModelElement(grammarAccess.getClassDeclarationRule()); } - newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); + newCompositeNode(grammarAccess.getClassDeclarationAccess().getSupertypesSymbolCrossReference_3_2_1_0()); - pushFollow(FOLLOW_48); + pushFollow(FOLLOW_52); ruleQualifiedName(); state._fsp--; @@ -8294,7 +9341,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { break; default : - break loop36; + break loop40; } } while (true); @@ -8304,63 +9351,105 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_7=(Token)match(input,LeftCurlyBracket,FOLLOW_49); + // InternalSolverLanguageParser.g:3680:3: ( (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket ) | this_FULL_STOP_12= RULE_FULL_STOP ) + int alt43=2; + int LA43_0 = input.LA(1); - newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); - - // InternalSolverLanguageParser.g:3291:3: ( (lv_members_8_0= ruleMemberDefinition ) )* - loop38: - do { - int alt38=2; - int LA38_0 = input.LA(1); + if ( (LA43_0==LeftCurlyBracket) ) { + alt43=1; + } + else if ( (LA43_0==RULE_FULL_STOP) ) { + alt43=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 43, 0, input); + + throw nvae; + } + switch (alt43) { + case 1 : + // InternalSolverLanguageParser.g:3681:4: (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket ) + { + // InternalSolverLanguageParser.g:3681:4: (otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket ) + // InternalSolverLanguageParser.g:3682:5: otherlv_9= LeftCurlyBracket ( (lv_fields_10_0= ruleField ) )* otherlv_11= RightCurlyBracket + { + otherlv_9=(Token)match(input,LeftCurlyBracket,FOLLOW_53); + + newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()); + + // InternalSolverLanguageParser.g:3686:5: ( (lv_fields_10_0= ruleField ) )* + loop42: + do { + int alt42=2; + int LA42_0 = input.LA(1); + + if ( (LA42_0==Contains||(LA42_0>=Object && LA42_0<=Refers)||LA42_0==RULE_QUOTED_ID||LA42_0==RULE_ID) ) { + alt42=1; + } + + + switch (alt42) { + case 1 : + // InternalSolverLanguageParser.g:3687:6: (lv_fields_10_0= ruleField ) + { + // InternalSolverLanguageParser.g:3687:6: (lv_fields_10_0= ruleField ) + // InternalSolverLanguageParser.g:3688:7: lv_fields_10_0= ruleField + { + + newCompositeNode(grammarAccess.getClassDeclarationAccess().getFieldsFieldParserRuleCall_4_0_1_0()); + + pushFollow(FOLLOW_53); + lv_fields_10_0=ruleField(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getClassDeclarationRule()); + } + add( + current, + "fields", + lv_fields_10_0, + "org.eclipse.viatra.solver.language.SolverLanguage.Field"); + afterParserOrEnumRuleCall(); + - if ( (LA38_0==Contains||LA38_0==RULE_QUOTED_ID||LA38_0==RULE_ID) ) { - alt38=1; - } + } - switch (alt38) { - case 1 : - // InternalSolverLanguageParser.g:3292:4: (lv_members_8_0= ruleMemberDefinition ) - { - // InternalSolverLanguageParser.g:3292:4: (lv_members_8_0= ruleMemberDefinition ) - // InternalSolverLanguageParser.g:3293:5: lv_members_8_0= ruleMemberDefinition - { + } + break; - newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); - - pushFollow(FOLLOW_49); - lv_members_8_0=ruleMemberDefinition(); + default : + break loop42; + } + } while (true); - state._fsp--; + otherlv_11=(Token)match(input,RightCurlyBracket,FOLLOW_2); + newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2()); + - if (current==null) { - current = createModelElementForParent(grammarAccess.getClassDefinitionRule()); - } - add( - current, - "members", - lv_members_8_0, - "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition"); - afterParserOrEnumRuleCall(); - + } - } + } + break; + case 2 : + // InternalSolverLanguageParser.g:3711:4: this_FULL_STOP_12= RULE_FULL_STOP + { + this_FULL_STOP_12=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); - } - break; + newLeafNode(this_FULL_STOP_12, grammarAccess.getClassDeclarationAccess().getFULL_STOPTerminalRuleCall_4_1()); + - default : - break loop38; - } - } while (true); + } + break; - otherlv_9=(Token)match(input,RightCurlyBracket,FOLLOW_2); + } - newLeafNode(otherlv_9, grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); - } @@ -8380,28 +9469,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleClassDefinition" + // $ANTLR end "ruleClassDeclaration" - // $ANTLR start "entryRuleMemberDefinition" - // InternalSolverLanguageParser.g:3318:1: entryRuleMemberDefinition returns [EObject current=null] : iv_ruleMemberDefinition= ruleMemberDefinition EOF ; - public final EObject entryRuleMemberDefinition() throws RecognitionException { + // $ANTLR start "entryRuleField" + // InternalSolverLanguageParser.g:3720:1: entryRuleField returns [EObject current=null] : iv_ruleField= ruleField EOF ; + public final EObject entryRuleField() throws RecognitionException { EObject current = null; - EObject iv_ruleMemberDefinition = null; + EObject iv_ruleField = null; try { - // InternalSolverLanguageParser.g:3318:57: (iv_ruleMemberDefinition= ruleMemberDefinition EOF ) - // InternalSolverLanguageParser.g:3319:2: iv_ruleMemberDefinition= ruleMemberDefinition EOF + // InternalSolverLanguageParser.g:3720:46: (iv_ruleField= ruleField EOF ) + // InternalSolverLanguageParser.g:3721:2: iv_ruleField= ruleField EOF { - newCompositeNode(grammarAccess.getMemberDefinitionRule()); + newCompositeNode(grammarAccess.getFieldRule()); pushFollow(FOLLOW_1); - iv_ruleMemberDefinition=ruleMemberDefinition(); + iv_ruleField=ruleField(); state._fsp--; - current =iv_ruleMemberDefinition; + current =iv_ruleField; match(input,EOF,FOLLOW_2); } @@ -8416,55 +9505,93 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleMemberDefinition" + // $ANTLR end "entryRuleField" - // $ANTLR start "ruleMemberDefinition" - // 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 { + // $ANTLR start "ruleField" + // InternalSolverLanguageParser.g:3727:1: ruleField returns [EObject current=null] : ( ( ( (lv_containment_0_0= Contains ) ) | ( (lv_crossReference_1_0= Refers ) ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_3_0= ruleMultiplicity ) )? ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_7= Semicolon )? ) ; + public final EObject ruleField() throws RecognitionException { EObject current = null; Token lv_containment_0_0=null; - Token lv_name_3_0=null; - Token otherlv_4=null; - Token otherlv_6=null; - EObject lv_multiplicity_2_0 = null; + Token lv_crossReference_1_0=null; + Token lv_name_4_0=null; + Token otherlv_5=null; + Token otherlv_7=null; + EObject lv_multiplicity_3_0 = null; enterRule(); try { - // 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:3733:2: ( ( ( ( (lv_containment_0_0= Contains ) ) | ( (lv_crossReference_1_0= Refers ) ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_3_0= ruleMultiplicity ) )? ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_7= Semicolon )? ) ) + // InternalSolverLanguageParser.g:3734:2: ( ( ( (lv_containment_0_0= Contains ) ) | ( (lv_crossReference_1_0= Refers ) ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_3_0= ruleMultiplicity ) )? ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_7= 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:3734:2: ( ( ( (lv_containment_0_0= Contains ) ) | ( (lv_crossReference_1_0= Refers ) ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_3_0= ruleMultiplicity ) )? ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_7= Semicolon )? ) + // InternalSolverLanguageParser.g:3735:3: ( ( (lv_containment_0_0= Contains ) ) | ( (lv_crossReference_1_0= Refers ) ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_3_0= ruleMultiplicity ) )? ( (lv_name_4_0= RULE_ID ) ) (otherlv_5= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_7= Semicolon )? { - // InternalSolverLanguageParser.g:3333:3: ( (lv_containment_0_0= Contains ) )? - int alt39=2; - int LA39_0 = input.LA(1); + // InternalSolverLanguageParser.g:3735:3: ( ( (lv_containment_0_0= Contains ) ) | ( (lv_crossReference_1_0= Refers ) ) )? + int alt44=3; + int LA44_0 = input.LA(1); - if ( (LA39_0==Contains) ) { - alt39=1; + if ( (LA44_0==Contains) ) { + alt44=1; + } + else if ( (LA44_0==Refers) ) { + alt44=2; } - switch (alt39) { + switch (alt44) { case 1 : - // InternalSolverLanguageParser.g:3334:4: (lv_containment_0_0= Contains ) + // InternalSolverLanguageParser.g:3736:4: ( (lv_containment_0_0= Contains ) ) + { + // InternalSolverLanguageParser.g:3736:4: ( (lv_containment_0_0= Contains ) ) + // InternalSolverLanguageParser.g:3737:5: (lv_containment_0_0= Contains ) { - // InternalSolverLanguageParser.g:3334:4: (lv_containment_0_0= Contains ) - // InternalSolverLanguageParser.g:3335:5: lv_containment_0_0= Contains + // InternalSolverLanguageParser.g:3737:5: (lv_containment_0_0= Contains ) + // InternalSolverLanguageParser.g:3738:6: lv_containment_0_0= Contains { - lv_containment_0_0=(Token)match(input,Contains,FOLLOW_8); + lv_containment_0_0=(Token)match(input,Contains,FOLLOW_3); - newLeafNode(lv_containment_0_0, grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); - + newLeafNode(lv_containment_0_0, grammarAccess.getFieldAccess().getContainmentContainsKeyword_0_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getFieldRule()); + } + setWithLastConsumed(current, "containment", true, "contains"); + + + } + + + } + + + } + break; + case 2 : + // InternalSolverLanguageParser.g:3751:4: ( (lv_crossReference_1_0= Refers ) ) + { + // InternalSolverLanguageParser.g:3751:4: ( (lv_crossReference_1_0= Refers ) ) + // InternalSolverLanguageParser.g:3752:5: (lv_crossReference_1_0= Refers ) + { + // InternalSolverLanguageParser.g:3752:5: (lv_crossReference_1_0= Refers ) + // InternalSolverLanguageParser.g:3753:6: lv_crossReference_1_0= Refers + { + lv_crossReference_1_0=(Token)match(input,Refers,FOLLOW_3); + + newLeafNode(lv_crossReference_1_0, grammarAccess.getFieldAccess().getCrossReferenceRefersKeyword_0_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getFieldRule()); + } + setWithLastConsumed(current, "crossReference", true, "refers"); + + + } - if (current==null) { - current = createModelElement(grammarAccess.getMemberDefinitionRule()); - } - setWithLastConsumed(current, "containment", true, "contains"); - } @@ -8474,21 +9601,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:3347:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:3348:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3766:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3767:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:3348:4: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:3349:5: ruleQualifiedName + // InternalSolverLanguageParser.g:3767:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3768:5: ruleQualifiedName { if (current==null) { - current = createModelElement(grammarAccess.getMemberDefinitionRule()); + current = createModelElement(grammarAccess.getFieldRule()); } - newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + newCompositeNode(grammarAccess.getFieldAccess().getTypeSymbolCrossReference_1_0()); - pushFollow(FOLLOW_50); + pushFollow(FOLLOW_54); ruleQualifiedName(); state._fsp--; @@ -8502,36 +9629,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:3363:3: ( (lv_multiplicity_2_0= ruleMultiplicity ) )? - int alt40=2; - int LA40_0 = input.LA(1); + // InternalSolverLanguageParser.g:3782:3: ( (lv_multiplicity_3_0= ruleMultiplicity ) )? + int alt45=2; + int LA45_0 = input.LA(1); - if ( (LA40_0==LeftSquareBracket) ) { - alt40=1; + if ( (LA45_0==LeftSquareBracket) ) { + alt45=1; } - switch (alt40) { + switch (alt45) { case 1 : - // InternalSolverLanguageParser.g:3364:4: (lv_multiplicity_2_0= ruleMultiplicity ) + // InternalSolverLanguageParser.g:3783:4: (lv_multiplicity_3_0= ruleMultiplicity ) { - // InternalSolverLanguageParser.g:3364:4: (lv_multiplicity_2_0= ruleMultiplicity ) - // InternalSolverLanguageParser.g:3365:5: lv_multiplicity_2_0= ruleMultiplicity + // InternalSolverLanguageParser.g:3783:4: (lv_multiplicity_3_0= ruleMultiplicity ) + // InternalSolverLanguageParser.g:3784:5: lv_multiplicity_3_0= ruleMultiplicity { - newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); + newCompositeNode(grammarAccess.getFieldAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); - pushFollow(FOLLOW_20); - lv_multiplicity_2_0=ruleMultiplicity(); + pushFollow(FOLLOW_28); + lv_multiplicity_3_0=ruleMultiplicity(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getMemberDefinitionRule()); + current = createModelElementForParent(grammarAccess.getFieldRule()); } set( current, "multiplicity", - lv_multiplicity_2_0, + lv_multiplicity_3_0, "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); afterParserOrEnumRuleCall(); @@ -8544,24 +9671,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:3382:3: ( (lv_name_3_0= RULE_ID ) ) - // InternalSolverLanguageParser.g:3383:4: (lv_name_3_0= RULE_ID ) + // InternalSolverLanguageParser.g:3801:3: ( (lv_name_4_0= RULE_ID ) ) + // InternalSolverLanguageParser.g:3802:4: (lv_name_4_0= RULE_ID ) { - // InternalSolverLanguageParser.g:3383:4: (lv_name_3_0= RULE_ID ) - // InternalSolverLanguageParser.g:3384:5: lv_name_3_0= RULE_ID + // InternalSolverLanguageParser.g:3802:4: (lv_name_4_0= RULE_ID ) + // InternalSolverLanguageParser.g:3803:5: lv_name_4_0= RULE_ID { - lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_51); + lv_name_4_0=(Token)match(input,RULE_ID,FOLLOW_55); - newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); + newLeafNode(lv_name_4_0, grammarAccess.getFieldAccess().getNameIDTerminalRuleCall_3_0()); if (current==null) { - current = createModelElement(grammarAccess.getMemberDefinitionRule()); + current = createModelElement(grammarAccess.getFieldRule()); } setWithLastConsumed( current, "name", - lv_name_3_0, + lv_name_4_0, "org.eclipse.xtext.common.Terminals.ID"); @@ -8570,36 +9697,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:3400:3: (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? - int alt41=2; - int LA41_0 = input.LA(1); + // InternalSolverLanguageParser.g:3819:3: (otherlv_5= Opposite ( ( ruleQualifiedName ) ) )? + int alt46=2; + int LA46_0 = input.LA(1); - if ( (LA41_0==Opposite) ) { - alt41=1; + if ( (LA46_0==Opposite) ) { + alt46=1; } - switch (alt41) { + switch (alt46) { case 1 : - // InternalSolverLanguageParser.g:3401:4: otherlv_4= Opposite ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3820:4: otherlv_5= Opposite ( ( ruleQualifiedName ) ) { - otherlv_4=(Token)match(input,Opposite,FOLLOW_8); + otherlv_5=(Token)match(input,Opposite,FOLLOW_3); - newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); + newLeafNode(otherlv_5, grammarAccess.getFieldAccess().getOppositeKeyword_4_0()); - // InternalSolverLanguageParser.g:3405:4: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:3406:5: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3824:4: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:3825:5: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:3406:5: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:3407:6: ruleQualifiedName + // InternalSolverLanguageParser.g:3825:5: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:3826:6: ruleQualifiedName { if (current==null) { - current = createModelElement(grammarAccess.getMemberDefinitionRule()); + current = createModelElement(grammarAccess.getFieldRule()); } - newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); + newCompositeNode(grammarAccess.getFieldAccess().getOppositeSymbolCrossReference_4_1_0()); - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_31); ruleQualifiedName(); state._fsp--; @@ -8619,20 +9746,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:3422:3: (otherlv_6= Semicolon )? - int alt42=2; - int LA42_0 = input.LA(1); + // InternalSolverLanguageParser.g:3841:3: (otherlv_7= Semicolon )? + int alt47=2; + int LA47_0 = input.LA(1); - if ( (LA42_0==Semicolon) ) { - alt42=1; + if ( (LA47_0==Semicolon) ) { + alt47=1; } - switch (alt42) { + switch (alt47) { case 1 : - // InternalSolverLanguageParser.g:3423:4: otherlv_6= Semicolon + // InternalSolverLanguageParser.g:3842:4: otherlv_7= Semicolon { - otherlv_6=(Token)match(input,Semicolon,FOLLOW_2); + otherlv_7=(Token)match(input,Semicolon,FOLLOW_2); - newLeafNode(otherlv_6, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); + newLeafNode(otherlv_7, grammarAccess.getFieldAccess().getSemicolonKeyword_5()); } @@ -8659,11 +9786,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleMemberDefinition" + // $ANTLR end "ruleField" // $ANTLR start "entryRuleMultiplicity" - // InternalSolverLanguageParser.g:3432:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; + // InternalSolverLanguageParser.g:3851:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; public final EObject entryRuleMultiplicity() throws RecognitionException { EObject current = null; @@ -8671,8 +9798,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:3432:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) - // InternalSolverLanguageParser.g:3433:2: iv_ruleMultiplicity= ruleMultiplicity EOF + // InternalSolverLanguageParser.g:3851:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) + // InternalSolverLanguageParser.g:3852:2: iv_ruleMultiplicity= ruleMultiplicity EOF { newCompositeNode(grammarAccess.getMultiplicityRule()); pushFollow(FOLLOW_1); @@ -8699,11 +9826,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleMultiplicity" - // InternalSolverLanguageParser.g:3439:1: ruleMultiplicity returns [EObject current=null] : (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ; + // InternalSolverLanguageParser.g:3858:1: ruleMultiplicity returns [EObject current=null] : (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ; public final EObject ruleMultiplicity() throws RecognitionException { EObject current = null; - EObject this_ManyMultiplicity_0 = null; + EObject this_UnboundedMultiplicity_0 = null; EObject this_ExactMultiplicity_1 = null; @@ -8714,112 +9841,324 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:3864:2: ( (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ) + // InternalSolverLanguageParser.g:3865:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) { - // 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); + // InternalSolverLanguageParser.g:3865:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) + int alt48=3; + int LA48_0 = input.LA(1); - if ( (LA43_0==LeftSquareBracket) ) { + if ( (LA48_0==LeftSquareBracket) ) { switch ( input.LA(2) ) { case RULE_INT: { - int LA43_2 = input.LA(3); + int LA48_2 = input.LA(3); - if ( (LA43_2==FullStopFullStop) ) { - alt43=3; + if ( (LA48_2==RightSquareBracket) ) { + alt48=2; } - else if ( (LA43_2==RightSquareBracket) ) { - alt43=2; + else if ( (LA48_2==Comma) ) { + alt48=3; } else { NoViableAltException nvae = - new NoViableAltException("", 43, 2, input); + new NoViableAltException("", 48, 2, input); throw nvae; } } break; - case Asterisk: + case RightSquareBracket: { - alt43=2; + alt48=1; } break; - case RightSquareBracket: + case Asterisk: { - alt43=1; + alt48=2; } break; default: NoViableAltException nvae = - new NoViableAltException("", 43, 1, input); + new NoViableAltException("", 48, 1, input); throw nvae; } } - else { - NoViableAltException nvae = - new NoViableAltException("", 43, 0, input); + else { + NoViableAltException nvae = + new NoViableAltException("", 48, 0, input); + + throw nvae; + } + switch (alt48) { + case 1 : + // InternalSolverLanguageParser.g:3866:3: this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity + { + + newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_UnboundedMultiplicity_0=ruleUnboundedMultiplicity(); + + state._fsp--; + + + current = this_UnboundedMultiplicity_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalSolverLanguageParser.g:3875:3: this_ExactMultiplicity_1= ruleExactMultiplicity + { + + newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_ExactMultiplicity_1=ruleExactMultiplicity(); + + state._fsp--; + + + current = this_ExactMultiplicity_1; + afterParserOrEnumRuleCall(); + + + } + break; + case 3 : + // InternalSolverLanguageParser.g:3884:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity + { + + newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); + + pushFollow(FOLLOW_2); + this_BoundedMultiplicity_2=ruleBoundedMultiplicity(); + + state._fsp--; + + + current = this_BoundedMultiplicity_2; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleMultiplicity" + + + // $ANTLR start "entryRuleUnboundedMultiplicity" + // InternalSolverLanguageParser.g:3896:1: entryRuleUnboundedMultiplicity returns [EObject current=null] : iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF ; + public final EObject entryRuleUnboundedMultiplicity() throws RecognitionException { + EObject current = null; + + EObject iv_ruleUnboundedMultiplicity = null; + + + try { + // InternalSolverLanguageParser.g:3896:62: (iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF ) + // InternalSolverLanguageParser.g:3897:2: iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF + { + newCompositeNode(grammarAccess.getUnboundedMultiplicityRule()); + pushFollow(FOLLOW_1); + iv_ruleUnboundedMultiplicity=ruleUnboundedMultiplicity(); + + state._fsp--; + + current =iv_ruleUnboundedMultiplicity; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleUnboundedMultiplicity" + + + // $ANTLR start "ruleUnboundedMultiplicity" + // InternalSolverLanguageParser.g:3903:1: ruleUnboundedMultiplicity returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ; + public final EObject ruleUnboundedMultiplicity() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:3909:2: ( ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ) + // InternalSolverLanguageParser.g:3910:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) + { + // InternalSolverLanguageParser.g:3910:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) + // InternalSolverLanguageParser.g:3911:3: () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket + { + // InternalSolverLanguageParser.g:3911:3: () + // InternalSolverLanguageParser.g:3912:4: + { + + current = forceCreateModelElement( + grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_49); + + newLeafNode(otherlv_1, grammarAccess.getUnboundedMultiplicityAccess().getLeftSquareBracketKeyword_1()); + + otherlv_2=(Token)match(input,RightSquareBracket,FOLLOW_2); + + newLeafNode(otherlv_2, grammarAccess.getUnboundedMultiplicityAccess().getRightSquareBracketKeyword_2()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleUnboundedMultiplicity" + + + // $ANTLR start "entryRuleExactMultiplicity" + // InternalSolverLanguageParser.g:3930:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; + public final EObject entryRuleExactMultiplicity() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExactMultiplicity = null; + + + try { + // InternalSolverLanguageParser.g:3930:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) + // InternalSolverLanguageParser.g:3931:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF + { + newCompositeNode(grammarAccess.getExactMultiplicityRule()); + pushFollow(FOLLOW_1); + iv_ruleExactMultiplicity=ruleExactMultiplicity(); + + state._fsp--; + + current =iv_ruleExactMultiplicity; + match(input,EOF,FOLLOW_2); + + } - throw nvae; + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); } - switch (alt43) { - case 1 : - // InternalSolverLanguageParser.g:3447:3: this_ManyMultiplicity_0= ruleManyMultiplicity - { + finally { + } + return current; + } + // $ANTLR end "entryRuleExactMultiplicity" - newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); - - pushFollow(FOLLOW_2); - this_ManyMultiplicity_0=ruleManyMultiplicity(); - state._fsp--; + // $ANTLR start "ruleExactMultiplicity" + // InternalSolverLanguageParser.g:3937:1: ruleExactMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_value_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ; + public final EObject ruleExactMultiplicity() throws RecognitionException { + EObject current = null; + Token otherlv_0=null; + Token otherlv_2=null; + AntlrDatatypeRuleToken lv_value_1_0 = null; - current = this_ManyMultiplicity_0; - afterParserOrEnumRuleCall(); - - } - break; - case 2 : - // InternalSolverLanguageParser.g:3456:3: this_ExactMultiplicity_1= ruleExactMultiplicity - { - newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); - - pushFollow(FOLLOW_2); - this_ExactMultiplicity_1=ruleExactMultiplicity(); + enterRule(); - state._fsp--; + try { + // InternalSolverLanguageParser.g:3943:2: ( (otherlv_0= LeftSquareBracket ( (lv_value_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ) + // InternalSolverLanguageParser.g:3944:2: (otherlv_0= LeftSquareBracket ( (lv_value_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) + { + // InternalSolverLanguageParser.g:3944:2: (otherlv_0= LeftSquareBracket ( (lv_value_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) + // InternalSolverLanguageParser.g:3945:3: otherlv_0= LeftSquareBracket ( (lv_value_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket + { + otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_56); + newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); + + // InternalSolverLanguageParser.g:3949:3: ( (lv_value_1_0= ruleUpperMultiplicty ) ) + // InternalSolverLanguageParser.g:3950:4: (lv_value_1_0= ruleUpperMultiplicty ) + { + // InternalSolverLanguageParser.g:3950:4: (lv_value_1_0= ruleUpperMultiplicty ) + // InternalSolverLanguageParser.g:3951:5: lv_value_1_0= ruleUpperMultiplicty + { - current = this_ExactMultiplicity_1; - afterParserOrEnumRuleCall(); - + newCompositeNode(grammarAccess.getExactMultiplicityAccess().getValueUpperMultiplictyParserRuleCall_1_0()); + + pushFollow(FOLLOW_49); + lv_value_1_0=ruleUpperMultiplicty(); - } - break; - case 3 : - // InternalSolverLanguageParser.g:3465:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity - { + state._fsp--; - newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); - - pushFollow(FOLLOW_2); - this_BoundedMultiplicity_2=ruleBoundedMultiplicity(); - state._fsp--; + if (current==null) { + current = createModelElementForParent(grammarAccess.getExactMultiplicityRule()); + } + set( + current, + "value", + lv_value_1_0, + "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); + afterParserOrEnumRuleCall(); + + } - current = this_BoundedMultiplicity_2; - afterParserOrEnumRuleCall(); - - } - break; + } + + otherlv_2=(Token)match(input,RightSquareBracket,FOLLOW_2); + + newLeafNode(otherlv_2, grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2()); + } @@ -8839,28 +10178,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleMultiplicity" + // $ANTLR end "ruleExactMultiplicity" - // $ANTLR start "entryRuleManyMultiplicity" - // InternalSolverLanguageParser.g:3477:1: entryRuleManyMultiplicity returns [EObject current=null] : iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ; - public final EObject entryRuleManyMultiplicity() throws RecognitionException { + // $ANTLR start "entryRuleBoundedMultiplicity" + // InternalSolverLanguageParser.g:3976:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ; + public final EObject entryRuleBoundedMultiplicity() throws RecognitionException { EObject current = null; - EObject iv_ruleManyMultiplicity = null; + EObject iv_ruleBoundedMultiplicity = null; try { - // InternalSolverLanguageParser.g:3477:57: (iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ) - // InternalSolverLanguageParser.g:3478:2: iv_ruleManyMultiplicity= ruleManyMultiplicity EOF + // InternalSolverLanguageParser.g:3976:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ) + // InternalSolverLanguageParser.g:3977:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF { - newCompositeNode(grammarAccess.getManyMultiplicityRule()); + newCompositeNode(grammarAccess.getBoundedMultiplicityRule()); pushFollow(FOLLOW_1); - iv_ruleManyMultiplicity=ruleManyMultiplicity(); + iv_ruleBoundedMultiplicity=ruleBoundedMultiplicity(); state._fsp--; - current =iv_ruleManyMultiplicity; + current =iv_ruleBoundedMultiplicity; match(input,EOF,FOLLOW_2); } @@ -8875,45 +10214,99 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleManyMultiplicity" + // $ANTLR end "entryRuleBoundedMultiplicity" - // $ANTLR start "ruleManyMultiplicity" - // InternalSolverLanguageParser.g:3484:1: ruleManyMultiplicity returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ; - public final EObject ruleManyMultiplicity() throws RecognitionException { + // $ANTLR start "ruleBoundedMultiplicity" + // InternalSolverLanguageParser.g:3983:1: ruleBoundedMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ; + public final EObject ruleBoundedMultiplicity() throws RecognitionException { EObject current = null; - Token otherlv_1=null; + Token otherlv_0=null; + Token lv_lowerBound_1_0=null; Token otherlv_2=null; + Token otherlv_4=null; + AntlrDatatypeRuleToken lv_upperBound_3_0 = null; + enterRule(); try { - // InternalSolverLanguageParser.g:3490:2: ( ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ) - // InternalSolverLanguageParser.g:3491:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) + // InternalSolverLanguageParser.g:3989:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ) + // InternalSolverLanguageParser.g:3990:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) { - // InternalSolverLanguageParser.g:3491:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) - // InternalSolverLanguageParser.g:3492:3: () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket + // InternalSolverLanguageParser.g:3990:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) + // InternalSolverLanguageParser.g:3991:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= Comma ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket { - // InternalSolverLanguageParser.g:3492:3: () - // InternalSolverLanguageParser.g:3493:4: + otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_57); + + newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); + + // InternalSolverLanguageParser.g:3995:3: ( (lv_lowerBound_1_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:3996:4: (lv_lowerBound_1_0= RULE_INT ) + { + // InternalSolverLanguageParser.g:3996:4: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:3997:5: lv_lowerBound_1_0= RULE_INT { + lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_48); + + newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getBoundedMultiplicityRule()); + } + setWithLastConsumed( + current, + "lowerBound", + lv_lowerBound_1_0, + "org.eclipse.xtext.common.Terminals.INT"); + + + } - current = forceCreateModelElement( - grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0(), - current); - } - otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_45); + otherlv_2=(Token)match(input,Comma,FOLLOW_56); - newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); + newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getCommaKeyword_2()); - otherlv_2=(Token)match(input,RightSquareBracket,FOLLOW_2); + // InternalSolverLanguageParser.g:4017:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) + // InternalSolverLanguageParser.g:4018:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) + { + // InternalSolverLanguageParser.g:4018:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) + // InternalSolverLanguageParser.g:4019:5: lv_upperBound_3_0= ruleUpperMultiplicty + { + + newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); + + pushFollow(FOLLOW_49); + lv_upperBound_3_0=ruleUpperMultiplicty(); + + state._fsp--; + - newLeafNode(otherlv_2, grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); + if (current==null) { + current = createModelElementForParent(grammarAccess.getBoundedMultiplicityRule()); + } + set( + current, + "upperBound", + lv_upperBound_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,RightSquareBracket,FOLLOW_2); + + newLeafNode(otherlv_4, grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4()); } @@ -8934,28 +10327,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleManyMultiplicity" + // $ANTLR end "ruleBoundedMultiplicity" - // $ANTLR start "entryRuleExactMultiplicity" - // InternalSolverLanguageParser.g:3511:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; - public final EObject entryRuleExactMultiplicity() throws RecognitionException { + // $ANTLR start "entryRuleEnumDeclaration" + // InternalSolverLanguageParser.g:4044:1: entryRuleEnumDeclaration returns [EObject current=null] : iv_ruleEnumDeclaration= ruleEnumDeclaration EOF ; + public final EObject entryRuleEnumDeclaration() throws RecognitionException { EObject current = null; - EObject iv_ruleExactMultiplicity = null; + EObject iv_ruleEnumDeclaration = null; try { - // InternalSolverLanguageParser.g:3511:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) - // InternalSolverLanguageParser.g:3512:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF + // InternalSolverLanguageParser.g:4044:56: (iv_ruleEnumDeclaration= ruleEnumDeclaration EOF ) + // InternalSolverLanguageParser.g:4045:2: iv_ruleEnumDeclaration= ruleEnumDeclaration EOF { - newCompositeNode(grammarAccess.getExactMultiplicityRule()); + newCompositeNode(grammarAccess.getEnumDeclarationRule()); pushFollow(FOLLOW_1); - iv_ruleExactMultiplicity=ruleExactMultiplicity(); + iv_ruleEnumDeclaration=ruleEnumDeclaration(); state._fsp--; - current =iv_ruleExactMultiplicity; + current =iv_ruleEnumDeclaration; match(input,EOF,FOLLOW_2); } @@ -8970,57 +10363,58 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleExactMultiplicity" + // $ANTLR end "entryRuleEnumDeclaration" - // $ANTLR start "ruleExactMultiplicity" - // 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 { + // $ANTLR start "ruleEnumDeclaration" + // InternalSolverLanguageParser.g:4051:1: ruleEnumDeclaration returns [EObject current=null] : (otherlv_0= Enum ( (lv_name_1_0= RULE_ID ) ) ( (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket ) | this_FULL_STOP_7= RULE_FULL_STOP ) ) ; + public final EObject ruleEnumDeclaration() throws RecognitionException { EObject current = null; Token otherlv_0=null; + Token lv_name_1_0=null; Token otherlv_2=null; - AntlrDatatypeRuleToken lv_multiplicity_1_0 = null; + Token otherlv_4=null; + Token otherlv_6=null; + Token this_FULL_STOP_7=null; + EObject lv_literals_3_0 = null; + + EObject lv_literals_5_0 = null; enterRule(); try { - // 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:4057:2: ( (otherlv_0= Enum ( (lv_name_1_0= RULE_ID ) ) ( (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket ) | this_FULL_STOP_7= RULE_FULL_STOP ) ) ) + // InternalSolverLanguageParser.g:4058:2: (otherlv_0= Enum ( (lv_name_1_0= RULE_ID ) ) ( (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket ) | this_FULL_STOP_7= RULE_FULL_STOP ) ) { - // 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 + // InternalSolverLanguageParser.g:4058:2: (otherlv_0= Enum ( (lv_name_1_0= RULE_ID ) ) ( (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket ) | this_FULL_STOP_7= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:4059:3: otherlv_0= Enum ( (lv_name_1_0= RULE_ID ) ) ( (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket ) | this_FULL_STOP_7= RULE_FULL_STOP ) { - otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_52); + otherlv_0=(Token)match(input,Enum,FOLLOW_28); - newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0()); - // InternalSolverLanguageParser.g:3530:3: ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) - // InternalSolverLanguageParser.g:3531:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) + // InternalSolverLanguageParser.g:4063:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalSolverLanguageParser.g:4064:4: (lv_name_1_0= RULE_ID ) { - // InternalSolverLanguageParser.g:3531:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) - // InternalSolverLanguageParser.g:3532:5: lv_multiplicity_1_0= ruleUpperMultiplicty + // InternalSolverLanguageParser.g:4064:4: (lv_name_1_0= RULE_ID ) + // InternalSolverLanguageParser.g:4065:5: lv_name_1_0= RULE_ID { + lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_58); - newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); + newLeafNode(lv_name_1_0, grammarAccess.getEnumDeclarationAccess().getNameIDTerminalRuleCall_1_0()); - pushFollow(FOLLOW_45); - lv_multiplicity_1_0=ruleUpperMultiplicty(); - - state._fsp--; - if (current==null) { - current = createModelElementForParent(grammarAccess.getExactMultiplicityRule()); + current = createModelElement(grammarAccess.getEnumDeclarationRule()); } - set( + setWithLastConsumed( current, - "multiplicity", - lv_multiplicity_1_0, - "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); - afterParserOrEnumRuleCall(); + "name", + lv_name_1_0, + "org.eclipse.xtext.common.Terminals.ID"); } @@ -9028,10 +10422,180 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,RightSquareBracket,FOLLOW_2); + // InternalSolverLanguageParser.g:4081:3: ( (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket ) | this_FULL_STOP_7= RULE_FULL_STOP ) + int alt52=2; + int LA52_0 = input.LA(1); + + if ( (LA52_0==LeftCurlyBracket) ) { + alt52=1; + } + else if ( (LA52_0==RULE_FULL_STOP) ) { + alt52=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 52, 0, input); + + throw nvae; + } + switch (alt52) { + case 1 : + // InternalSolverLanguageParser.g:4082:4: (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket ) + { + // InternalSolverLanguageParser.g:4082:4: (otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket ) + // InternalSolverLanguageParser.g:4083:5: otherlv_2= LeftCurlyBracket ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? otherlv_6= RightCurlyBracket + { + otherlv_2=(Token)match(input,LeftCurlyBracket,FOLLOW_59); + + newLeafNode(otherlv_2, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0()); + + // InternalSolverLanguageParser.g:4087:5: ( ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* )? + int alt51=2; + int LA51_0 = input.LA(1); + + if ( (LA51_0==RULE_ID) ) { + alt51=1; + } + switch (alt51) { + case 1 : + // InternalSolverLanguageParser.g:4088:6: ( (lv_literals_3_0= ruleEnumLiteral ) ) ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* + { + // InternalSolverLanguageParser.g:4088:6: ( (lv_literals_3_0= ruleEnumLiteral ) ) + // InternalSolverLanguageParser.g:4089:7: (lv_literals_3_0= ruleEnumLiteral ) + { + // InternalSolverLanguageParser.g:4089:7: (lv_literals_3_0= ruleEnumLiteral ) + // InternalSolverLanguageParser.g:4090:8: lv_literals_3_0= ruleEnumLiteral + { + + newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0()); + + pushFollow(FOLLOW_60); + lv_literals_3_0=ruleEnumLiteral(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getEnumDeclarationRule()); + } + add( + current, + "literals", + lv_literals_3_0, + "org.eclipse.viatra.solver.language.SolverLanguage.EnumLiteral"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalSolverLanguageParser.g:4107:6: ( (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) )* + loop50: + do { + int alt50=2; + int LA50_0 = input.LA(1); + + if ( (LA50_0==Comma||LA50_0==RULE_ID) ) { + alt50=1; + } + + + switch (alt50) { + case 1 : + // InternalSolverLanguageParser.g:4108:7: (otherlv_4= Comma )? ( (lv_literals_5_0= ruleEnumLiteral ) ) + { + // InternalSolverLanguageParser.g:4108:7: (otherlv_4= Comma )? + int alt49=2; + int LA49_0 = input.LA(1); + + if ( (LA49_0==Comma) ) { + alt49=1; + } + switch (alt49) { + case 1 : + // InternalSolverLanguageParser.g:4109:8: otherlv_4= Comma + { + otherlv_4=(Token)match(input,Comma,FOLLOW_28); + + newLeafNode(otherlv_4, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0()); + + + } + break; + + } + + // InternalSolverLanguageParser.g:4114:7: ( (lv_literals_5_0= ruleEnumLiteral ) ) + // InternalSolverLanguageParser.g:4115:8: (lv_literals_5_0= ruleEnumLiteral ) + { + // InternalSolverLanguageParser.g:4115:8: (lv_literals_5_0= ruleEnumLiteral ) + // InternalSolverLanguageParser.g:4116:9: lv_literals_5_0= ruleEnumLiteral + { + + newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0()); + + pushFollow(FOLLOW_60); + lv_literals_5_0=ruleEnumLiteral(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getEnumDeclarationRule()); + } + add( + current, + "literals", + lv_literals_5_0, + "org.eclipse.viatra.solver.language.SolverLanguage.EnumLiteral"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop50; + } + } while (true); + + + } + break; + + } + + otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_2); + + newLeafNode(otherlv_6, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2()); + + + } + + + } + break; + case 2 : + // InternalSolverLanguageParser.g:4141:4: this_FULL_STOP_7= RULE_FULL_STOP + { + this_FULL_STOP_7=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_7, grammarAccess.getEnumDeclarationAccess().getFULL_STOPTerminalRuleCall_2_1()); + + + } + break; + + } - newLeafNode(otherlv_2, grammarAccess.getExactMultiplicityAccess().getRightSquareBracketKeyword_2()); - } @@ -9051,28 +10615,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleExactMultiplicity" + // $ANTLR end "ruleEnumDeclaration" - // $ANTLR start "entryRuleBoundedMultiplicity" - // InternalSolverLanguageParser.g:3557:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ; - public final EObject entryRuleBoundedMultiplicity() throws RecognitionException { + // $ANTLR start "entryRuleEnumLiteral" + // InternalSolverLanguageParser.g:4150:1: entryRuleEnumLiteral returns [EObject current=null] : iv_ruleEnumLiteral= ruleEnumLiteral EOF ; + public final EObject entryRuleEnumLiteral() throws RecognitionException { EObject current = null; - EObject iv_ruleBoundedMultiplicity = null; + EObject iv_ruleEnumLiteral = null; try { - // InternalSolverLanguageParser.g:3557:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ) - // InternalSolverLanguageParser.g:3558:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF + // InternalSolverLanguageParser.g:4150:52: (iv_ruleEnumLiteral= ruleEnumLiteral EOF ) + // InternalSolverLanguageParser.g:4151:2: iv_ruleEnumLiteral= ruleEnumLiteral EOF { - newCompositeNode(grammarAccess.getBoundedMultiplicityRule()); + newCompositeNode(grammarAccess.getEnumLiteralRule()); pushFollow(FOLLOW_1); - iv_ruleBoundedMultiplicity=ruleBoundedMultiplicity(); + iv_ruleEnumLiteral=ruleEnumLiteral(); state._fsp--; - current =iv_ruleBoundedMultiplicity; + current =iv_ruleEnumLiteral; match(input,EOF,FOLLOW_2); } @@ -9087,100 +10651,46 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleBoundedMultiplicity" + // $ANTLR end "entryRuleEnumLiteral" - // $ANTLR start "ruleBoundedMultiplicity" - // 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 { + // $ANTLR start "ruleEnumLiteral" + // InternalSolverLanguageParser.g:4157:1: ruleEnumLiteral returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; + public final EObject ruleEnumLiteral() throws RecognitionException { EObject current = null; - Token otherlv_0=null; - Token lv_lowerBound_1_0=null; - Token otherlv_2=null; - Token otherlv_4=null; - AntlrDatatypeRuleToken lv_upperBound_3_0 = null; - + Token lv_name_0_0=null; enterRule(); try { - // 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: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_53); - - newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); - - // InternalSolverLanguageParser.g:3576:3: ( (lv_lowerBound_1_0= RULE_INT ) ) - // InternalSolverLanguageParser.g:3577:4: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:4163:2: ( ( (lv_name_0_0= RULE_ID ) ) ) + // InternalSolverLanguageParser.g:4164:2: ( (lv_name_0_0= RULE_ID ) ) { - // 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_44); - - newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); - - - if (current==null) { - current = createModelElement(grammarAccess.getBoundedMultiplicityRule()); - } - setWithLastConsumed( - current, - "lowerBound", - lv_lowerBound_1_0, - "org.eclipse.xtext.common.Terminals.INT"); - - - } - - - } - - otherlv_2=(Token)match(input,FullStopFullStop,FOLLOW_52); - - newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); - - // InternalSolverLanguageParser.g:3598:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) - // InternalSolverLanguageParser.g:3599:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) + // InternalSolverLanguageParser.g:4164:2: ( (lv_name_0_0= RULE_ID ) ) + // InternalSolverLanguageParser.g:4165:3: (lv_name_0_0= RULE_ID ) { - // InternalSolverLanguageParser.g:3599:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) - // InternalSolverLanguageParser.g:3600:5: lv_upperBound_3_0= ruleUpperMultiplicty + // InternalSolverLanguageParser.g:4165:3: (lv_name_0_0= RULE_ID ) + // InternalSolverLanguageParser.g:4166:4: lv_name_0_0= RULE_ID { + lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2); - newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); - - pushFollow(FOLLOW_45); - lv_upperBound_3_0=ruleUpperMultiplicty(); - - state._fsp--; - - - if (current==null) { - current = createModelElementForParent(grammarAccess.getBoundedMultiplicityRule()); - } - set( - current, - "upperBound", - lv_upperBound_3_0, - "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); - afterParserOrEnumRuleCall(); - - - } + newLeafNode(lv_name_0_0, grammarAccess.getEnumLiteralAccess().getNameIDTerminalRuleCall_0()); + + if (current==null) { + current = createModelElement(grammarAccess.getEnumLiteralRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_0_0, + "org.eclipse.xtext.common.Terminals.ID"); + } - otherlv_4=(Token)match(input,RightSquareBracket,FOLLOW_2); - - newLeafNode(otherlv_4, grammarAccess.getBoundedMultiplicityAccess().getRightSquareBracketKeyword_4()); - } @@ -9200,28 +10710,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleBoundedMultiplicity" + // $ANTLR end "ruleEnumLiteral" - // $ANTLR start "entryRuleScopeDefinition" - // InternalSolverLanguageParser.g:3625:1: entryRuleScopeDefinition returns [EObject current=null] : iv_ruleScopeDefinition= ruleScopeDefinition EOF ; - public final EObject entryRuleScopeDefinition() throws RecognitionException { + // $ANTLR start "entryRuleScopeDeclaration" + // InternalSolverLanguageParser.g:4185:1: entryRuleScopeDeclaration returns [EObject current=null] : iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ; + public final EObject entryRuleScopeDeclaration() throws RecognitionException { EObject current = null; - EObject iv_ruleScopeDefinition = null; + EObject iv_ruleScopeDeclaration = null; try { - // InternalSolverLanguageParser.g:3625:56: (iv_ruleScopeDefinition= ruleScopeDefinition EOF ) - // InternalSolverLanguageParser.g:3626:2: iv_ruleScopeDefinition= ruleScopeDefinition EOF + // InternalSolverLanguageParser.g:4185:57: (iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ) + // InternalSolverLanguageParser.g:4186:2: iv_ruleScopeDeclaration= ruleScopeDeclaration EOF { - newCompositeNode(grammarAccess.getScopeDefinitionRule()); + newCompositeNode(grammarAccess.getScopeDeclarationRule()); pushFollow(FOLLOW_1); - iv_ruleScopeDefinition=ruleScopeDefinition(); + iv_ruleScopeDeclaration=ruleScopeDeclaration(); state._fsp--; - current =iv_ruleScopeDefinition; + current =iv_ruleScopeDeclaration; match(input,EOF,FOLLOW_2); } @@ -9236,81 +10746,81 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleScopeDefinition" + // $ANTLR end "entryRuleScopeDeclaration" - // $ANTLR start "ruleScopeDefinition" - // 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 { + // $ANTLR start "ruleScopeDeclaration" + // InternalSolverLanguageParser.g:4192:1: ruleScopeDeclaration returns [EObject current=null] : (this_ExactScope_0= ruleExactScope | this_BoundedScope_1= ruleBoundedScope | this_LowerBoundedScope_2= ruleLowerBoundedScope ) ; + public final EObject ruleScopeDeclaration() throws RecognitionException { EObject current = null; - EObject this_ExactScopeDefinition_0 = null; + EObject this_ExactScope_0 = null; - EObject this_BoundedScopeDefinition_1 = null; + EObject this_BoundedScope_1 = null; - EObject this_LowerBoundedScopeDefinition_2 = null; + EObject this_LowerBoundedScope_2 = null; enterRule(); try { - // 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:4198:2: ( (this_ExactScope_0= ruleExactScope | this_BoundedScope_1= ruleBoundedScope | this_LowerBoundedScope_2= ruleLowerBoundedScope ) ) + // InternalSolverLanguageParser.g:4199:2: (this_ExactScope_0= ruleExactScope | this_BoundedScope_1= ruleBoundedScope | this_LowerBoundedScope_2= ruleLowerBoundedScope ) { - // 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) { + // InternalSolverLanguageParser.g:4199:2: (this_ExactScope_0= ruleExactScope | this_BoundedScope_1= ruleBoundedScope | this_LowerBoundedScope_2= ruleLowerBoundedScope ) + int alt53=3; + alt53 = dfa53.predict(input); + switch (alt53) { case 1 : - // InternalSolverLanguageParser.g:3640:3: this_ExactScopeDefinition_0= ruleExactScopeDefinition + // InternalSolverLanguageParser.g:4200:3: this_ExactScope_0= ruleExactScope { - newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); + newCompositeNode(grammarAccess.getScopeDeclarationAccess().getExactScopeParserRuleCall_0()); pushFollow(FOLLOW_2); - this_ExactScopeDefinition_0=ruleExactScopeDefinition(); + this_ExactScope_0=ruleExactScope(); state._fsp--; - current = this_ExactScopeDefinition_0; + current = this_ExactScope_0; afterParserOrEnumRuleCall(); } break; case 2 : - // InternalSolverLanguageParser.g:3649:3: this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition + // InternalSolverLanguageParser.g:4209:3: this_BoundedScope_1= ruleBoundedScope { - newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); + newCompositeNode(grammarAccess.getScopeDeclarationAccess().getBoundedScopeParserRuleCall_1()); pushFollow(FOLLOW_2); - this_BoundedScopeDefinition_1=ruleBoundedScopeDefinition(); + this_BoundedScope_1=ruleBoundedScope(); state._fsp--; - current = this_BoundedScopeDefinition_1; + current = this_BoundedScope_1; afterParserOrEnumRuleCall(); } break; case 3 : - // InternalSolverLanguageParser.g:3658:3: this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition + // InternalSolverLanguageParser.g:4218:3: this_LowerBoundedScope_2= ruleLowerBoundedScope { - newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); + newCompositeNode(grammarAccess.getScopeDeclarationAccess().getLowerBoundedScopeParserRuleCall_2()); pushFollow(FOLLOW_2); - this_LowerBoundedScopeDefinition_2=ruleLowerBoundedScopeDefinition(); + this_LowerBoundedScope_2=ruleLowerBoundedScope(); state._fsp--; - current = this_LowerBoundedScopeDefinition_2; + current = this_LowerBoundedScope_2; afterParserOrEnumRuleCall(); @@ -9335,28 +10845,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleScopeDefinition" + // $ANTLR end "ruleScopeDeclaration" - // $ANTLR start "entryRuleExactScopeDefinition" - // InternalSolverLanguageParser.g:3670:1: entryRuleExactScopeDefinition returns [EObject current=null] : iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ; - public final EObject entryRuleExactScopeDefinition() throws RecognitionException { + // $ANTLR start "entryRuleExactScope" + // InternalSolverLanguageParser.g:4230:1: entryRuleExactScope returns [EObject current=null] : iv_ruleExactScope= ruleExactScope EOF ; + public final EObject entryRuleExactScope() throws RecognitionException { EObject current = null; - EObject iv_ruleExactScopeDefinition = null; + EObject iv_ruleExactScope = null; try { - // InternalSolverLanguageParser.g:3670:61: (iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ) - // InternalSolverLanguageParser.g:3671:2: iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF + // InternalSolverLanguageParser.g:4230:51: (iv_ruleExactScope= ruleExactScope EOF ) + // InternalSolverLanguageParser.g:4231:2: iv_ruleExactScope= ruleExactScope EOF { - newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); + newCompositeNode(grammarAccess.getExactScopeRule()); pushFollow(FOLLOW_1); - iv_ruleExactScopeDefinition=ruleExactScopeDefinition(); + iv_ruleExactScope=ruleExactScope(); state._fsp--; - current =iv_ruleExactScopeDefinition; + current =iv_ruleExactScope; match(input,EOF,FOLLOW_2); } @@ -9371,47 +10881,48 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleExactScopeDefinition" + // $ANTLR end "entryRuleExactScope" - // $ANTLR start "ruleExactScopeDefinition" - // 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 { + // $ANTLR start "ruleExactScope" + // InternalSolverLanguageParser.g:4237:1: ruleExactScope returns [EObject current=null] : (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_size_3_0= RULE_INT ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ; + public final EObject ruleExactScope() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; - Token lv_exactScope_3_0=null; + Token lv_size_3_0=null; + Token this_FULL_STOP_4=null; enterRule(); try { - // 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:4243:2: ( (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_size_3_0= RULE_INT ) ) this_FULL_STOP_4= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:4244:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_size_3_0= RULE_INT ) ) this_FULL_STOP_4= RULE_FULL_STOP ) { - // 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 ) ) + // InternalSolverLanguageParser.g:4244:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_size_3_0= RULE_INT ) ) this_FULL_STOP_4= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:4245:3: otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_size_3_0= RULE_INT ) ) this_FULL_STOP_4= RULE_FULL_STOP { - otherlv_0=(Token)match(input,Scope,FOLLOW_8); + otherlv_0=(Token)match(input,Scope,FOLLOW_3); - newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getExactScopeAccess().getScopeKeyword_0()); - // InternalSolverLanguageParser.g:3689:3: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:3690:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:4249:3: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:4250:4: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:3690:4: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:3691:5: ruleQualifiedName + // InternalSolverLanguageParser.g:4250:4: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:4251:5: ruleQualifiedName { if (current==null) { - current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); + current = createModelElement(grammarAccess.getExactScopeRule()); } - newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); + newCompositeNode(grammarAccess.getExactScopeAccess().getTypeSymbolCrossReference_1_0()); - pushFollow(FOLLOW_54); + pushFollow(FOLLOW_61); ruleQualifiedName(); state._fsp--; @@ -9425,28 +10936,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,EqualsSignEqualsSign,FOLLOW_53); + otherlv_2=(Token)match(input,EqualsSignEqualsSign,FOLLOW_57); - newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); + newLeafNode(otherlv_2, grammarAccess.getExactScopeAccess().getEqualsSignEqualsSignKeyword_2()); - // InternalSolverLanguageParser.g:3709:3: ( (lv_exactScope_3_0= RULE_INT ) ) - // InternalSolverLanguageParser.g:3710:4: (lv_exactScope_3_0= RULE_INT ) + // InternalSolverLanguageParser.g:4269:3: ( (lv_size_3_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:4270:4: (lv_size_3_0= RULE_INT ) { - // InternalSolverLanguageParser.g:3710:4: (lv_exactScope_3_0= RULE_INT ) - // InternalSolverLanguageParser.g:3711:5: lv_exactScope_3_0= RULE_INT + // InternalSolverLanguageParser.g:4270:4: (lv_size_3_0= RULE_INT ) + // InternalSolverLanguageParser.g:4271:5: lv_size_3_0= RULE_INT { - lv_exactScope_3_0=(Token)match(input,RULE_INT,FOLLOW_2); + lv_size_3_0=(Token)match(input,RULE_INT,FOLLOW_4); - newLeafNode(lv_exactScope_3_0, grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); + newLeafNode(lv_size_3_0, grammarAccess.getExactScopeAccess().getSizeINTTerminalRuleCall_3_0()); if (current==null) { - current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); + current = createModelElement(grammarAccess.getExactScopeRule()); } setWithLastConsumed( current, - "exactScope", - lv_exactScope_3_0, + "size", + lv_size_3_0, "org.eclipse.xtext.common.Terminals.INT"); @@ -9455,6 +10966,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + this_FULL_STOP_4=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_4, grammarAccess.getExactScopeAccess().getFULL_STOPTerminalRuleCall_4()); + } @@ -9474,28 +10989,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleExactScopeDefinition" + // $ANTLR end "ruleExactScope" - // $ANTLR start "entryRuleBoundedScopeDefinition" - // InternalSolverLanguageParser.g:3731:1: entryRuleBoundedScopeDefinition returns [EObject current=null] : iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ; - public final EObject entryRuleBoundedScopeDefinition() throws RecognitionException { + // $ANTLR start "entryRuleBoundedScope" + // InternalSolverLanguageParser.g:4295:1: entryRuleBoundedScope returns [EObject current=null] : iv_ruleBoundedScope= ruleBoundedScope EOF ; + public final EObject entryRuleBoundedScope() throws RecognitionException { EObject current = null; - EObject iv_ruleBoundedScopeDefinition = null; + EObject iv_ruleBoundedScope = null; try { - // InternalSolverLanguageParser.g:3731:63: (iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ) - // InternalSolverLanguageParser.g:3732:2: iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF + // InternalSolverLanguageParser.g:4295:53: (iv_ruleBoundedScope= ruleBoundedScope EOF ) + // InternalSolverLanguageParser.g:4296:2: iv_ruleBoundedScope= ruleBoundedScope EOF { - newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); + newCompositeNode(grammarAccess.getBoundedScopeRule()); pushFollow(FOLLOW_1); - iv_ruleBoundedScopeDefinition=ruleBoundedScopeDefinition(); + iv_ruleBoundedScope=ruleBoundedScope(); state._fsp--; - current =iv_ruleBoundedScopeDefinition; + current =iv_ruleBoundedScope; match(input,EOF,FOLLOW_2); } @@ -9510,12 +11025,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleBoundedScopeDefinition" + // $ANTLR end "entryRuleBoundedScope" - // $ANTLR start "ruleBoundedScopeDefinition" - // 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 { + // $ANTLR start "ruleBoundedScope" + // InternalSolverLanguageParser.g:4302:1: ruleBoundedScope 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 ) ) )? ) ) this_FULL_STOP_11= RULE_FULL_STOP ) ; + public final EObject ruleBoundedScope() throws RecognitionException { EObject current = null; Token otherlv_0=null; @@ -9527,81 +11042,82 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { Token otherlv_7=null; Token otherlv_9=null; Token lv_lowerBound_10_0=null; + Token this_FULL_STOP_11=null; enterRule(); try { - // 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:4308: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 ) ) )? ) ) this_FULL_STOP_11= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:4309: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 ) ) )? ) ) this_FULL_STOP_11= RULE_FULL_STOP ) { - // 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 ) ) )? ) ) + // InternalSolverLanguageParser.g:4309: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 ) ) )? ) ) this_FULL_STOP_11= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:4310: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 ) ) )? ) ) this_FULL_STOP_11= RULE_FULL_STOP { - otherlv_0=(Token)match(input,Scope,FOLLOW_55); + otherlv_0=(Token)match(input,Scope,FOLLOW_62); - newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getBoundedScopeAccess().getScopeKeyword_0()); - // 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); + // InternalSolverLanguageParser.g:4314: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 alt56=2; + int LA56_0 = input.LA(1); - if ( (LA47_0==RULE_INT) ) { - int LA47_1 = input.LA(2); + if ( (LA56_0==RULE_INT) ) { + int LA56_1 = input.LA(2); - if ( (LA47_1==GreaterThanSignEqualsSign) ) { - alt47=2; + if ( (LA56_1==LessThanSignEqualsSign) ) { + alt56=1; } - else if ( (LA47_1==LessThanSignEqualsSign) ) { - alt47=1; + else if ( (LA56_1==GreaterThanSignEqualsSign) ) { + alt56=2; } else { NoViableAltException nvae = - new NoViableAltException("", 47, 1, input); + new NoViableAltException("", 56, 1, input); throw nvae; } } - else if ( (LA47_0==RULE_QUOTED_ID||LA47_0==RULE_ID) ) { - alt47=1; + else if ( (LA56_0==Object||LA56_0==RULE_QUOTED_ID||LA56_0==RULE_ID) ) { + alt56=1; } else { NoViableAltException nvae = - new NoViableAltException("", 47, 0, input); + new NoViableAltException("", 56, 0, input); throw nvae; } - switch (alt47) { + switch (alt56) { case 1 : - // 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:4315: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:3752:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:4315:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:4316:5: ( ( (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 )? - int alt45=2; - int LA45_0 = input.LA(1); + // InternalSolverLanguageParser.g:4316:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? + int alt54=2; + int LA54_0 = input.LA(1); - if ( (LA45_0==RULE_INT) ) { - alt45=1; + if ( (LA54_0==RULE_INT) ) { + alt54=1; } - switch (alt45) { + switch (alt54) { case 1 : - // InternalSolverLanguageParser.g:3753:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign + // InternalSolverLanguageParser.g:4317:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign { - // InternalSolverLanguageParser.g:3753:6: ( (lv_lowerBound_1_0= RULE_INT ) ) - // InternalSolverLanguageParser.g:3754:7: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:4317:6: ( (lv_lowerBound_1_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:4318:7: (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 + // InternalSolverLanguageParser.g:4318:7: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:4319:8: lv_lowerBound_1_0= RULE_INT { - lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_56); + lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_63); - newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); + newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); if (current==null) { - current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + current = createModelElement(grammarAccess.getBoundedScopeRule()); } setWithLastConsumed( current, @@ -9615,9 +11131,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,LessThanSignEqualsSign,FOLLOW_8); + otherlv_2=(Token)match(input,LessThanSignEqualsSign,FOLLOW_3); - newLeafNode(otherlv_2, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); + newLeafNode(otherlv_2, grammarAccess.getBoundedScopeAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); } @@ -9625,21 +11141,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:3776:5: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:3777:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:4340:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:4341:6: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:3777:6: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:3778:7: ruleQualifiedName + // InternalSolverLanguageParser.g:4341:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:4342:7: ruleQualifiedName { if (current==null) { - current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + current = createModelElement(grammarAccess.getBoundedScopeRule()); } - newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); + newCompositeNode(grammarAccess.getBoundedScopeAccess().getTypeSymbolCrossReference_1_0_1_0()); - pushFollow(FOLLOW_56); + pushFollow(FOLLOW_63); ruleQualifiedName(); state._fsp--; @@ -9653,23 +11169,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_4=(Token)match(input,LessThanSignEqualsSign,FOLLOW_53); + otherlv_4=(Token)match(input,LessThanSignEqualsSign,FOLLOW_57); - newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); + newLeafNode(otherlv_4, grammarAccess.getBoundedScopeAccess().getLessThanSignEqualsSignKeyword_1_0_2()); - // InternalSolverLanguageParser.g:3796:5: ( (lv_upperBound_5_0= RULE_INT ) ) - // InternalSolverLanguageParser.g:3797:6: (lv_upperBound_5_0= RULE_INT ) + // InternalSolverLanguageParser.g:4360:5: ( (lv_upperBound_5_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:4361:6: (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 + // InternalSolverLanguageParser.g:4361:6: (lv_upperBound_5_0= RULE_INT ) + // InternalSolverLanguageParser.g:4362:7: lv_upperBound_5_0= RULE_INT { - lv_upperBound_5_0=(Token)match(input,RULE_INT,FOLLOW_2); + lv_upperBound_5_0=(Token)match(input,RULE_INT,FOLLOW_4); - newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); + newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); if (current==null) { - current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + current = createModelElement(grammarAccess.getBoundedScopeRule()); } setWithLastConsumed( current, @@ -9690,24 +11206,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // 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:4380: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:3817:5: ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? + // InternalSolverLanguageParser.g:4380:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) + // InternalSolverLanguageParser.g:4381:5: ( (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 ) ) - // InternalSolverLanguageParser.g:3818:6: (lv_upperBound_6_0= RULE_INT ) + // InternalSolverLanguageParser.g:4381:5: ( (lv_upperBound_6_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:4382:6: (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 + // InternalSolverLanguageParser.g:4382:6: (lv_upperBound_6_0= RULE_INT ) + // InternalSolverLanguageParser.g:4383:7: lv_upperBound_6_0= RULE_INT { - lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_57); + lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_64); - newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); + newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); if (current==null) { - current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + current = createModelElement(grammarAccess.getBoundedScopeRule()); } setWithLastConsumed( current, @@ -9721,25 +11237,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_7=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_8); + otherlv_7=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_3); - newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); + newLeafNode(otherlv_7, grammarAccess.getBoundedScopeAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); - // InternalSolverLanguageParser.g:3839:5: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:3840:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:4403:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:4404:6: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:3840:6: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:3841:7: ruleQualifiedName + // InternalSolverLanguageParser.g:4404:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:4405:7: ruleQualifiedName { if (current==null) { - current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + current = createModelElement(grammarAccess.getBoundedScopeRule()); } - newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); + newCompositeNode(grammarAccess.getBoundedScopeAccess().getTypeSymbolCrossReference_1_1_2_0()); - pushFollow(FOLLOW_58); + pushFollow(FOLLOW_65); ruleQualifiedName(); state._fsp--; @@ -9753,34 +11269,34 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:3855:5: (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? - int alt46=2; - int LA46_0 = input.LA(1); + // InternalSolverLanguageParser.g:4419:5: (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? + int alt55=2; + int LA55_0 = input.LA(1); - if ( (LA46_0==GreaterThanSignEqualsSign) ) { - alt46=1; + if ( (LA55_0==GreaterThanSignEqualsSign) ) { + alt55=1; } - switch (alt46) { + switch (alt55) { case 1 : - // InternalSolverLanguageParser.g:3856:6: otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:4420:6: otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) { - otherlv_9=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_53); + otherlv_9=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_57); - newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); + newLeafNode(otherlv_9, grammarAccess.getBoundedScopeAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); - // InternalSolverLanguageParser.g:3860:6: ( (lv_lowerBound_10_0= RULE_INT ) ) - // InternalSolverLanguageParser.g:3861:7: (lv_lowerBound_10_0= RULE_INT ) + // InternalSolverLanguageParser.g:4424:6: ( (lv_lowerBound_10_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:4425:7: (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 + // InternalSolverLanguageParser.g:4425:7: (lv_lowerBound_10_0= RULE_INT ) + // InternalSolverLanguageParser.g:4426:8: lv_lowerBound_10_0= RULE_INT { - lv_lowerBound_10_0=(Token)match(input,RULE_INT,FOLLOW_2); + lv_lowerBound_10_0=(Token)match(input,RULE_INT,FOLLOW_4); - newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); + newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); if (current==null) { - current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); + current = createModelElement(grammarAccess.getBoundedScopeRule()); } setWithLastConsumed( current, @@ -9809,6 +11325,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + this_FULL_STOP_11=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_11, grammarAccess.getBoundedScopeAccess().getFULL_STOPTerminalRuleCall_2()); + } @@ -9828,28 +11348,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleBoundedScopeDefinition" + // $ANTLR end "ruleBoundedScope" - // $ANTLR start "entryRuleLowerBoundedScopeDefinition" - // InternalSolverLanguageParser.g:3885:1: entryRuleLowerBoundedScopeDefinition returns [EObject current=null] : iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ; - public final EObject entryRuleLowerBoundedScopeDefinition() throws RecognitionException { + // $ANTLR start "entryRuleLowerBoundedScope" + // InternalSolverLanguageParser.g:4453:1: entryRuleLowerBoundedScope returns [EObject current=null] : iv_ruleLowerBoundedScope= ruleLowerBoundedScope EOF ; + public final EObject entryRuleLowerBoundedScope() throws RecognitionException { EObject current = null; - EObject iv_ruleLowerBoundedScopeDefinition = null; + EObject iv_ruleLowerBoundedScope = null; try { - // InternalSolverLanguageParser.g:3885:68: (iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ) - // InternalSolverLanguageParser.g:3886:2: iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF + // InternalSolverLanguageParser.g:4453:58: (iv_ruleLowerBoundedScope= ruleLowerBoundedScope EOF ) + // InternalSolverLanguageParser.g:4454:2: iv_ruleLowerBoundedScope= ruleLowerBoundedScope EOF { - newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); + newCompositeNode(grammarAccess.getLowerBoundedScopeRule()); pushFollow(FOLLOW_1); - iv_ruleLowerBoundedScopeDefinition=ruleLowerBoundedScopeDefinition(); + iv_ruleLowerBoundedScope=ruleLowerBoundedScope(); state._fsp--; - current =iv_ruleLowerBoundedScopeDefinition; + current =iv_ruleLowerBoundedScope; match(input,EOF,FOLLOW_2); } @@ -9864,12 +11384,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleLowerBoundedScopeDefinition" + // $ANTLR end "entryRuleLowerBoundedScope" - // $ANTLR start "ruleLowerBoundedScopeDefinition" - // 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 { + // $ANTLR start "ruleLowerBoundedScope" + // InternalSolverLanguageParser.g:4460:1: ruleLowerBoundedScope 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 ) ) ) ) this_FULL_STOP_7= RULE_FULL_STOP ) ; + public final EObject ruleLowerBoundedScope() throws RecognitionException { EObject current = null; Token otherlv_0=null; @@ -9877,57 +11397,58 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { Token otherlv_2=null; Token otherlv_5=null; Token lv_lowerBound_6_0=null; + Token this_FULL_STOP_7=null; enterRule(); try { - // 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:4466:2: ( (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) this_FULL_STOP_7= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:4467:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) this_FULL_STOP_7= RULE_FULL_STOP ) { - // 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 ) ) ) ) + // InternalSolverLanguageParser.g:4467:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) this_FULL_STOP_7= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:4468:3: otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) this_FULL_STOP_7= RULE_FULL_STOP { - otherlv_0=(Token)match(input,Scope,FOLLOW_55); + otherlv_0=(Token)match(input,Scope,FOLLOW_62); - newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); + newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeAccess().getScopeKeyword_0()); - // 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); + // InternalSolverLanguageParser.g:4472:3: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) + int alt57=2; + int LA57_0 = input.LA(1); - if ( (LA48_0==RULE_INT) ) { - alt48=1; + if ( (LA57_0==RULE_INT) ) { + alt57=1; } - else if ( (LA48_0==RULE_QUOTED_ID||LA48_0==RULE_ID) ) { - alt48=2; + else if ( (LA57_0==Object||LA57_0==RULE_QUOTED_ID||LA57_0==RULE_ID) ) { + alt57=2; } else { NoViableAltException nvae = - new NoViableAltException("", 48, 0, input); + new NoViableAltException("", 57, 0, input); throw nvae; } - switch (alt48) { + switch (alt57) { case 1 : - // InternalSolverLanguageParser.g:3905:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguageParser.g:4473: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:3906:5: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:4473:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) + // InternalSolverLanguageParser.g:4474:5: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) { - // InternalSolverLanguageParser.g:3906:5: ( (lv_lowerBound_1_0= RULE_INT ) ) - // InternalSolverLanguageParser.g:3907:6: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:4474:5: ( (lv_lowerBound_1_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:4475:6: (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 + // InternalSolverLanguageParser.g:4475:6: (lv_lowerBound_1_0= RULE_INT ) + // InternalSolverLanguageParser.g:4476:7: lv_lowerBound_1_0= RULE_INT { - lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_56); + lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_63); - newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); + newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); if (current==null) { - current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + current = createModelElement(grammarAccess.getLowerBoundedScopeRule()); } setWithLastConsumed( current, @@ -9941,25 +11462,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_2=(Token)match(input,LessThanSignEqualsSign,FOLLOW_8); + otherlv_2=(Token)match(input,LessThanSignEqualsSign,FOLLOW_3); - newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); + newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeAccess().getLessThanSignEqualsSignKeyword_1_0_1()); - // InternalSolverLanguageParser.g:3928:5: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:3929:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:4496:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:4497:6: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:3929:6: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:3930:7: ruleQualifiedName + // InternalSolverLanguageParser.g:4497:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:4498:7: ruleQualifiedName { if (current==null) { - current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + current = createModelElement(grammarAccess.getLowerBoundedScopeRule()); } - newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); + newCompositeNode(grammarAccess.getLowerBoundedScopeAccess().getTypeSymbolCrossReference_1_0_2_0()); - pushFollow(FOLLOW_2); + pushFollow(FOLLOW_4); ruleQualifiedName(); state._fsp--; @@ -9980,26 +11501,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:3946:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:4514: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:3947:5: ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:4514:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) + // InternalSolverLanguageParser.g:4515:5: ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) { - // InternalSolverLanguageParser.g:3947:5: ( ( ruleQualifiedName ) ) - // InternalSolverLanguageParser.g:3948:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:4515:5: ( ( ruleQualifiedName ) ) + // InternalSolverLanguageParser.g:4516:6: ( ruleQualifiedName ) { - // InternalSolverLanguageParser.g:3948:6: ( ruleQualifiedName ) - // InternalSolverLanguageParser.g:3949:7: ruleQualifiedName + // InternalSolverLanguageParser.g:4516:6: ( ruleQualifiedName ) + // InternalSolverLanguageParser.g:4517:7: ruleQualifiedName { if (current==null) { - current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + current = createModelElement(grammarAccess.getLowerBoundedScopeRule()); } - newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); + newCompositeNode(grammarAccess.getLowerBoundedScopeAccess().getTypeSymbolCrossReference_1_1_0_0()); - pushFollow(FOLLOW_57); + pushFollow(FOLLOW_64); ruleQualifiedName(); state._fsp--; @@ -10013,23 +11534,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - otherlv_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_53); + otherlv_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_57); - newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); + newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); - // InternalSolverLanguageParser.g:3967:5: ( (lv_lowerBound_6_0= RULE_INT ) ) - // InternalSolverLanguageParser.g:3968:6: (lv_lowerBound_6_0= RULE_INT ) + // InternalSolverLanguageParser.g:4535:5: ( (lv_lowerBound_6_0= RULE_INT ) ) + // InternalSolverLanguageParser.g:4536:6: (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 + // InternalSolverLanguageParser.g:4536:6: (lv_lowerBound_6_0= RULE_INT ) + // InternalSolverLanguageParser.g:4537:7: lv_lowerBound_6_0= RULE_INT { - lv_lowerBound_6_0=(Token)match(input,RULE_INT,FOLLOW_2); + lv_lowerBound_6_0=(Token)match(input,RULE_INT,FOLLOW_4); - newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); + newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); if (current==null) { - current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); + current = createModelElement(grammarAccess.getLowerBoundedScopeRule()); } setWithLastConsumed( current, @@ -10052,6 +11573,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + this_FULL_STOP_7=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_7, grammarAccess.getLowerBoundedScopeAccess().getFULL_STOPTerminalRuleCall_2()); + } @@ -10071,28 +11596,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleLowerBoundedScopeDefinition" + // $ANTLR end "ruleLowerBoundedScope" - // $ANTLR start "entryRuleObjectiveDefinition" - // InternalSolverLanguageParser.g:3991:1: entryRuleObjectiveDefinition returns [EObject current=null] : iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ; - public final EObject entryRuleObjectiveDefinition() throws RecognitionException { + // $ANTLR start "entryRuleObjectiveDeclaration" + // InternalSolverLanguageParser.g:4563:1: entryRuleObjectiveDeclaration returns [EObject current=null] : iv_ruleObjectiveDeclaration= ruleObjectiveDeclaration EOF ; + public final EObject entryRuleObjectiveDeclaration() throws RecognitionException { EObject current = null; - EObject iv_ruleObjectiveDefinition = null; + EObject iv_ruleObjectiveDeclaration = null; try { - // InternalSolverLanguageParser.g:3991:60: (iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ) - // InternalSolverLanguageParser.g:3992:2: iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF + // InternalSolverLanguageParser.g:4563:61: (iv_ruleObjectiveDeclaration= ruleObjectiveDeclaration EOF ) + // InternalSolverLanguageParser.g:4564:2: iv_ruleObjectiveDeclaration= ruleObjectiveDeclaration EOF { - newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); + newCompositeNode(grammarAccess.getObjectiveDeclarationRule()); pushFollow(FOLLOW_1); - iv_ruleObjectiveDefinition=ruleObjectiveDefinition(); + iv_ruleObjectiveDeclaration=ruleObjectiveDeclaration(); state._fsp--; - current =iv_ruleObjectiveDefinition; + current =iv_ruleObjectiveDeclaration; match(input,EOF,FOLLOW_2); } @@ -10107,14 +11632,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "entryRuleObjectiveDefinition" + // $ANTLR end "entryRuleObjectiveDeclaration" - // $ANTLR start "ruleObjectiveDefinition" - // 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 { + // $ANTLR start "ruleObjectiveDeclaration" + // InternalSolverLanguageParser.g:4570:1: ruleObjectiveDeclaration returns [EObject current=null] : ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) this_FULL_STOP_2= RULE_FULL_STOP ) ; + public final EObject ruleObjectiveDeclaration() throws RecognitionException { EObject current = null; + Token this_FULL_STOP_2=null; Enumerator lv_kind_0_0 = null; EObject lv_objective_1_0 = null; @@ -10124,29 +11650,29 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:4576:2: ( ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) this_FULL_STOP_2= RULE_FULL_STOP ) ) + // InternalSolverLanguageParser.g:4577:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) this_FULL_STOP_2= RULE_FULL_STOP ) { - // 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:4577:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) this_FULL_STOP_2= RULE_FULL_STOP ) + // InternalSolverLanguageParser.g:4578:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) this_FULL_STOP_2= RULE_FULL_STOP { - // InternalSolverLanguageParser.g:4006:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) - // InternalSolverLanguageParser.g:4007:4: (lv_kind_0_0= ruleObjectiveKind ) + // InternalSolverLanguageParser.g:4578:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) + // InternalSolverLanguageParser.g:4579:4: (lv_kind_0_0= ruleObjectiveKind ) { - // InternalSolverLanguageParser.g:4007:4: (lv_kind_0_0= ruleObjectiveKind ) - // InternalSolverLanguageParser.g:4008:5: lv_kind_0_0= ruleObjectiveKind + // InternalSolverLanguageParser.g:4579:4: (lv_kind_0_0= ruleObjectiveKind ) + // InternalSolverLanguageParser.g:4580:5: lv_kind_0_0= ruleObjectiveKind { - newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); + newCompositeNode(grammarAccess.getObjectiveDeclarationAccess().getKindObjectiveKindEnumRuleCall_0_0()); - pushFollow(FOLLOW_6); + pushFollow(FOLLOW_10); lv_kind_0_0=ruleObjectiveKind(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); + current = createModelElementForParent(grammarAccess.getObjectiveDeclarationRule()); } set( current, @@ -10161,23 +11687,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } - // InternalSolverLanguageParser.g:4025:3: ( (lv_objective_1_0= ruleExpression ) ) - // InternalSolverLanguageParser.g:4026:4: (lv_objective_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:4597:3: ( (lv_objective_1_0= ruleExpression ) ) + // InternalSolverLanguageParser.g:4598:4: (lv_objective_1_0= ruleExpression ) { - // InternalSolverLanguageParser.g:4026:4: (lv_objective_1_0= ruleExpression ) - // InternalSolverLanguageParser.g:4027:5: lv_objective_1_0= ruleExpression + // InternalSolverLanguageParser.g:4598:4: (lv_objective_1_0= ruleExpression ) + // InternalSolverLanguageParser.g:4599:5: lv_objective_1_0= ruleExpression { - newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); + newCompositeNode(grammarAccess.getObjectiveDeclarationAccess().getObjectiveExpressionParserRuleCall_1_0()); - pushFollow(FOLLOW_2); + pushFollow(FOLLOW_4); lv_objective_1_0=ruleExpression(); state._fsp--; if (current==null) { - current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); + current = createModelElementForParent(grammarAccess.getObjectiveDeclarationRule()); } set( current, @@ -10192,6 +11718,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } + this_FULL_STOP_2=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); + + newLeafNode(this_FULL_STOP_2, grammarAccess.getObjectiveDeclarationAccess().getFULL_STOPTerminalRuleCall_2()); + } @@ -10211,11 +11741,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleObjectiveDefinition" + // $ANTLR end "ruleObjectiveDeclaration" // $ANTLR start "entryRuleUpperMultiplicty" - // InternalSolverLanguageParser.g:4048:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ; + // InternalSolverLanguageParser.g:4624:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ; public final String entryRuleUpperMultiplicty() throws RecognitionException { String current = null; @@ -10223,8 +11753,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { try { - // InternalSolverLanguageParser.g:4048:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ) - // InternalSolverLanguageParser.g:4049:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF + // InternalSolverLanguageParser.g:4624:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ) + // InternalSolverLanguageParser.g:4625:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF { newCompositeNode(grammarAccess.getUpperMultiplictyRule()); pushFollow(FOLLOW_1); @@ -10251,7 +11781,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleUpperMultiplicty" - // InternalSolverLanguageParser.g:4055:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= Asterisk ) ; + // InternalSolverLanguageParser.g:4631:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= Asterisk ) ; public final AntlrDatatypeRuleToken ruleUpperMultiplicty() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -10262,28 +11792,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:4061:2: ( (this_INT_0= RULE_INT | kw= Asterisk ) ) - // InternalSolverLanguageParser.g:4062:2: (this_INT_0= RULE_INT | kw= Asterisk ) + // InternalSolverLanguageParser.g:4637:2: ( (this_INT_0= RULE_INT | kw= Asterisk ) ) + // InternalSolverLanguageParser.g:4638:2: (this_INT_0= RULE_INT | kw= Asterisk ) { - // InternalSolverLanguageParser.g:4062:2: (this_INT_0= RULE_INT | kw= Asterisk ) - int alt49=2; - int LA49_0 = input.LA(1); + // InternalSolverLanguageParser.g:4638:2: (this_INT_0= RULE_INT | kw= Asterisk ) + int alt58=2; + int LA58_0 = input.LA(1); - if ( (LA49_0==RULE_INT) ) { - alt49=1; + if ( (LA58_0==RULE_INT) ) { + alt58=1; } - else if ( (LA49_0==Asterisk) ) { - alt49=2; + else if ( (LA58_0==Asterisk) ) { + alt58=2; } else { NoViableAltException nvae = - new NoViableAltException("", 49, 0, input); + new NoViableAltException("", 58, 0, input); throw nvae; } - switch (alt49) { + switch (alt58) { case 1 : - // InternalSolverLanguageParser.g:4063:3: this_INT_0= RULE_INT + // InternalSolverLanguageParser.g:4639:3: this_INT_0= RULE_INT { this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); @@ -10296,7 +11826,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:4071:3: kw= Asterisk + // InternalSolverLanguageParser.g:4647:3: kw= Asterisk { kw=(Token)match(input,Asterisk,FOLLOW_2); @@ -10329,7 +11859,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "entryRuleReal" - // InternalSolverLanguageParser.g:4080:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ; + // InternalSolverLanguageParser.g:4656:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ; public final String entryRuleReal() throws RecognitionException { String current = null; @@ -10340,8 +11870,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { - // InternalSolverLanguageParser.g:4082:2: (iv_ruleReal= ruleReal EOF ) - // InternalSolverLanguageParser.g:4083:2: iv_ruleReal= ruleReal EOF + // InternalSolverLanguageParser.g:4658:2: (iv_ruleReal= ruleReal EOF ) + // InternalSolverLanguageParser.g:4659:2: iv_ruleReal= ruleReal EOF { newCompositeNode(grammarAccess.getRealRule()); pushFollow(FOLLOW_1); @@ -10371,7 +11901,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleReal" - // InternalSolverLanguageParser.g:4092:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ; + // InternalSolverLanguageParser.g:4668: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(); @@ -10384,48 +11914,171 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { - // 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:4675:2: ( (this_INT_0= RULE_INT kw= FullStop this_INT_2= RULE_INT ) ) + // InternalSolverLanguageParser.g:4676: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:4101:3: this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? + // InternalSolverLanguageParser.g:4676:2: (this_INT_0= RULE_INT kw= FullStop this_INT_2= RULE_INT ) + // InternalSolverLanguageParser.g:4677:3: this_INT_0= RULE_INT kw= FullStop this_INT_2= RULE_INT { - this_INT_0=(Token)match(input,RULE_INT,FOLLOW_59); + this_INT_0=(Token)match(input,RULE_INT,FOLLOW_66); current.merge(this_INT_0); newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); - // InternalSolverLanguageParser.g:4108:3: (kw= FullStop this_INT_2= RULE_INT )? - int alt50=2; - int LA50_0 = input.LA(1); + kw=(Token)match(input,FullStop,FOLLOW_57); + + current.merge(kw); + newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1()); + + this_INT_2=(Token)match(input,RULE_INT,FOLLOW_2); + + current.merge(this_INT_2); + + + newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_2()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + + myHiddenTokenState.restore(); + + } + return current; + } + // $ANTLR end "ruleReal" + + + // $ANTLR start "entryRuleQualifiedNameSegment" + // InternalSolverLanguageParser.g:4703:1: entryRuleQualifiedNameSegment returns [String current=null] : iv_ruleQualifiedNameSegment= ruleQualifiedNameSegment EOF ; + public final String entryRuleQualifiedNameSegment() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleQualifiedNameSegment = null; + + + try { + // InternalSolverLanguageParser.g:4703:60: (iv_ruleQualifiedNameSegment= ruleQualifiedNameSegment EOF ) + // InternalSolverLanguageParser.g:4704:2: iv_ruleQualifiedNameSegment= ruleQualifiedNameSegment EOF + { + newCompositeNode(grammarAccess.getQualifiedNameSegmentRule()); + pushFollow(FOLLOW_1); + iv_ruleQualifiedNameSegment=ruleQualifiedNameSegment(); + + state._fsp--; + + current =iv_ruleQualifiedNameSegment.getText(); + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQualifiedNameSegment" + + + // $ANTLR start "ruleQualifiedNameSegment" + // InternalSolverLanguageParser.g:4710:1: ruleQualifiedNameSegment returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID | this_QUOTED_ID_1= RULE_QUOTED_ID | kw= Object ) ; + public final AntlrDatatypeRuleToken ruleQualifiedNameSegment() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_ID_0=null; + Token this_QUOTED_ID_1=null; + Token kw=null; + + + enterRule(); + + try { + // InternalSolverLanguageParser.g:4716:2: ( (this_ID_0= RULE_ID | this_QUOTED_ID_1= RULE_QUOTED_ID | kw= Object ) ) + // InternalSolverLanguageParser.g:4717:2: (this_ID_0= RULE_ID | this_QUOTED_ID_1= RULE_QUOTED_ID | kw= Object ) + { + // InternalSolverLanguageParser.g:4717:2: (this_ID_0= RULE_ID | this_QUOTED_ID_1= RULE_QUOTED_ID | kw= Object ) + int alt59=3; + switch ( input.LA(1) ) { + case RULE_ID: + { + alt59=1; + } + break; + case RULE_QUOTED_ID: + { + alt59=2; + } + break; + case Object: + { + alt59=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 59, 0, input); - if ( (LA50_0==FullStop) ) { - alt50=1; + throw nvae; } - switch (alt50) { + + switch (alt59) { case 1 : - // InternalSolverLanguageParser.g:4109:4: kw= FullStop this_INT_2= RULE_INT + // InternalSolverLanguageParser.g:4718:3: this_ID_0= RULE_ID { - kw=(Token)match(input,FullStop,FOLLOW_53); + this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2); - current.merge(kw); - newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0()); - - this_INT_2=(Token)match(input,RULE_INT,FOLLOW_2); + current.merge(this_ID_0); + - current.merge(this_INT_2); - + newLeafNode(this_ID_0, grammarAccess.getQualifiedNameSegmentAccess().getIDTerminalRuleCall_0()); + - newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); - + } + break; + case 2 : + // InternalSolverLanguageParser.g:4726:3: this_QUOTED_ID_1= RULE_QUOTED_ID + { + this_QUOTED_ID_1=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); + + current.merge(this_QUOTED_ID_1); + + + newLeafNode(this_QUOTED_ID_1, grammarAccess.getQualifiedNameSegmentAccess().getQUOTED_IDTerminalRuleCall_1()); + } break; + case 3 : + // InternalSolverLanguageParser.g:4734:3: kw= Object + { + kw=(Token)match(input,Object,FOLLOW_2); - } + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameSegmentAccess().getObjectKeyword_2()); + + } + break; } @@ -10442,17 +12095,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { appendSkippedTokens(); } finally { - - myHiddenTokenState.restore(); - } return current; } - // $ANTLR end "ruleReal" + // $ANTLR end "ruleQualifiedNameSegment" // $ANTLR start "entryRuleQualifiedName" - // InternalSolverLanguageParser.g:4129:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; + // InternalSolverLanguageParser.g:4743:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; public final String entryRuleQualifiedName() throws RecognitionException { String current = null; @@ -10463,8 +12113,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { - // InternalSolverLanguageParser.g:4131:2: (iv_ruleQualifiedName= ruleQualifiedName EOF ) - // InternalSolverLanguageParser.g:4132:2: iv_ruleQualifiedName= ruleQualifiedName EOF + // InternalSolverLanguageParser.g:4745:2: (iv_ruleQualifiedName= ruleQualifiedName EOF ) + // InternalSolverLanguageParser.g:4746:2: iv_ruleQualifiedName= ruleQualifiedName EOF { newCompositeNode(grammarAccess.getQualifiedNameRule()); pushFollow(FOLLOW_1); @@ -10494,108 +12144,84 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleQualifiedName" - // 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 ) ; + // InternalSolverLanguageParser.g:4755:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedNameSegment_0= ruleQualifiedNameSegment (kw= ColonColon this_QualifiedNameSegment_2= ruleQualifiedNameSegment )* ) ; public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); - Token this_ID_0=null; Token kw=null; - Token this_ID_2=null; - Token this_QUOTED_ID_3=null; + AntlrDatatypeRuleToken this_QualifiedNameSegment_0 = null; + + AntlrDatatypeRuleToken this_QualifiedNameSegment_2 = null; + enterRule(); HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { - // 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:4762:2: ( (this_QualifiedNameSegment_0= ruleQualifiedNameSegment (kw= ColonColon this_QualifiedNameSegment_2= ruleQualifiedNameSegment )* ) ) + // InternalSolverLanguageParser.g:4763:2: (this_QualifiedNameSegment_0= ruleQualifiedNameSegment (kw= ColonColon this_QualifiedNameSegment_2= ruleQualifiedNameSegment )* ) + { + // InternalSolverLanguageParser.g:4763:2: (this_QualifiedNameSegment_0= ruleQualifiedNameSegment (kw= ColonColon this_QualifiedNameSegment_2= ruleQualifiedNameSegment )* ) + // InternalSolverLanguageParser.g:4764:3: this_QualifiedNameSegment_0= ruleQualifiedNameSegment (kw= ColonColon this_QualifiedNameSegment_2= ruleQualifiedNameSegment )* { - // 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 ( (LA52_0==RULE_ID) ) { - alt52=1; - } - else if ( (LA52_0==RULE_QUOTED_ID) ) { - alt52=2; - } - else { - NoViableAltException nvae = - new NoViableAltException("", 52, 0, input); - - throw nvae; - } - switch (alt52) { - case 1 : - // InternalSolverLanguageParser.g:4150: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:4151:4: this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* - { - this_ID_0=(Token)match(input,RULE_ID,FOLLOW_59); - current.merge(this_ID_0); - + newCompositeNode(grammarAccess.getQualifiedNameAccess().getQualifiedNameSegmentParserRuleCall_0()); + + pushFollow(FOLLOW_67); + this_QualifiedNameSegment_0=ruleQualifiedNameSegment(); - newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); - - // InternalSolverLanguageParser.g:4158:4: (kw= FullStop this_ID_2= RULE_ID )* - loop51: - do { - int alt51=2; - int LA51_0 = input.LA(1); + state._fsp--; - if ( (LA51_0==FullStop) ) { - alt51=1; - } + current.merge(this_QualifiedNameSegment_0); + - switch (alt51) { - case 1 : - // InternalSolverLanguageParser.g:4159:5: kw= FullStop this_ID_2= RULE_ID - { - kw=(Token)match(input,FullStop,FOLLOW_20); + afterParserOrEnumRuleCall(); + + // InternalSolverLanguageParser.g:4774:3: (kw= ColonColon this_QualifiedNameSegment_2= ruleQualifiedNameSegment )* + loop60: + do { + int alt60=2; + int LA60_0 = input.LA(1); - current.merge(kw); - newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); - - this_ID_2=(Token)match(input,RULE_ID,FOLLOW_59); + if ( (LA60_0==ColonColon) ) { + alt60=1; + } - current.merge(this_ID_2); - - newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); - + switch (alt60) { + case 1 : + // InternalSolverLanguageParser.g:4775:4: kw= ColonColon this_QualifiedNameSegment_2= ruleQualifiedNameSegment + { + kw=(Token)match(input,ColonColon,FOLLOW_3); - } - break; + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1_0()); + - default : - break loop51; - } - } while (true); + newCompositeNode(grammarAccess.getQualifiedNameAccess().getQualifiedNameSegmentParserRuleCall_1_1()); + + pushFollow(FOLLOW_67); + this_QualifiedNameSegment_2=ruleQualifiedNameSegment(); + state._fsp--; - } + current.merge(this_QualifiedNameSegment_2); + - } - break; - case 2 : - // InternalSolverLanguageParser.g:4174:3: this_QUOTED_ID_3= RULE_QUOTED_ID - { - this_QUOTED_ID_3=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); + afterParserOrEnumRuleCall(); + - current.merge(this_QUOTED_ID_3); - + } + break; - newLeafNode(this_QUOTED_ID_3, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); - + default : + break loop60; + } + } while (true); - } - break; } @@ -10621,28 +12247,122 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR end "ruleQualifiedName" - // $ANTLR start "ruleImplicationOperator" - // InternalSolverLanguageParser.g:4188:1: ruleImplicationOperator returns [Enumerator current=null] : (enumLiteral_0= EqualsSignGreaterThanSign ) ; - public final Enumerator ruleImplicationOperator() throws RecognitionException { + // $ANTLR start "ruleAttributeKind" + // InternalSolverLanguageParser.g:4798:1: ruleAttributeKind returns [Enumerator current=null] : ( (enumLiteral_0= Functional ) | (enumLiteral_1= Error ) | (enumLiteral_2= Root ) | (enumLiteral_3= Containment ) ) ; + public final Enumerator ruleAttributeKind() throws RecognitionException { Enumerator current = null; Token enumLiteral_0=null; + Token enumLiteral_1=null; + Token enumLiteral_2=null; + Token enumLiteral_3=null; enterRule(); try { - // InternalSolverLanguageParser.g:4194:2: ( (enumLiteral_0= EqualsSignGreaterThanSign ) ) - // InternalSolverLanguageParser.g:4195:2: (enumLiteral_0= EqualsSignGreaterThanSign ) - { - // InternalSolverLanguageParser.g:4195:2: (enumLiteral_0= EqualsSignGreaterThanSign ) - // InternalSolverLanguageParser.g:4196:3: enumLiteral_0= EqualsSignGreaterThanSign + // InternalSolverLanguageParser.g:4804:2: ( ( (enumLiteral_0= Functional ) | (enumLiteral_1= Error ) | (enumLiteral_2= Root ) | (enumLiteral_3= Containment ) ) ) + // InternalSolverLanguageParser.g:4805:2: ( (enumLiteral_0= Functional ) | (enumLiteral_1= Error ) | (enumLiteral_2= Root ) | (enumLiteral_3= Containment ) ) { - enumLiteral_0=(Token)match(input,EqualsSignGreaterThanSign,FOLLOW_2); + // InternalSolverLanguageParser.g:4805:2: ( (enumLiteral_0= Functional ) | (enumLiteral_1= Error ) | (enumLiteral_2= Root ) | (enumLiteral_3= Containment ) ) + int alt61=4; + switch ( input.LA(1) ) { + case Functional: + { + alt61=1; + } + break; + case Error: + { + alt61=2; + } + break; + case Root: + { + alt61=3; + } + break; + case Containment: + { + alt61=4; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 61, 0, input); - current = grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration()); - + throw nvae; + } + + switch (alt61) { + case 1 : + // InternalSolverLanguageParser.g:4806:3: (enumLiteral_0= Functional ) + { + // InternalSolverLanguageParser.g:4806:3: (enumLiteral_0= Functional ) + // InternalSolverLanguageParser.g:4807:4: enumLiteral_0= Functional + { + enumLiteral_0=(Token)match(input,Functional,FOLLOW_2); + + current = grammarAccess.getAttributeKindAccess().getFUNCTIONALEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getAttributeKindAccess().getFUNCTIONALEnumLiteralDeclaration_0()); + + + } + + + } + break; + case 2 : + // InternalSolverLanguageParser.g:4814:3: (enumLiteral_1= Error ) + { + // InternalSolverLanguageParser.g:4814:3: (enumLiteral_1= Error ) + // InternalSolverLanguageParser.g:4815:4: enumLiteral_1= Error + { + enumLiteral_1=(Token)match(input,Error,FOLLOW_2); + + current = grammarAccess.getAttributeKindAccess().getERROREnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getAttributeKindAccess().getERROREnumLiteralDeclaration_1()); + + + } + + + } + break; + case 3 : + // InternalSolverLanguageParser.g:4822:3: (enumLiteral_2= Root ) + { + // InternalSolverLanguageParser.g:4822:3: (enumLiteral_2= Root ) + // InternalSolverLanguageParser.g:4823:4: enumLiteral_2= Root + { + enumLiteral_2=(Token)match(input,Root,FOLLOW_2); + + current = grammarAccess.getAttributeKindAccess().getROOTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getAttributeKindAccess().getROOTEnumLiteralDeclaration_2()); + + + } + + + } + break; + case 4 : + // InternalSolverLanguageParser.g:4830:3: (enumLiteral_3= Containment ) + { + // InternalSolverLanguageParser.g:4830:3: (enumLiteral_3= Containment ) + // InternalSolverLanguageParser.g:4831:4: enumLiteral_3= Containment + { + enumLiteral_3=(Token)match(input,Containment,FOLLOW_2); + + current = grammarAccess.getAttributeKindAccess().getCONTAINMENTEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getAttributeKindAccess().getCONTAINMENTEnumLiteralDeclaration_3()); + + + } + + + } + break; } @@ -10662,11 +12382,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleImplicationOperator" + // $ANTLR end "ruleAttributeKind" // $ANTLR start "ruleComparisonOperator" - // 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 ) ) ; + // InternalSolverLanguageParser.g:4841: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; @@ -10682,65 +12402,65 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:4847:2: ( ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) ) + // InternalSolverLanguageParser.g:4848: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 ) ) - int alt53=7; + // InternalSolverLanguageParser.g:4848:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) + int alt62=7; switch ( input.LA(1) ) { case EqualsSignEqualsSign: { - alt53=1; + alt62=1; } break; case ExclamationMarkEqualsSign: { - alt53=2; + alt62=2; } break; case LessThanSign: { - alt53=3; + alt62=3; } break; case LessThanSignEqualsSign: { - alt53=4; + alt62=4; } break; case GreaterThanSign: { - alt53=5; + alt62=5; } break; case GreaterThanSignEqualsSign: { - alt53=6; + alt62=6; } break; case In: { - alt53=7; + alt62=7; } break; default: NoViableAltException nvae = - new NoViableAltException("", 53, 0, input); + new NoViableAltException("", 62, 0, input); throw nvae; } - switch (alt53) { + switch (alt62) { case 1 : - // InternalSolverLanguageParser.g:4213:3: (enumLiteral_0= EqualsSignEqualsSign ) + // InternalSolverLanguageParser.g:4849:3: (enumLiteral_0= EqualsSignEqualsSign ) { - // InternalSolverLanguageParser.g:4213:3: (enumLiteral_0= EqualsSignEqualsSign ) - // InternalSolverLanguageParser.g:4214:4: enumLiteral_0= EqualsSignEqualsSign + // InternalSolverLanguageParser.g:4849:3: (enumLiteral_0= EqualsSignEqualsSign ) + // InternalSolverLanguageParser.g:4850:4: enumLiteral_0= EqualsSignEqualsSign { enumLiteral_0=(Token)match(input,EqualsSignEqualsSign,FOLLOW_2); - current = grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); + current = grammarAccess.getComparisonOperatorAccess().getEQUALSEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQUALSEnumLiteralDeclaration_0()); } @@ -10749,15 +12469,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:4221:3: (enumLiteral_1= ExclamationMarkEqualsSign ) + // InternalSolverLanguageParser.g:4857:3: (enumLiteral_1= ExclamationMarkEqualsSign ) { - // InternalSolverLanguageParser.g:4221:3: (enumLiteral_1= ExclamationMarkEqualsSign ) - // InternalSolverLanguageParser.g:4222:4: enumLiteral_1= ExclamationMarkEqualsSign + // InternalSolverLanguageParser.g:4857:3: (enumLiteral_1= ExclamationMarkEqualsSign ) + // InternalSolverLanguageParser.g:4858:4: enumLiteral_1= ExclamationMarkEqualsSign { enumLiteral_1=(Token)match(input,ExclamationMarkEqualsSign,FOLLOW_2); - current = grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); + current = grammarAccess.getComparisonOperatorAccess().getNOT_EQUALSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQUALSEnumLiteralDeclaration_1()); } @@ -10766,10 +12486,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:4229:3: (enumLiteral_2= LessThanSign ) + // InternalSolverLanguageParser.g:4865:3: (enumLiteral_2= LessThanSign ) { - // InternalSolverLanguageParser.g:4229:3: (enumLiteral_2= LessThanSign ) - // InternalSolverLanguageParser.g:4230:4: enumLiteral_2= LessThanSign + // InternalSolverLanguageParser.g:4865:3: (enumLiteral_2= LessThanSign ) + // InternalSolverLanguageParser.g:4866:4: enumLiteral_2= LessThanSign { enumLiteral_2=(Token)match(input,LessThanSign,FOLLOW_2); @@ -10783,15 +12503,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguageParser.g:4237:3: (enumLiteral_3= LessThanSignEqualsSign ) + // InternalSolverLanguageParser.g:4873:3: (enumLiteral_3= LessThanSignEqualsSign ) { - // InternalSolverLanguageParser.g:4237:3: (enumLiteral_3= LessThanSignEqualsSign ) - // InternalSolverLanguageParser.g:4238:4: enumLiteral_3= LessThanSignEqualsSign + // InternalSolverLanguageParser.g:4873:3: (enumLiteral_3= LessThanSignEqualsSign ) + // InternalSolverLanguageParser.g:4874:4: enumLiteral_3= LessThanSignEqualsSign { enumLiteral_3=(Token)match(input,LessThanSignEqualsSign,FOLLOW_2); - current = grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); + current = grammarAccess.getComparisonOperatorAccess().getLESS_EQUALSEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQUALSEnumLiteralDeclaration_3()); } @@ -10800,10 +12520,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 5 : - // InternalSolverLanguageParser.g:4245:3: (enumLiteral_4= GreaterThanSign ) + // InternalSolverLanguageParser.g:4881:3: (enumLiteral_4= GreaterThanSign ) { - // InternalSolverLanguageParser.g:4245:3: (enumLiteral_4= GreaterThanSign ) - // InternalSolverLanguageParser.g:4246:4: enumLiteral_4= GreaterThanSign + // InternalSolverLanguageParser.g:4881:3: (enumLiteral_4= GreaterThanSign ) + // InternalSolverLanguageParser.g:4882:4: enumLiteral_4= GreaterThanSign { enumLiteral_4=(Token)match(input,GreaterThanSign,FOLLOW_2); @@ -10817,15 +12537,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 6 : - // InternalSolverLanguageParser.g:4253:3: (enumLiteral_5= GreaterThanSignEqualsSign ) + // InternalSolverLanguageParser.g:4889:3: (enumLiteral_5= GreaterThanSignEqualsSign ) { - // InternalSolverLanguageParser.g:4253:3: (enumLiteral_5= GreaterThanSignEqualsSign ) - // InternalSolverLanguageParser.g:4254:4: enumLiteral_5= GreaterThanSignEqualsSign + // InternalSolverLanguageParser.g:4889:3: (enumLiteral_5= GreaterThanSignEqualsSign ) + // InternalSolverLanguageParser.g:4890:4: enumLiteral_5= GreaterThanSignEqualsSign { enumLiteral_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_2); - current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); + current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQUALSEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQUALSEnumLiteralDeclaration_5()); } @@ -10834,10 +12554,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 7 : - // InternalSolverLanguageParser.g:4261:3: (enumLiteral_6= In ) + // InternalSolverLanguageParser.g:4897:3: (enumLiteral_6= In ) { - // InternalSolverLanguageParser.g:4261:3: (enumLiteral_6= In ) - // InternalSolverLanguageParser.g:4262:4: enumLiteral_6= In + // InternalSolverLanguageParser.g:4897:3: (enumLiteral_6= In ) + // InternalSolverLanguageParser.g:4898:4: enumLiteral_6= In { enumLiteral_6=(Token)match(input,In,FOLLOW_2); @@ -10873,7 +12593,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleAdditiveBinaryOperator" - // InternalSolverLanguageParser.g:4272:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ; + // InternalSolverLanguageParser.g:4908:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ; public final Enumerator ruleAdditiveBinaryOperator() throws RecognitionException { Enumerator current = null; @@ -10884,36 +12604,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:4278:2: ( ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ) - // InternalSolverLanguageParser.g:4279:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) + // InternalSolverLanguageParser.g:4914:2: ( ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ) + // InternalSolverLanguageParser.g:4915:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) { - // InternalSolverLanguageParser.g:4279:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) - int alt54=2; - int LA54_0 = input.LA(1); + // InternalSolverLanguageParser.g:4915:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) + int alt63=2; + int LA63_0 = input.LA(1); - if ( (LA54_0==PlusSign) ) { - alt54=1; + if ( (LA63_0==PlusSign) ) { + alt63=1; } - else if ( (LA54_0==HyphenMinus) ) { - alt54=2; + else if ( (LA63_0==HyphenMinus) ) { + alt63=2; } else { NoViableAltException nvae = - new NoViableAltException("", 54, 0, input); + new NoViableAltException("", 63, 0, input); throw nvae; } - switch (alt54) { + switch (alt63) { case 1 : - // InternalSolverLanguageParser.g:4280:3: (enumLiteral_0= PlusSign ) + // InternalSolverLanguageParser.g:4916:3: (enumLiteral_0= PlusSign ) { - // InternalSolverLanguageParser.g:4280:3: (enumLiteral_0= PlusSign ) - // InternalSolverLanguageParser.g:4281:4: enumLiteral_0= PlusSign + // InternalSolverLanguageParser.g:4916:3: (enumLiteral_0= PlusSign ) + // InternalSolverLanguageParser.g:4917:4: enumLiteral_0= PlusSign { enumLiteral_0=(Token)match(input,PlusSign,FOLLOW_2); - current = grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); + current = grammarAccess.getAdditiveBinaryOperatorAccess().getPLUSEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getPLUSEnumLiteralDeclaration_0()); } @@ -10922,15 +12642,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:4288:3: (enumLiteral_1= HyphenMinus ) + // InternalSolverLanguageParser.g:4924:3: (enumLiteral_1= HyphenMinus ) { - // InternalSolverLanguageParser.g:4288:3: (enumLiteral_1= HyphenMinus ) - // InternalSolverLanguageParser.g:4289:4: enumLiteral_1= HyphenMinus + // InternalSolverLanguageParser.g:4924:3: (enumLiteral_1= HyphenMinus ) + // InternalSolverLanguageParser.g:4925:4: enumLiteral_1= HyphenMinus { enumLiteral_1=(Token)match(input,HyphenMinus,FOLLOW_2); - current = grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); + current = grammarAccess.getAdditiveBinaryOperatorAccess().getMINUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getMINUSEnumLiteralDeclaration_1()); } @@ -10961,7 +12681,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleMultiplicativeBinaryOperator" - // InternalSolverLanguageParser.g:4299:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ; + // InternalSolverLanguageParser.g:4935:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ; public final Enumerator ruleMultiplicativeBinaryOperator() throws RecognitionException { Enumerator current = null; @@ -10972,36 +12692,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:4305:2: ( ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ) - // InternalSolverLanguageParser.g:4306:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) + // InternalSolverLanguageParser.g:4941:2: ( ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ) + // InternalSolverLanguageParser.g:4942:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) { - // InternalSolverLanguageParser.g:4306:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) - int alt55=2; - int LA55_0 = input.LA(1); + // InternalSolverLanguageParser.g:4942:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) + int alt64=2; + int LA64_0 = input.LA(1); - if ( (LA55_0==Asterisk) ) { - alt55=1; + if ( (LA64_0==Asterisk) ) { + alt64=1; } - else if ( (LA55_0==Solidus) ) { - alt55=2; + else if ( (LA64_0==Solidus) ) { + alt64=2; } else { NoViableAltException nvae = - new NoViableAltException("", 55, 0, input); + new NoViableAltException("", 64, 0, input); throw nvae; } - switch (alt55) { + switch (alt64) { case 1 : - // InternalSolverLanguageParser.g:4307:3: (enumLiteral_0= Asterisk ) + // InternalSolverLanguageParser.g:4943:3: (enumLiteral_0= Asterisk ) { - // InternalSolverLanguageParser.g:4307:3: (enumLiteral_0= Asterisk ) - // InternalSolverLanguageParser.g:4308:4: enumLiteral_0= Asterisk + // InternalSolverLanguageParser.g:4943:3: (enumLiteral_0= Asterisk ) + // InternalSolverLanguageParser.g:4944:4: enumLiteral_0= Asterisk { enumLiteral_0=(Token)match(input,Asterisk,FOLLOW_2); - current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); + current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULTIPLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULTIPLYEnumLiteralDeclaration_0()); } @@ -11010,15 +12730,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:4315:3: (enumLiteral_1= Solidus ) + // InternalSolverLanguageParser.g:4951:3: (enumLiteral_1= Solidus ) { - // InternalSolverLanguageParser.g:4315:3: (enumLiteral_1= Solidus ) - // InternalSolverLanguageParser.g:4316:4: enumLiteral_1= Solidus + // InternalSolverLanguageParser.g:4951:3: (enumLiteral_1= Solidus ) + // InternalSolverLanguageParser.g:4952:4: enumLiteral_1= Solidus { enumLiteral_1=(Token)match(input,Solidus,FOLLOW_2); - current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); + current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVIDEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVIDEEnumLiteralDeclaration_1()); } @@ -11049,7 +12769,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleExponentialOp" - // InternalSolverLanguageParser.g:4326:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= CircumflexAccent ) ; + // InternalSolverLanguageParser.g:4962:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= CircumflexAccent ) ; public final Enumerator ruleExponentialOp() throws RecognitionException { Enumerator current = null; @@ -11059,11 +12779,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:4332:2: ( (enumLiteral_0= CircumflexAccent ) ) - // InternalSolverLanguageParser.g:4333:2: (enumLiteral_0= CircumflexAccent ) + // InternalSolverLanguageParser.g:4968:2: ( (enumLiteral_0= CircumflexAccent ) ) + // InternalSolverLanguageParser.g:4969:2: (enumLiteral_0= CircumflexAccent ) { - // InternalSolverLanguageParser.g:4333:2: (enumLiteral_0= CircumflexAccent ) - // InternalSolverLanguageParser.g:4334:3: enumLiteral_0= CircumflexAccent + // InternalSolverLanguageParser.g:4969:2: (enumLiteral_0= CircumflexAccent ) + // InternalSolverLanguageParser.g:4970:3: enumLiteral_0= CircumflexAccent { enumLiteral_0=(Token)match(input,CircumflexAccent,FOLLOW_2); @@ -11092,76 +12812,64 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR end "ruleExponentialOp" - // $ANTLR start "ruleUnaryOp" - // 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 { + // $ANTLR start "ruleUnaryOperator" + // InternalSolverLanguageParser.g:4979:1: ruleUnaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= QuestionMark ) ) ; + public final Enumerator ruleUnaryOperator() 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: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:4985:2: ( ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= QuestionMark ) ) ) + // InternalSolverLanguageParser.g:4986:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= QuestionMark ) ) { - // 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; + // InternalSolverLanguageParser.g:4986:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= QuestionMark ) ) + int alt65=4; switch ( input.LA(1) ) { case ExclamationMark: { - alt56=1; + alt65=1; } break; case PlusSign: { - alt56=2; + alt65=2; } break; case HyphenMinus: { - alt56=3; - } - break; - case May: - { - alt56=4; - } - break; - case Must: - { - alt56=5; + alt65=3; } break; - case Current: + case QuestionMark: { - alt56=6; + alt65=4; } break; default: NoViableAltException nvae = - new NoViableAltException("", 56, 0, input); + new NoViableAltException("", 65, 0, input); throw nvae; } - switch (alt56) { + switch (alt65) { case 1 : - // InternalSolverLanguageParser.g:4351:3: (enumLiteral_0= ExclamationMark ) + // InternalSolverLanguageParser.g:4987:3: (enumLiteral_0= ExclamationMark ) { - // InternalSolverLanguageParser.g:4351:3: (enumLiteral_0= ExclamationMark ) - // InternalSolverLanguageParser.g:4352:4: enumLiteral_0= ExclamationMark + // InternalSolverLanguageParser.g:4987:3: (enumLiteral_0= ExclamationMark ) + // InternalSolverLanguageParser.g:4988:4: enumLiteral_0= ExclamationMark { enumLiteral_0=(Token)match(input,ExclamationMark,FOLLOW_2); - current = grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); + current = grammarAccess.getUnaryOperatorAccess().getNOTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getUnaryOperatorAccess().getNOTEnumLiteralDeclaration_0()); } @@ -11170,15 +12878,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:4359:3: (enumLiteral_1= PlusSign ) + // InternalSolverLanguageParser.g:4995:3: (enumLiteral_1= PlusSign ) { - // InternalSolverLanguageParser.g:4359:3: (enumLiteral_1= PlusSign ) - // InternalSolverLanguageParser.g:4360:4: enumLiteral_1= PlusSign + // InternalSolverLanguageParser.g:4995:3: (enumLiteral_1= PlusSign ) + // InternalSolverLanguageParser.g:4996:4: enumLiteral_1= PlusSign { enumLiteral_1=(Token)match(input,PlusSign,FOLLOW_2); - current = grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); + current = grammarAccess.getUnaryOperatorAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getUnaryOperatorAccess().getPLUSEnumLiteralDeclaration_1()); } @@ -11187,15 +12895,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:4367:3: (enumLiteral_2= HyphenMinus ) + // InternalSolverLanguageParser.g:5003:3: (enumLiteral_2= HyphenMinus ) { - // InternalSolverLanguageParser.g:4367:3: (enumLiteral_2= HyphenMinus ) - // InternalSolverLanguageParser.g:4368:4: enumLiteral_2= HyphenMinus + // InternalSolverLanguageParser.g:5003:3: (enumLiteral_2= HyphenMinus ) + // InternalSolverLanguageParser.g:5004:4: enumLiteral_2= HyphenMinus { enumLiteral_2=(Token)match(input,HyphenMinus,FOLLOW_2); - current = grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); + current = grammarAccess.getUnaryOperatorAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getUnaryOperatorAccess().getMINUSEnumLiteralDeclaration_2()); } @@ -11204,164 +12912,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguageParser.g:4375:3: (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); - - current = grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); - - - } - - - } - break; - case 5 : - // InternalSolverLanguageParser.g:4383:3: (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); - - current = grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_4, grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); - - - } - - - } - break; - case 6 : - // InternalSolverLanguageParser.g:4391:3: (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); - - current = grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); - - - } - - - } - break; - - } - - - } - - - leaveRule(); - - } - - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } - finally { - } - return current; - } - // $ANTLR end "ruleUnaryOp" - - - // $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; - - - enterRule(); - - try { - // 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:4409:2: ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) ) - int alt57=3; - switch ( input.LA(1) ) { - case Exists: - { - alt57=1; - } - break; - case Forall: - { - alt57=2; - } - break; - case Count: - { - alt57=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 57, 0, input); - - throw nvae; - } - - switch (alt57) { - case 1 : - // InternalSolverLanguageParser.g:4410:3: (enumLiteral_0= Exists ) - { - // InternalSolverLanguageParser.g:4410:3: (enumLiteral_0= Exists ) - // InternalSolverLanguageParser.g:4411:4: enumLiteral_0= Exists - { - enumLiteral_0=(Token)match(input,Exists,FOLLOW_2); - - current = grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0()); - - - } - - - } - break; - case 2 : - // InternalSolverLanguageParser.g:4418:3: (enumLiteral_1= Forall ) - { - // InternalSolverLanguageParser.g:4418:3: (enumLiteral_1= Forall ) - // InternalSolverLanguageParser.g:4419:4: enumLiteral_1= Forall + // InternalSolverLanguageParser.g:5011:3: (enumLiteral_3= QuestionMark ) { - enumLiteral_1=(Token)match(input,Forall,FOLLOW_2); - - current = grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1()); - - - } - - - } - break; - case 3 : - // InternalSolverLanguageParser.g:4426:3: (enumLiteral_2= Count ) - { - // InternalSolverLanguageParser.g:4426:3: (enumLiteral_2= Count ) - // InternalSolverLanguageParser.g:4427:4: enumLiteral_2= Count + // InternalSolverLanguageParser.g:5011:3: (enumLiteral_3= QuestionMark ) + // InternalSolverLanguageParser.g:5012:4: enumLiteral_3= QuestionMark { - enumLiteral_2=(Token)match(input,Count,FOLLOW_2); + enumLiteral_3=(Token)match(input,QuestionMark,FOLLOW_2); - current = grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2()); + current = grammarAccess.getUnaryOperatorAccess().getMAYBEEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getUnaryOperatorAccess().getMAYBEEnumLiteralDeclaration_3()); } @@ -11388,11 +12947,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } return current; } - // $ANTLR end "ruleQuantifier" + // $ANTLR end "ruleUnaryOperator" // $ANTLR start "ruleLogicValue" - // InternalSolverLanguageParser.g:4437:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ; + // InternalSolverLanguageParser.g:5022: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; @@ -11405,45 +12964,45 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // 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:5028:2: ( ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ) + // InternalSolverLanguageParser.g:5029: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 ) ) - int alt58=4; + // InternalSolverLanguageParser.g:5029:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) + int alt66=4; switch ( input.LA(1) ) { case True: { - alt58=1; + alt66=1; } break; case False: { - alt58=2; + alt66=2; } break; case Unknown: { - alt58=3; + alt66=3; } break; case Error: { - alt58=4; + alt66=4; } break; default: NoViableAltException nvae = - new NoViableAltException("", 58, 0, input); + new NoViableAltException("", 66, 0, input); throw nvae; } - switch (alt58) { + switch (alt66) { case 1 : - // InternalSolverLanguageParser.g:4445:3: (enumLiteral_0= True ) + // InternalSolverLanguageParser.g:5030:3: (enumLiteral_0= True ) { - // InternalSolverLanguageParser.g:4445:3: (enumLiteral_0= True ) - // InternalSolverLanguageParser.g:4446:4: enumLiteral_0= True + // InternalSolverLanguageParser.g:5030:3: (enumLiteral_0= True ) + // InternalSolverLanguageParser.g:5031:4: enumLiteral_0= True { enumLiteral_0=(Token)match(input,True,FOLLOW_2); @@ -11457,10 +13016,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:4453:3: (enumLiteral_1= False ) + // InternalSolverLanguageParser.g:5038:3: (enumLiteral_1= False ) { - // InternalSolverLanguageParser.g:4453:3: (enumLiteral_1= False ) - // InternalSolverLanguageParser.g:4454:4: enumLiteral_1= False + // InternalSolverLanguageParser.g:5038:3: (enumLiteral_1= False ) + // InternalSolverLanguageParser.g:5039:4: enumLiteral_1= False { enumLiteral_1=(Token)match(input,False,FOLLOW_2); @@ -11474,10 +13033,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 3 : - // InternalSolverLanguageParser.g:4461:3: (enumLiteral_2= Unknown ) + // InternalSolverLanguageParser.g:5046:3: (enumLiteral_2= Unknown ) { - // InternalSolverLanguageParser.g:4461:3: (enumLiteral_2= Unknown ) - // InternalSolverLanguageParser.g:4462:4: enumLiteral_2= Unknown + // InternalSolverLanguageParser.g:5046:3: (enumLiteral_2= Unknown ) + // InternalSolverLanguageParser.g:5047:4: enumLiteral_2= Unknown { enumLiteral_2=(Token)match(input,Unknown,FOLLOW_2); @@ -11491,10 +13050,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 4 : - // InternalSolverLanguageParser.g:4469:3: (enumLiteral_3= Error ) + // InternalSolverLanguageParser.g:5054:3: (enumLiteral_3= Error ) { - // InternalSolverLanguageParser.g:4469:3: (enumLiteral_3= Error ) - // InternalSolverLanguageParser.g:4470:4: enumLiteral_3= Error + // InternalSolverLanguageParser.g:5054:3: (enumLiteral_3= Error ) + // InternalSolverLanguageParser.g:5055:4: enumLiteral_3= Error { enumLiteral_3=(Token)match(input,Error,FOLLOW_2); @@ -11530,7 +13089,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleObjectiveKind" - // InternalSolverLanguageParser.g:4480:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ; + // InternalSolverLanguageParser.g:5065:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ; public final Enumerator ruleObjectiveKind() throws RecognitionException { Enumerator current = null; @@ -11541,36 +13100,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalSolverLanguageParser.g:4486:2: ( ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ) - // InternalSolverLanguageParser.g:4487:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) + // InternalSolverLanguageParser.g:5071:2: ( ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ) + // InternalSolverLanguageParser.g:5072:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) { - // InternalSolverLanguageParser.g:4487:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) - int alt59=2; - int LA59_0 = input.LA(1); + // InternalSolverLanguageParser.g:5072:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) + int alt67=2; + int LA67_0 = input.LA(1); - if ( (LA59_0==Minimize) ) { - alt59=1; + if ( (LA67_0==Minimize) ) { + alt67=1; } - else if ( (LA59_0==Maximize) ) { - alt59=2; + else if ( (LA67_0==Maximize) ) { + alt67=2; } else { NoViableAltException nvae = - new NoViableAltException("", 59, 0, input); + new NoViableAltException("", 67, 0, input); throw nvae; } - switch (alt59) { + switch (alt67) { case 1 : - // InternalSolverLanguageParser.g:4488:3: (enumLiteral_0= Minimize ) + // InternalSolverLanguageParser.g:5073:3: (enumLiteral_0= Minimize ) { - // InternalSolverLanguageParser.g:4488:3: (enumLiteral_0= Minimize ) - // InternalSolverLanguageParser.g:4489:4: enumLiteral_0= Minimize + // InternalSolverLanguageParser.g:5073:3: (enumLiteral_0= Minimize ) + // InternalSolverLanguageParser.g:5074:4: enumLiteral_0= Minimize { enumLiteral_0=(Token)match(input,Minimize,FOLLOW_2); - current = grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); + current = grammarAccess.getObjectiveKindAccess().getMINIMIZATIONEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZATIONEnumLiteralDeclaration_0()); } @@ -11579,15 +13138,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { } break; case 2 : - // InternalSolverLanguageParser.g:4496:3: (enumLiteral_1= Maximize ) + // InternalSolverLanguageParser.g:5081:3: (enumLiteral_1= Maximize ) { - // InternalSolverLanguageParser.g:4496:3: (enumLiteral_1= Maximize ) - // InternalSolverLanguageParser.g:4497:4: enumLiteral_1= Maximize + // InternalSolverLanguageParser.g:5081:3: (enumLiteral_1= Maximize ) + // InternalSolverLanguageParser.g:5082:4: enumLiteral_1= Maximize { enumLiteral_1=(Token)match(input,Maximize,FOLLOW_2); - current = grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); + current = grammarAccess.getObjectiveKindAccess().getMAXIMIZATIONEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZATIONEnumLiteralDeclaration_1()); } @@ -11619,44 +13178,47 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { // Delegated rules - protected DFA2 dfa2 = new DFA2(this); - 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}>"; + protected DFA4 dfa4 = new DFA4(this); + protected DFA13 dfa13 = new DFA13(this); + protected DFA30 dfa30 = new DFA30(this); + protected DFA31 dfa31 = new DFA31(this); + protected DFA34 dfa34 = new DFA34(this); + protected DFA53 dfa53 = new DFA53(this); + static final String dfa_1s = "\35\uffff"; + static final String dfa_2s = "\1\4\1\uffff\3\22\1\5\1\22\1\uffff\1\6\6\uffff\1\22\2\uffff\3\45\1\uffff\4\22\3\45"; + static final String dfa_3s = "\1\113\1\uffff\5\112\1\uffff\1\112\6\uffff\1\112\2\uffff\3\111\1\uffff\4\112\3\111"; + static final String dfa_4s = "\1\uffff\1\1\5\uffff\1\4\1\uffff\1\6\1\7\1\10\1\11\1\12\1\13\1\uffff\1\5\1\2\3\uffff\1\3\7\uffff"; + static final String dfa_5s = "\35\uffff}>"; static final String[] dfa_6s = { - "\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\11\1\6\1\15\2\uffff\2\14\1\uffff\1\7\2\uffff\1\1\1\12\1\uffff\1\4\1\uffff\1\15\2\1\1\5\1\1\1\13\1\uffff\1\16\1\10\1\uffff\1\1\1\uffff\2\1\12\uffff\1\1\1\uffff\2\1\2\uffff\1\1\1\uffff\1\1\7\uffff\2\1\5\uffff\2\1\1\3\4\uffff\1\2\1\1", "", - "\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\20\17\uffff\3\1\1\17\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\11\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\20\1\uffff\1\20\1\uffff\3\1\1\20", + "\1\20\17\uffff\3\1\1\17\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\11\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\20\1\uffff\1\20\1\uffff\3\1\1\20", + "\1\20\17\uffff\3\1\1\17\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\11\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\20\1\uffff\1\20\1\uffff\3\1\1\20", + "\1\21\14\uffff\1\24\17\uffff\3\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\25\1\uffff\4\1\1\uffff\4\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\21\1\uffff\1\23\3\uffff\1\1\1\22", + "\1\24\4\uffff\1\21\53\uffff\1\21\1\uffff\1\23\4\uffff\1\22", "", + "\1\15\13\uffff\1\11\1\uffff\1\15\7\uffff\1\15\50\uffff\1\11\4\uffff\1\11", "", - "\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", + "\1\30\62\uffff\1\27\4\uffff\1\26", "", - "\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\31\11\uffff\1\21\5\uffff\1\21\21\uffff\2\21\1\11", + "\1\31\11\uffff\1\21\5\uffff\1\21\21\uffff\2\21\1\11", + "\1\31\11\uffff\1\21\5\uffff\1\21\21\uffff\2\21\1\11", "", - "", - "\1\30\5\uffff\1\27\11\uffff\1\31" + "\1\20\17\uffff\3\1\1\17\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\11\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\20\1\uffff\1\20\1\uffff\3\1\1\20", + "\1\20\17\uffff\3\1\1\17\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\11\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\20\1\uffff\1\20\1\uffff\3\1\1\20", + "\1\20\17\uffff\3\1\1\17\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\11\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\20\1\uffff\1\20\1\uffff\3\1\1\20", + "\1\34\62\uffff\1\33\4\uffff\1\32", + "\1\31\11\uffff\1\21\5\uffff\1\21\21\uffff\2\21\1\11", + "\1\31\11\uffff\1\21\5\uffff\1\21\21\uffff\2\21\1\11", + "\1\31\11\uffff\1\21\5\uffff\1\21\21\uffff\2\21\1\11" }; static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); @@ -11666,11 +13228,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); - class DFA2 extends DFA { + class DFA4 extends DFA { - public DFA2(BaseRecognizer recognizer) { + public DFA4(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 2; + this.decisionNumber = 4; this.eot = dfa_1; this.eof = dfa_1; this.min = dfa_2; @@ -11680,243 +13242,336 @@ 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_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 = "\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\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", + return "158:2: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPredicateDefintion_2= ruleUnnamedErrorPredicateDefintion | this_DefaultAssertion_3= ruleDefaultAssertion | this_FunctionDefinition_4= ruleFunctionDefinition | this_Attribute_5= ruleAttribute | this_ExternDeclaration_6= ruleExternDeclaration | this_ScopeDeclaration_7= ruleScopeDeclaration | this_ObjectiveDeclaration_8= ruleObjectiveDeclaration | this_ClassDeclaration_9= ruleClassDeclaration | this_EnumDeclaration_10= ruleEnumDeclaration )"; + } + } + static final String dfa_7s = "\24\uffff"; + static final String dfa_8s = "\1\20\1\5\2\uffff\4\22\3\45\4\22\2\uffff\3\45"; + static final String dfa_9s = "\1\20\1\112\2\uffff\4\112\3\100\4\112\2\uffff\3\100"; + static final String dfa_10s = "\2\uffff\1\4\1\1\13\uffff\1\3\1\2\3\uffff"; + static final String dfa_11s = "\24\uffff}>"; + static final String[] dfa_12s = { + "\1\1", + "\1\3\2\uffff\1\2\11\uffff\1\6\4\uffff\1\3\55\uffff\1\5\4\uffff\1\4", "", "", - "\1\7", + "\1\12\22\uffff\1\7\11\uffff\1\3\25\uffff\1\11\4\uffff\1\10", + "\1\12\22\uffff\1\7\11\uffff\1\3\25\uffff\1\11\4\uffff\1\10", + "\1\12\22\uffff\1\7\11\uffff\1\3\25\uffff\1\11\4\uffff\1\10", + "\1\15\62\uffff\1\14\4\uffff\1\13", + "\1\16\11\uffff\1\20\20\uffff\1\17", + "\1\16\11\uffff\1\20\20\uffff\1\17", + "\1\16\11\uffff\1\20\20\uffff\1\17", + "\1\12\22\uffff\1\7\11\uffff\1\3\25\uffff\1\11\4\uffff\1\10", + "\1\12\22\uffff\1\7\11\uffff\1\3\25\uffff\1\11\4\uffff\1\10", + "\1\12\22\uffff\1\7\11\uffff\1\3\25\uffff\1\11\4\uffff\1\10", + "\1\23\62\uffff\1\22\4\uffff\1\21", "", - "\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\16\11\uffff\1\20\20\uffff\1\17", + "\1\16\11\uffff\1\20\20\uffff\1\17", + "\1\16\11\uffff\1\20\20\uffff\1\17" }; static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); - static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s); + static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s); static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); - static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s); + static final short[] dfa_10 = DFA.unpackEncodedString(dfa_10s); static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); - static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); - static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s); + static final short[][] dfa_12 = unpackEncodedStringArray(dfa_12s); - class DFA23 extends DFA { + class DFA13 extends DFA { - public DFA23(BaseRecognizer recognizer) { + public DFA13(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 23; + this.decisionNumber = 13; this.eot = dfa_7; - this.eof = dfa_8; - this.min = dfa_9; - this.max = dfa_10; - this.accept = dfa_11; - this.special = dfa_12; - this.transition = dfa_13; + this.eof = dfa_7; + this.min = dfa_8; + this.max = dfa_9; + this.accept = dfa_10; + this.special = dfa_11; + this.transition = dfa_12; } public String getDescription() { - return "2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation )"; - } - } - 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", - "", - "", + return "1041:2: (this_ExternPredicateDeclaration_0= ruleExternPredicateDeclaration | this_ExternFunctionDeclaration_1= ruleExternFunctionDeclaration | this_ExternAggregationOperatorDeclaration_2= ruleExternAggregationOperatorDeclaration | this_ExternDatatypeDeclaration_3= ruleExternDatatypeDeclaration )"; + } + } + static final String dfa_13s = "\13\uffff"; + static final String dfa_14s = "\2\uffff\3\1\3\uffff\3\1"; + static final String dfa_15s = "\1\17\1\uffff\3\32\1\uffff\1\22\1\uffff\3\32"; + static final String dfa_16s = "\1\113\1\uffff\3\111\1\uffff\1\112\1\uffff\3\111"; + static final String dfa_17s = "\1\uffff\1\1\3\uffff\1\3\1\uffff\1\2\3\uffff"; + static final String dfa_18s = "\13\uffff}>"; + static final String[] dfa_19s = { + "\1\1\2\uffff\1\4\2\uffff\1\5\3\1\5\uffff\1\1\1\uffff\1\1\16\uffff\1\1\15\uffff\1\1\5\uffff\2\1\1\3\4\uffff\1\2\1\1", "", - "\1\11", + "\1\1\2\uffff\1\1\4\uffff\3\1\1\6\6\1\1\uffff\1\1\1\uffff\13\1\1\uffff\1\1\2\uffff\2\1\1\7\2\1\4\uffff\3\1", + "\1\1\2\uffff\1\1\4\uffff\3\1\1\6\6\1\1\uffff\1\1\1\uffff\13\1\1\uffff\1\1\2\uffff\2\1\1\7\2\1\4\uffff\3\1", + "\1\1\2\uffff\1\1\4\uffff\3\1\1\6\6\1\1\uffff\1\1\1\uffff\13\1\1\uffff\1\1\2\uffff\2\1\1\7\2\1\4\uffff\3\1", "", + "\1\12\62\uffff\1\11\4\uffff\1\10", "", - "\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\1\2\uffff\1\1\4\uffff\3\1\1\6\6\1\1\uffff\1\1\1\uffff\13\1\1\uffff\1\1\2\uffff\2\1\1\7\2\1\4\uffff\3\1", + "\1\1\2\uffff\1\1\4\uffff\3\1\1\6\6\1\1\uffff\1\1\1\uffff\13\1\1\uffff\1\1\2\uffff\2\1\1\7\2\1\4\uffff\3\1", + "\1\1\2\uffff\1\1\4\uffff\3\1\1\6\6\1\1\uffff\1\1\1\uffff\13\1\1\uffff\1\1\2\uffff\2\1\1\7\2\1\4\uffff\3\1" }; + static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s); static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); - static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s); + static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); - static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s); + static final short[] dfa_17 = DFA.unpackEncodedString(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); + static final short[][] dfa_19 = unpackEncodedStringArray(dfa_19s); - class DFA29 extends DFA { + class DFA30 extends DFA { - public DFA29(BaseRecognizer recognizer) { + public DFA30(BaseRecognizer recognizer) { this.recognizer = recognizer; - 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; + this.decisionNumber = 30; + this.eot = dfa_13; + this.eof = dfa_14; + this.min = dfa_15; + this.max = dfa_16; + this.accept = dfa_17; + this.special = dfa_18; + this.transition = dfa_19; } public String getDescription() { - 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_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", + return "2451:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Aggregation_1= ruleAggregation | this_Count_2= ruleCount )"; + } + } + static final String dfa_20s = "\33\uffff"; + static final String dfa_21s = "\2\uffff\3\14\4\uffff\2\14\3\uffff\3\14\1\uffff\3\14\1\uffff\5\14"; + static final String dfa_22s = "\1\17\1\22\3\32\3\uffff\1\22\2\32\1\22\2\uffff\3\32\1\22\3\32\1\22\5\32"; + static final String dfa_23s = "\1\113\1\112\3\111\3\uffff\1\112\2\111\1\112\2\uffff\3\111\1\112\3\111\1\112\5\111"; + static final String dfa_24s = "\5\uffff\1\3\1\4\1\5\4\uffff\1\1\1\2\15\uffff"; + static final String dfa_25s = "\33\uffff}>"; + static final String[] dfa_26s = { + "\1\6\2\uffff\1\4\3\uffff\3\6\5\uffff\1\6\1\uffff\1\6\16\uffff\1\7\15\uffff\1\5\5\uffff\1\1\1\6\1\3\4\uffff\1\2\1\6", + "\1\4\62\uffff\1\3\4\uffff\1\2", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\10\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\11\1\12\1\14", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\10\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\11\1\12\1\14", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\10\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\11\1\12\1\14", "", "", - "\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", - "" + "\1\20\62\uffff\1\17\4\uffff\1\16", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\uffff\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\6\uffff\1\14", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\uffff\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\6\uffff\1\14", + "\1\24\60\uffff\1\21\1\uffff\1\23\4\uffff\1\22", + "", + "", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\10\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\11\1\12\1\14", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\10\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\11\1\12\1\14", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\10\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\11\1\12\1\14", + "\1\24\62\uffff\1\23\4\uffff\1\22", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\25\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\26\1\27\1\14", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\25\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\26\1\27\1\14", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\25\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\26\1\27\1\14", + "\1\32\62\uffff\1\31\4\uffff\1\30", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\uffff\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\6\uffff\1\14", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\uffff\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\6\uffff\1\14", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\25\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\26\1\27\1\14", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\25\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\26\1\27\1\14", + "\1\14\2\uffff\1\14\4\uffff\3\14\1\25\6\14\1\uffff\1\14\1\uffff\1\15\5\14\1\13\4\14\1\uffff\1\14\2\uffff\2\14\1\uffff\2\14\4\uffff\1\26\1\27\1\14" }; + + static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); 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); + static final short[] dfa_25 = DFA.unpackEncodedString(dfa_25s); + static final short[][] dfa_26 = unpackEncodedStringArray(dfa_26s); - class DFA33 extends DFA { + class DFA31 extends DFA { - public DFA33(BaseRecognizer recognizer) { + public DFA31(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 33; - this.eot = dfa_14; + this.decisionNumber = 31; + this.eot = dfa_20; this.eof = dfa_21; this.min = dfa_22; this.max = dfa_23; this.accept = dfa_24; - this.special = dfa_19; - this.transition = dfa_25; + this.special = dfa_25; + this.transition = dfa_26; } public String getDescription() { - return "2664:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )"; + return "2631: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_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\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", + static final String dfa_27s = "\16\uffff"; + static final String dfa_28s = "\2\uffff\3\1\2\uffff\1\15\2\uffff\3\1\1\uffff"; + static final String dfa_29s = "\1\17\1\uffff\3\22\1\uffff\1\22\1\17\1\61\1\uffff\3\22\1\uffff"; + static final String dfa_30s = "\1\113\1\uffff\3\112\1\uffff\1\112\1\113\1\112\1\uffff\3\112\1\uffff"; + static final String dfa_31s = "\1\uffff\1\1\3\uffff\1\2\3\uffff\1\3\3\uffff\1\4"; + static final String dfa_32s = "\16\uffff}>"; + static final String[] dfa_33s = { + "\1\1\2\uffff\1\4\2\uffff\4\1\5\uffff\1\1\1\uffff\1\1\15\uffff\2\1\1\uffff\1\5\1\1\1\uffff\1\1\7\uffff\2\1\5\uffff\2\1\1\3\4\uffff\1\2\1\1", "", - "\1\14", + "\1\10\17\uffff\1\1\2\uffff\1\6\1\uffff\2\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\7\5\1\2\uffff\1\1\1\uffff\1\1\3\uffff\2\1\6\uffff\2\1\1\uffff\1\11", + "\1\10\17\uffff\1\1\2\uffff\1\6\1\uffff\2\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\7\5\1\2\uffff\1\1\1\uffff\1\1\3\uffff\2\1\6\uffff\2\1\1\uffff\1\11", + "\1\10\17\uffff\1\1\2\uffff\1\6\1\uffff\2\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\7\5\1\2\uffff\1\1\1\uffff\1\1\3\uffff\2\1\6\uffff\2\1\1\uffff\1\11", "", + "\1\14\62\uffff\1\13\4\uffff\1\12", + "\1\1\2\uffff\1\1\2\uffff\4\1\5\uffff\1\1\1\uffff\1\1\15\uffff\2\1\1\15\1\uffff\1\1\1\15\1\1\7\uffff\2\1\5\uffff\3\1\4\uffff\2\1", + "\1\15\30\uffff\1\11", "", - "\1\6\15\uffff\1\15\21\uffff\1\10", - "\1\6\37\uffff\1\10", - "\1\6\1\11\1\uffff\1\10\12\uffff\1\7", - "\1\16", - "\1\6\15\uffff\1\15\21\uffff\1\10" + "\1\10\17\uffff\1\1\2\uffff\1\6\1\uffff\2\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\7\5\1\2\uffff\1\1\1\uffff\1\1\3\uffff\2\1\6\uffff\2\1\1\uffff\1\11", + "\1\10\17\uffff\1\1\2\uffff\1\6\1\uffff\2\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\7\5\1\2\uffff\1\1\1\uffff\1\1\3\uffff\2\1\6\uffff\2\1\1\uffff\1\11", + "\1\10\17\uffff\1\1\2\uffff\1\6\1\uffff\2\1\1\uffff\2\1\1\uffff\1\1\1\uffff\2\1\1\7\5\1\2\uffff\1\1\1\uffff\1\1\3\uffff\2\1\6\uffff\2\1\1\uffff\1\11", + "" }; - 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 short[] dfa_28 = DFA.unpackEncodedString(dfa_28s); static final char[] dfa_29 = DFA.unpackEncodedStringToUnsignedChars(dfa_29s); - static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s); + static final char[] dfa_30 = DFA.unpackEncodedStringToUnsignedChars(dfa_30s); static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s); - static final short[][] dfa_32 = unpackEncodedStringArray(dfa_32s); + static final short[] dfa_32 = DFA.unpackEncodedString(dfa_32s); + static final short[][] dfa_33 = unpackEncodedStringArray(dfa_33s); + + class DFA34 extends DFA { + + public DFA34(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 34; + this.eot = dfa_27; + this.eof = dfa_28; + this.min = dfa_29; + this.max = dfa_30; + this.accept = dfa_31; + this.special = dfa_32; + this.transition = dfa_33; + } + public String getDescription() { + return "2841:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedVariableArgument_2= ruleTypedVariableArgument | this_TypedStarArgument_3= ruleTypedStarArgument )"; + } + } + static final String dfa_34s = "\25\uffff"; + static final String dfa_35s = "\1\31\1\22\1\47\3\45\1\22\1\uffff\1\22\2\uffff\6\45\1\22\3\45"; + static final String dfa_36s = "\1\31\1\113\4\52\1\112\1\uffff\1\112\2\uffff\3\111\3\52\1\112\3\111"; + static final String dfa_37s = "\7\uffff\1\2\1\uffff\1\1\1\3\12\uffff"; + static final String dfa_38s = "\25\uffff}>"; + static final String[] dfa_39s = { + "\1\1", + "\1\5\62\uffff\1\4\4\uffff\1\3\1\2", + "\1\6\2\uffff\1\7", + "\1\10\1\uffff\1\7\1\11\1\uffff\1\12", + "\1\10\1\uffff\1\7\1\11\1\uffff\1\12", + "\1\10\1\uffff\1\7\1\11\1\uffff\1\12", + "\1\15\62\uffff\1\14\4\uffff\1\13", + "", + "\1\20\62\uffff\1\17\4\uffff\1\16", + "", + "", + "\1\21\1\uffff\1\7\41\uffff\1\12", + "\1\21\1\uffff\1\7\41\uffff\1\12", + "\1\21\1\uffff\1\7\41\uffff\1\12", + "\1\10\1\uffff\1\7\1\11\1\uffff\1\12", + "\1\10\1\uffff\1\7\1\11\1\uffff\1\12", + "\1\10\1\uffff\1\7\1\11\1\uffff\1\12", + "\1\24\62\uffff\1\23\4\uffff\1\22", + "\1\21\1\uffff\1\7\41\uffff\1\12", + "\1\21\1\uffff\1\7\41\uffff\1\12", + "\1\21\1\uffff\1\7\41\uffff\1\12" + }; + + static final short[] dfa_34 = DFA.unpackEncodedString(dfa_34s); + static final char[] dfa_35 = DFA.unpackEncodedStringToUnsignedChars(dfa_35s); + static final char[] dfa_36 = DFA.unpackEncodedStringToUnsignedChars(dfa_36s); + static final short[] dfa_37 = DFA.unpackEncodedString(dfa_37s); + static final short[] dfa_38 = DFA.unpackEncodedString(dfa_38s); + static final short[][] dfa_39 = unpackEncodedStringArray(dfa_39s); - class DFA44 extends DFA { + class DFA53 extends DFA { - public DFA44(BaseRecognizer recognizer) { + public DFA53(BaseRecognizer recognizer) { this.recognizer = recognizer; - 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; + this.decisionNumber = 53; + this.eot = dfa_34; + this.eof = dfa_34; + this.min = dfa_35; + this.max = dfa_36; + this.accept = dfa_37; + this.special = dfa_38; + this.transition = dfa_39; } public String getDescription() { - return "3639:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )"; + return "4199:2: (this_ExactScope_0= ruleExactScope | this_BoundedScope_1= ruleBoundedScope | this_LowerBoundedScope_2= ruleLowerBoundedScope )"; } } 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[]{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 + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000040000L,0x0000000000000420L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x3014D0035BF79672L,0x0000000000000C38L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x3014D0035BF59672L,0x0000000000000C38L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000080000000000L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0080005000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x3014D00341E48000L,0x0000000000000C38L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000840000L,0x0000000000000428L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000040000L,0x0000000000000428L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000040020L,0x0000000000000428L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000001000000000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000800000000000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0080000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000004000000000L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000040002L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000840020L,0x0000000000000420L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000020000000002L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000020000000L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000004000000L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0008200000000000L}); + 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[]{0x0100000800000002L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0100000000000002L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000800000000L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0008000000000002L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0A00258400000002L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0014000000000002L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0042000000000002L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x8000000000000002L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000080000000002L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x2000800141E48000L,0x0000000000000C38L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x3017D00341E48000L,0x0000000000000C38L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0009000000000000L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x3016D00341E48000L,0x0000000000000C38L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0020000000000002L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000180L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x4000000000000000L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000010100040L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000201L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0008000000000000L,0x0000000000000201L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x00000000000C0080L,0x0000000000000424L}); + public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0100000000000802L}); + public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0002000000000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000201L}); + public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000404L}); + public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0008000000000000L,0x0000000000000404L}); + public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000010000000000L}); + public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000000040000L,0x0000000000000C20L}); + public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000008000000000L}); + public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000040000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0020000000000000L}); + public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000002000000002L}); + +} 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 736b2f0a..591c0e60 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,70 +1,75 @@ -'!'=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 +'!'=46 +'!='=34 +'('=47 +')'=48 +'*'=49 +'+'=50 +','=51 +'-'=52 +'->'=35 +'.'=53 +'...'=31 +'/'=54 +':'=55 +':-'=36 +'::'=37 +':='=38 +';'=56 +'<'=57 +'<='=39 +'='=58 +'=='=40 +'=>'=41 +'>'=59 +'>='=42 +'?'=60 +'['=61 +']'=62 +'^'=63 +'abstract'=6 +'as'=43 +'class'=20 +'containment'=4 +'contains'=7 +'count'=21 +'datatype'=8 'default'=12 -'else'=24 -'empty'=20 -'error'=21 -'exists'=15 +'else'=26 +'empty'=22 +'enum'=27 +'error'=23 'extends'=13 'extern'=16 -'false'=22 -'forall'=17 -'functional'=4 -'if'=41 -'in'=42 -'inf'=29 -'let'=30 -'maximize'=8 -'may'=31 -'minimize'=9 -'must'=25 -'opposite'=10 -'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 +'false'=24 +'functional'=5 +'if'=44 +'import'=17 +'in'=45 +'inf'=32 +'let'=33 +'maximize'=9 +'minimize'=10 +'object'=18 +'opposite'=11 +'problem'=14 +'refers'=19 +'root'=28 +'scope'=25 +'then'=29 +'true'=30 +'unknown'=15 +'{'=64 +'|'=65 +'}'=66 +'~'=67 +RULE_ANY_OTHER=78 +RULE_FULL_STOP=73 +RULE_ID=74 +RULE_INT=75 +RULE_ML_COMMENT=76 +RULE_QUOTED_ID=69 +RULE_REFLEXIVE_TRANSITIVE_CLOSURE=72 +RULE_SL_COMMENT=70 +RULE_STRING=68 +RULE_TRANSITIVE_CLOSURE=71 +RULE_WS=77 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 3c496e8a..074932ca 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,6 +11,8 @@ package org.eclipse.viatra.solver.language.parser.antlr.lexer; import org.eclipse.xtext.parser.antlr.Lexer; } +Containment : 'containment'; + Functional : 'functional'; Abstract : 'abstract'; @@ -25,19 +27,21 @@ Minimize : 'minimize'; Opposite : 'opposite'; -Current : 'current'; - Default : 'default'; Extends : 'extends'; -Unknown : 'unknown'; +Problem : 'problem'; -Exists : 'exists'; +Unknown : 'unknown'; Extern : 'extern'; -Forall : 'forall'; +Import : 'import'; + +Object : 'object'; + +Refers : 'refers'; Class : 'class'; @@ -53,7 +57,9 @@ Scope : 'scope'; Else : 'else'; -Must : 'must'; +Enum : 'enum'; + +Root : 'root'; Then : 'then'; @@ -65,16 +71,16 @@ Inf : 'inf'; Let : 'let'; -May : 'may'; - ExclamationMarkEqualsSign : '!='; HyphenMinusGreaterThanSign : '->'; -FullStopFullStop : '..'; - ColonHyphenMinus : ':-'; +ColonColon : '::'; + +ColonEqualsSign : ':='; + LessThanSignEqualsSign : '<='; EqualsSignEqualsSign : '=='; @@ -117,6 +123,8 @@ EqualsSign : '='; GreaterThanSign : '>'; +QuestionMark : '?'; + LeftSquareBracket : '['; RightSquareBracket : ']'; @@ -129,6 +137,8 @@ VerticalLine : '|'; RightCurlyBracket : '}'; +Tilde : '~'; + RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"'; RULE_QUOTED_ID : '\'' ('\\' .|~(('\\'|'\'')))* '\''; 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 b113baaf..4281bac0 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,77 +12,82 @@ import java.util.ArrayList; @SuppressWarnings("all") public class InternalSolverLanguageLexer extends Lexer { - 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 Enum=27; + public static final int Import=17; + public static final int EqualsSignGreaterThanSign=41; + public static final int True=30; + public static final int Count=21; + public static final int False=24; + public static final int FullStopFullStopFullStop=31; + public static final int LessThanSign=57; + public static final int Datatype=8; + public static final int LeftParenthesis=47; + public static final int Unknown=15; + public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=72; + public static final int Then=29; 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 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 RightSquareBracket=62; + public static final int ExclamationMark=46; + public static final int Opposite=11; + public static final int GreaterThanSign=59; + public static final int Root=28; + public static final int RULE_ID=74; + public static final int RULE_QUOTED_ID=69; + public static final int RightParenthesis=48; + public static final int ColonEqualsSign=38; + public static final int GreaterThanSignEqualsSign=42; + public static final int Functional=5; + public static final int ColonColon=37; + public static final int EqualsSignEqualsSign=40; + public static final int VerticalLine=65; + public static final int PlusSign=50; + public static final int RULE_INT=75; + public static final int Contains=7; + public static final int RULE_ML_COMMENT=76; + public static final int RULE_TRANSITIVE_CLOSURE=71; + public static final int Problem=14; + public static final int Object=18; + public static final int Class=20; + public static final int LeftSquareBracket=61; + public static final int RULE_FULL_STOP=73; + public static final int If=44; + public static final int Refers=19; + public static final int Inf=32; + public static final int In=45; + public static final int RULE_STRING=68; 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=36; - public static final int Solidus=51; - public static final int Colon=52; - public static final int RightCurlyBracket=62; + public static final int RULE_SL_COMMENT=70; + public static final int Comma=51; + public static final int EqualsSign=58; + public static final int Empty=22; + public static final int As=43; + public static final int HyphenMinus=52; + public static final int Maximize=9; + public static final int LessThanSignEqualsSign=39; + public static final int Solidus=54; + public static final int Colon=55; + public static final int RightCurlyBracket=66; public static final int EOF=-1; - 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 LeftCurlyBracket=60; - public static final int Error=21; - public static final int RULE_ANY_OTHER=73; + public static final int Asterisk=49; + public static final int Containment=4; + public static final int FullStop=53; + public static final int RULE_WS=77; + public static final int Abstract=6; + public static final int Minimize=10; + public static final int LeftCurlyBracket=64; + public static final int Error=23; + public static final int Tilde=67; + public static final int RULE_ANY_OTHER=78; 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; + public static final int ColonHyphenMinus=36; + public static final int CircumflexAccent=63; + public static final int Semicolon=56; + public static final int Scope=25; + public static final int QuestionMark=60; + public static final int Else=26; + public static final int Let=33; + public static final int ExclamationMarkEqualsSign=34; + public static final int HyphenMinusGreaterThanSign=35; // delegates // delegators @@ -97,13 +102,34 @@ public class InternalSolverLanguageLexer extends Lexer { } public String getGrammarFileName() { return "InternalSolverLanguageLexer.g"; } + // $ANTLR start "Containment" + public final void mContainment() throws RecognitionException { + try { + int _type = Containment; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:14:13: ( 'containment' ) + // InternalSolverLanguageLexer.g:14:15: 'containment' + { + match("containment"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Containment" + // $ANTLR start "Functional" public final void mFunctional() throws RecognitionException { try { int _type = Functional; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:14:12: ( 'functional' ) - // InternalSolverLanguageLexer.g:14:14: 'functional' + // InternalSolverLanguageLexer.g:16:12: ( 'functional' ) + // InternalSolverLanguageLexer.g:16:14: 'functional' { match("functional"); @@ -123,8 +149,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Abstract; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:16:10: ( 'abstract' ) - // InternalSolverLanguageLexer.g:16:12: 'abstract' + // InternalSolverLanguageLexer.g:18:10: ( 'abstract' ) + // InternalSolverLanguageLexer.g:18:12: 'abstract' { match("abstract"); @@ -144,8 +170,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Contains; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:18:10: ( 'contains' ) - // InternalSolverLanguageLexer.g:18:12: 'contains' + // InternalSolverLanguageLexer.g:20:10: ( 'contains' ) + // InternalSolverLanguageLexer.g:20:12: 'contains' { match("contains"); @@ -165,8 +191,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Datatype; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:20:10: ( 'datatype' ) - // InternalSolverLanguageLexer.g:20:12: 'datatype' + // InternalSolverLanguageLexer.g:22:10: ( 'datatype' ) + // InternalSolverLanguageLexer.g:22:12: 'datatype' { match("datatype"); @@ -186,8 +212,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Maximize; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:22:10: ( 'maximize' ) - // InternalSolverLanguageLexer.g:22:12: 'maximize' + // InternalSolverLanguageLexer.g:24:10: ( 'maximize' ) + // InternalSolverLanguageLexer.g:24:12: 'maximize' { match("maximize"); @@ -207,8 +233,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Minimize; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:24:10: ( 'minimize' ) - // InternalSolverLanguageLexer.g:24:12: 'minimize' + // InternalSolverLanguageLexer.g:26:10: ( 'minimize' ) + // InternalSolverLanguageLexer.g:26:12: 'minimize' { match("minimize"); @@ -228,8 +254,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Opposite; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:26:10: ( 'opposite' ) - // InternalSolverLanguageLexer.g:26:12: 'opposite' + // InternalSolverLanguageLexer.g:28:10: ( 'opposite' ) + // InternalSolverLanguageLexer.g:28:12: 'opposite' { match("opposite"); @@ -244,27 +270,6 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "Opposite" - // $ANTLR start "Current" - public final void mCurrent() throws RecognitionException { - try { - int _type = Current; - int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:28:9: ( 'current' ) - // InternalSolverLanguageLexer.g:28:11: 'current' - { - match("current"); - - - } - - state.type = _type; - state.channel = _channel; - } - finally { - } - } - // $ANTLR end "Current" - // $ANTLR start "Default" public final void mDefault() throws RecognitionException { try { @@ -307,15 +312,15 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "Extends" - // $ANTLR start "Unknown" - public final void mUnknown() throws RecognitionException { + // $ANTLR start "Problem" + public final void mProblem() throws RecognitionException { try { - int _type = Unknown; + int _type = Problem; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:34:9: ( 'unknown' ) - // InternalSolverLanguageLexer.g:34:11: 'unknown' + // InternalSolverLanguageLexer.g:34:9: ( 'problem' ) + // InternalSolverLanguageLexer.g:34:11: 'problem' { - match("unknown"); + match("problem"); } @@ -326,17 +331,17 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "Unknown" + // $ANTLR end "Problem" - // $ANTLR start "Exists" - public final void mExists() throws RecognitionException { + // $ANTLR start "Unknown" + public final void mUnknown() throws RecognitionException { try { - int _type = Exists; + int _type = Unknown; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:36:8: ( 'exists' ) - // InternalSolverLanguageLexer.g:36:10: 'exists' + // InternalSolverLanguageLexer.g:36:9: ( 'unknown' ) + // InternalSolverLanguageLexer.g:36:11: 'unknown' { - match("exists"); + match("unknown"); } @@ -347,7 +352,7 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "Exists" + // $ANTLR end "Unknown" // $ANTLR start "Extern" public final void mExtern() throws RecognitionException { @@ -370,15 +375,15 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "Extern" - // $ANTLR start "Forall" - public final void mForall() throws RecognitionException { + // $ANTLR start "Import" + public final void mImport() throws RecognitionException { try { - int _type = Forall; + int _type = Import; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:40:8: ( 'forall' ) - // InternalSolverLanguageLexer.g:40:10: 'forall' + // InternalSolverLanguageLexer.g:40:8: ( 'import' ) + // InternalSolverLanguageLexer.g:40:10: 'import' { - match("forall"); + match("import"); } @@ -389,15 +394,57 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "Forall" + // $ANTLR end "Import" + + // $ANTLR start "Object" + public final void mObject() throws RecognitionException { + try { + int _type = Object; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:42:8: ( 'object' ) + // InternalSolverLanguageLexer.g:42:10: 'object' + { + match("object"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Object" + + // $ANTLR start "Refers" + public final void mRefers() throws RecognitionException { + try { + int _type = Refers; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:44:8: ( 'refers' ) + // InternalSolverLanguageLexer.g:44:10: 'refers' + { + match("refers"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Refers" // $ANTLR start "Class" public final void mClass() throws RecognitionException { try { int _type = Class; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:42:7: ( 'class' ) - // InternalSolverLanguageLexer.g:42:9: 'class' + // InternalSolverLanguageLexer.g:46:7: ( 'class' ) + // InternalSolverLanguageLexer.g:46:9: 'class' { match("class"); @@ -417,8 +464,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Count; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:44:7: ( 'count' ) - // InternalSolverLanguageLexer.g:44:9: 'count' + // InternalSolverLanguageLexer.g:48:7: ( 'count' ) + // InternalSolverLanguageLexer.g:48:9: 'count' { match("count"); @@ -438,8 +485,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Empty; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:46:7: ( 'empty' ) - // InternalSolverLanguageLexer.g:46:9: 'empty' + // InternalSolverLanguageLexer.g:50:7: ( 'empty' ) + // InternalSolverLanguageLexer.g:50:9: 'empty' { match("empty"); @@ -459,8 +506,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Error; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:48:7: ( 'error' ) - // InternalSolverLanguageLexer.g:48:9: 'error' + // InternalSolverLanguageLexer.g:52:7: ( 'error' ) + // InternalSolverLanguageLexer.g:52:9: 'error' { match("error"); @@ -480,8 +527,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = False; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:50:7: ( 'false' ) - // InternalSolverLanguageLexer.g:50:9: 'false' + // InternalSolverLanguageLexer.g:54:7: ( 'false' ) + // InternalSolverLanguageLexer.g:54:9: 'false' { match("false"); @@ -501,8 +548,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Scope; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:52:7: ( 'scope' ) - // InternalSolverLanguageLexer.g:52:9: 'scope' + // InternalSolverLanguageLexer.g:56:7: ( 'scope' ) + // InternalSolverLanguageLexer.g:56:9: 'scope' { match("scope"); @@ -522,8 +569,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Else; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:54:6: ( 'else' ) - // InternalSolverLanguageLexer.g:54:8: 'else' + // InternalSolverLanguageLexer.g:58:6: ( 'else' ) + // InternalSolverLanguageLexer.g:58:8: 'else' { match("else"); @@ -538,15 +585,15 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "Else" - // $ANTLR start "Must" - public final void mMust() throws RecognitionException { + // $ANTLR start "Enum" + public final void mEnum() throws RecognitionException { try { - int _type = Must; + int _type = Enum; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:56:6: ( 'must' ) - // InternalSolverLanguageLexer.g:56:8: 'must' + // InternalSolverLanguageLexer.g:60:6: ( 'enum' ) + // InternalSolverLanguageLexer.g:60:8: 'enum' { - match("must"); + match("enum"); } @@ -557,15 +604,36 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "Must" + // $ANTLR end "Enum" + + // $ANTLR start "Root" + public final void mRoot() throws RecognitionException { + try { + int _type = Root; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:62:6: ( 'root' ) + // InternalSolverLanguageLexer.g:62:8: 'root' + { + match("root"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Root" // $ANTLR start "Then" public final void mThen() throws RecognitionException { try { int _type = Then; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:58:6: ( 'then' ) - // InternalSolverLanguageLexer.g:58:8: 'then' + // InternalSolverLanguageLexer.g:64:6: ( 'then' ) + // InternalSolverLanguageLexer.g:64:8: 'then' { match("then"); @@ -585,8 +653,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = True; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:60:6: ( 'true' ) - // InternalSolverLanguageLexer.g:60:8: 'true' + // InternalSolverLanguageLexer.g:66:6: ( 'true' ) + // InternalSolverLanguageLexer.g:66:8: 'true' { match("true"); @@ -606,8 +674,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = FullStopFullStopFullStop; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:62:26: ( '...' ) - // InternalSolverLanguageLexer.g:62:28: '...' + // InternalSolverLanguageLexer.g:68:26: ( '...' ) + // InternalSolverLanguageLexer.g:68:28: '...' { match("..."); @@ -627,8 +695,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Inf; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:64:5: ( 'inf' ) - // InternalSolverLanguageLexer.g:64:7: 'inf' + // InternalSolverLanguageLexer.g:70:5: ( 'inf' ) + // InternalSolverLanguageLexer.g:70:7: 'inf' { match("inf"); @@ -648,8 +716,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Let; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:66:5: ( 'let' ) - // InternalSolverLanguageLexer.g:66:7: 'let' + // InternalSolverLanguageLexer.g:72:5: ( 'let' ) + // InternalSolverLanguageLexer.g:72:7: 'let' { match("let"); @@ -664,15 +732,15 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "Let" - // $ANTLR start "May" - public final void mMay() throws RecognitionException { + // $ANTLR start "ExclamationMarkEqualsSign" + public final void mExclamationMarkEqualsSign() throws RecognitionException { try { - int _type = May; + int _type = ExclamationMarkEqualsSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:68:5: ( 'may' ) - // InternalSolverLanguageLexer.g:68:7: 'may' + // InternalSolverLanguageLexer.g:74:27: ( '!=' ) + // InternalSolverLanguageLexer.g:74:29: '!=' { - match("may"); + match("!="); } @@ -683,17 +751,17 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "May" + // $ANTLR end "ExclamationMarkEqualsSign" - // $ANTLR start "ExclamationMarkEqualsSign" - public final void mExclamationMarkEqualsSign() throws RecognitionException { + // $ANTLR start "HyphenMinusGreaterThanSign" + public final void mHyphenMinusGreaterThanSign() throws RecognitionException { try { - int _type = ExclamationMarkEqualsSign; + int _type = HyphenMinusGreaterThanSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:70:27: ( '!=' ) - // InternalSolverLanguageLexer.g:70:29: '!=' + // InternalSolverLanguageLexer.g:76:28: ( '->' ) + // InternalSolverLanguageLexer.g:76:30: '->' { - match("!="); + match("->"); } @@ -704,17 +772,17 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "ExclamationMarkEqualsSign" + // $ANTLR end "HyphenMinusGreaterThanSign" - // $ANTLR start "HyphenMinusGreaterThanSign" - public final void mHyphenMinusGreaterThanSign() throws RecognitionException { + // $ANTLR start "ColonHyphenMinus" + public final void mColonHyphenMinus() throws RecognitionException { try { - int _type = HyphenMinusGreaterThanSign; + int _type = ColonHyphenMinus; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:72:28: ( '->' ) - // InternalSolverLanguageLexer.g:72:30: '->' + // InternalSolverLanguageLexer.g:78:18: ( ':-' ) + // InternalSolverLanguageLexer.g:78:20: ':-' { - match("->"); + match(":-"); } @@ -725,17 +793,17 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "HyphenMinusGreaterThanSign" + // $ANTLR end "ColonHyphenMinus" - // $ANTLR start "FullStopFullStop" - public final void mFullStopFullStop() throws RecognitionException { + // $ANTLR start "ColonColon" + public final void mColonColon() throws RecognitionException { try { - int _type = FullStopFullStop; + int _type = ColonColon; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:74:18: ( '..' ) - // InternalSolverLanguageLexer.g:74:20: '..' + // InternalSolverLanguageLexer.g:80:12: ( '::' ) + // InternalSolverLanguageLexer.g:80:14: '::' { - match(".."); + match("::"); } @@ -746,17 +814,17 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "FullStopFullStop" + // $ANTLR end "ColonColon" - // $ANTLR start "ColonHyphenMinus" - public final void mColonHyphenMinus() throws RecognitionException { + // $ANTLR start "ColonEqualsSign" + public final void mColonEqualsSign() throws RecognitionException { try { - int _type = ColonHyphenMinus; + int _type = ColonEqualsSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:76:18: ( ':-' ) - // InternalSolverLanguageLexer.g:76:20: ':-' + // InternalSolverLanguageLexer.g:82:17: ( ':=' ) + // InternalSolverLanguageLexer.g:82:19: ':=' { - match(":-"); + match(":="); } @@ -767,15 +835,15 @@ public class InternalSolverLanguageLexer extends Lexer { finally { } } - // $ANTLR end "ColonHyphenMinus" + // $ANTLR end "ColonEqualsSign" // $ANTLR start "LessThanSignEqualsSign" public final void mLessThanSignEqualsSign() throws RecognitionException { try { int _type = LessThanSignEqualsSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:78:24: ( '<=' ) - // InternalSolverLanguageLexer.g:78:26: '<=' + // InternalSolverLanguageLexer.g:84:24: ( '<=' ) + // InternalSolverLanguageLexer.g:84:26: '<=' { match("<="); @@ -795,8 +863,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = EqualsSignEqualsSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:80:22: ( '==' ) - // InternalSolverLanguageLexer.g:80:24: '==' + // InternalSolverLanguageLexer.g:86:22: ( '==' ) + // InternalSolverLanguageLexer.g:86:24: '==' { match("=="); @@ -816,8 +884,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = EqualsSignGreaterThanSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:82:27: ( '=>' ) - // InternalSolverLanguageLexer.g:82:29: '=>' + // InternalSolverLanguageLexer.g:88:27: ( '=>' ) + // InternalSolverLanguageLexer.g:88:29: '=>' { match("=>"); @@ -837,8 +905,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = GreaterThanSignEqualsSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:84:27: ( '>=' ) - // InternalSolverLanguageLexer.g:84:29: '>=' + // InternalSolverLanguageLexer.g:90:27: ( '>=' ) + // InternalSolverLanguageLexer.g:90:29: '>=' { match(">="); @@ -858,8 +926,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = As; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:86:4: ( 'as' ) - // InternalSolverLanguageLexer.g:86:6: 'as' + // InternalSolverLanguageLexer.g:92:4: ( 'as' ) + // InternalSolverLanguageLexer.g:92:6: 'as' { match("as"); @@ -879,8 +947,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = If; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:88:4: ( 'if' ) - // InternalSolverLanguageLexer.g:88:6: 'if' + // InternalSolverLanguageLexer.g:94:4: ( 'if' ) + // InternalSolverLanguageLexer.g:94:6: 'if' { match("if"); @@ -900,8 +968,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = In; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:90:4: ( 'in' ) - // InternalSolverLanguageLexer.g:90:6: 'in' + // InternalSolverLanguageLexer.g:96:4: ( 'in' ) + // InternalSolverLanguageLexer.g:96:6: 'in' { match("in"); @@ -921,8 +989,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = ExclamationMark; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:92:17: ( '!' ) - // InternalSolverLanguageLexer.g:92:19: '!' + // InternalSolverLanguageLexer.g:98:17: ( '!' ) + // InternalSolverLanguageLexer.g:98:19: '!' { match('!'); @@ -941,8 +1009,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = LeftParenthesis; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:94:17: ( '(' ) - // InternalSolverLanguageLexer.g:94:19: '(' + // InternalSolverLanguageLexer.g:100:17: ( '(' ) + // InternalSolverLanguageLexer.g:100:19: '(' { match('('); @@ -961,8 +1029,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RightParenthesis; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:96:18: ( ')' ) - // InternalSolverLanguageLexer.g:96:20: ')' + // InternalSolverLanguageLexer.g:102:18: ( ')' ) + // InternalSolverLanguageLexer.g:102:20: ')' { match(')'); @@ -981,8 +1049,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Asterisk; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:98:10: ( '*' ) - // InternalSolverLanguageLexer.g:98:12: '*' + // InternalSolverLanguageLexer.g:104:10: ( '*' ) + // InternalSolverLanguageLexer.g:104:12: '*' { match('*'); @@ -1001,8 +1069,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = PlusSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:100:10: ( '+' ) - // InternalSolverLanguageLexer.g:100:12: '+' + // InternalSolverLanguageLexer.g:106:10: ( '+' ) + // InternalSolverLanguageLexer.g:106:12: '+' { match('+'); @@ -1021,8 +1089,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Comma; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:102:7: ( ',' ) - // InternalSolverLanguageLexer.g:102:9: ',' + // InternalSolverLanguageLexer.g:108:7: ( ',' ) + // InternalSolverLanguageLexer.g:108:9: ',' { match(','); @@ -1041,8 +1109,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = HyphenMinus; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:104:13: ( '-' ) - // InternalSolverLanguageLexer.g:104:15: '-' + // InternalSolverLanguageLexer.g:110:13: ( '-' ) + // InternalSolverLanguageLexer.g:110:15: '-' { match('-'); @@ -1061,8 +1129,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = FullStop; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:106:10: ( '.' ) - // InternalSolverLanguageLexer.g:106:12: '.' + // InternalSolverLanguageLexer.g:112:10: ( '.' ) + // InternalSolverLanguageLexer.g:112:12: '.' { match('.'); @@ -1081,8 +1149,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Solidus; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:108:9: ( '/' ) - // InternalSolverLanguageLexer.g:108:11: '/' + // InternalSolverLanguageLexer.g:114:9: ( '/' ) + // InternalSolverLanguageLexer.g:114:11: '/' { match('/'); @@ -1101,8 +1169,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Colon; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:110:7: ( ':' ) - // InternalSolverLanguageLexer.g:110:9: ':' + // InternalSolverLanguageLexer.g:116:7: ( ':' ) + // InternalSolverLanguageLexer.g:116:9: ':' { match(':'); @@ -1121,8 +1189,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = Semicolon; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:112:11: ( ';' ) - // InternalSolverLanguageLexer.g:112:13: ';' + // InternalSolverLanguageLexer.g:118:11: ( ';' ) + // InternalSolverLanguageLexer.g:118:13: ';' { match(';'); @@ -1141,8 +1209,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = LessThanSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:114:14: ( '<' ) - // InternalSolverLanguageLexer.g:114:16: '<' + // InternalSolverLanguageLexer.g:120:14: ( '<' ) + // InternalSolverLanguageLexer.g:120:16: '<' { match('<'); @@ -1161,8 +1229,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = EqualsSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:116:12: ( '=' ) - // InternalSolverLanguageLexer.g:116:14: '=' + // InternalSolverLanguageLexer.g:122:12: ( '=' ) + // InternalSolverLanguageLexer.g:122:14: '=' { match('='); @@ -1181,8 +1249,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = GreaterThanSign; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:118:17: ( '>' ) - // InternalSolverLanguageLexer.g:118:19: '>' + // InternalSolverLanguageLexer.g:124:17: ( '>' ) + // InternalSolverLanguageLexer.g:124:19: '>' { match('>'); @@ -1196,13 +1264,33 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "GreaterThanSign" + // $ANTLR start "QuestionMark" + public final void mQuestionMark() throws RecognitionException { + try { + int _type = QuestionMark; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:126:14: ( '?' ) + // InternalSolverLanguageLexer.g:126:16: '?' + { + match('?'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "QuestionMark" + // $ANTLR start "LeftSquareBracket" public final void mLeftSquareBracket() throws RecognitionException { try { int _type = LeftSquareBracket; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:120:19: ( '[' ) - // InternalSolverLanguageLexer.g:120:21: '[' + // InternalSolverLanguageLexer.g:128:19: ( '[' ) + // InternalSolverLanguageLexer.g:128:21: '[' { match('['); @@ -1221,8 +1309,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RightSquareBracket; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:122:20: ( ']' ) - // InternalSolverLanguageLexer.g:122:22: ']' + // InternalSolverLanguageLexer.g:130:20: ( ']' ) + // InternalSolverLanguageLexer.g:130:22: ']' { match(']'); @@ -1241,8 +1329,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = CircumflexAccent; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:124:18: ( '^' ) - // InternalSolverLanguageLexer.g:124:20: '^' + // InternalSolverLanguageLexer.g:132:18: ( '^' ) + // InternalSolverLanguageLexer.g:132:20: '^' { match('^'); @@ -1261,8 +1349,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = LeftCurlyBracket; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:126:18: ( '{' ) - // InternalSolverLanguageLexer.g:126:20: '{' + // InternalSolverLanguageLexer.g:134:18: ( '{' ) + // InternalSolverLanguageLexer.g:134:20: '{' { match('{'); @@ -1281,8 +1369,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = VerticalLine; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:128:14: ( '|' ) - // InternalSolverLanguageLexer.g:128:16: '|' + // InternalSolverLanguageLexer.g:136:14: ( '|' ) + // InternalSolverLanguageLexer.g:136:16: '|' { match('|'); @@ -1301,8 +1389,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RightCurlyBracket; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:130:19: ( '}' ) - // InternalSolverLanguageLexer.g:130:21: '}' + // InternalSolverLanguageLexer.g:138:19: ( '}' ) + // InternalSolverLanguageLexer.g:138:21: '}' { match('}'); @@ -1316,16 +1404,36 @@ public class InternalSolverLanguageLexer extends Lexer { } // $ANTLR end "RightCurlyBracket" + // $ANTLR start "Tilde" + public final void mTilde() throws RecognitionException { + try { + int _type = Tilde; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSolverLanguageLexer.g:140:7: ( '~' ) + // InternalSolverLanguageLexer.g:140:9: '~' + { + match('~'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "Tilde" + // $ANTLR start "RULE_STRING" public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:132:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) - // InternalSolverLanguageLexer.g:132:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalSolverLanguageLexer.g:142:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) + // InternalSolverLanguageLexer.g:142:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' { match('\"'); - // InternalSolverLanguageLexer.g:132:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + // InternalSolverLanguageLexer.g:142:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* loop1: do { int alt1=3; @@ -1341,7 +1449,7 @@ public class InternalSolverLanguageLexer extends Lexer { switch (alt1) { case 1 : - // InternalSolverLanguageLexer.g:132:20: '\\\\' . + // InternalSolverLanguageLexer.g:142:20: '\\\\' . { match('\\'); matchAny(); @@ -1349,7 +1457,7 @@ public class InternalSolverLanguageLexer extends Lexer { } break; case 2 : - // InternalSolverLanguageLexer.g:132:27: ~ ( ( '\\\\' | '\"' ) ) + // InternalSolverLanguageLexer.g:142:27: ~ ( ( '\\\\' | '\"' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1386,11 +1494,11 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_QUOTED_ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:134:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) - // InternalSolverLanguageLexer.g:134:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + // InternalSolverLanguageLexer.g:144:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalSolverLanguageLexer.g:144:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' { match('\''); - // InternalSolverLanguageLexer.g:134:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + // InternalSolverLanguageLexer.g:144:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* loop2: do { int alt2=3; @@ -1406,7 +1514,7 @@ public class InternalSolverLanguageLexer extends Lexer { switch (alt2) { case 1 : - // InternalSolverLanguageLexer.g:134:24: '\\\\' . + // InternalSolverLanguageLexer.g:144:24: '\\\\' . { match('\\'); matchAny(); @@ -1414,7 +1522,7 @@ public class InternalSolverLanguageLexer extends Lexer { } break; case 2 : - // InternalSolverLanguageLexer.g:134:31: ~ ( ( '\\\\' | '\\'' ) ) + // InternalSolverLanguageLexer.g:144:31: ~ ( ( '\\\\' | '\\'' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1451,10 +1559,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:136:17: ( ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalSolverLanguageLexer.g:136:19: ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalSolverLanguageLexer.g:146:17: ( ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalSolverLanguageLexer.g:146:19: ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { - // InternalSolverLanguageLexer.g:136:19: ( '%' | '//' ) + // InternalSolverLanguageLexer.g:146:19: ( '%' | '//' ) int alt3=2; int LA3_0 = input.LA(1); @@ -1472,14 +1580,14 @@ public class InternalSolverLanguageLexer extends Lexer { } switch (alt3) { case 1 : - // InternalSolverLanguageLexer.g:136:20: '%' + // InternalSolverLanguageLexer.g:146:20: '%' { match('%'); } break; case 2 : - // InternalSolverLanguageLexer.g:136:24: '//' + // InternalSolverLanguageLexer.g:146:24: '//' { match("//"); @@ -1489,7 +1597,7 @@ public class InternalSolverLanguageLexer extends Lexer { } - // InternalSolverLanguageLexer.g:136:30: (~ ( ( '\\n' | '\\r' ) ) )* + // InternalSolverLanguageLexer.g:146:30: (~ ( ( '\\n' | '\\r' ) ) )* loop4: do { int alt4=2; @@ -1502,7 +1610,7 @@ public class InternalSolverLanguageLexer extends Lexer { switch (alt4) { case 1 : - // InternalSolverLanguageLexer.g:136:30: ~ ( ( '\\n' | '\\r' ) ) + // InternalSolverLanguageLexer.g:146: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(); @@ -1522,7 +1630,7 @@ public class InternalSolverLanguageLexer extends Lexer { } } while (true); - // InternalSolverLanguageLexer.g:136:46: ( ( '\\r' )? '\\n' )? + // InternalSolverLanguageLexer.g:146:46: ( ( '\\r' )? '\\n' )? int alt6=2; int LA6_0 = input.LA(1); @@ -1531,9 +1639,9 @@ public class InternalSolverLanguageLexer extends Lexer { } switch (alt6) { case 1 : - // InternalSolverLanguageLexer.g:136:47: ( '\\r' )? '\\n' + // InternalSolverLanguageLexer.g:146:47: ( '\\r' )? '\\n' { - // InternalSolverLanguageLexer.g:136:47: ( '\\r' )? + // InternalSolverLanguageLexer.g:146:47: ( '\\r' )? int alt5=2; int LA5_0 = input.LA(1); @@ -1542,7 +1650,7 @@ public class InternalSolverLanguageLexer extends Lexer { } switch (alt5) { case 1 : - // InternalSolverLanguageLexer.g:136:47: '\\r' + // InternalSolverLanguageLexer.g:146:47: '\\r' { match('\r'); @@ -1572,8 +1680,8 @@ public class InternalSolverLanguageLexer extends Lexer { // $ANTLR start "RULE_TRANSITIVE_CLOSURE" public final void mRULE_TRANSITIVE_CLOSURE() throws RecognitionException { try { - // InternalSolverLanguageLexer.g:138:34: () - // InternalSolverLanguageLexer.g:138:36: + // InternalSolverLanguageLexer.g:148:34: () + // InternalSolverLanguageLexer.g:148:36: { } @@ -1586,8 +1694,8 @@ public class InternalSolverLanguageLexer extends Lexer { // $ANTLR start "RULE_REFLEXIVE_TRANSITIVE_CLOSURE" public final void mRULE_REFLEXIVE_TRANSITIVE_CLOSURE() throws RecognitionException { try { - // InternalSolverLanguageLexer.g:140:44: () - // InternalSolverLanguageLexer.g:140:46: + // InternalSolverLanguageLexer.g:150:44: () + // InternalSolverLanguageLexer.g:150:46: { } @@ -1600,8 +1708,8 @@ public class InternalSolverLanguageLexer extends Lexer { // $ANTLR start "RULE_FULL_STOP" public final void mRULE_FULL_STOP() throws RecognitionException { try { - // InternalSolverLanguageLexer.g:142:25: () - // InternalSolverLanguageLexer.g:142:27: + // InternalSolverLanguageLexer.g:152:25: () + // InternalSolverLanguageLexer.g:152:27: { } @@ -1616,10 +1724,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // 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:154:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalSolverLanguageLexer.g:154:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // InternalSolverLanguageLexer.g:144:11: ( '^' )? + // InternalSolverLanguageLexer.g:154:11: ( '^' )? int alt7=2; int LA7_0 = input.LA(1); @@ -1628,7 +1736,7 @@ public class InternalSolverLanguageLexer extends Lexer { } switch (alt7) { case 1 : - // InternalSolverLanguageLexer.g:144:11: '^' + // InternalSolverLanguageLexer.g:154:11: '^' { match('^'); @@ -1646,7 +1754,7 @@ public class InternalSolverLanguageLexer extends Lexer { recover(mse); throw mse;} - // InternalSolverLanguageLexer.g:144:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalSolverLanguageLexer.g:154:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop8: do { int alt8=2; @@ -1695,10 +1803,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_INT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:146:10: ( ( '0' .. '9' )+ ) - // InternalSolverLanguageLexer.g:146:12: ( '0' .. '9' )+ + // InternalSolverLanguageLexer.g:156:10: ( ( '0' .. '9' )+ ) + // InternalSolverLanguageLexer.g:156:12: ( '0' .. '9' )+ { - // InternalSolverLanguageLexer.g:146:12: ( '0' .. '9' )+ + // InternalSolverLanguageLexer.g:156:12: ( '0' .. '9' )+ int cnt9=0; loop9: do { @@ -1712,7 +1820,7 @@ public class InternalSolverLanguageLexer extends Lexer { switch (alt9) { case 1 : - // InternalSolverLanguageLexer.g:146:13: '0' .. '9' + // InternalSolverLanguageLexer.g:156:13: '0' .. '9' { matchRange('0','9'); @@ -1744,12 +1852,12 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:148:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalSolverLanguageLexer.g:148:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalSolverLanguageLexer.g:158:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalSolverLanguageLexer.g:158:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalSolverLanguageLexer.g:148:24: ( options {greedy=false; } : . )* + // InternalSolverLanguageLexer.g:158:24: ( options {greedy=false; } : . )* loop10: do { int alt10=2; @@ -1774,7 +1882,7 @@ public class InternalSolverLanguageLexer extends Lexer { switch (alt10) { case 1 : - // InternalSolverLanguageLexer.g:148:52: . + // InternalSolverLanguageLexer.g:158:52: . { matchAny(); @@ -1804,10 +1912,10 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:150:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // InternalSolverLanguageLexer.g:150:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalSolverLanguageLexer.g:160:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalSolverLanguageLexer.g:160:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // InternalSolverLanguageLexer.g:150:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalSolverLanguageLexer.g:160:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt11=0; loop11: do { @@ -1861,8 +1969,8 @@ public class InternalSolverLanguageLexer extends Lexer { try { int _type = RULE_ANY_OTHER; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSolverLanguageLexer.g:152:16: ( . ) - // InternalSolverLanguageLexer.g:152:18: . + // InternalSolverLanguageLexer.g:162:16: ( . ) + // InternalSolverLanguageLexer.g:162:18: . { matchAny(); @@ -1877,474 +1985,509 @@ public class InternalSolverLanguageLexer extends Lexer { // $ANTLR end "RULE_ANY_OTHER" public void mTokens() throws RecognitionException { - // 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; + // InternalSolverLanguageLexer.g:1:8: ( Containment | Functional | Abstract | Contains | Datatype | Maximize | Minimize | Opposite | Default | Extends | Problem | Unknown | Extern | Import | Object | Refers | Class | Count | Empty | Error | False | Scope | Else | Enum | Root | Then | True | FullStopFullStopFullStop | Inf | Let | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | ColonHyphenMinus | ColonColon | ColonEqualsSign | LessThanSignEqualsSign | EqualsSignEqualsSign | EqualsSignGreaterThanSign | GreaterThanSignEqualsSign | As | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | QuestionMark | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | Tilde | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt12=72; alt12 = dfa12.predict(input); switch (alt12) { case 1 : - // InternalSolverLanguageLexer.g:1:10: Functional + // InternalSolverLanguageLexer.g:1:10: Containment { - mFunctional(); + mContainment(); } break; case 2 : - // InternalSolverLanguageLexer.g:1:21: Abstract + // InternalSolverLanguageLexer.g:1:22: Functional { - mAbstract(); + mFunctional(); } break; case 3 : - // InternalSolverLanguageLexer.g:1:30: Contains + // InternalSolverLanguageLexer.g:1:33: Abstract { - mContains(); + mAbstract(); } break; case 4 : - // InternalSolverLanguageLexer.g:1:39: Datatype + // InternalSolverLanguageLexer.g:1:42: Contains { - mDatatype(); + mContains(); } break; case 5 : - // InternalSolverLanguageLexer.g:1:48: Maximize + // InternalSolverLanguageLexer.g:1:51: Datatype { - mMaximize(); + mDatatype(); } break; case 6 : - // InternalSolverLanguageLexer.g:1:57: Minimize + // InternalSolverLanguageLexer.g:1:60: Maximize { - mMinimize(); + mMaximize(); } break; case 7 : - // InternalSolverLanguageLexer.g:1:66: Opposite + // InternalSolverLanguageLexer.g:1:69: Minimize { - mOpposite(); + mMinimize(); } break; case 8 : - // InternalSolverLanguageLexer.g:1:75: Current + // InternalSolverLanguageLexer.g:1:78: Opposite { - mCurrent(); + mOpposite(); } break; case 9 : - // InternalSolverLanguageLexer.g:1:83: Default + // InternalSolverLanguageLexer.g:1:87: Default { mDefault(); } break; case 10 : - // InternalSolverLanguageLexer.g:1:91: Extends + // InternalSolverLanguageLexer.g:1:95: Extends { mExtends(); } break; case 11 : - // InternalSolverLanguageLexer.g:1:99: Unknown + // InternalSolverLanguageLexer.g:1:103: Problem { - mUnknown(); + mProblem(); } break; case 12 : - // InternalSolverLanguageLexer.g:1:107: Exists + // InternalSolverLanguageLexer.g:1:111: Unknown { - mExists(); + mUnknown(); } break; case 13 : - // InternalSolverLanguageLexer.g:1:114: Extern + // InternalSolverLanguageLexer.g:1:119: Extern { mExtern(); } break; case 14 : - // InternalSolverLanguageLexer.g:1:121: Forall + // InternalSolverLanguageLexer.g:1:126: Import { - mForall(); + mImport(); } break; case 15 : - // InternalSolverLanguageLexer.g:1:128: Class + // InternalSolverLanguageLexer.g:1:133: Object { - mClass(); + mObject(); } break; case 16 : - // InternalSolverLanguageLexer.g:1:134: Count + // InternalSolverLanguageLexer.g:1:140: Refers { - mCount(); + mRefers(); } break; case 17 : - // InternalSolverLanguageLexer.g:1:140: Empty + // InternalSolverLanguageLexer.g:1:147: Class { - mEmpty(); + mClass(); } break; case 18 : - // InternalSolverLanguageLexer.g:1:146: Error + // InternalSolverLanguageLexer.g:1:153: Count { - mError(); + mCount(); } break; case 19 : - // InternalSolverLanguageLexer.g:1:152: False + // InternalSolverLanguageLexer.g:1:159: Empty { - mFalse(); + mEmpty(); } break; case 20 : - // InternalSolverLanguageLexer.g:1:158: Scope + // InternalSolverLanguageLexer.g:1:165: Error { - mScope(); + mError(); } break; case 21 : - // InternalSolverLanguageLexer.g:1:164: Else + // InternalSolverLanguageLexer.g:1:171: False { - mElse(); + mFalse(); } break; case 22 : - // InternalSolverLanguageLexer.g:1:169: Must + // InternalSolverLanguageLexer.g:1:177: Scope { - mMust(); + mScope(); } break; case 23 : - // InternalSolverLanguageLexer.g:1:174: Then + // InternalSolverLanguageLexer.g:1:183: Else { - mThen(); + mElse(); } break; case 24 : - // InternalSolverLanguageLexer.g:1:179: True + // InternalSolverLanguageLexer.g:1:188: Enum { - mTrue(); + mEnum(); } break; case 25 : - // InternalSolverLanguageLexer.g:1:184: FullStopFullStopFullStop + // InternalSolverLanguageLexer.g:1:193: Root { - mFullStopFullStopFullStop(); + mRoot(); } break; case 26 : - // InternalSolverLanguageLexer.g:1:209: Inf + // InternalSolverLanguageLexer.g:1:198: Then { - mInf(); + mThen(); } break; case 27 : - // InternalSolverLanguageLexer.g:1:213: Let + // InternalSolverLanguageLexer.g:1:203: True { - mLet(); + mTrue(); } break; case 28 : - // InternalSolverLanguageLexer.g:1:217: May + // InternalSolverLanguageLexer.g:1:208: FullStopFullStopFullStop { - mMay(); + mFullStopFullStopFullStop(); } break; case 29 : - // InternalSolverLanguageLexer.g:1:221: ExclamationMarkEqualsSign + // InternalSolverLanguageLexer.g:1:233: Inf { - mExclamationMarkEqualsSign(); + mInf(); } break; case 30 : - // InternalSolverLanguageLexer.g:1:247: HyphenMinusGreaterThanSign + // InternalSolverLanguageLexer.g:1:237: Let { - mHyphenMinusGreaterThanSign(); + mLet(); } break; case 31 : - // InternalSolverLanguageLexer.g:1:274: FullStopFullStop + // InternalSolverLanguageLexer.g:1:241: ExclamationMarkEqualsSign { - mFullStopFullStop(); + mExclamationMarkEqualsSign(); } break; case 32 : - // InternalSolverLanguageLexer.g:1:291: ColonHyphenMinus + // InternalSolverLanguageLexer.g:1:267: HyphenMinusGreaterThanSign { - mColonHyphenMinus(); + mHyphenMinusGreaterThanSign(); } break; case 33 : - // InternalSolverLanguageLexer.g:1:308: LessThanSignEqualsSign + // InternalSolverLanguageLexer.g:1:294: ColonHyphenMinus { - mLessThanSignEqualsSign(); + mColonHyphenMinus(); } break; case 34 : - // InternalSolverLanguageLexer.g:1:331: EqualsSignEqualsSign + // InternalSolverLanguageLexer.g:1:311: ColonColon { - mEqualsSignEqualsSign(); + mColonColon(); } break; case 35 : - // InternalSolverLanguageLexer.g:1:352: EqualsSignGreaterThanSign + // InternalSolverLanguageLexer.g:1:322: ColonEqualsSign { - mEqualsSignGreaterThanSign(); + mColonEqualsSign(); } break; case 36 : - // InternalSolverLanguageLexer.g:1:378: GreaterThanSignEqualsSign + // InternalSolverLanguageLexer.g:1:338: LessThanSignEqualsSign { - mGreaterThanSignEqualsSign(); + mLessThanSignEqualsSign(); } break; case 37 : - // InternalSolverLanguageLexer.g:1:404: As + // InternalSolverLanguageLexer.g:1:361: EqualsSignEqualsSign { - mAs(); + mEqualsSignEqualsSign(); } break; case 38 : - // InternalSolverLanguageLexer.g:1:407: If + // InternalSolverLanguageLexer.g:1:382: EqualsSignGreaterThanSign { - mIf(); + mEqualsSignGreaterThanSign(); } break; case 39 : - // InternalSolverLanguageLexer.g:1:410: In + // InternalSolverLanguageLexer.g:1:408: GreaterThanSignEqualsSign { - mIn(); + mGreaterThanSignEqualsSign(); } break; case 40 : - // InternalSolverLanguageLexer.g:1:413: ExclamationMark + // InternalSolverLanguageLexer.g:1:434: As { - mExclamationMark(); + mAs(); } break; case 41 : - // InternalSolverLanguageLexer.g:1:429: LeftParenthesis + // InternalSolverLanguageLexer.g:1:437: If { - mLeftParenthesis(); + mIf(); } break; case 42 : - // InternalSolverLanguageLexer.g:1:445: RightParenthesis + // InternalSolverLanguageLexer.g:1:440: In { - mRightParenthesis(); + mIn(); } break; case 43 : - // InternalSolverLanguageLexer.g:1:462: Asterisk + // InternalSolverLanguageLexer.g:1:443: ExclamationMark { - mAsterisk(); + mExclamationMark(); } break; case 44 : - // InternalSolverLanguageLexer.g:1:471: PlusSign + // InternalSolverLanguageLexer.g:1:459: LeftParenthesis { - mPlusSign(); + mLeftParenthesis(); } break; case 45 : - // InternalSolverLanguageLexer.g:1:480: Comma + // InternalSolverLanguageLexer.g:1:475: RightParenthesis { - mComma(); + mRightParenthesis(); } break; case 46 : - // InternalSolverLanguageLexer.g:1:486: HyphenMinus + // InternalSolverLanguageLexer.g:1:492: Asterisk { - mHyphenMinus(); + mAsterisk(); } break; case 47 : - // InternalSolverLanguageLexer.g:1:498: FullStop + // InternalSolverLanguageLexer.g:1:501: PlusSign { - mFullStop(); + mPlusSign(); } break; case 48 : - // InternalSolverLanguageLexer.g:1:507: Solidus + // InternalSolverLanguageLexer.g:1:510: Comma { - mSolidus(); + mComma(); } break; case 49 : - // InternalSolverLanguageLexer.g:1:515: Colon + // InternalSolverLanguageLexer.g:1:516: HyphenMinus { - mColon(); + mHyphenMinus(); } break; case 50 : - // InternalSolverLanguageLexer.g:1:521: Semicolon + // InternalSolverLanguageLexer.g:1:528: FullStop { - mSemicolon(); + mFullStop(); } break; case 51 : - // InternalSolverLanguageLexer.g:1:531: LessThanSign + // InternalSolverLanguageLexer.g:1:537: Solidus { - mLessThanSign(); + mSolidus(); } break; case 52 : - // InternalSolverLanguageLexer.g:1:544: EqualsSign + // InternalSolverLanguageLexer.g:1:545: Colon { - mEqualsSign(); + mColon(); } break; case 53 : - // InternalSolverLanguageLexer.g:1:555: GreaterThanSign + // InternalSolverLanguageLexer.g:1:551: Semicolon { - mGreaterThanSign(); + mSemicolon(); } break; case 54 : - // InternalSolverLanguageLexer.g:1:571: LeftSquareBracket + // InternalSolverLanguageLexer.g:1:561: LessThanSign { - mLeftSquareBracket(); + mLessThanSign(); } break; case 55 : - // InternalSolverLanguageLexer.g:1:589: RightSquareBracket + // InternalSolverLanguageLexer.g:1:574: EqualsSign { - mRightSquareBracket(); + mEqualsSign(); } break; case 56 : - // InternalSolverLanguageLexer.g:1:608: CircumflexAccent + // InternalSolverLanguageLexer.g:1:585: GreaterThanSign { - mCircumflexAccent(); + mGreaterThanSign(); } break; case 57 : - // InternalSolverLanguageLexer.g:1:625: LeftCurlyBracket + // InternalSolverLanguageLexer.g:1:601: QuestionMark { - mLeftCurlyBracket(); + mQuestionMark(); } break; case 58 : - // InternalSolverLanguageLexer.g:1:642: VerticalLine + // InternalSolverLanguageLexer.g:1:614: LeftSquareBracket { - mVerticalLine(); + mLeftSquareBracket(); } break; case 59 : - // InternalSolverLanguageLexer.g:1:655: RightCurlyBracket + // InternalSolverLanguageLexer.g:1:632: RightSquareBracket { - mRightCurlyBracket(); + mRightSquareBracket(); } break; case 60 : - // InternalSolverLanguageLexer.g:1:673: RULE_STRING + // InternalSolverLanguageLexer.g:1:651: CircumflexAccent { - mRULE_STRING(); + mCircumflexAccent(); } break; case 61 : - // InternalSolverLanguageLexer.g:1:685: RULE_QUOTED_ID + // InternalSolverLanguageLexer.g:1:668: LeftCurlyBracket { - mRULE_QUOTED_ID(); + mLeftCurlyBracket(); } break; case 62 : - // InternalSolverLanguageLexer.g:1:700: RULE_SL_COMMENT + // InternalSolverLanguageLexer.g:1:685: VerticalLine { - mRULE_SL_COMMENT(); + mVerticalLine(); } break; case 63 : - // InternalSolverLanguageLexer.g:1:716: RULE_ID + // InternalSolverLanguageLexer.g:1:698: RightCurlyBracket { - mRULE_ID(); + mRightCurlyBracket(); } break; case 64 : - // InternalSolverLanguageLexer.g:1:724: RULE_INT + // InternalSolverLanguageLexer.g:1:716: Tilde { - mRULE_INT(); + mTilde(); } break; case 65 : - // InternalSolverLanguageLexer.g:1:733: RULE_ML_COMMENT + // InternalSolverLanguageLexer.g:1:722: RULE_STRING { - mRULE_ML_COMMENT(); + mRULE_STRING(); } break; case 66 : - // InternalSolverLanguageLexer.g:1:749: RULE_WS + // InternalSolverLanguageLexer.g:1:734: RULE_QUOTED_ID { - mRULE_WS(); + mRULE_QUOTED_ID(); } break; case 67 : - // InternalSolverLanguageLexer.g:1:757: RULE_ANY_OTHER + // InternalSolverLanguageLexer.g:1:749: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 68 : + // InternalSolverLanguageLexer.g:1:765: RULE_ID + { + mRULE_ID(); + + } + break; + case 69 : + // InternalSolverLanguageLexer.g:1:773: RULE_INT + { + mRULE_INT(); + + } + break; + case 70 : + // InternalSolverLanguageLexer.g:1:782: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 71 : + // InternalSolverLanguageLexer.g:1:798: RULE_WS + { + mRULE_WS(); + + } + break; + case 72 : + // InternalSolverLanguageLexer.g:1:806: RULE_ANY_OTHER { mRULE_ANY_OTHER(); @@ -2358,74 +2501,69 @@ public class InternalSolverLanguageLexer extends Lexer { protected DFA12 dfa12 = new DFA12(this); static final String DFA12_eotS = - "\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"; + "\1\uffff\15\56\1\111\1\56\1\114\1\116\1\122\1\124\1\127\1\131\5\uffff\1\141\4\uffff\1\146\4\uffff\2\53\5\uffff\2\56\1\uffff\3\56\1\165\16\56\1\u0085\1\u0086\5\56\2\uffff\1\56\44\uffff\6\56\1\uffff\16\56\1\u00a1\2\uffff\5\56\1\u00a7\17\56\1\u00b8\1\u00b9\3\56\1\uffff\1\56\1\u00be\1\56\1\u00c0\1\u00c1\1\uffff\1\56\1\u00c3\1\u00c4\1\56\1\u00c6\11\56\1\u00d0\1\u00d1\2\uffff\4\56\1\uffff\1\u00d6\2\uffff\1\56\2\uffff\1\56\1\uffff\6\56\1\u00df\1\56\1\u00e1\2\uffff\2\56\1\u00e4\1\u00e5\1\uffff\4\56\1\u00eb\3\56\1\uffff\1\u00ef\1\uffff\1\u00f0\1\u00f1\2\uffff\1\56\1\u00f3\1\56\1\u00f5\1\u00f6\1\uffff\1\u00f7\1\u00f8\1\u00f9\3\uffff\1\56\1\uffff\1\56\5\uffff\1\56\1\u00fd\1\u00fe\2\uffff"; static final String DFA12_eofS = - "\u00eb\uffff"; + "\u00ff\uffff"; static final String DFA12_minS = - "\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"; + "\1\0\1\154\1\141\1\142\2\141\1\142\1\154\1\162\1\156\1\146\1\145\1\143\1\150\1\56\1\145\1\75\1\76\1\55\3\75\5\uffff\1\52\4\uffff\1\101\4\uffff\2\0\5\uffff\1\156\1\141\1\uffff\1\156\1\154\1\163\1\60\1\164\1\146\1\170\1\156\1\160\1\152\1\164\1\160\1\162\1\163\1\165\1\157\1\153\1\160\2\60\1\146\2\157\1\145\1\165\2\uffff\1\164\44\uffff\1\164\1\156\1\163\1\143\1\163\1\164\1\uffff\2\141\2\151\1\157\2\145\1\164\1\157\1\145\1\155\1\142\1\156\1\157\1\60\2\uffff\1\145\1\164\1\160\1\156\1\145\1\60\1\141\1\164\1\163\1\164\1\145\1\162\1\164\1\165\2\155\1\163\1\143\1\156\1\171\1\162\2\60\1\154\1\157\1\162\1\uffff\1\162\1\60\1\145\2\60\1\uffff\1\151\2\60\1\151\1\60\1\141\1\171\1\154\3\151\1\164\1\144\1\156\2\60\2\uffff\1\145\1\167\1\164\1\163\1\uffff\1\60\2\uffff\1\156\2\uffff\1\157\1\uffff\1\143\1\160\1\164\2\172\1\164\1\60\1\163\1\60\2\uffff\1\155\1\156\2\60\1\uffff\1\155\1\156\1\164\1\145\1\60\3\145\1\uffff\1\60\1\uffff\2\60\2\uffff\1\145\1\60\1\141\2\60\1\uffff\3\60\3\uffff\1\156\1\uffff\1\154\5\uffff\1\164\2\60\2\uffff"; static final String DFA12_maxS = - "\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"; + "\1\uffff\1\157\1\165\1\163\1\145\1\151\1\160\1\170\1\162\2\156\1\157\1\143\1\162\1\56\1\145\1\75\1\76\2\75\1\76\1\75\5\uffff\1\57\4\uffff\1\172\4\uffff\2\uffff\5\uffff\1\165\1\141\1\uffff\1\156\1\154\1\163\1\172\1\164\1\146\1\170\1\156\1\160\1\152\1\164\1\160\1\162\1\163\1\165\1\157\1\153\1\160\2\172\1\146\2\157\1\145\1\165\2\uffff\1\164\44\uffff\1\164\1\156\1\163\1\143\1\163\1\164\1\uffff\2\141\2\151\1\157\2\145\1\164\1\157\1\145\1\155\1\142\1\156\1\157\1\172\2\uffff\1\145\1\164\1\160\1\156\1\145\1\172\1\141\1\164\1\163\1\164\1\145\1\162\1\164\1\165\2\155\1\163\1\143\1\162\1\171\1\162\2\172\1\154\1\157\1\162\1\uffff\1\162\1\172\1\145\2\172\1\uffff\1\151\2\172\1\151\1\172\1\141\1\171\1\154\3\151\1\164\1\144\1\156\2\172\2\uffff\1\145\1\167\1\164\1\163\1\uffff\1\172\2\uffff\1\156\2\uffff\1\157\1\uffff\1\143\1\160\1\164\2\172\1\164\1\172\1\163\1\172\2\uffff\1\155\1\156\2\172\1\uffff\1\163\1\156\1\164\1\145\1\172\3\145\1\uffff\1\172\1\uffff\2\172\2\uffff\1\145\1\172\1\141\2\172\1\uffff\3\172\3\uffff\1\156\1\uffff\1\154\5\uffff\1\164\2\172\2\uffff"; static final String DFA12_acceptS = - "\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"; + "\26\uffff\1\54\1\55\1\56\1\57\1\60\1\uffff\1\65\1\71\1\72\1\73\1\uffff\1\75\1\76\1\77\1\100\2\uffff\1\103\1\104\1\105\1\107\1\110\2\uffff\1\104\31\uffff\1\34\1\62\1\uffff\1\37\1\53\1\40\1\61\1\41\1\42\1\43\1\64\1\44\1\66\1\45\1\46\1\67\1\47\1\70\1\54\1\55\1\56\1\57\1\60\1\103\1\106\1\63\1\65\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\105\1\107\6\uffff\1\50\17\uffff\1\52\1\51\32\uffff\1\35\5\uffff\1\36\20\uffff\1\27\1\30\4\uffff\1\31\1\uffff\1\32\1\33\1\uffff\1\22\1\21\1\uffff\1\25\11\uffff\1\23\1\24\4\uffff\1\26\10\uffff\1\17\1\uffff\1\15\2\uffff\1\16\1\20\5\uffff\1\11\3\uffff\1\12\1\13\1\14\1\uffff\1\4\1\uffff\1\3\1\5\1\6\1\7\1\10\3\uffff\1\2\1\1"; static final String DFA12_specialS = - "\1\2\40\uffff\1\0\1\1\u00c8\uffff}>"; + "\1\1\44\uffff\1\0\1\2\u00d8\uffff}>"; static final String[] DFA12_transitionS = { - "\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", + "\11\53\2\52\2\53\1\52\22\53\1\52\1\20\1\45\2\53\1\47\1\53\1\46\1\26\1\27\1\30\1\31\1\32\1\21\1\16\1\33\12\51\1\22\1\34\1\23\1\24\1\25\1\35\1\53\32\50\1\36\1\53\1\37\1\40\1\50\1\53\1\3\1\50\1\1\1\4\1\7\1\2\2\50\1\12\2\50\1\17\1\5\1\50\1\6\1\10\1\50\1\13\1\14\1\15\1\11\5\50\1\41\1\42\1\43\1\44\uff81\53", + "\1\55\2\uffff\1\54", + "\1\60\23\uffff\1\57", + "\1\61\20\uffff\1\62", + "\1\63\3\uffff\1\64", + "\1\65\7\uffff\1\66", + "\1\70\15\uffff\1\67", + "\1\74\1\72\1\75\3\uffff\1\73\5\uffff\1\71", + "\1\76", "\1\77", - "\1\102\7\uffff\1\101", - "\1\103", - "\1\104", - "\1\106", + "\1\102\6\uffff\1\100\1\101", + "\1\103\11\uffff\1\104", + "\1\105", + "\1\106\11\uffff\1\107", "\1\110", "\1\112", - "\1\114\1\115", - "\1\117", + "\1\113", + "\1\115", + "\1\117\14\uffff\1\120\2\uffff\1\121", + "\1\123", + "\1\125\1\126", + "\1\130", + "", "", "", "", "", + "\1\140\4\uffff\1\137", "", - "\1\127\4\uffff\1\126", "", "", "", - "\32\53\4\uffff\1\53\1\uffff\32\53", + "\32\56\4\uffff\1\56\1\uffff\32\56", "", "", "", - "\0\140", - "\0\141", "", + "\0\153", + "\0\154", "", "", "", "", - "\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\157\6\uffff\1\160", "\1\161", + "", "\1\162", "\1\163", - "\1\165\12\uffff\1\164", + "\1\164", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", "\1\166", "\1\167", "\1\170", @@ -2434,10 +2572,25 @@ public class InternalSolverLanguageLexer extends Lexer { "\1\173", "\1\174", "\1\175", - "", - "\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\176", + "\1\177", + "\1\u0080", + "\1\u0081", "\1\u0082", + "\1\u0083", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\5\56\1\u0084\24\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u0087", + "\1\u0088", + "\1\u0089", + "\1\u008a", + "\1\u008b", + "", + "", + "\1\u008c", + "", + "", + "", "", "", "", @@ -2470,23 +2623,14 @@ 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\u008e", "\1\u008f", "\1\u0090", "\1\u0091", "\1\u0092", + "", "\1\u0093", "\1\u0094", "\1\u0095", @@ -2495,115 +2639,134 @@ public class InternalSolverLanguageLexer extends Lexer { "\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\u009b", + "\1\u009c", "\1\u009d", "\1\u009e", "\1\u009f", "\1\u00a0", - "\1\u00a1", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "", + "", "\1\u00a2", "\1\u00a3", "\1\u00a4", "\1\u00a5", "\1\u00a6", - "\1\u00a7", - "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", "\1\u00a8", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00a9", "\1\u00aa", - "\1\u00ab\3\uffff\1\u00ac", + "\1\u00ab", + "\1\u00ac", "\1\u00ad", "\1\u00ae", "\1\u00af", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00b0", "\1\u00b1", "\1\u00b2", - "\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\u00b3", + "\1\u00b4\3\uffff\1\u00b5", "\1\u00b6", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "\1\u00b8", - "\1\u00b9", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00b7", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00ba", "\1\u00bb", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00bc", + "", "\1\u00bd", - "\1\u00be", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", "\1\u00bf", - "\1\u00c0", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", "", - "\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", - "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00c5", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", "\1\u00c7", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "", - "", + "\1\u00c8", "\1\u00c9", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", - "", + "\1\u00ca", "\1\u00cb", "\1\u00cc", - "", "\1\u00cd", - "", "\1\u00ce", "\1\u00cf", - "\1\u00d0", - "\1\u00d1", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "", + "", "\1\u00d2", "\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\u00d4", + "\1\u00d5", "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", "", - "\1\u00d6", "", "\1\u00d7", "", + "", "\1\u00d8", + "", "\1\u00d9", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00da", "\1\u00db", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00dc", "\1\u00dd", "\1\u00de", - "\1\u00df", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00e0", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", "", "", - "\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", + "\1\u00e3", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", "", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "\1\u00e6\5\uffff\1\u00e7", + "\1\u00e8", + "\1\u00e9", + "\1\u00ea", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00ec", + "\1\u00ed", + "\1\u00ee", "", - "\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\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "", + "", + "\1\u00f2", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\1\u00f4", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", "", - "\1\u00e9", "", "", + "\1\u00fa", "", + "\1\u00fb", "", "", "", - "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53", + "", + "", + "\1\u00fc", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56", + "", "" }; @@ -2637,41 +2800,31 @@ public class InternalSolverLanguageLexer extends Lexer { this.transition = DFA12_transition; } public String getDescription() { - 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 );"; + return "1:1: Tokens : ( Containment | Functional | Abstract | Contains | Datatype | Maximize | Minimize | Opposite | Default | Extends | Problem | Unknown | Extern | Import | Object | Refers | Class | Count | Empty | Error | False | Scope | Else | Enum | Root | Then | True | FullStopFullStopFullStop | Inf | Let | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | ColonHyphenMinus | ColonColon | ColonEqualsSign | LessThanSignEqualsSign | EqualsSignEqualsSign | EqualsSignGreaterThanSign | GreaterThanSignEqualsSign | As | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | QuestionMark | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | Tilde | 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_33 = input.LA(1); + int LA12_37 = input.LA(1); s = -1; - if ( ((LA12_33>='\u0000' && LA12_33<='\uFFFF')) ) {s = 96;} + if ( ((LA12_37>='\u0000' && LA12_37<='\uFFFF')) ) {s = 107;} - else s = 39; + else s = 43; if ( s>=0 ) return s; break; case 1 : - int LA12_34 = input.LA(1); - - s = -1; - if ( ((LA12_34>='\u0000' && LA12_34<='\uFFFF')) ) {s = 97;} - - else s = 39; - - if ( s>=0 ) return s; - break; - case 2 : int LA12_0 = input.LA(1); s = -1; - if ( (LA12_0=='f') ) {s = 1;} + if ( (LA12_0=='c') ) {s = 1;} - else if ( (LA12_0=='a') ) {s = 2;} + else if ( (LA12_0=='f') ) {s = 2;} - else if ( (LA12_0=='c') ) {s = 3;} + else if ( (LA12_0=='a') ) {s = 3;} else if ( (LA12_0=='d') ) {s = 4;} @@ -2681,69 +2834,87 @@ public class InternalSolverLanguageLexer extends Lexer { else if ( (LA12_0=='e') ) {s = 7;} - else if ( (LA12_0=='u') ) {s = 8;} + else if ( (LA12_0=='p') ) {s = 8;} + + else if ( (LA12_0=='u') ) {s = 9;} - else if ( (LA12_0=='s') ) {s = 9;} + else if ( (LA12_0=='i') ) {s = 10;} - else if ( (LA12_0=='t') ) {s = 10;} + else if ( (LA12_0=='r') ) {s = 11;} - else if ( (LA12_0=='.') ) {s = 11;} + else if ( (LA12_0=='s') ) {s = 12;} - else if ( (LA12_0=='i') ) {s = 12;} + else if ( (LA12_0=='t') ) {s = 13;} - else if ( (LA12_0=='l') ) {s = 13;} + else if ( (LA12_0=='.') ) {s = 14;} - else if ( (LA12_0=='!') ) {s = 14;} + else if ( (LA12_0=='l') ) {s = 15;} - else if ( (LA12_0=='-') ) {s = 15;} + else if ( (LA12_0=='!') ) {s = 16;} - else if ( (LA12_0==':') ) {s = 16;} + else if ( (LA12_0=='-') ) {s = 17;} - else if ( (LA12_0=='<') ) {s = 17;} + else if ( (LA12_0==':') ) {s = 18;} - else if ( (LA12_0=='=') ) {s = 18;} + else if ( (LA12_0=='<') ) {s = 19;} - else if ( (LA12_0=='>') ) {s = 19;} + else if ( (LA12_0=='=') ) {s = 20;} - else if ( (LA12_0=='(') ) {s = 20;} + else if ( (LA12_0=='>') ) {s = 21;} - else if ( (LA12_0==')') ) {s = 21;} + else if ( (LA12_0=='(') ) {s = 22;} - else if ( (LA12_0=='*') ) {s = 22;} + else if ( (LA12_0==')') ) {s = 23;} - else if ( (LA12_0=='+') ) {s = 23;} + else if ( (LA12_0=='*') ) {s = 24;} - else if ( (LA12_0==',') ) {s = 24;} + else if ( (LA12_0=='+') ) {s = 25;} - else if ( (LA12_0=='/') ) {s = 25;} + else if ( (LA12_0==',') ) {s = 26;} - else if ( (LA12_0==';') ) {s = 26;} + else if ( (LA12_0=='/') ) {s = 27;} - else if ( (LA12_0=='[') ) {s = 27;} + else if ( (LA12_0==';') ) {s = 28;} - else if ( (LA12_0==']') ) {s = 28;} + else if ( (LA12_0=='?') ) {s = 29;} - else if ( (LA12_0=='^') ) {s = 29;} + else if ( (LA12_0=='[') ) {s = 30;} - else if ( (LA12_0=='{') ) {s = 30;} + else if ( (LA12_0==']') ) {s = 31;} - else if ( (LA12_0=='|') ) {s = 31;} + else if ( (LA12_0=='^') ) {s = 32;} - else if ( (LA12_0=='}') ) {s = 32;} + else if ( (LA12_0=='{') ) {s = 33;} - else if ( (LA12_0=='\"') ) {s = 33;} + else if ( (LA12_0=='|') ) {s = 34;} - else if ( (LA12_0=='\'') ) {s = 34;} + else if ( (LA12_0=='}') ) {s = 35;} - else if ( (LA12_0=='%') ) {s = 35;} + else if ( (LA12_0=='~') ) {s = 36;} - 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;} + else if ( (LA12_0=='\"') ) {s = 37;} - else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 37;} + else if ( (LA12_0=='\'') ) {s = 38;} - else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 38;} + else if ( (LA12_0=='%') ) {s = 39;} + + 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=='q'||(LA12_0>='v' && LA12_0<='z')) ) {s = 40;} + + else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 41;} + + else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 42;} + + 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>='\u007F' && LA12_0<='\uFFFF')) ) {s = 43;} + + if ( s>=0 ) return s; + break; + case 2 : + int LA12_38 = input.LA(1); + + s = -1; + if ( ((LA12_38>='\u0000' && LA12_38<='\uFFFF')) ) {s = 108;} - 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;} + else s = 43; 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 178103e2..f6269b97 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,70 +1,75 @@ -Abstract=5 -As=40 -Asterisk=46 -CircumflexAccent=59 -Class=18 -Colon=52 -ColonHyphenMinus=35 -Comma=48 -Contains=6 -Count=19 -Current=11 -Datatype=7 +Abstract=6 +As=43 +Asterisk=49 +CircumflexAccent=63 +Class=20 +Colon=55 +ColonColon=37 +ColonEqualsSign=38 +ColonHyphenMinus=36 +Comma=51 +Containment=4 +Contains=7 +Count=21 +Datatype=8 Default=12 -Else=24 -Empty=20 -EqualsSign=55 -EqualsSignEqualsSign=37 -EqualsSignGreaterThanSign=38 -Error=21 -ExclamationMark=43 -ExclamationMarkEqualsSign=32 -Exists=15 +Else=26 +Empty=22 +Enum=27 +EqualsSign=58 +EqualsSignEqualsSign=40 +EqualsSignGreaterThanSign=41 +Error=23 +ExclamationMark=46 +ExclamationMarkEqualsSign=34 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=31 -Minimize=9 -Must=25 -Opposite=10 -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 +False=24 +FullStop=53 +FullStopFullStopFullStop=31 +Functional=5 +GreaterThanSign=59 +GreaterThanSignEqualsSign=42 +HyphenMinus=52 +HyphenMinusGreaterThanSign=35 +If=44 +Import=17 +In=45 +Inf=32 +LeftCurlyBracket=64 +LeftParenthesis=47 +LeftSquareBracket=61 +LessThanSign=57 +LessThanSignEqualsSign=39 +Let=33 +Maximize=9 +Minimize=10 +Object=18 +Opposite=11 +PlusSign=50 +Problem=14 +QuestionMark=60 +RULE_ANY_OTHER=78 +RULE_FULL_STOP=73 +RULE_ID=74 +RULE_INT=75 +RULE_ML_COMMENT=76 +RULE_QUOTED_ID=69 +RULE_REFLEXIVE_TRANSITIVE_CLOSURE=72 +RULE_SL_COMMENT=70 +RULE_STRING=68 +RULE_TRANSITIVE_CLOSURE=71 +RULE_WS=77 +Refers=19 +RightCurlyBracket=66 +RightParenthesis=48 +RightSquareBracket=62 +Root=28 +Scope=25 +Semicolon=56 +Solidus=54 +Then=29 +Tilde=67 +True=30 +Unknown=15 +VerticalLine=65 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 dc93975f..49326024 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,52 +10,58 @@ 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.Attribute; 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.BoundedScope; 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.ClassDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.ConditionalExpression; import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; -import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.Count; +import org.eclipse.viatra.solver.language.solverLanguage.DefaultAssertion; import org.eclipse.viatra.solver.language.solverLanguage.Disjunction; -import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.EmptyLiteral; +import org.eclipse.viatra.solver.language.solverLanguage.EnumDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.EnumLiteral; import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity; -import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.ExactScope; 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.ExternAggregationOperatorDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.ExternFunctionDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.Field; +import org.eclipse.viatra.solver.language.solverLanguage.Forall; +import org.eclipse.viatra.solver.language.solverLanguage.FunctionDefinition; import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral; -import org.eclipse.viatra.solver.language.solverLanguage.Interpretation; +import org.eclipse.viatra.solver.language.solverLanguage.IntLiteral; 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.LetExpression; 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.NumericLiteral; -import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition; +import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScope; +import org.eclipse.viatra.solver.language.solverLanguage.NamespaceImport; +import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDeclaration; +import org.eclipse.viatra.solver.language.solverLanguage.PathComponent; 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.RealLiteral; import org.eclipse.viatra.solver.language.solverLanguage.Reference; import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; import org.eclipse.viatra.solver.language.solverLanguage.StarArgument; 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.TypeReference; import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument; +import org.eclipse.viatra.solver.language.solverLanguage.TypedVariableArgument; 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.viatra.solver.language.solverLanguage.UnboundedMultiplicity; +import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPredicateDefintion; +import org.eclipse.viatra.solver.language.solverLanguage.UriImport; import org.eclipse.xtext.Action; import org.eclipse.xtext.Parameter; import org.eclipse.xtext.ParserRule; @@ -84,14 +90,20 @@ 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.ATTRIBUTE: + sequence_Attribute(context, (Attribute) semanticObject); + return; case SolverLanguagePackage.BINARY_EXPRESSION: - sequence_AdditiveExpression_ExponentialExpression_ImplicationExpression_MultiplicativeExpression(context, (BinaryExpression) semanticObject); + sequence_AdditiveExpression_ComparisonExpression_ExponentialExpression_MultiplicativeExpression(context, (BinaryExpression) semanticObject); return; case SolverLanguagePackage.BOUNDED_MULTIPLICITY: sequence_BoundedMultiplicity(context, (BoundedMultiplicity) semanticObject); return; - case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION: - sequence_BoundedScopeDefinition(context, (BoundedScopeDefinition) semanticObject); + case SolverLanguagePackage.BOUNDED_SCOPE: + sequence_BoundedScope(context, (BoundedScope) semanticObject); return; case SolverLanguagePackage.CALL: sequence_Call(context, (Call) semanticObject); @@ -109,97 +121,103 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS case SolverLanguagePackage.CAST_EXPRESSION: sequence_CastExpression(context, (CastExpression) semanticObject); return; - case SolverLanguagePackage.CLASS_DEFINITION: - sequence_ClassDefinition(context, (ClassDefinition) semanticObject); + case SolverLanguagePackage.CLASS_DECLARATION: + sequence_ClassDeclaration(context, (ClassDeclaration) semanticObject); return; - case SolverLanguagePackage.COMPARISON: - sequence_ComparisonExpression(context, (Comparison) semanticObject); + case SolverLanguagePackage.CONDITIONAL_EXPRESSION: + sequence_ConditionalExpression(context, (ConditionalExpression) semanticObject); return; case SolverLanguagePackage.CONJUNCTION: sequence_ConjunctiveExpression(context, (Conjunction) semanticObject); return; - case SolverLanguagePackage.DEFAULT_DEFINITION: - sequence_DefaultDefinition(context, (DefaultDefinition) semanticObject); + case SolverLanguagePackage.COUNT: + sequence_Count(context, (Count) semanticObject); + return; + case SolverLanguagePackage.DEFAULT_ASSERTION: + sequence_DefaultAssertion(context, (DefaultAssertion) semanticObject); return; case SolverLanguagePackage.DISJUNCTION: sequence_DisjunctiveExpression(context, (Disjunction) semanticObject); return; - case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: - sequence_EmptyIntervalLiteral(context, (EmptyIntervalLiteral) semanticObject); + case SolverLanguagePackage.EMPTY_LITERAL: + sequence_EmptyLiteral(context, (EmptyLiteral) semanticObject); + return; + case SolverLanguagePackage.ENUM_DECLARATION: + sequence_EnumDeclaration(context, (EnumDeclaration) semanticObject); + return; + case SolverLanguagePackage.ENUM_LITERAL: + sequence_EnumLiteral(context, (EnumLiteral) semanticObject); return; case SolverLanguagePackage.EXACT_MULTIPLICITY: sequence_ExactMultiplicity(context, (ExactMultiplicity) semanticObject); return; - case SolverLanguagePackage.EXACT_SCOPE_DEFINITION: - sequence_ExactScopeDefinition(context, (ExactScopeDefinition) semanticObject); + case SolverLanguagePackage.EXACT_SCOPE: + sequence_ExactScope(context, (ExactScope) semanticObject); return; case SolverLanguagePackage.EXPRESSION_ARGUMENT: sequence_ExpressionArgument(context, (ExpressionArgument) semanticObject); return; - case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION: - sequence_ExternAggregatorDefinition(context, (ExternAggregatorDefinition) semanticObject); + case SolverLanguagePackage.EXTERN_AGGREGATION_OPERATOR_DECLARATION: + sequence_ExternAggregationOperatorDeclaration(context, (ExternAggregationOperatorDeclaration) semanticObject); + return; + case SolverLanguagePackage.EXTERN_DATATYPE_DECLARATION: + sequence_ExternDatatypeDeclaration(context, (ExternDatatypeDeclaration) semanticObject); return; - case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION: - sequence_ExternDatatypeDefinition(context, (ExternDatatypeDefinition) semanticObject); + case SolverLanguagePackage.EXTERN_FUNCTION_DECLARATION: + sequence_ExternFunctionDeclaration(context, (ExternFunctionDeclaration) semanticObject); return; - case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: - sequence_ExternMetricDefinition(context, (ExternMetricDefinition) semanticObject); + case SolverLanguagePackage.EXTERN_PREDICATE_DECLARATION: + sequence_ExternPredicateDeclaration(context, (ExternPredicateDeclaration) semanticObject); return; - case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: - sequence_ExternPredicateDefinition(context, (ExternPredicateDefinition) semanticObject); + case SolverLanguagePackage.FIELD: + sequence_Field(context, (Field) semanticObject); return; - case SolverLanguagePackage.IF_ELSE: - sequence_IfElse(context, (IfElse) semanticObject); + case SolverLanguagePackage.FORALL: + sequence_Expression(context, (Forall) semanticObject); return; + case SolverLanguagePackage.FUNCTION_DEFINITION: + if (rule == grammarAccess.getAssertionOrDefinitionRule()) { + sequence_AssertionOrDefinition(context, (FunctionDefinition) semanticObject); + return; + } + else if (rule == grammarAccess.getStatementRule()) { + sequence_AssertionOrDefinition_FunctionDefinition(context, (FunctionDefinition) semanticObject); + return; + } + else if (rule == grammarAccess.getFunctionDefinitionRule()) { + sequence_FunctionDefinition(context, (FunctionDefinition) semanticObject); + return; + } + else break; case SolverLanguagePackage.INFINITY_LITERAL: sequence_InfinityLiteral(context, (InfinityLiteral) semanticObject); return; - case SolverLanguagePackage.INTERPRETATION: - sequence_AssertionOrDefinition(context, (Interpretation) semanticObject); + case SolverLanguagePackage.INT_LITERAL: + sequence_IntLiteral(context, (IntLiteral) 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); + case SolverLanguagePackage.LET_EXPRESSION: + sequence_LetExpression(context, (LetExpression) semanticObject); return; case SolverLanguagePackage.LOGIC_LITERAL: sequence_LogicLiteral(context, (LogicLiteral) semanticObject); return; - case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION: - sequence_LowerBoundedScopeDefinition(context, (LowerBoundedScopeDefinition) semanticObject); + case SolverLanguagePackage.LOWER_BOUNDED_SCOPE: + sequence_LowerBoundedScope(context, (LowerBoundedScope) semanticObject); return; - case SolverLanguagePackage.MANY_MULTIPLICITY: - sequence_ManyMultiplicity(context, (ManyMultiplicity) semanticObject); + case SolverLanguagePackage.NAMESPACE_IMPORT: + sequence_NamespaceImport(context, (NamespaceImport) semanticObject); return; - case SolverLanguagePackage.MEMBER_DEFINITION: - sequence_MemberDefinition(context, (MemberDefinition) semanticObject); + case SolverLanguagePackage.OBJECTIVE_DECLARATION: + sequence_ObjectiveDeclaration(context, (ObjectiveDeclaration) semanticObject); return; - case SolverLanguagePackage.METRIC_DEFINITION: - if (rule == grammarAccess.getAssertionOrDefinitionRule()) { - sequence_AssertionOrDefinition(context, (MetricDefinition) semanticObject); - return; - } - else if (rule == grammarAccess.getStatementRule()) { - sequence_AssertionOrDefinition_MetricDefinition(context, (MetricDefinition) semanticObject); - return; - } - else if (rule == grammarAccess.getMetricDefinitionRule()) { - sequence_MetricDefinition(context, (MetricDefinition) semanticObject); - return; - } - else break; - case SolverLanguagePackage.NUMERIC_LITERAL: - sequence_NumericLiteral(context, (NumericLiteral) semanticObject); - return; - case SolverLanguagePackage.OBJECTIVE_DEFINITION: - sequence_ObjectiveDefinition(context, (ObjectiveDefinition) semanticObject); + case SolverLanguagePackage.PATH_COMPONENT: + sequence_PathComponent(context, (PathComponent) semanticObject); return; case SolverLanguagePackage.PREDICATE_DEFINITION: if (rule == grammarAccess.getAssertionOrDefinitionRule()) { @@ -218,8 +236,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS case SolverLanguagePackage.PROBLEM: sequence_Problem(context, (Problem) semanticObject); return; - case SolverLanguagePackage.QUANTIFIED_EXPRESSION: - sequence_QuantifiedExpression(context, (QuantifiedExpression) semanticObject); + case SolverLanguagePackage.REAL_LITERAL: + sequence_RealLiteral(context, (RealLiteral) semanticObject); return; case SolverLanguagePackage.REFERENCE: sequence_Reference(context, (Reference) semanticObject); @@ -233,20 +251,26 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS case SolverLanguagePackage.SWITCH: sequence_DisjunctiveExpression(context, (Switch) semanticObject); return; - case SolverLanguagePackage.TYPED_ARGUMENT: - sequence_TypedArgument(context, (TypedArgument) semanticObject); + case SolverLanguagePackage.TYPE_REFERENCE: + sequence_TypeReference(context, (TypeReference) semanticObject); return; case SolverLanguagePackage.TYPED_STAR_ARGUMENT: sequence_TypedStarArgument(context, (TypedStarArgument) semanticObject); return; + case SolverLanguagePackage.TYPED_VARIABLE_ARGUMENT: + sequence_TypedVariableArgument(context, (TypedVariableArgument) semanticObject); + return; case SolverLanguagePackage.UNARY_EXPRESSION: sequence_UnaryExpression(context, (UnaryExpression) semanticObject); return; - case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: - sequence_UnnamedErrorPrediateDefinition(context, (UnnamedErrorPrediateDefinition) semanticObject); + case SolverLanguagePackage.UNBOUNDED_MULTIPLICITY: + sequence_UnboundedMultiplicity(context, (UnboundedMultiplicity) semanticObject); return; - case SolverLanguagePackage.VARIABLE: - sequence_Variable(context, (Variable) semanticObject); + case SolverLanguagePackage.UNNAMED_ERROR_PREDICATE_DEFINTION: + sequence_UnnamedErrorPredicateDefintion(context, (UnnamedErrorPredicateDefintion) semanticObject); + return; + case SolverLanguagePackage.URI_IMPORT: + sequence_UriImport(context, (UriImport) semanticObject); return; } if (errorAcceptor != null) @@ -255,21 +279,18 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * Statement returns BinaryExpression - * AssertionOrDefinition returns BinaryExpression - * AssertionOrDefinition.Interpretation_1_0_0 returns BinaryExpression + * AssertionOrDefinition.Assertion_1_0_0 returns BinaryExpression * AssertionOrDefinition.PredicateDefinition_1_1_0 returns BinaryExpression - * AssertionOrDefinition.MetricDefinition_1_2_0 returns BinaryExpression + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns BinaryExpression * Expression returns BinaryExpression - * ImplicationExpression returns BinaryExpression - * ImplicationExpression.BinaryExpression_1_0 returns BinaryExpression + * Expression.Forall_2_1_0 returns BinaryExpression * DisjunctiveExpression returns BinaryExpression * DisjunctiveExpression.Disjunction_1_0_0 returns BinaryExpression * DisjunctiveExpression.Case_1_1_0 returns BinaryExpression * ConjunctiveExpression returns BinaryExpression * ConjunctiveExpression.Conjunction_1_0 returns BinaryExpression * ComparisonExpression returns BinaryExpression - * ComparisonExpression.Comparison_1_0 returns BinaryExpression + * ComparisonExpression.BinaryExpression_1_0 returns BinaryExpression * AdditiveExpression returns BinaryExpression * AdditiveExpression.BinaryExpression_1_0 returns BinaryExpression * MultiplicativeExpression returns BinaryExpression @@ -279,39 +300,36 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * CastExpression returns BinaryExpression * CastExpression.CastExpression_1_0 returns BinaryExpression * UnaryExpression returns BinaryExpression - * AggregationExpression returns BinaryExpression + * BracedAggregateExpression returns BinaryExpression * AtomicExpression returns BinaryExpression * * Constraint: * ( - * (left=ImplicationExpression_BinaryExpression_1_0 op=ImplicationOperator right=ImplicationExpression) | + * (left=ComparisonExpression_BinaryExpression_1_0 op=ComparisonOperator right=AdditiveExpression) | * (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=CastExpression) * ) */ - protected void sequence_AdditiveExpression_ExponentialExpression_ImplicationExpression_MultiplicativeExpression(ISerializationContext context, BinaryExpression semanticObject) { + protected void sequence_AdditiveExpression_ComparisonExpression_ExponentialExpression_MultiplicativeExpression(ISerializationContext context, BinaryExpression semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * Statement returns Aggregation - * AssertionOrDefinition returns Aggregation - * AssertionOrDefinition.Interpretation_1_0_0 returns Aggregation + * AssertionOrDefinition.Assertion_1_0_0 returns Aggregation * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Aggregation - * AssertionOrDefinition.MetricDefinition_1_2_0 returns Aggregation + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Aggregation * Expression returns Aggregation - * ImplicationExpression returns Aggregation - * ImplicationExpression.BinaryExpression_1_0 returns Aggregation + * Expression.Forall_2_1_0 returns Aggregation * DisjunctiveExpression returns Aggregation * DisjunctiveExpression.Disjunction_1_0_0 returns Aggregation * DisjunctiveExpression.Case_1_1_0 returns Aggregation * ConjunctiveExpression returns Aggregation * ConjunctiveExpression.Conjunction_1_0 returns Aggregation * ComparisonExpression returns Aggregation - * ComparisonExpression.Comparison_1_0 returns Aggregation + * ComparisonExpression.BinaryExpression_1_0 returns Aggregation * AdditiveExpression returns Aggregation * AdditiveExpression.BinaryExpression_1_0 returns Aggregation * MultiplicativeExpression returns Aggregation @@ -321,15 +339,27 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * CastExpression returns Aggregation * CastExpression.CastExpression_1_0 returns Aggregation * UnaryExpression returns Aggregation - * AggregationExpression returns Aggregation + * BracedAggregateExpression returns Aggregation * Aggregation returns Aggregation * AtomicExpression returns Aggregation * * Constraint: - * (op=[NamedElement|QualifiedName] localVariables=LocalVariables? body=Expression condition=Expression?) + * (op=[Symbol|QualifiedName] value=Expression condition=Expression) */ protected void sequence_Aggregation(ISerializationContext context, Aggregation semanticObject) { - genericSequencer.createSequence(context, 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__VALUE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__VALUE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATE_EXPRESSION__CONDITION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATE_EXPRESSION__CONDITION)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getAggregationAccess().getOpSymbolQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.AGGREGATION__OP, false)); + feeder.accept(grammarAccess.getAggregationAccess().getValueExpressionParserRuleCall_2_0(), semanticObject.getValue()); + feeder.accept(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0(), semanticObject.getCondition()); + feeder.finish(); } @@ -347,42 +377,33 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * Statement returns Interpretation - * AssertionOrDefinition returns Interpretation + * Statement returns Assertion + * AssertionOrDefinition returns Assertion * * Constraint: - * (body=AssertionOrDefinition_Interpretation_1_0_0 range=Expression) + * (expression=AssertionOrDefinition_Assertion_1_0_0 range=Expression?) */ - 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(); + protected void sequence_AssertionOrDefinition(ISerializationContext context, Assertion semanticObject) { + genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * AssertionOrDefinition returns MetricDefinition + * AssertionOrDefinition returns FunctionDefinition * * Constraint: - * (head=AssertionOrDefinition_MetricDefinition_1_2_0 body=Expression) + * (head=AssertionOrDefinition_FunctionDefinition_1_2_0 body=Expression) */ - protected void sequence_AssertionOrDefinition(ISerializationContext context, MetricDefinition semanticObject) { + protected void sequence_AssertionOrDefinition(ISerializationContext context, FunctionDefinition semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD)); - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__HEAD) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__HEAD)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__BODY)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(), semanticObject.getHead()); + feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getFunctionDefinitionHeadAction_1_2_0(), semanticObject.getHead()); feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0(), semanticObject.getBody()); feeder.finish(); } @@ -390,12 +411,12 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * Statement returns MetricDefinition + * Statement returns FunctionDefinition * * Constraint: - * ((head=AssertionOrDefinition_MetricDefinition_1_2_0 body=Expression) | (type=[NamedElement|QualifiedName] head=Call body=Expression)) + * ((head=AssertionOrDefinition_FunctionDefinition_1_2_0 body=Expression) | (resultType=[Symbol|QualifiedName] head=Call body=Expression)) */ - protected void sequence_AssertionOrDefinition_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) { + protected void sequence_AssertionOrDefinition_FunctionDefinition(ISerializationContext context, FunctionDefinition semanticObject) { genericSequencer.createSequence(context, semanticObject); } @@ -409,10 +430,10 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS */ protected void sequence_AssertionOrDefinition(ISerializationContext context, PredicateDefinition semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__HEAD) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__HEAD)); - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__BODY) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.PREDICATE_DEFINITION__BODY)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__HEAD) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__HEAD)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__BODY)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getPredicateDefinitionHeadAction_1_1_0(), semanticObject.getHead()); @@ -436,6 +457,28 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS } + /** + * Contexts: + * Statement returns Attribute + * Attribute returns Attribute + * + * Constraint: + * (kind=AttributeKind target=[Symbol|QualifiedName]) + */ + protected void sequence_Attribute(ISerializationContext context, Attribute semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.ATTRIBUTE__KIND) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.ATTRIBUTE__KIND)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.ATTRIBUTE__TARGET) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.ATTRIBUTE__TARGET)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getAttributeAccess().getKindAttributeKindEnumRuleCall_0_0(), semanticObject.getKind()); + feeder.accept(grammarAccess.getAttributeAccess().getTargetSymbolQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.ATTRIBUTE__TARGET, false)); + feeder.finish(); + } + + /** * Contexts: * Multiplicity returns BoundedMultiplicity @@ -460,35 +503,32 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * Statement returns BoundedScopeDefinition - * ScopeDefinition returns BoundedScopeDefinition - * BoundedScopeDefinition returns BoundedScopeDefinition + * Statement returns BoundedScope + * ScopeDeclaration returns BoundedScope + * BoundedScope returns BoundedScope * * Constraint: - * ((lowerBound=INT? type=[NamedElement|QualifiedName] upperBound=INT) | (upperBound=INT type=[NamedElement|QualifiedName] lowerBound=INT?)) + * ((lowerBound=INT? type=[Symbol|QualifiedName] upperBound=INT) | (upperBound=INT type=[Symbol|QualifiedName] lowerBound=INT?)) */ - protected void sequence_BoundedScopeDefinition(ISerializationContext context, BoundedScopeDefinition semanticObject) { + protected void sequence_BoundedScope(ISerializationContext context, BoundedScope semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * Statement returns Call - * AssertionOrDefinition returns Call - * AssertionOrDefinition.Interpretation_1_0_0 returns Call + * AssertionOrDefinition.Assertion_1_0_0 returns Call * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Call - * AssertionOrDefinition.MetricDefinition_1_2_0 returns Call + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Call * Expression returns Call - * ImplicationExpression returns Call - * ImplicationExpression.BinaryExpression_1_0 returns Call + * Expression.Forall_2_1_0 returns Call * DisjunctiveExpression returns Call * DisjunctiveExpression.Disjunction_1_0_0 returns Call * DisjunctiveExpression.Case_1_1_0 returns Call * ConjunctiveExpression returns Call * ConjunctiveExpression.Conjunction_1_0 returns Call * ComparisonExpression returns Call - * ComparisonExpression.Comparison_1_0 returns Call + * ComparisonExpression.BinaryExpression_1_0 returns Call * AdditiveExpression returns Call * AdditiveExpression.BinaryExpression_1_0 returns Call * MultiplicativeExpression returns Call @@ -498,19 +538,24 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * CastExpression returns Call * CastExpression.CastExpression_1_0 returns Call * UnaryExpression returns Call - * AggregationExpression returns Call + * BracedAggregateExpression returns Call * AtomicExpression returns Call * Call returns Call * * Constraint: - * ( - * functor=Reference - * (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? - * argumentList=ArgumentList - * ) + * (functor=Reference argumentList=ArgumentList) */ protected void sequence_Call(ISerializationContext context, Call semanticObject) { - genericSequencer.createSequence(context, semanticObject); + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CALL__FUNCTOR) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CALL__FUNCTOR)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CALL__ARGUMENT_LIST) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CALL__ARGUMENT_LIST)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0(), semanticObject.getFunctor()); + feeder.accept(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_1_0(), semanticObject.getArgumentList()); + feeder.finish(); } @@ -537,21 +582,18 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * Statement returns CastExpression - * AssertionOrDefinition returns CastExpression - * AssertionOrDefinition.Interpretation_1_0_0 returns CastExpression + * AssertionOrDefinition.Assertion_1_0_0 returns CastExpression * AssertionOrDefinition.PredicateDefinition_1_1_0 returns CastExpression - * AssertionOrDefinition.MetricDefinition_1_2_0 returns CastExpression + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns CastExpression * Expression returns CastExpression - * ImplicationExpression returns CastExpression - * ImplicationExpression.BinaryExpression_1_0 returns CastExpression + * Expression.Forall_2_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 + * ComparisonExpression.BinaryExpression_1_0 returns CastExpression * AdditiveExpression returns CastExpression * AdditiveExpression.BinaryExpression_1_0 returns CastExpression * MultiplicativeExpression returns CastExpression @@ -561,110 +603,100 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * CastExpression returns CastExpression * CastExpression.CastExpression_1_0 returns CastExpression * UnaryExpression returns CastExpression - * AggregationExpression returns CastExpression + * BracedAggregateExpression returns CastExpression * AtomicExpression returns CastExpression * * Constraint: - * (body=CastExpression_CastExpression_1_0 type=[NamedElement|QualifiedName]) + * (body=CastExpression_CastExpression_1_0 targetType=[Symbol|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)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__TARGET_TYPE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__TARGET_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.accept(grammarAccess.getCastExpressionAccess().getTargetTypeSymbolQualifiedNameParserRuleCall_1_2_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.CAST_EXPRESSION__TARGET_TYPE, false)); feeder.finish(); } /** * Contexts: - * Statement returns ClassDefinition - * ClassDefinition returns ClassDefinition + * Statement returns ClassDeclaration + * ClassDeclaration returns ClassDeclaration * * Constraint: - * ( - * abstract?='abstract'? - * name=ID - * (superclasses+=[NamedElement|QualifiedName] superclasses+=[NamedElement|QualifiedName]*)? - * members+=MemberDefinition* - * ) + * ((abstract?='abstract' | root?='root')* name=ID (supertypes+=[Symbol|QualifiedName] supertypes+=[Symbol|QualifiedName]*)? fields+=Field*) */ - protected void sequence_ClassDefinition(ISerializationContext context, ClassDefinition semanticObject) { + protected void sequence_ClassDeclaration(ISerializationContext context, ClassDeclaration semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * 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 - * ConjunctiveExpression returns Comparison - * ConjunctiveExpression.Conjunction_1_0 returns Comparison - * ComparisonExpression returns Comparison - * ComparisonExpression.Comparison_1_0 returns Comparison - * AdditiveExpression returns Comparison - * AdditiveExpression.BinaryExpression_1_0 returns Comparison - * MultiplicativeExpression returns Comparison - * MultiplicativeExpression.BinaryExpression_1_0 returns Comparison - * ExponentialExpression returns Comparison - * ExponentialExpression.BinaryExpression_1_0 returns Comparison - * CastExpression returns Comparison - * CastExpression.CastExpression_1_0 returns Comparison - * UnaryExpression returns Comparison - * AggregationExpression returns Comparison - * AtomicExpression returns Comparison + * AssertionOrDefinition.Assertion_1_0_0 returns ConditionalExpression + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns ConditionalExpression + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns ConditionalExpression + * Expression returns ConditionalExpression + * Expression.Forall_2_1_0 returns ConditionalExpression + * ConditionalExpression returns ConditionalExpression + * DisjunctiveExpression returns ConditionalExpression + * DisjunctiveExpression.Disjunction_1_0_0 returns ConditionalExpression + * DisjunctiveExpression.Case_1_1_0 returns ConditionalExpression + * ConjunctiveExpression returns ConditionalExpression + * ConjunctiveExpression.Conjunction_1_0 returns ConditionalExpression + * ComparisonExpression returns ConditionalExpression + * ComparisonExpression.BinaryExpression_1_0 returns ConditionalExpression + * AdditiveExpression returns ConditionalExpression + * AdditiveExpression.BinaryExpression_1_0 returns ConditionalExpression + * MultiplicativeExpression returns ConditionalExpression + * MultiplicativeExpression.BinaryExpression_1_0 returns ConditionalExpression + * ExponentialExpression returns ConditionalExpression + * ExponentialExpression.BinaryExpression_1_0 returns ConditionalExpression + * CastExpression returns ConditionalExpression + * CastExpression.CastExpression_1_0 returns ConditionalExpression + * UnaryExpression returns ConditionalExpression + * BracedAggregateExpression returns ConditionalExpression + * AtomicExpression returns ConditionalExpression * * Constraint: - * (left=ComparisonExpression_Comparison_1_0 op=ComparisonOperator right=AdditiveExpression) + * (condition=DisjunctiveExpression then=Expression else=Expression) */ - protected void sequence_ComparisonExpression(ISerializationContext context, Comparison semanticObject) { + protected void sequence_ConditionalExpression(ISerializationContext context, ConditionalExpression semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COMPARISON__LEFT) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COMPARISON__LEFT)); - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COMPARISON__OP) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COMPARISON__OP)); - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COMPARISON__RIGHT) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COMPARISON__RIGHT)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CONDITIONAL_EXPRESSION__CONDITION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CONDITIONAL_EXPRESSION__CONDITION)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CONDITIONAL_EXPRESSION__THEN) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CONDITIONAL_EXPRESSION__THEN)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CONDITIONAL_EXPRESSION__ELSE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CONDITIONAL_EXPRESSION__ELSE)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(), semanticObject.getLeft()); - feeder.accept(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0(), semanticObject.getOp()); - feeder.accept(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.accept(grammarAccess.getConditionalExpressionAccess().getConditionDisjunctiveExpressionParserRuleCall_1_0(), semanticObject.getCondition()); + feeder.accept(grammarAccess.getConditionalExpressionAccess().getThenExpressionParserRuleCall_3_0(), semanticObject.getThen()); + feeder.accept(grammarAccess.getConditionalExpressionAccess().getElseExpressionParserRuleCall_5_0(), semanticObject.getElse()); feeder.finish(); } /** * Contexts: - * Statement returns Conjunction - * AssertionOrDefinition returns Conjunction - * AssertionOrDefinition.Interpretation_1_0_0 returns Conjunction + * AssertionOrDefinition.Assertion_1_0_0 returns Conjunction * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Conjunction - * AssertionOrDefinition.MetricDefinition_1_2_0 returns Conjunction + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Conjunction * Expression returns Conjunction - * ImplicationExpression returns Conjunction - * ImplicationExpression.BinaryExpression_1_0 returns Conjunction + * Expression.Forall_2_1_0 returns Conjunction * DisjunctiveExpression returns Conjunction * DisjunctiveExpression.Disjunction_1_0_0 returns Conjunction * DisjunctiveExpression.Case_1_1_0 returns Conjunction * ConjunctiveExpression returns Conjunction * ConjunctiveExpression.Conjunction_1_0 returns Conjunction * ComparisonExpression returns Conjunction - * ComparisonExpression.Comparison_1_0 returns Conjunction + * ComparisonExpression.BinaryExpression_1_0 returns Conjunction * AdditiveExpression returns Conjunction * AdditiveExpression.BinaryExpression_1_0 returns Conjunction * MultiplicativeExpression returns Conjunction @@ -674,7 +706,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * CastExpression returns Conjunction * CastExpression.CastExpression_1_0 returns Conjunction * UnaryExpression returns Conjunction - * AggregationExpression returns Conjunction + * BracedAggregateExpression returns Conjunction * AtomicExpression returns Conjunction * * Constraint: @@ -687,43 +719,72 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * Statement returns DefaultDefinition - * DefaultDefinition returns DefaultDefinition + * AssertionOrDefinition.Assertion_1_0_0 returns Count + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Count + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Count + * Expression returns Count + * Expression.Forall_2_1_0 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.BinaryExpression_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 + * CastExpression returns Count + * CastExpression.CastExpression_1_0 returns Count + * UnaryExpression returns Count + * BracedAggregateExpression returns Count + * Count returns Count + * AtomicExpression returns Count * * Constraint: - * (head=Call range=Expression) + * condition=Expression */ - protected void sequence_DefaultDefinition(ISerializationContext context, DefaultDefinition semanticObject) { + protected void sequence_Count(ISerializationContext context, Count semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__HEAD) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__HEAD)); - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__RANGE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.DEFAULT_DEFINITION__RANGE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATE_EXPRESSION__CONDITION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATE_EXPRESSION__CONDITION)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0(), semanticObject.getHead()); - feeder.accept(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0(), semanticObject.getRange()); + feeder.accept(grammarAccess.getCountAccess().getConditionExpressionParserRuleCall_2_0(), semanticObject.getCondition()); feeder.finish(); } /** * Contexts: - * Statement returns Disjunction - * AssertionOrDefinition returns Disjunction - * AssertionOrDefinition.Interpretation_1_0_0 returns Disjunction + * Statement returns DefaultAssertion + * DefaultAssertion returns DefaultAssertion + * + * Constraint: + * (expression=Call range=Expression?) + */ + protected void sequence_DefaultAssertion(ISerializationContext context, DefaultAssertion semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * AssertionOrDefinition.Assertion_1_0_0 returns Disjunction * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Disjunction - * AssertionOrDefinition.MetricDefinition_1_2_0 returns Disjunction + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Disjunction * Expression returns Disjunction - * ImplicationExpression returns Disjunction - * ImplicationExpression.BinaryExpression_1_0 returns Disjunction + * Expression.Forall_2_1_0 returns Disjunction * DisjunctiveExpression returns Disjunction * DisjunctiveExpression.Disjunction_1_0_0 returns Disjunction * DisjunctiveExpression.Case_1_1_0 returns Disjunction * ConjunctiveExpression returns Disjunction * ConjunctiveExpression.Conjunction_1_0 returns Disjunction * ComparisonExpression returns Disjunction - * ComparisonExpression.Comparison_1_0 returns Disjunction + * ComparisonExpression.BinaryExpression_1_0 returns Disjunction * AdditiveExpression returns Disjunction * AdditiveExpression.BinaryExpression_1_0 returns Disjunction * MultiplicativeExpression returns Disjunction @@ -733,7 +794,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * CastExpression returns Disjunction * CastExpression.CastExpression_1_0 returns Disjunction * UnaryExpression returns Disjunction - * AggregationExpression returns Disjunction + * BracedAggregateExpression returns Disjunction * AtomicExpression returns Disjunction * * Constraint: @@ -746,21 +807,18 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * Statement returns Switch - * AssertionOrDefinition returns Switch - * AssertionOrDefinition.Interpretation_1_0_0 returns Switch + * AssertionOrDefinition.Assertion_1_0_0 returns Switch * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Switch - * AssertionOrDefinition.MetricDefinition_1_2_0 returns Switch + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Switch * Expression returns Switch - * ImplicationExpression returns Switch - * ImplicationExpression.BinaryExpression_1_0 returns Switch + * Expression.Forall_2_1_0 returns Switch * DisjunctiveExpression returns Switch * DisjunctiveExpression.Disjunction_1_0_0 returns Switch * DisjunctiveExpression.Case_1_1_0 returns Switch * ConjunctiveExpression returns Switch * ConjunctiveExpression.Conjunction_1_0 returns Switch * ComparisonExpression returns Switch - * ComparisonExpression.Comparison_1_0 returns Switch + * ComparisonExpression.BinaryExpression_1_0 returns Switch * AdditiveExpression returns Switch * AdditiveExpression.BinaryExpression_1_0 returns Switch * MultiplicativeExpression returns Switch @@ -770,7 +828,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * CastExpression returns Switch * CastExpression.CastExpression_1_0 returns Switch * UnaryExpression returns Switch - * AggregationExpression returns Switch + * BracedAggregateExpression returns Switch * AtomicExpression returns Switch * * Constraint: @@ -804,81 +862,109 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * 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 - * ConjunctiveExpression returns EmptyIntervalLiteral - * ConjunctiveExpression.Conjunction_1_0 returns EmptyIntervalLiteral - * ComparisonExpression returns EmptyIntervalLiteral - * ComparisonExpression.Comparison_1_0 returns EmptyIntervalLiteral - * AdditiveExpression returns EmptyIntervalLiteral - * AdditiveExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral - * MultiplicativeExpression returns EmptyIntervalLiteral - * MultiplicativeExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral - * ExponentialExpression returns EmptyIntervalLiteral - * ExponentialExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral - * CastExpression returns EmptyIntervalLiteral - * CastExpression.CastExpression_1_0 returns EmptyIntervalLiteral - * UnaryExpression returns EmptyIntervalLiteral - * AggregationExpression returns EmptyIntervalLiteral - * AtomicExpression returns EmptyIntervalLiteral - * Literal returns EmptyIntervalLiteral - * EmptyIntervalLiteral returns EmptyIntervalLiteral + * AssertionOrDefinition.Assertion_1_0_0 returns EmptyLiteral + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns EmptyLiteral + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns EmptyLiteral + * Expression returns EmptyLiteral + * Expression.Forall_2_1_0 returns EmptyLiteral + * DisjunctiveExpression returns EmptyLiteral + * DisjunctiveExpression.Disjunction_1_0_0 returns EmptyLiteral + * DisjunctiveExpression.Case_1_1_0 returns EmptyLiteral + * ConjunctiveExpression returns EmptyLiteral + * ConjunctiveExpression.Conjunction_1_0 returns EmptyLiteral + * ComparisonExpression returns EmptyLiteral + * ComparisonExpression.BinaryExpression_1_0 returns EmptyLiteral + * AdditiveExpression returns EmptyLiteral + * AdditiveExpression.BinaryExpression_1_0 returns EmptyLiteral + * MultiplicativeExpression returns EmptyLiteral + * MultiplicativeExpression.BinaryExpression_1_0 returns EmptyLiteral + * ExponentialExpression returns EmptyLiteral + * ExponentialExpression.BinaryExpression_1_0 returns EmptyLiteral + * CastExpression returns EmptyLiteral + * CastExpression.CastExpression_1_0 returns EmptyLiteral + * UnaryExpression returns EmptyLiteral + * BracedAggregateExpression returns EmptyLiteral + * AtomicExpression returns EmptyLiteral + * Literal returns EmptyLiteral + * EmptyLiteral returns EmptyLiteral * * Constraint: - * {EmptyIntervalLiteral} + * {EmptyLiteral} */ - protected void sequence_EmptyIntervalLiteral(ISerializationContext context, EmptyIntervalLiteral semanticObject) { + protected void sequence_EmptyLiteral(ISerializationContext context, EmptyLiteral semanticObject) { genericSequencer.createSequence(context, semanticObject); } + /** + * Contexts: + * Statement returns EnumDeclaration + * EnumDeclaration returns EnumDeclaration + * + * Constraint: + * (name=ID (literals+=EnumLiteral literals+=EnumLiteral*)?) + */ + protected void sequence_EnumDeclaration(ISerializationContext context, EnumDeclaration semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * EnumLiteral returns EnumLiteral + * + * Constraint: + * name=ID + */ + protected void sequence_EnumLiteral(ISerializationContext context, EnumLiteral semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.ENUM_LITERAL__NAME) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.ENUM_LITERAL__NAME)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getEnumLiteralAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName()); + feeder.finish(); + } + + /** * Contexts: * Multiplicity returns ExactMultiplicity * ExactMultiplicity returns ExactMultiplicity * * Constraint: - * multiplicity=UpperMultiplicty + * value=UpperMultiplicty */ protected void sequence_ExactMultiplicity(ISerializationContext context, ExactMultiplicity semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXACT_MULTIPLICITY__MULTIPLICITY) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXACT_MULTIPLICITY__MULTIPLICITY)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXACT_MULTIPLICITY__VALUE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXACT_MULTIPLICITY__VALUE)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0(), semanticObject.getMultiplicity()); + feeder.accept(grammarAccess.getExactMultiplicityAccess().getValueUpperMultiplictyParserRuleCall_1_0(), semanticObject.getValue()); feeder.finish(); } /** * Contexts: - * Statement returns ExactScopeDefinition - * ScopeDefinition returns ExactScopeDefinition - * ExactScopeDefinition returns ExactScopeDefinition + * Statement returns ExactScope + * ScopeDeclaration returns ExactScope + * ExactScope returns ExactScope * * Constraint: - * (type=[NamedElement|QualifiedName] exactScope=INT) + * (type=[Symbol|QualifiedName] size=INT) */ - protected void sequence_ExactScopeDefinition(ISerializationContext context, ExactScopeDefinition semanticObject) { + protected void sequence_ExactScope(ISerializationContext context, ExactScope semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.SCOPE_DEFINITION__TYPE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.SCOPE_DEFINITION__TYPE)); - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXACT_SCOPE_DEFINITION__EXACT_SCOPE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXACT_SCOPE_DEFINITION__EXACT_SCOPE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.SCOPE_DECLARATION__TYPE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.SCOPE_DECLARATION__TYPE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXACT_SCOPE__SIZE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXACT_SCOPE__SIZE)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.SCOPE_DEFINITION__TYPE, false)); - feeder.accept(grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0(), semanticObject.getExactScope()); + feeder.accept(grammarAccess.getExactScopeAccess().getTypeSymbolQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.SCOPE_DECLARATION__TYPE, false)); + feeder.accept(grammarAccess.getExactScopeAccess().getSizeINTTerminalRuleCall_3_0(), semanticObject.getSize()); feeder.finish(); } @@ -889,171 +975,204 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * ExpressionArgument returns ExpressionArgument * * Constraint: - * body=ComparisonExpression + * expression=ComparisonExpression */ protected void sequence_ExpressionArgument(ISerializationContext context, ExpressionArgument semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT__BODY) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT__BODY)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT__EXPRESSION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT__EXPRESSION)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0(), semanticObject.getBody()); + feeder.accept(grammarAccess.getExpressionArgumentAccess().getExpressionComparisonExpressionParserRuleCall_0(), semanticObject.getExpression()); feeder.finish(); } /** * Contexts: - * Statement returns ExternAggregatorDefinition - * ExternAggregatorDefinition returns ExternAggregatorDefinition + * AssertionOrDefinition.Assertion_1_0_0 returns Forall + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Forall + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Forall + * Expression returns Forall + * Expression.Forall_2_1_0 returns Forall + * DisjunctiveExpression returns Forall + * DisjunctiveExpression.Disjunction_1_0_0 returns Forall + * DisjunctiveExpression.Case_1_1_0 returns Forall + * ConjunctiveExpression returns Forall + * ConjunctiveExpression.Conjunction_1_0 returns Forall + * ComparisonExpression returns Forall + * ComparisonExpression.BinaryExpression_1_0 returns Forall + * AdditiveExpression returns Forall + * AdditiveExpression.BinaryExpression_1_0 returns Forall + * MultiplicativeExpression returns Forall + * MultiplicativeExpression.BinaryExpression_1_0 returns Forall + * ExponentialExpression returns Forall + * ExponentialExpression.BinaryExpression_1_0 returns Forall + * CastExpression returns Forall + * CastExpression.CastExpression_1_0 returns Forall + * UnaryExpression returns Forall + * BracedAggregateExpression returns Forall + * AtomicExpression returns Forall * * Constraint: - * (type=[NamedElement|QualifiedName] name=QualifiedName inputType=[NamedElement|QualifiedName]) + * (condition=Expression_Forall_2_1_0 body=DisjunctiveExpression) */ - protected void sequence_ExternAggregatorDefinition(ISerializationContext context, ExternAggregatorDefinition semanticObject) { + protected void sequence_Expression(ISerializationContext context, Forall 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)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATE_EXPRESSION__CONDITION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATE_EXPRESSION__CONDITION)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FORALL__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FORALL__BODY)); } 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.accept(grammarAccess.getExpressionAccess().getForallConditionAction_2_1_0(), semanticObject.getCondition()); + feeder.accept(grammarAccess.getExpressionAccess().getBodyDisjunctiveExpressionParserRuleCall_2_1_2_0(), semanticObject.getBody()); feeder.finish(); } /** * Contexts: - * Statement returns ExternDatatypeDefinition - * ExternDatatypeDefinition returns ExternDatatypeDefinition + * Statement returns ExternAggregationOperatorDeclaration + * ExternDeclaration returns ExternAggregationOperatorDeclaration + * ExternAggregationOperatorDeclaration returns ExternAggregationOperatorDeclaration * * Constraint: - * (name=QualifiedName supertypes+=[NamedElement|QualifiedName] supertypes+=[NamedElement|QualifiedName]*) + * (resultType=[Symbol|QualifiedName] name=QualifiedName argumentType=[Symbol|QualifiedName]) */ - protected void sequence_ExternDatatypeDefinition(ISerializationContext context, ExternDatatypeDefinition semanticObject) { - genericSequencer.createSequence(context, semanticObject); + protected void sequence_ExternAggregationOperatorDeclaration(ISerializationContext context, ExternAggregationOperatorDeclaration semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_DECLARATION__NAME) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_DECLARATION__NAME)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getExternAggregationOperatorDeclarationAccess().getResultTypeSymbolQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_AGGREGATION_OPERATOR_DECLARATION__RESULT_TYPE, false)); + feeder.accept(grammarAccess.getExternAggregationOperatorDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getExternAggregationOperatorDeclarationAccess().getArgumentTypeSymbolQualifiedNameParserRuleCall_4_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_AGGREGATION_OPERATOR_DECLARATION__ARGUMENT_TYPE, false)); + feeder.finish(); } /** * Contexts: - * Statement returns ExternMetricDefinition - * ExternMetricDefinition returns ExternMetricDefinition + * Statement returns ExternDatatypeDeclaration + * ExternDeclaration returns ExternDatatypeDeclaration + * ExternDatatypeDeclaration returns ExternDatatypeDeclaration * * Constraint: - * (type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList) + * name=QualifiedName */ - protected void sequence_ExternMetricDefinition(ISerializationContext context, ExternMetricDefinition semanticObject) { + protected void sequence_ExternDatatypeDeclaration(ISerializationContext context, ExternDatatypeDeclaration 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__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)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_DECLARATION__NAME) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_DECLARATION__NAME)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - 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.accept(grammarAccess.getExternDatatypeDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0(), semanticObject.getName()); feeder.finish(); } /** * Contexts: - * Statement returns ExternPredicateDefinition - * ExternPredicateDefinition returns ExternPredicateDefinition + * Statement returns ExternFunctionDeclaration + * ExternDeclaration returns ExternFunctionDeclaration + * ExternFunctionDeclaration returns ExternFunctionDeclaration * * Constraint: - * (name=QualifiedName argumentList=ArgumentList) + * (resultType=[Symbol|QualifiedName] name=QualifiedName argumentList=ArgumentList) */ - protected void sequence_ExternPredicateDefinition(ISerializationContext context, ExternPredicateDefinition semanticObject) { + protected void sequence_ExternFunctionDeclaration(ISerializationContext context, ExternFunctionDeclaration semanticObject) { if (errorAcceptor != null) { - 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)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_DECLARATION__NAME) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_DECLARATION__NAME)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_FUNCTOR_DECLARATION__ARGUMENT_LIST)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0(), semanticObject.getName()); - feeder.accept(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0(), semanticObject.getArgumentList()); + feeder.accept(grammarAccess.getExternFunctionDeclarationAccess().getResultTypeSymbolQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_FUNCTION_DECLARATION__RESULT_TYPE, false)); + feeder.accept(grammarAccess.getExternFunctionDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getExternFunctionDeclarationAccess().getArgumentListArgumentListParserRuleCall_3_0(), semanticObject.getArgumentList()); feeder.finish(); } /** * Contexts: - * 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 - * ConjunctiveExpression returns IfElse - * ConjunctiveExpression.Conjunction_1_0 returns IfElse - * ComparisonExpression returns IfElse - * ComparisonExpression.Comparison_1_0 returns IfElse - * AdditiveExpression returns IfElse - * AdditiveExpression.BinaryExpression_1_0 returns IfElse - * MultiplicativeExpression returns IfElse - * MultiplicativeExpression.BinaryExpression_1_0 returns IfElse - * ExponentialExpression returns IfElse - * ExponentialExpression.BinaryExpression_1_0 returns IfElse - * CastExpression returns IfElse - * CastExpression.CastExpression_1_0 returns IfElse - * UnaryExpression returns IfElse - * AggregationExpression returns IfElse - * AtomicExpression returns IfElse + * Statement returns ExternPredicateDeclaration + * ExternDeclaration returns ExternPredicateDeclaration + * ExternPredicateDeclaration returns ExternPredicateDeclaration + * + * Constraint: + * ((functional?='functional' | error?='error')* name=QualifiedName argumentList=ArgumentList) + */ + protected void sequence_ExternPredicateDeclaration(ISerializationContext context, ExternPredicateDeclaration semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Field returns Field + * + * Constraint: + * ( + * (containment?='contains' | crossReference?='refers')? + * type=[Symbol|QualifiedName] + * multiplicity=Multiplicity? + * name=ID + * opposite=[Symbol|QualifiedName]? + * ) + */ + protected void sequence_Field(ISerializationContext context, Field semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * FunctionDefinition returns FunctionDefinition * * Constraint: - * (condition=Expression then=Expression else=Expression) + * (resultType=[Symbol|QualifiedName] head=Call body=Expression) */ - protected void sequence_IfElse(ISerializationContext context, IfElse semanticObject) { + protected void sequence_FunctionDefinition(ISerializationContext context, FunctionDefinition semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__CONDITION) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__CONDITION)); - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__THEN) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__THEN)); - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__ELSE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IF_ELSE__ELSE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FUNCTION_DEFINITION__RESULT_TYPE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FUNCTION_DEFINITION__RESULT_TYPE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__HEAD) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__HEAD)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.FUNCTOR_DEFINITON__BODY)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0(), semanticObject.getCondition()); - feeder.accept(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0(), semanticObject.getThen()); - feeder.accept(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0(), semanticObject.getElse()); + feeder.accept(grammarAccess.getFunctionDefinitionAccess().getResultTypeSymbolQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.FUNCTION_DEFINITION__RESULT_TYPE, false)); + feeder.accept(grammarAccess.getFunctionDefinitionAccess().getHeadCallParserRuleCall_1_0(), semanticObject.getHead()); + feeder.accept(grammarAccess.getFunctionDefinitionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody()); feeder.finish(); } /** * Contexts: - * Statement returns InfinityLiteral - * AssertionOrDefinition returns InfinityLiteral - * AssertionOrDefinition.Interpretation_1_0_0 returns InfinityLiteral + * AssertionOrDefinition.Assertion_1_0_0 returns InfinityLiteral * AssertionOrDefinition.PredicateDefinition_1_1_0 returns InfinityLiteral - * AssertionOrDefinition.MetricDefinition_1_2_0 returns InfinityLiteral + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns InfinityLiteral * Expression returns InfinityLiteral - * ImplicationExpression returns InfinityLiteral - * ImplicationExpression.BinaryExpression_1_0 returns InfinityLiteral + * Expression.Forall_2_1_0 returns InfinityLiteral * DisjunctiveExpression returns InfinityLiteral * DisjunctiveExpression.Disjunction_1_0_0 returns InfinityLiteral * DisjunctiveExpression.Case_1_1_0 returns InfinityLiteral * ConjunctiveExpression returns InfinityLiteral * ConjunctiveExpression.Conjunction_1_0 returns InfinityLiteral * ComparisonExpression returns InfinityLiteral - * ComparisonExpression.Comparison_1_0 returns InfinityLiteral + * ComparisonExpression.BinaryExpression_1_0 returns InfinityLiteral * AdditiveExpression returns InfinityLiteral * AdditiveExpression.BinaryExpression_1_0 returns InfinityLiteral * MultiplicativeExpression returns InfinityLiteral @@ -1063,7 +1182,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * CastExpression returns InfinityLiteral * CastExpression.CastExpression_1_0 returns InfinityLiteral * UnaryExpression returns InfinityLiteral - * AggregationExpression returns InfinityLiteral + * BracedAggregateExpression returns InfinityLiteral * AtomicExpression returns InfinityLiteral * Literal returns InfinityLiteral * InfinityLiteral returns InfinityLiteral @@ -1078,21 +1197,60 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * Statement returns Interval - * AssertionOrDefinition returns Interval - * AssertionOrDefinition.Interpretation_1_0_0 returns Interval + * AssertionOrDefinition.Assertion_1_0_0 returns IntLiteral + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns IntLiteral + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns IntLiteral + * Expression returns IntLiteral + * Expression.Forall_2_1_0 returns IntLiteral + * DisjunctiveExpression returns IntLiteral + * DisjunctiveExpression.Disjunction_1_0_0 returns IntLiteral + * DisjunctiveExpression.Case_1_1_0 returns IntLiteral + * ConjunctiveExpression returns IntLiteral + * ConjunctiveExpression.Conjunction_1_0 returns IntLiteral + * ComparisonExpression returns IntLiteral + * ComparisonExpression.BinaryExpression_1_0 returns IntLiteral + * AdditiveExpression returns IntLiteral + * AdditiveExpression.BinaryExpression_1_0 returns IntLiteral + * MultiplicativeExpression returns IntLiteral + * MultiplicativeExpression.BinaryExpression_1_0 returns IntLiteral + * ExponentialExpression returns IntLiteral + * ExponentialExpression.BinaryExpression_1_0 returns IntLiteral + * CastExpression returns IntLiteral + * CastExpression.CastExpression_1_0 returns IntLiteral + * UnaryExpression returns IntLiteral + * BracedAggregateExpression returns IntLiteral + * AtomicExpression returns IntLiteral + * Literal returns IntLiteral + * IntLiteral returns IntLiteral + * + * Constraint: + * value=INT + */ + protected void sequence_IntLiteral(ISerializationContext context, IntLiteral semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.INT_LITERAL__VALUE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INT_LITERAL__VALUE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getIntLiteralAccess().getValueINTTerminalRuleCall_0(), semanticObject.getValue()); + feeder.finish(); + } + + + /** + * Contexts: + * AssertionOrDefinition.Assertion_1_0_0 returns Interval * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Interval - * AssertionOrDefinition.MetricDefinition_1_2_0 returns Interval + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Interval * Expression returns Interval - * ImplicationExpression returns Interval - * ImplicationExpression.BinaryExpression_1_0 returns Interval + * Expression.Forall_2_1_0 returns Interval * DisjunctiveExpression returns Interval * DisjunctiveExpression.Disjunction_1_0_0 returns Interval * DisjunctiveExpression.Case_1_1_0 returns Interval * ConjunctiveExpression returns Interval * ConjunctiveExpression.Conjunction_1_0 returns Interval * ComparisonExpression returns Interval - * ComparisonExpression.Comparison_1_0 returns Interval + * ComparisonExpression.BinaryExpression_1_0 returns Interval * AdditiveExpression returns Interval * AdditiveExpression.BinaryExpression_1_0 returns Interval * MultiplicativeExpression returns Interval @@ -1102,12 +1260,12 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * CastExpression returns Interval * CastExpression.CastExpression_1_0 returns Interval * UnaryExpression returns Interval - * AggregationExpression returns Interval + * BracedAggregateExpression returns Interval * AtomicExpression returns Interval * Interval returns Interval * * Constraint: - * (lowerBound=Expression upperBound=Expression) + * (lowerBound=AdditiveExpression upperBound=AdditiveExpression) */ protected void sequence_Interval(ISerializationContext context, Interval semanticObject) { if (errorAcceptor != null) { @@ -1117,8 +1275,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INTERVAL__UPPER_BOUND)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0(), semanticObject.getLowerBound()); - feeder.accept(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0(), semanticObject.getUpperBound()); + feeder.accept(grammarAccess.getIntervalAccess().getLowerBoundAdditiveExpressionParserRuleCall_1_0(), semanticObject.getLowerBound()); + feeder.accept(grammarAccess.getIntervalAccess().getUpperBoundAdditiveExpressionParserRuleCall_3_0(), semanticObject.getUpperBound()); feeder.finish(); } @@ -1128,89 +1286,62 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * LetBinding returns LetBinding * * Constraint: - * (variable=Variable value=AdditiveExpression) + * (type=[Symbol|QualifiedName]? name=ID 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 + * AssertionOrDefinition.Assertion_1_0_0 returns LetExpression + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns LetExpression + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns LetExpression + * Expression returns LetExpression + * Expression.Forall_2_1_0 returns LetExpression + * LetExpression returns LetExpression + * DisjunctiveExpression returns LetExpression + * DisjunctiveExpression.Disjunction_1_0_0 returns LetExpression + * DisjunctiveExpression.Case_1_1_0 returns LetExpression + * ConjunctiveExpression returns LetExpression + * ConjunctiveExpression.Conjunction_1_0 returns LetExpression + * ComparisonExpression returns LetExpression + * ComparisonExpression.BinaryExpression_1_0 returns LetExpression + * AdditiveExpression returns LetExpression + * AdditiveExpression.BinaryExpression_1_0 returns LetExpression + * MultiplicativeExpression returns LetExpression + * MultiplicativeExpression.BinaryExpression_1_0 returns LetExpression + * ExponentialExpression returns LetExpression + * ExponentialExpression.BinaryExpression_1_0 returns LetExpression + * CastExpression returns LetExpression + * CastExpression.CastExpression_1_0 returns LetExpression + * UnaryExpression returns LetExpression + * BracedAggregateExpression returns LetExpression + * AtomicExpression returns LetExpression * * Constraint: - * (variables+=Variable variables+=Variable*)? + * (bindings+=LetBinding bindings+=LetBinding* body=Expression) */ - protected void sequence_LocalVariables(ISerializationContext context, LocalVariables semanticObject) { + protected void sequence_LetExpression(ISerializationContext context, LetExpression semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * Statement returns LogicLiteral - * AssertionOrDefinition returns LogicLiteral - * AssertionOrDefinition.Interpretation_1_0_0 returns LogicLiteral + * AssertionOrDefinition.Assertion_1_0_0 returns LogicLiteral * AssertionOrDefinition.PredicateDefinition_1_1_0 returns LogicLiteral - * AssertionOrDefinition.MetricDefinition_1_2_0 returns LogicLiteral + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns LogicLiteral * Expression returns LogicLiteral - * ImplicationExpression returns LogicLiteral - * ImplicationExpression.BinaryExpression_1_0 returns LogicLiteral + * Expression.Forall_2_1_0 returns LogicLiteral * DisjunctiveExpression returns LogicLiteral * DisjunctiveExpression.Disjunction_1_0_0 returns LogicLiteral * DisjunctiveExpression.Case_1_1_0 returns LogicLiteral * ConjunctiveExpression returns LogicLiteral * ConjunctiveExpression.Conjunction_1_0 returns LogicLiteral * ComparisonExpression returns LogicLiteral - * ComparisonExpression.Comparison_1_0 returns LogicLiteral + * ComparisonExpression.BinaryExpression_1_0 returns LogicLiteral * AdditiveExpression returns LogicLiteral * AdditiveExpression.BinaryExpression_1_0 returns LogicLiteral * MultiplicativeExpression returns LogicLiteral @@ -1220,7 +1351,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * CastExpression returns LogicLiteral * CastExpression.CastExpression_1_0 returns LogicLiteral * UnaryExpression returns LogicLiteral - * AggregationExpression returns LogicLiteral + * BracedAggregateExpression returns LogicLiteral * AtomicExpression returns LogicLiteral * Literal returns LogicLiteral * LogicLiteral returns LogicLiteral @@ -1241,131 +1372,75 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * Statement returns LowerBoundedScopeDefinition - * ScopeDefinition returns LowerBoundedScopeDefinition - * LowerBoundedScopeDefinition returns LowerBoundedScopeDefinition - * - * Constraint: - * ((lowerBound=INT type=[NamedElement|QualifiedName]) | (type=[NamedElement|QualifiedName] lowerBound=INT)) - */ - protected void sequence_LowerBoundedScopeDefinition(ISerializationContext context, LowerBoundedScopeDefinition semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - - /** - * Contexts: - * Multiplicity returns ManyMultiplicity - * ManyMultiplicity returns ManyMultiplicity + * Statement returns LowerBoundedScope + * ScopeDeclaration returns LowerBoundedScope + * LowerBoundedScope returns LowerBoundedScope * * Constraint: - * {ManyMultiplicity} + * ((lowerBound=INT type=[Symbol|QualifiedName]) | (type=[Symbol|QualifiedName] lowerBound=INT)) */ - protected void sequence_ManyMultiplicity(ISerializationContext context, ManyMultiplicity semanticObject) { + protected void sequence_LowerBoundedScope(ISerializationContext context, LowerBoundedScope semanticObject) { genericSequencer.createSequence(context, semanticObject); } /** * Contexts: - * MemberDefinition returns MemberDefinition + * Import returns NamespaceImport + * NamespaceImport returns NamespaceImport * * Constraint: - * (containment?='contains'? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID opposite=[NamedElement|QualifiedName]?) + * (importedNamespace=QualifiedName alias=QualifiedName) */ - protected void sequence_MemberDefinition(ISerializationContext context, MemberDefinition semanticObject) { - genericSequencer.createSequence(context, semanticObject); - } - - - /** - * Contexts: - * MetricDefinition returns MetricDefinition - * - * Constraint: - * (type=[NamedElement|QualifiedName] head=Call body=Expression) - */ - protected void sequence_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) { + protected void sequence_NamespaceImport(ISerializationContext context, NamespaceImport semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__TYPE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__TYPE)); - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__HEAD)); - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.NAMESPACE_IMPORT__IMPORTED_NAMESPACE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.NAMESPACE_IMPORT__IMPORTED_NAMESPACE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IMPORT__ALIAS) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IMPORT__ALIAS)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - 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.accept(grammarAccess.getNamespaceImportAccess().getImportedNamespaceQualifiedNameParserRuleCall_1_0(), semanticObject.getImportedNamespace()); + feeder.accept(grammarAccess.getNamespaceImportAccess().getAliasQualifiedNameParserRuleCall_2_1_0(), semanticObject.getAlias()); feeder.finish(); } /** * Contexts: - * 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 - * ConjunctiveExpression returns NumericLiteral - * ConjunctiveExpression.Conjunction_1_0 returns NumericLiteral - * ComparisonExpression returns NumericLiteral - * ComparisonExpression.Comparison_1_0 returns NumericLiteral - * AdditiveExpression returns NumericLiteral - * AdditiveExpression.BinaryExpression_1_0 returns NumericLiteral - * MultiplicativeExpression returns NumericLiteral - * MultiplicativeExpression.BinaryExpression_1_0 returns NumericLiteral - * ExponentialExpression returns NumericLiteral - * ExponentialExpression.BinaryExpression_1_0 returns NumericLiteral - * CastExpression returns NumericLiteral - * CastExpression.CastExpression_1_0 returns NumericLiteral - * UnaryExpression returns NumericLiteral - * AggregationExpression returns NumericLiteral - * AtomicExpression returns NumericLiteral - * Literal returns NumericLiteral - * NumericLiteral returns NumericLiteral + * Statement returns ObjectiveDeclaration + * ObjectiveDeclaration returns ObjectiveDeclaration * * Constraint: - * value=Real + * (kind=ObjectiveKind objective=Expression) */ - protected void sequence_NumericLiteral(ISerializationContext context, NumericLiteral semanticObject) { + protected void sequence_ObjectiveDeclaration(ISerializationContext context, ObjectiveDeclaration semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.NUMERIC_LITERAL__VALUE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.NUMERIC_LITERAL__VALUE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DECLARATION__KIND) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DECLARATION__KIND)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DECLARATION__OBJECTIVE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DECLARATION__OBJECTIVE)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0(), semanticObject.getValue()); + feeder.accept(grammarAccess.getObjectiveDeclarationAccess().getKindObjectiveKindEnumRuleCall_0_0(), semanticObject.getKind()); + feeder.accept(grammarAccess.getObjectiveDeclarationAccess().getObjectiveExpressionParserRuleCall_1_0(), semanticObject.getObjective()); feeder.finish(); } /** * Contexts: - * Statement returns ObjectiveDefinition - * ObjectiveDefinition returns ObjectiveDefinition + * PathComponent returns PathComponent * * Constraint: - * (kind=ObjectiveKind objective=Expression) + * ( + * inverse?='~'? + * symbol=[Symbol|QualifiedName] + * (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? + * ) */ - protected void sequence_ObjectiveDefinition(ISerializationContext context, ObjectiveDefinition semanticObject) { - if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__KIND) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__KIND)); - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__OBJECTIVE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION__OBJECTIVE)); - } - SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0(), semanticObject.getKind()); - feeder.accept(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0(), semanticObject.getObjective()); - feeder.finish(); + protected void sequence_PathComponent(ISerializationContext context, PathComponent semanticObject) { + genericSequencer.createSequence(context, semanticObject); } @@ -1386,7 +1461,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * Problem returns Problem * * Constraint: - * statements+=Statement+ + * ((name=QualifiedName? imports+=Import+ statements+=Statement+) | (name=QualifiedName? statements+=Statement+) | statements+=Statement+)? */ protected void sequence_Problem(ISerializationContext context, Problem semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -1395,59 +1470,60 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * 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 + * AssertionOrDefinition.Assertion_1_0_0 returns RealLiteral + * AssertionOrDefinition.PredicateDefinition_1_1_0 returns RealLiteral + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns RealLiteral + * Expression returns RealLiteral + * Expression.Forall_2_1_0 returns RealLiteral + * DisjunctiveExpression returns RealLiteral + * DisjunctiveExpression.Disjunction_1_0_0 returns RealLiteral + * DisjunctiveExpression.Case_1_1_0 returns RealLiteral + * ConjunctiveExpression returns RealLiteral + * ConjunctiveExpression.Conjunction_1_0 returns RealLiteral + * ComparisonExpression returns RealLiteral + * ComparisonExpression.BinaryExpression_1_0 returns RealLiteral + * AdditiveExpression returns RealLiteral + * AdditiveExpression.BinaryExpression_1_0 returns RealLiteral + * MultiplicativeExpression returns RealLiteral + * MultiplicativeExpression.BinaryExpression_1_0 returns RealLiteral + * ExponentialExpression returns RealLiteral + * ExponentialExpression.BinaryExpression_1_0 returns RealLiteral + * CastExpression returns RealLiteral + * CastExpression.CastExpression_1_0 returns RealLiteral + * UnaryExpression returns RealLiteral + * BracedAggregateExpression returns RealLiteral + * AtomicExpression returns RealLiteral + * Literal returns RealLiteral + * RealLiteral returns RealLiteral * * Constraint: - * (quantifier=Quantifier localVariables=LocalVariables? body=Expression) + * value=Real */ - protected void sequence_QuantifiedExpression(ISerializationContext context, QuantifiedExpression semanticObject) { - genericSequencer.createSequence(context, semanticObject); + protected void sequence_RealLiteral(ISerializationContext context, RealLiteral semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.REAL_LITERAL__VALUE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.REAL_LITERAL__VALUE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_0(), semanticObject.getValue()); + feeder.finish(); } /** * Contexts: - * Statement returns Reference - * AssertionOrDefinition returns Reference - * AssertionOrDefinition.Interpretation_1_0_0 returns Reference + * AssertionOrDefinition.Assertion_1_0_0 returns Reference * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Reference - * AssertionOrDefinition.MetricDefinition_1_2_0 returns Reference + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns Reference * Expression returns Reference - * ImplicationExpression returns Reference - * ImplicationExpression.BinaryExpression_1_0 returns Reference + * Expression.Forall_2_1_0 returns Reference * DisjunctiveExpression returns Reference * DisjunctiveExpression.Disjunction_1_0_0 returns Reference * DisjunctiveExpression.Case_1_1_0 returns Reference * ConjunctiveExpression returns Reference * ConjunctiveExpression.Conjunction_1_0 returns Reference * ComparisonExpression returns Reference - * ComparisonExpression.Comparison_1_0 returns Reference + * ComparisonExpression.BinaryExpression_1_0 returns Reference * AdditiveExpression returns Reference * AdditiveExpression.BinaryExpression_1_0 returns Reference * MultiplicativeExpression returns Reference @@ -1457,21 +1533,15 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * CastExpression returns Reference * CastExpression.CastExpression_1_0 returns Reference * UnaryExpression returns Reference - * AggregationExpression returns Reference + * BracedAggregateExpression returns Reference * AtomicExpression returns Reference * Reference returns Reference * * Constraint: - * referred=[NamedElement|QualifiedName] + * (components+=PathComponent components+=PathComponent*) */ protected void sequence_Reference(ISerializationContext context, Reference semanticObject) { - if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.REFERENCE__REFERRED) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.REFERENCE__REFERRED)); - } - SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getReferenceAccess().getReferredNamedElementQualifiedNameParserRuleCall_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.REFERENCE__REFERRED, false)); - feeder.finish(); + genericSequencer.createSequence(context, semanticObject); } @@ -1490,21 +1560,18 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * Statement returns StringLiteral - * AssertionOrDefinition returns StringLiteral - * AssertionOrDefinition.Interpretation_1_0_0 returns StringLiteral + * AssertionOrDefinition.Assertion_1_0_0 returns StringLiteral * AssertionOrDefinition.PredicateDefinition_1_1_0 returns StringLiteral - * AssertionOrDefinition.MetricDefinition_1_2_0 returns StringLiteral + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns StringLiteral * Expression returns StringLiteral - * ImplicationExpression returns StringLiteral - * ImplicationExpression.BinaryExpression_1_0 returns StringLiteral + * Expression.Forall_2_1_0 returns StringLiteral * DisjunctiveExpression returns StringLiteral * DisjunctiveExpression.Disjunction_1_0_0 returns StringLiteral * DisjunctiveExpression.Case_1_1_0 returns StringLiteral * ConjunctiveExpression returns StringLiteral * ConjunctiveExpression.Conjunction_1_0 returns StringLiteral * ComparisonExpression returns StringLiteral - * ComparisonExpression.Comparison_1_0 returns StringLiteral + * ComparisonExpression.BinaryExpression_1_0 returns StringLiteral * AdditiveExpression returns StringLiteral * AdditiveExpression.BinaryExpression_1_0 returns StringLiteral * MultiplicativeExpression returns StringLiteral @@ -1514,7 +1581,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * CastExpression returns StringLiteral * CastExpression.CastExpression_1_0 returns StringLiteral * UnaryExpression returns StringLiteral - * AggregationExpression returns StringLiteral + * BracedAggregateExpression returns StringLiteral * AtomicExpression returns StringLiteral * Literal returns StringLiteral * StringLiteral returns StringLiteral @@ -1535,62 +1602,71 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS /** * Contexts: - * Argument returns TypedArgument - * TypedArgument returns TypedArgument + * TypeReference returns TypeReference + * + * Constraint: + * (type=[Symbol|QualifiedName] forceObjectType?='object'?) + */ + protected void sequence_TypeReference(ISerializationContext context, TypeReference semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Argument returns TypedStarArgument + * TypedStarArgument returns TypedStarArgument * * Constraint: - * (type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]) + * typeReference=TypeReference */ - protected void sequence_TypedArgument(ISerializationContext context, TypedArgument semanticObject) { + protected void sequence_TypedStarArgument(ISerializationContext context, TypedStarArgument semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE)); - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__VARIABLE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__VARIABLE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE_REFERENCE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE_REFERENCE)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getTypedArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE, false)); - feeder.accept(grammarAccess.getTypedArgumentAccess().getVariableNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.TYPED_ARGUMENT__VARIABLE, false)); + feeder.accept(grammarAccess.getTypedStarArgumentAccess().getTypeReferenceTypeReferenceParserRuleCall_0_0(), semanticObject.getTypeReference()); feeder.finish(); } /** * Contexts: - * Argument returns TypedStarArgument - * TypedStarArgument returns TypedStarArgument + * Argument returns TypedVariableArgument + * TypedVariableArgument returns TypedVariableArgument * * Constraint: - * type=[NamedElement|QualifiedName] + * (typeReference=TypeReference name=ID) */ - protected void sequence_TypedStarArgument(ISerializationContext context, TypedStarArgument semanticObject) { + protected void sequence_TypedVariableArgument(ISerializationContext context, TypedVariableArgument semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT__TYPE) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT__TYPE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE_REFERENCE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_ARGUMENT__TYPE_REFERENCE)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.TYPED_VARIABLE_ARGUMENT__NAME) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.TYPED_VARIABLE_ARGUMENT__NAME)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT__TYPE, false)); + feeder.accept(grammarAccess.getTypedVariableArgumentAccess().getTypeReferenceTypeReferenceParserRuleCall_0_0(), semanticObject.getTypeReference()); + feeder.accept(grammarAccess.getTypedVariableArgumentAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName()); feeder.finish(); } /** * Contexts: - * Statement returns UnaryExpression - * AssertionOrDefinition returns UnaryExpression - * AssertionOrDefinition.Interpretation_1_0_0 returns UnaryExpression + * AssertionOrDefinition.Assertion_1_0_0 returns UnaryExpression * AssertionOrDefinition.PredicateDefinition_1_1_0 returns UnaryExpression - * AssertionOrDefinition.MetricDefinition_1_2_0 returns UnaryExpression + * AssertionOrDefinition.FunctionDefinition_1_2_0 returns UnaryExpression * Expression returns UnaryExpression - * ImplicationExpression returns UnaryExpression - * ImplicationExpression.BinaryExpression_1_0 returns UnaryExpression + * Expression.Forall_2_1_0 returns UnaryExpression * DisjunctiveExpression returns UnaryExpression * DisjunctiveExpression.Disjunction_1_0_0 returns UnaryExpression * DisjunctiveExpression.Case_1_1_0 returns UnaryExpression * ConjunctiveExpression returns UnaryExpression * ConjunctiveExpression.Conjunction_1_0 returns UnaryExpression * ComparisonExpression returns UnaryExpression - * ComparisonExpression.Comparison_1_0 returns UnaryExpression + * ComparisonExpression.BinaryExpression_1_0 returns UnaryExpression * AdditiveExpression returns UnaryExpression * AdditiveExpression.BinaryExpression_1_0 returns UnaryExpression * MultiplicativeExpression returns UnaryExpression @@ -1600,11 +1676,11 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS * CastExpression returns UnaryExpression * CastExpression.CastExpression_1_0 returns UnaryExpression * UnaryExpression returns UnaryExpression - * AggregationExpression returns UnaryExpression + * BracedAggregateExpression returns UnaryExpression * AtomicExpression returns UnaryExpression * * Constraint: - * (op=UnaryOp body=AggregationExpression) + * (op=UnaryOperator body=BracedAggregateExpression) */ protected void sequence_UnaryExpression(ISerializationContext context, UnaryExpression semanticObject) { if (errorAcceptor != null) { @@ -1614,43 +1690,66 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNARY_EXPRESSION__BODY)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0(), semanticObject.getOp()); - feeder.accept(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0(), semanticObject.getBody()); + feeder.accept(grammarAccess.getUnaryExpressionAccess().getOpUnaryOperatorEnumRuleCall_1_1_0(), semanticObject.getOp()); + feeder.accept(grammarAccess.getUnaryExpressionAccess().getBodyBracedAggregateExpressionParserRuleCall_1_2_0(), semanticObject.getBody()); feeder.finish(); } /** * Contexts: - * Statement returns UnnamedErrorPrediateDefinition - * UnnamedErrorPrediateDefinition returns UnnamedErrorPrediateDefinition + * Multiplicity returns UnboundedMultiplicity + * UnboundedMultiplicity returns UnboundedMultiplicity + * + * Constraint: + * {UnboundedMultiplicity} + */ + protected void sequence_UnboundedMultiplicity(ISerializationContext context, UnboundedMultiplicity semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Statement returns UnnamedErrorPredicateDefintion + * UnnamedErrorPredicateDefintion returns UnnamedErrorPredicateDefintion * * Constraint: * (argumentList=ArgumentList body=Expression) */ - protected void sequence_UnnamedErrorPrediateDefinition(ISerializationContext context, UnnamedErrorPrediateDefinition semanticObject) { + protected void sequence_UnnamedErrorPredicateDefintion(ISerializationContext context, UnnamedErrorPredicateDefintion semanticObject) { if (errorAcceptor != null) { - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST)); - if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY) == ValueTransient.YES) - errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDICATE_DEFINTION__ARGUMENT_LIST)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDICATE_DEFINTION__BODY)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0(), semanticObject.getArgumentList()); - feeder.accept(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody()); + feeder.accept(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getArgumentListArgumentListParserRuleCall_1_0(), semanticObject.getArgumentList()); + feeder.accept(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody()); feeder.finish(); } /** * Contexts: - * Variable returns Variable + * Import returns UriImport + * UriImport returns UriImport * * Constraint: - * (type=[NamedElement|QualifiedName]? name=ID) + * (uri=STRING alias=QualifiedName) */ - protected void sequence_Variable(ISerializationContext context, Variable semanticObject) { - genericSequencer.createSequence(context, semanticObject); + protected void sequence_UriImport(ISerializationContext context, UriImport semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.URI_IMPORT__URI) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.URI_IMPORT__URI)); + if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.IMPORT__ALIAS) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.IMPORT__ALIAS)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getUriImportAccess().getUriSTRINGTerminalRuleCall_1_0(), semanticObject.getUri()); + feeder.accept(grammarAccess.getUriImportAccess().getAliasQualifiedNameParserRuleCall_2_1_0(), semanticObject.getAlias()); + feeder.finish(); } diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java index 8b187721..2f9ea8a3 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 @@ -11,6 +11,8 @@ import org.eclipse.xtext.IGrammarAccess; import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.nodemodel.INode; import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.AlternativeAlias; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias; import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias; import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable; import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition; @@ -22,14 +24,20 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer protected SolverLanguageGrammarAccess grammarAccess; protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_4_0_a; protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_4_0_p; - protected AbstractElementAlias match_MemberDefinition_SemicolonKeyword_5_q; + protected AbstractElementAlias match_ClassDeclaration_FULL_STOPTerminalRuleCall_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__; + protected AbstractElementAlias match_EnumDeclaration_CommaKeyword_2_0_1_1_0_q; + protected AbstractElementAlias match_EnumDeclaration_FULL_STOPTerminalRuleCall_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__; + protected AbstractElementAlias match_Field_SemicolonKeyword_5_q; @Inject protected void init(IGrammarAccess access) { grammarAccess = (SolverLanguageGrammarAccess) access; match_AtomicExpression_LeftParenthesisKeyword_4_0_a = new TokenAlias(true, true, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_4_0()); match_AtomicExpression_LeftParenthesisKeyword_4_0_p = new TokenAlias(true, false, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_4_0()); - match_MemberDefinition_SemicolonKeyword_5_q = new TokenAlias(false, true, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); + match_ClassDeclaration_FULL_STOPTerminalRuleCall_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()), new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2())), new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getFULL_STOPTerminalRuleCall_4_1())); + match_EnumDeclaration_CommaKeyword_2_0_1_1_0_q = new TokenAlias(false, true, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0()); + match_EnumDeclaration_FULL_STOPTerminalRuleCall_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0()), new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2())), new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getFULL_STOPTerminalRuleCall_2_1())); + match_Field_SemicolonKeyword_5_q = new TokenAlias(false, true, grammarAccess.getFieldAccess().getSemicolonKeyword_5()); } @Override @@ -71,8 +79,14 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer emit_AtomicExpression_LeftParenthesisKeyword_4_0_a(semanticObject, getLastNavigableState(), syntaxNodes); else if (match_AtomicExpression_LeftParenthesisKeyword_4_0_p.equals(syntax)) emit_AtomicExpression_LeftParenthesisKeyword_4_0_p(semanticObject, getLastNavigableState(), syntaxNodes); - else if (match_MemberDefinition_SemicolonKeyword_5_q.equals(syntax)) - emit_MemberDefinition_SemicolonKeyword_5_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_ClassDeclaration_FULL_STOPTerminalRuleCall_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__.equals(syntax)) + emit_ClassDeclaration_FULL_STOPTerminalRuleCall_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_EnumDeclaration_CommaKeyword_2_0_1_1_0_q.equals(syntax)) + emit_EnumDeclaration_CommaKeyword_2_0_1_1_0_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_EnumDeclaration_FULL_STOPTerminalRuleCall_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__.equals(syntax)) + emit_EnumDeclaration_FULL_STOPTerminalRuleCall_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_Field_SemicolonKeyword_5_q.equals(syntax)) + emit_Field_SemicolonKeyword_5_q(semanticObject, getLastNavigableState(), syntaxNodes); else acceptNodes(getLastNavigableState(), syntaxNodes); } } @@ -82,26 +96,25 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer * '('* * * This ambiguous syntax occurs at: - * (rule start) (ambiguity) '[' lowerBound=Expression + * (rule start) (ambiguity) '[' lowerBound=AdditiveExpression + * (rule start) (ambiguity) 'count' '{' condition=Expression * (rule start) (ambiguity) 'empty' (rule start) - * (rule start) (ambiguity) 'empty' FULL_STOP (rule start) - * (rule start) (ambiguity) 'if' condition=Expression + * (rule start) (ambiguity) 'if' condition=DisjunctiveExpression * (rule start) (ambiguity) 'inf' (rule start) - * (rule start) (ambiguity) 'inf' FULL_STOP (rule start) * (rule start) (ambiguity) 'let' bindings+=LetBinding + * (rule start) (ambiguity) components+=PathComponent * (rule start) (ambiguity) functor=Reference - * (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) op=UnaryOperator + * (rule start) (ambiguity) op=[Symbol|QualifiedName] + * (rule start) (ambiguity) value=INT * (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+=} + * (rule start) (ambiguity) {Forall.condition=} * (rule start) (ambiguity) {Switch.cases+=} */ protected void emit_AtomicExpression_LeftParenthesisKeyword_4_0_a(EObject semanticObject, ISynNavigable transition, List nodes) { @@ -113,31 +126,65 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer * '('+ * * This ambiguous syntax occurs at: - * (rule start) (ambiguity) 'if' condition=Expression + * (rule start) (ambiguity) 'count' '{' condition=Expression + * (rule start) (ambiguity) 'if' condition=DisjunctiveExpression * (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) op=UnaryOperator + * (rule start) (ambiguity) op=[Symbol|QualifiedName] * (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+=} + * (rule start) (ambiguity) {Forall.condition=} * (rule start) (ambiguity) {Switch.cases+=} */ protected void emit_AtomicExpression_LeftParenthesisKeyword_4_0_p(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } + /** + * Ambiguous syntax: + * ('{' '}') | FULL_STOP + * + * This ambiguous syntax occurs at: + * name=ID (ambiguity) (rule end) + * supertypes+=[Symbol|QualifiedName] (ambiguity) (rule end) + */ + protected void emit_ClassDeclaration_FULL_STOPTerminalRuleCall_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * ','? + * + * This ambiguous syntax occurs at: + * literals+=EnumLiteral (ambiguity) literals+=EnumLiteral + */ + protected void emit_EnumDeclaration_CommaKeyword_2_0_1_1_0_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * ('{' '}') | FULL_STOP + * + * This ambiguous syntax occurs at: + * name=ID (ambiguity) (rule end) + */ + protected void emit_EnumDeclaration_FULL_STOPTerminalRuleCall_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + /** * Ambiguous syntax: * ';'? * * This ambiguous syntax occurs at: * name=ID (ambiguity) (rule end) - * opposite=[NamedElement|QualifiedName] (ambiguity) (rule end) + * opposite=[Symbol|QualifiedName] (ambiguity) (rule end) */ - protected void emit_MemberDefinition_SemicolonKeyword_5_q(EObject semanticObject, ISynNavigable transition, List nodes) { + protected void emit_Field_SemicolonKeyword_5_q(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java index ed1569a5..a70729d4 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 @@ -19,6 +19,7 @@ import org.eclipse.xtext.Keyword; import org.eclipse.xtext.ParserRule; import org.eclipse.xtext.RuleCall; import org.eclipse.xtext.TerminalRule; +import org.eclipse.xtext.UnorderedGroup; import org.eclipse.xtext.common.services.TerminalsGrammarAccess; import org.eclipse.xtext.service.AbstractElementFinder.AbstractEnumRuleElementFinder; import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder; @@ -29,91 +30,214 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { public class ProblemElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Problem"); - private final Assignment cStatementsAssignment = (Assignment)rule.eContents().get(1); - private final RuleCall cStatementsStatementParserRuleCall_0 = (RuleCall)cStatementsAssignment.eContents().get(0); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cGroup.eContents().get(0); + private final Keyword cProblemKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); + private final Assignment cNameAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); + private final RuleCall cNameQualifiedNameParserRuleCall_0_1_0 = (RuleCall)cNameAssignment_0_1.eContents().get(0); + private final RuleCall cFULL_STOPTerminalRuleCall_0_2 = (RuleCall)cGroup_0.eContents().get(2); + private final Assignment cImportsAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cImportsImportParserRuleCall_1_0 = (RuleCall)cImportsAssignment_1.eContents().get(0); + private final Assignment cStatementsAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cStatementsStatementParserRuleCall_2_0 = (RuleCall)cStatementsAssignment_2.eContents().get(0); //Problem: + // ("problem" name=QualifiedName FULL_STOP)? + // imports+=Import* // statements+=Statement*; @Override public ParserRule getRule() { return rule; } + //("problem" name=QualifiedName FULL_STOP)? imports+=Import* statements+=Statement* + public Group getGroup() { return cGroup; } + + //("problem" name=QualifiedName FULL_STOP)? + public Group getGroup_0() { return cGroup_0; } + + //"problem" + public Keyword getProblemKeyword_0_0() { return cProblemKeyword_0_0; } + + //name=QualifiedName + public Assignment getNameAssignment_0_1() { return cNameAssignment_0_1; } + + //QualifiedName + public RuleCall getNameQualifiedNameParserRuleCall_0_1_0() { return cNameQualifiedNameParserRuleCall_0_1_0; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_0_2() { return cFULL_STOPTerminalRuleCall_0_2; } + + //imports+=Import* + public Assignment getImportsAssignment_1() { return cImportsAssignment_1; } + + //Import + public RuleCall getImportsImportParserRuleCall_1_0() { return cImportsImportParserRuleCall_1_0; } + //statements+=Statement* - public Assignment getStatementsAssignment() { return cStatementsAssignment; } + public Assignment getStatementsAssignment_2() { return cStatementsAssignment_2; } //Statement - public RuleCall getStatementsStatementParserRuleCall_0() { return cStatementsStatementParserRuleCall_0; } + public RuleCall getStatementsStatementParserRuleCall_2_0() { return cStatementsStatementParserRuleCall_2_0; } } public class StatementElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); - private final RuleCall cAssertionOrDefinitionParserRuleCall_0_0 = (RuleCall)cAlternatives_0.eContents().get(0); - private final RuleCall cPredicateDefinitionParserRuleCall_0_1 = (RuleCall)cAlternatives_0.eContents().get(1); - private final RuleCall cUnnamedErrorPrediateDefinitionParserRuleCall_0_2 = (RuleCall)cAlternatives_0.eContents().get(2); - private final RuleCall cDefaultDefinitionParserRuleCall_0_3 = (RuleCall)cAlternatives_0.eContents().get(3); - private final RuleCall 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 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); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cAssertionOrDefinitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cPredicateDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cUnnamedErrorPredicateDefintionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cDefaultAssertionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final RuleCall cFunctionDefinitionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); + private final RuleCall cAttributeParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); + private final RuleCall cExternDeclarationParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); + private final RuleCall cScopeDeclarationParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7); + private final RuleCall cObjectiveDeclarationParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8); + private final RuleCall cClassDeclarationParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9); + private final RuleCall cEnumDeclarationParserRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10); //Statement: - // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition - // | ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | - // ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP; + // AssertionOrDefinition | PredicateDefinition | UnnamedErrorPredicateDefintion | DefaultAssertion | FunctionDefinition + // | Attribute | ExternDeclaration | ScopeDeclaration | ObjectiveDeclaration | ClassDeclaration | EnumDeclaration; @Override public ParserRule getRule() { return rule; } - //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition | - //ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | - //ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP - public Group getGroup() { return cGroup; } - - //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition | - //ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | - //ClassDefinition | ScopeDefinition | ObjectiveDefinition) - public Alternatives getAlternatives_0() { return cAlternatives_0; } + //AssertionOrDefinition | PredicateDefinition | UnnamedErrorPredicateDefintion | DefaultAssertion | FunctionDefinition | + //Attribute | ExternDeclaration | ScopeDeclaration | ObjectiveDeclaration | ClassDeclaration | EnumDeclaration + public Alternatives getAlternatives() { return cAlternatives; } //AssertionOrDefinition - public RuleCall getAssertionOrDefinitionParserRuleCall_0_0() { return cAssertionOrDefinitionParserRuleCall_0_0; } + public RuleCall getAssertionOrDefinitionParserRuleCall_0() { return cAssertionOrDefinitionParserRuleCall_0; } //PredicateDefinition - public RuleCall getPredicateDefinitionParserRuleCall_0_1() { return cPredicateDefinitionParserRuleCall_0_1; } + public RuleCall getPredicateDefinitionParserRuleCall_1() { return cPredicateDefinitionParserRuleCall_1; } - //UnnamedErrorPrediateDefinition - public RuleCall getUnnamedErrorPrediateDefinitionParserRuleCall_0_2() { return cUnnamedErrorPrediateDefinitionParserRuleCall_0_2; } + //UnnamedErrorPredicateDefintion + public RuleCall getUnnamedErrorPredicateDefintionParserRuleCall_2() { return cUnnamedErrorPredicateDefintionParserRuleCall_2; } - //DefaultDefinition - public RuleCall getDefaultDefinitionParserRuleCall_0_3() { return cDefaultDefinitionParserRuleCall_0_3; } + //DefaultAssertion + public RuleCall getDefaultAssertionParserRuleCall_3() { return cDefaultAssertionParserRuleCall_3; } - //MetricDefinition - public RuleCall getMetricDefinitionParserRuleCall_0_4() { return cMetricDefinitionParserRuleCall_0_4; } + //FunctionDefinition + public RuleCall getFunctionDefinitionParserRuleCall_4() { return cFunctionDefinitionParserRuleCall_4; } - //ExternPredicateDefinition - public RuleCall getExternPredicateDefinitionParserRuleCall_0_5() { return cExternPredicateDefinitionParserRuleCall_0_5; } + //Attribute + public RuleCall getAttributeParserRuleCall_5() { return cAttributeParserRuleCall_5; } - //ExternMetricDefinition - public RuleCall getExternMetricDefinitionParserRuleCall_0_6() { return cExternMetricDefinitionParserRuleCall_0_6; } + //ExternDeclaration + public RuleCall getExternDeclarationParserRuleCall_6() { return cExternDeclarationParserRuleCall_6; } - //ExternAggregatorDefinition - public RuleCall getExternAggregatorDefinitionParserRuleCall_0_7() { return cExternAggregatorDefinitionParserRuleCall_0_7; } + //ScopeDeclaration + public RuleCall getScopeDeclarationParserRuleCall_7() { return cScopeDeclarationParserRuleCall_7; } - //ExternDatatypeDefinition - public RuleCall getExternDatatypeDefinitionParserRuleCall_0_8() { return cExternDatatypeDefinitionParserRuleCall_0_8; } + //ObjectiveDeclaration + public RuleCall getObjectiveDeclarationParserRuleCall_8() { return cObjectiveDeclarationParserRuleCall_8; } - //ClassDefinition - public RuleCall getClassDefinitionParserRuleCall_0_9() { return cClassDefinitionParserRuleCall_0_9; } + //ClassDeclaration + public RuleCall getClassDeclarationParserRuleCall_9() { return cClassDeclarationParserRuleCall_9; } - //ScopeDefinition - public RuleCall getScopeDefinitionParserRuleCall_0_10() { return cScopeDefinitionParserRuleCall_0_10; } + //EnumDeclaration + public RuleCall getEnumDeclarationParserRuleCall_10() { return cEnumDeclarationParserRuleCall_10; } + } + public class ImportElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Import"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cUriImportParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cNamespaceImportParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - //ObjectiveDefinition - public RuleCall getObjectiveDefinitionParserRuleCall_0_11() { return cObjectiveDefinitionParserRuleCall_0_11; } + //Import: + // UriImport | NamespaceImport; + @Override public ParserRule getRule() { return rule; } + + //UriImport | NamespaceImport + public Alternatives getAlternatives() { return cAlternatives; } + + //UriImport + public RuleCall getUriImportParserRuleCall_0() { return cUriImportParserRuleCall_0; } + + //NamespaceImport + public RuleCall getNamespaceImportParserRuleCall_1() { return cNamespaceImportParserRuleCall_1; } + } + public class UriImportElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UriImport"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cUriAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cUriSTRINGTerminalRuleCall_1_0 = (RuleCall)cUriAssignment_1.eContents().get(0); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cAsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cAliasAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final RuleCall cAliasQualifiedNameParserRuleCall_2_1_0 = (RuleCall)cAliasAssignment_2_1.eContents().get(0); + private final RuleCall cFULL_STOPTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3); + + //UriImport: + // "import" uri=STRING ("as" alias=QualifiedName) FULL_STOP; + @Override public ParserRule getRule() { return rule; } + + //"import" uri=STRING ("as" alias=QualifiedName) FULL_STOP + public Group getGroup() { return cGroup; } + + //"import" + public Keyword getImportKeyword_0() { return cImportKeyword_0; } + + //uri=STRING + public Assignment getUriAssignment_1() { return cUriAssignment_1; } + + //STRING + public RuleCall getUriSTRINGTerminalRuleCall_1_0() { return cUriSTRINGTerminalRuleCall_1_0; } + + //("as" alias=QualifiedName) + public Group getGroup_2() { return cGroup_2; } + + //"as" + public Keyword getAsKeyword_2_0() { return cAsKeyword_2_0; } + + //alias=QualifiedName + public Assignment getAliasAssignment_2_1() { return cAliasAssignment_2_1; } + + //QualifiedName + public RuleCall getAliasQualifiedNameParserRuleCall_2_1_0() { return cAliasQualifiedNameParserRuleCall_2_1_0; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_3() { return cFULL_STOPTerminalRuleCall_3; } + } + public class NamespaceImportElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NamespaceImport"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cImportedNamespaceAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cImportedNamespaceQualifiedNameParserRuleCall_1_0 = (RuleCall)cImportedNamespaceAssignment_1.eContents().get(0); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cAsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cAliasAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final RuleCall cAliasQualifiedNameParserRuleCall_2_1_0 = (RuleCall)cAliasAssignment_2_1.eContents().get(0); + private final RuleCall cFULL_STOPTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3); + + //NamespaceImport: + // "import" importedNamespace=QualifiedName ("as" alias=QualifiedName) FULL_STOP; + @Override public ParserRule getRule() { return rule; } + + //"import" importedNamespace=QualifiedName ("as" alias=QualifiedName) FULL_STOP + public Group getGroup() { return cGroup; } + + //"import" + public Keyword getImportKeyword_0() { return cImportKeyword_0; } + + //importedNamespace=QualifiedName + public Assignment getImportedNamespaceAssignment_1() { return cImportedNamespaceAssignment_1; } + + //QualifiedName + public RuleCall getImportedNamespaceQualifiedNameParserRuleCall_1_0() { return cImportedNamespaceQualifiedNameParserRuleCall_1_0; } + + //("as" alias=QualifiedName) + public Group getGroup_2() { return cGroup_2; } + + //"as" + public Keyword getAsKeyword_2_0() { return cAsKeyword_2_0; } + + //alias=QualifiedName + public Assignment getAliasAssignment_2_1() { return cAliasAssignment_2_1; } + + //QualifiedName + public RuleCall getAliasQualifiedNameParserRuleCall_2_1_0() { return cAliasQualifiedNameParserRuleCall_2_1_0; } //FULL_STOP - public RuleCall getFULL_STOPTerminalRuleCall_1() { return cFULL_STOPTerminalRuleCall_1; } + public RuleCall getFULL_STOPTerminalRuleCall_3() { return cFULL_STOPTerminalRuleCall_3; } } public class AssertionOrDefinitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AssertionOrDefinition"); @@ -121,51 +245,56 @@ 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 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 Action cAssertionExpressionAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); + private final Group cGroup_1_0_1 = (Group)cGroup_1_0.eContents().get(1); + private final Keyword cColonKeyword_1_0_1_0 = (Keyword)cGroup_1_0_1.eContents().get(0); + private final Assignment cRangeAssignment_1_0_1_1 = (Assignment)cGroup_1_0_1.eContents().get(1); + private final RuleCall cRangeExpressionParserRuleCall_1_0_1_1_0 = (RuleCall)cRangeAssignment_1_0_1_1.eContents().get(0); private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); private final Action cPredicateDefinitionHeadAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); private final Keyword cColonHyphenMinusKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); private final Assignment cBodyAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); private final RuleCall cBodyExpressionParserRuleCall_1_1_2_0 = (RuleCall)cBodyAssignment_1_1_2.eContents().get(0); private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2); - private final Action cMetricDefinitionHeadAction_1_2_0 = (Action)cGroup_1_2.eContents().get(0); - private final Keyword cEqualsSignKeyword_1_2_1 = (Keyword)cGroup_1_2.eContents().get(1); + private final Action cFunctionDefinitionHeadAction_1_2_0 = (Action)cGroup_1_2.eContents().get(0); + private final Keyword cColonEqualsSignKeyword_1_2_1 = (Keyword)cGroup_1_2.eContents().get(1); private final Assignment cBodyAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2); private final RuleCall cBodyExpressionParserRuleCall_1_2_2_0 = (RuleCall)cBodyAssignment_1_2_2.eContents().get(0); + private final RuleCall cFULL_STOPTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2); //AssertionOrDefinition Statement: - // Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" - // body=Expression | {MetricDefinition.head=current} "=" body=Expression)?; + // Expression ({Assertion.expression=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" + // body=Expression | {FunctionDefinition.head=current} ":=" body=Expression) FULL_STOP; @Override public ParserRule getRule() { return rule; } - //Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" body=Expression - //| {MetricDefinition.head=current} "=" body=Expression)? + //Expression ({Assertion.expression=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" + //body=Expression | {FunctionDefinition.head=current} ":=" body=Expression) FULL_STOP public Group getGroup() { return cGroup; } //Expression public RuleCall getExpressionParserRuleCall_0() { return cExpressionParserRuleCall_0; } - //({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" body=Expression | - //{MetricDefinition.head=current} "=" body=Expression)? + //({Assertion.expression=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" body=Expression | + //{FunctionDefinition.head=current} ":=" body=Expression) public Alternatives getAlternatives_1() { return cAlternatives_1; } - //{Interpretation.body=current} ":" range=Expression + //{Assertion.expression=current} (":" range=Expression)? public Group getGroup_1_0() { return cGroup_1_0; } - //{Interpretation.body=current} - public Action getInterpretationBodyAction_1_0_0() { return cInterpretationBodyAction_1_0_0; } + //{Assertion.expression=current} + public Action getAssertionExpressionAction_1_0_0() { return cAssertionExpressionAction_1_0_0; } + + //(":" range=Expression)? + public Group getGroup_1_0_1() { return cGroup_1_0_1; } //":" - public Keyword getColonKeyword_1_0_1() { return cColonKeyword_1_0_1; } + public Keyword getColonKeyword_1_0_1_0() { return cColonKeyword_1_0_1_0; } //range=Expression - public Assignment getRangeAssignment_1_0_2() { return cRangeAssignment_1_0_2; } + public Assignment getRangeAssignment_1_0_1_1() { return cRangeAssignment_1_0_1_1; } //Expression - public RuleCall getRangeExpressionParserRuleCall_1_0_2_0() { return cRangeExpressionParserRuleCall_1_0_2_0; } + public RuleCall getRangeExpressionParserRuleCall_1_0_1_1_0() { return cRangeExpressionParserRuleCall_1_0_1_1_0; } //{PredicateDefinition.head=current} ":-" body=Expression public Group getGroup_1_1() { return cGroup_1_1; } @@ -182,20 +311,23 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //Expression public RuleCall getBodyExpressionParserRuleCall_1_1_2_0() { return cBodyExpressionParserRuleCall_1_1_2_0; } - //{MetricDefinition.head=current} "=" body=Expression + //{FunctionDefinition.head=current} ":=" body=Expression public Group getGroup_1_2() { return cGroup_1_2; } - //{MetricDefinition.head=current} - public Action getMetricDefinitionHeadAction_1_2_0() { return cMetricDefinitionHeadAction_1_2_0; } + //{FunctionDefinition.head=current} + public Action getFunctionDefinitionHeadAction_1_2_0() { return cFunctionDefinitionHeadAction_1_2_0; } - //"=" - public Keyword getEqualsSignKeyword_1_2_1() { return cEqualsSignKeyword_1_2_1; } + //":=" + public Keyword getColonEqualsSignKeyword_1_2_1() { return cColonEqualsSignKeyword_1_2_1; } //body=Expression public Assignment getBodyAssignment_1_2_2() { return cBodyAssignment_1_2_2; } //Expression public RuleCall getBodyExpressionParserRuleCall_1_2_2_0() { return cBodyExpressionParserRuleCall_1_2_2_0; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_2() { return cFULL_STOPTerminalRuleCall_2; } } public class PredicateDefinitionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PredicateDefinition"); @@ -216,12 +348,15 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); + private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4); //PredicateDefinition: - // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression; + // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression + // FULL_STOP; @Override public ParserRule getRule() { return rule; } //(functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression + //FULL_STOP public Group getGroup() { return cGroup; } //(functional?="functional" error?="error"? | error?="error" functional?="functional"?) @@ -271,9 +406,12 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //Expression public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; } } - public class UnnamedErrorPrediateDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnnamedErrorPrediateDefinition"); + public class UnnamedErrorPredicateDefintionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnnamedErrorPredicateDefintion"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cErrorKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cArgumentListAssignment_1 = (Assignment)cGroup.eContents().get(1); @@ -281,12 +419,13 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final Keyword cColonHyphenMinusKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); + private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4); - //UnnamedErrorPrediateDefinition: - // "error" argumentList=ArgumentList ":-" body=Expression; + //UnnamedErrorPredicateDefintion: + // "error" argumentList=ArgumentList ":-" body=Expression FULL_STOP; @Override public ParserRule getRule() { return rule; } - //"error" argumentList=ArgumentList ":-" body=Expression + //"error" argumentList=ArgumentList ":-" body=Expression FULL_STOP public Group getGroup() { return cGroup; } //"error" @@ -306,69 +445,81 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //Expression public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; } } - public class DefaultDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DefaultDefinition"); + public class DefaultAssertionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DefaultAssertion"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cDefaultKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0); - private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cRangeAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cRangeExpressionParserRuleCall_3_0 = (RuleCall)cRangeAssignment_3.eContents().get(0); + private final Assignment cExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cExpressionCallParserRuleCall_1_0 = (RuleCall)cExpressionAssignment_1.eContents().get(0); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cColonKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cRangeAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final RuleCall cRangeExpressionParserRuleCall_2_1_0 = (RuleCall)cRangeAssignment_2_1.eContents().get(0); + private final RuleCall cFULL_STOPTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3); - //DefaultDefinition: - // "default" head=Call ":" range=Expression; + //DefaultAssertion: + // "default" expression=Call (":" range=Expression)? FULL_STOP; @Override public ParserRule getRule() { return rule; } - //"default" head=Call ":" range=Expression + //"default" expression=Call (":" range=Expression)? FULL_STOP public Group getGroup() { return cGroup; } //"default" public Keyword getDefaultKeyword_0() { return cDefaultKeyword_0; } - //head=Call - public Assignment getHeadAssignment_1() { return cHeadAssignment_1; } + //expression=Call + public Assignment getExpressionAssignment_1() { return cExpressionAssignment_1; } //Call - public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; } + public RuleCall getExpressionCallParserRuleCall_1_0() { return cExpressionCallParserRuleCall_1_0; } + + //(":" range=Expression)? + public Group getGroup_2() { return cGroup_2; } //":" - public Keyword getColonKeyword_2() { return cColonKeyword_2; } + public Keyword getColonKeyword_2_0() { return cColonKeyword_2_0; } //range=Expression - public Assignment getRangeAssignment_3() { return cRangeAssignment_3; } + public Assignment getRangeAssignment_2_1() { return cRangeAssignment_2_1; } //Expression - public RuleCall getRangeExpressionParserRuleCall_3_0() { return cRangeExpressionParserRuleCall_3_0; } + public RuleCall getRangeExpressionParserRuleCall_2_1_0() { return cRangeExpressionParserRuleCall_2_1_0; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_3() { return cFULL_STOPTerminalRuleCall_3; } } - public class MetricDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricDefinition"); + public class FunctionDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.FunctionDefinition"); 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 cResultTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final CrossReference cResultTypeSymbolCrossReference_0_0 = (CrossReference)cResultTypeAssignment_0.eContents().get(0); + private final RuleCall cResultTypeSymbolQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cResultTypeSymbolCrossReference_0_0.eContents().get(1); private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0); - private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cColonEqualsSignKeyword_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 RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4); - //MetricDefinition: - // type=[NamedElement|QualifiedName] head=Call "=" body=Expression; + //FunctionDefinition: + // resultType=[Symbol|QualifiedName] head=Call ":=" body=Expression FULL_STOP; @Override public ParserRule getRule() { return rule; } - //type=[NamedElement|QualifiedName] head=Call "=" body=Expression + //resultType=[Symbol|QualifiedName] head=Call ":=" body=Expression FULL_STOP public Group getGroup() { return cGroup; } - //type=[NamedElement|QualifiedName] - public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } + //resultType=[Symbol|QualifiedName] + public Assignment getResultTypeAssignment_0() { return cResultTypeAssignment_0; } - //[NamedElement|QualifiedName] - public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; } + //[Symbol|QualifiedName] + public CrossReference getResultTypeSymbolCrossReference_0_0() { return cResultTypeSymbolCrossReference_0_0; } //QualifiedName - public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; } + public RuleCall getResultTypeSymbolQualifiedNameParserRuleCall_0_0_1() { return cResultTypeSymbolQualifiedNameParserRuleCall_0_0_1; } //head=Call public Assignment getHeadAssignment_1() { return cHeadAssignment_1; } @@ -376,76 +527,199 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //Call public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; } - //"=" - public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; } + //":=" + public Keyword getColonEqualsSignKeyword_2() { return cColonEqualsSignKeyword_2; } //body=Expression public Assignment getBodyAssignment_3() { return cBodyAssignment_3; } //Expression public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; } + } + public class TypeReferenceElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypeReference"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final CrossReference cTypeSymbolCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0); + private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeSymbolCrossReference_0_0.eContents().get(1); + private final Assignment cForceObjectTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final Keyword cForceObjectTypeObjectKeyword_1_0 = (Keyword)cForceObjectTypeAssignment_1.eContents().get(0); + + //TypeReference: + // type=[Symbol|QualifiedName] forceObjectType?="object"?; + @Override public ParserRule getRule() { return rule; } + + //type=[Symbol|QualifiedName] forceObjectType?="object"? + public Group getGroup() { return cGroup; } + + //type=[Symbol|QualifiedName] + public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } + + //[Symbol|QualifiedName] + public CrossReference getTypeSymbolCrossReference_0_0() { return cTypeSymbolCrossReference_0_0; } + + //QualifiedName + public RuleCall getTypeSymbolQualifiedNameParserRuleCall_0_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_0_0_1; } + + //forceObjectType?="object"? + public Assignment getForceObjectTypeAssignment_1() { return cForceObjectTypeAssignment_1; } + + //"object" + public Keyword getForceObjectTypeObjectKeyword_1_0() { return cForceObjectTypeObjectKeyword_1_0; } + } + public class AttributeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Attribute"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cKindAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cKindAttributeKindEnumRuleCall_0_0 = (RuleCall)cKindAssignment_0.eContents().get(0); + private final Assignment cTargetAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cTargetSymbolCrossReference_1_0 = (CrossReference)cTargetAssignment_1.eContents().get(0); + private final RuleCall cTargetSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTargetSymbolCrossReference_1_0.eContents().get(1); + private final RuleCall cFULL_STOPTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2); + + //Attribute: + // kind=AttributeKind target=[Symbol|QualifiedName] FULL_STOP; + @Override public ParserRule getRule() { return rule; } + + //kind=AttributeKind target=[Symbol|QualifiedName] FULL_STOP + public Group getGroup() { return cGroup; } + + //kind=AttributeKind + public Assignment getKindAssignment_0() { return cKindAssignment_0; } + + //AttributeKind + public RuleCall getKindAttributeKindEnumRuleCall_0_0() { return cKindAttributeKindEnumRuleCall_0_0; } + + //target=[Symbol|QualifiedName] + public Assignment getTargetAssignment_1() { return cTargetAssignment_1; } + + //[Symbol|QualifiedName] + public CrossReference getTargetSymbolCrossReference_1_0() { return cTargetSymbolCrossReference_1_0; } + + //QualifiedName + public RuleCall getTargetSymbolQualifiedNameParserRuleCall_1_0_1() { return cTargetSymbolQualifiedNameParserRuleCall_1_0_1; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_2() { return cFULL_STOPTerminalRuleCall_2; } } - public class ExternPredicateDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternPredicateDefinition"); + public class ExternDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternDeclaration"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cExternPredicateDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cExternFunctionDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cExternAggregationOperatorDeclarationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cExternDatatypeDeclarationParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + + //ExternDeclaration: + // ExternPredicateDeclaration | ExternFunctionDeclaration | ExternAggregationOperatorDeclaration | + // ExternDatatypeDeclaration; + @Override public ParserRule getRule() { return rule; } + + //ExternPredicateDeclaration | ExternFunctionDeclaration | ExternAggregationOperatorDeclaration | + //ExternDatatypeDeclaration + public Alternatives getAlternatives() { return cAlternatives; } + + //ExternPredicateDeclaration + public RuleCall getExternPredicateDeclarationParserRuleCall_0() { return cExternPredicateDeclarationParserRuleCall_0; } + + //ExternFunctionDeclaration + public RuleCall getExternFunctionDeclarationParserRuleCall_1() { return cExternFunctionDeclarationParserRuleCall_1; } + + //ExternAggregationOperatorDeclaration + public RuleCall getExternAggregationOperatorDeclarationParserRuleCall_2() { return cExternAggregationOperatorDeclarationParserRuleCall_2; } + + //ExternDatatypeDeclaration + public RuleCall getExternDatatypeDeclarationParserRuleCall_3() { return cExternDatatypeDeclarationParserRuleCall_3; } + } + public class ExternPredicateDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternPredicateDeclaration"); 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); + private final UnorderedGroup cUnorderedGroup_1 = (UnorderedGroup)cGroup.eContents().get(1); + private final Assignment cFunctionalAssignment_1_0 = (Assignment)cUnorderedGroup_1.eContents().get(0); + private final Keyword cFunctionalFunctionalKeyword_1_0_0 = (Keyword)cFunctionalAssignment_1_0.eContents().get(0); + private final Assignment cErrorAssignment_1_1 = (Assignment)cUnorderedGroup_1.eContents().get(1); + private final Keyword cErrorErrorKeyword_1_1_0 = (Keyword)cErrorAssignment_1_1.eContents().get(0); + 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); + private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4); - //ExternPredicateDefinition: - // "extern" name=QualifiedName argumentList=ArgumentList; + //ExternPredicateDeclaration: + // "extern" (functional?="functional"? & error?="error"?) name=QualifiedName argumentList=ArgumentList FULL_STOP; @Override public ParserRule getRule() { return rule; } - //"extern" name=QualifiedName argumentList=ArgumentList + //"extern" (functional?="functional"? & error?="error"?) name=QualifiedName argumentList=ArgumentList FULL_STOP public Group getGroup() { return cGroup; } //"extern" public Keyword getExternKeyword_0() { return cExternKeyword_0; } + //(functional?="functional"? & error?="error"?) + public UnorderedGroup getUnorderedGroup_1() { return cUnorderedGroup_1; } + + //functional?="functional"? + public Assignment getFunctionalAssignment_1_0() { return cFunctionalAssignment_1_0; } + + //"functional" + public Keyword getFunctionalFunctionalKeyword_1_0_0() { return cFunctionalFunctionalKeyword_1_0_0; } + + //error?="error"? + public Assignment getErrorAssignment_1_1() { return cErrorAssignment_1_1; } + + //"error" + public Keyword getErrorErrorKeyword_1_1_0() { return cErrorErrorKeyword_1_1_0; } + //name=QualifiedName - public Assignment getNameAssignment_1() { return cNameAssignment_1; } + public Assignment getNameAssignment_2() { return cNameAssignment_2; } //QualifiedName - public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; } + public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; } //argumentList=ArgumentList - public Assignment getArgumentListAssignment_2() { return cArgumentListAssignment_2; } + public Assignment getArgumentListAssignment_3() { return cArgumentListAssignment_3; } //ArgumentList - public RuleCall getArgumentListArgumentListParserRuleCall_2_0() { return cArgumentListArgumentListParserRuleCall_2_0; } + public RuleCall getArgumentListArgumentListParserRuleCall_3_0() { return cArgumentListArgumentListParserRuleCall_3_0; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; } } - public class ExternMetricDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternMetricDefinition"); + public class ExternFunctionDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternFunctionDeclaration"); 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 cResultTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cResultTypeSymbolCrossReference_1_0 = (CrossReference)cResultTypeAssignment_1.eContents().get(0); + private final RuleCall cResultTypeSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cResultTypeSymbolCrossReference_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); + private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4); - //ExternMetricDefinition: - // "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList; + //ExternFunctionDeclaration: + // "extern" resultType=[Symbol|QualifiedName] name=QualifiedName argumentList=ArgumentList FULL_STOP; @Override public ParserRule getRule() { return rule; } - //"extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList + //"extern" resultType=[Symbol|QualifiedName] name=QualifiedName argumentList=ArgumentList FULL_STOP public Group getGroup() { return cGroup; } //"extern" public Keyword getExternKeyword_0() { return cExternKeyword_0; } - //type=[NamedElement|QualifiedName] - public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } + //resultType=[Symbol|QualifiedName] + public Assignment getResultTypeAssignment_1() { return cResultTypeAssignment_1; } - //[NamedElement|QualifiedName] - public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; } + //[Symbol|QualifiedName] + public CrossReference getResultTypeSymbolCrossReference_1_0() { return cResultTypeSymbolCrossReference_1_0; } //QualifiedName - public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; } + public RuleCall getResultTypeSymbolQualifiedNameParserRuleCall_1_0_1() { return cResultTypeSymbolQualifiedNameParserRuleCall_1_0_1; } //name=QualifiedName public Assignment getNameAssignment_2() { return cNameAssignment_2; } @@ -458,41 +732,47 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //ArgumentList public RuleCall getArgumentListArgumentListParserRuleCall_3_0() { return cArgumentListArgumentListParserRuleCall_3_0; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; } } - public class ExternAggregatorDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternAggregatorDefinition"); + public class ExternAggregationOperatorDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternAggregationOperatorDeclaration"); 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 cResultTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cResultTypeSymbolCrossReference_1_0 = (CrossReference)cResultTypeAssignment_1.eContents().get(0); + private final RuleCall cResultTypeSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cResultTypeSymbolCrossReference_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 Assignment cArgumentTypeAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final CrossReference cArgumentTypeSymbolCrossReference_4_0 = (CrossReference)cArgumentTypeAssignment_4.eContents().get(0); + private final RuleCall cArgumentTypeSymbolQualifiedNameParserRuleCall_4_0_1 = (RuleCall)cArgumentTypeSymbolCrossReference_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); + private final RuleCall cFULL_STOPTerminalRuleCall_7 = (RuleCall)cGroup.eContents().get(7); - //ExternAggregatorDefinition: - // "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}"; + //ExternAggregationOperatorDeclaration: + // "extern" resultType=[Symbol|QualifiedName] name=QualifiedName "{" argumentType=[Symbol|QualifiedName] "..." "}" + // FULL_STOP; @Override public ParserRule getRule() { return rule; } - //"extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}" + //"extern" resultType=[Symbol|QualifiedName] name=QualifiedName "{" argumentType=[Symbol|QualifiedName] "..." "}" + //FULL_STOP public Group getGroup() { return cGroup; } //"extern" public Keyword getExternKeyword_0() { return cExternKeyword_0; } - //type=[NamedElement|QualifiedName] - public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } + //resultType=[Symbol|QualifiedName] + public Assignment getResultTypeAssignment_1() { return cResultTypeAssignment_1; } - //[NamedElement|QualifiedName] - public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; } + //[Symbol|QualifiedName] + public CrossReference getResultTypeSymbolCrossReference_1_0() { return cResultTypeSymbolCrossReference_1_0; } //QualifiedName - public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; } + public RuleCall getResultTypeSymbolQualifiedNameParserRuleCall_1_0_1() { return cResultTypeSymbolQualifiedNameParserRuleCall_1_0_1; } //name=QualifiedName public Assignment getNameAssignment_2() { return cNameAssignment_2; } @@ -503,46 +783,38 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //"{" public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } - //inputType=[NamedElement|QualifiedName] - public Assignment getInputTypeAssignment_4() { return cInputTypeAssignment_4; } + //argumentType=[Symbol|QualifiedName] + public Assignment getArgumentTypeAssignment_4() { return cArgumentTypeAssignment_4; } - //[NamedElement|QualifiedName] - public CrossReference getInputTypeNamedElementCrossReference_4_0() { return cInputTypeNamedElementCrossReference_4_0; } + //[Symbol|QualifiedName] + public CrossReference getArgumentTypeSymbolCrossReference_4_0() { return cArgumentTypeSymbolCrossReference_4_0; } //QualifiedName - public RuleCall getInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1() { return cInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1; } + public RuleCall getArgumentTypeSymbolQualifiedNameParserRuleCall_4_0_1() { return cArgumentTypeSymbolQualifiedNameParserRuleCall_4_0_1; } //"..." public Keyword getFullStopFullStopFullStopKeyword_5() { return cFullStopFullStopFullStopKeyword_5; } //"}" public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_7() { return cFULL_STOPTerminalRuleCall_7; } } - public class ExternDatatypeDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternDatatypeDefinition"); + public class ExternDatatypeDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternDatatypeDeclaration"); 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); + private final RuleCall cFULL_STOPTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3); - //ExternDatatypeDefinition: - // "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," - // supertypes+=[NamedElement|QualifiedName])*); + //ExternDatatypeDeclaration: + // "extern" "datatype" name=QualifiedName FULL_STOP; @Override public ParserRule getRule() { return rule; } - //"extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," - //supertypes+=[NamedElement|QualifiedName])*) + //"extern" "datatype" name=QualifiedName FULL_STOP public Group getGroup() { return cGroup; } //"extern" @@ -557,96 +829,64 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //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; } + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_3() { return cFULL_STOPTerminalRuleCall_3; } } - 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); + 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 cConditionalExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cLetExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); + private final RuleCall cDisjunctiveExpressionParserRuleCall_2_0 = (RuleCall)cGroup_2.eContents().get(0); + private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); + private final Action cForallConditionAction_2_1_0 = (Action)cGroup_2_1.eContents().get(0); + private final Keyword cEqualsSignGreaterThanSignKeyword_2_1_1 = (Keyword)cGroup_2_1.eContents().get(1); + private final Assignment cBodyAssignment_2_1_2 = (Assignment)cGroup_2_1.eContents().get(2); + private final RuleCall cBodyDisjunctiveExpressionParserRuleCall_2_1_2_0 = (RuleCall)cBodyAssignment_2_1_2.eContents().get(0); - //Variable: - // type=[NamedElement|QualifiedName]? name=ID; + //Expression: + // ConditionalExpression | LetExpression | DisjunctiveExpression ({Forall.condition=current} "=>" + // body=DisjunctiveExpression)?; @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; } + //ConditionalExpression | LetExpression | DisjunctiveExpression ({Forall.condition=current} "=>" + //body=DisjunctiveExpression)? + public Alternatives getAlternatives() { return cAlternatives; } - //[NamedElement|QualifiedName] - public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; } + //ConditionalExpression + public RuleCall getConditionalExpressionParserRuleCall_0() { return cConditionalExpressionParserRuleCall_0; } - //QualifiedName - public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; } + //LetExpression + public RuleCall getLetExpressionParserRuleCall_1() { return cLetExpressionParserRuleCall_1; } - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } + //DisjunctiveExpression ({Forall.condition=current} "=>" body=DisjunctiveExpression)? + public Group getGroup_2() { return cGroup_2; } - //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 cLetParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cImplicationExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + //DisjunctiveExpression + public RuleCall getDisjunctiveExpressionParserRuleCall_2_0() { return cDisjunctiveExpressionParserRuleCall_2_0; } - //Expression: - // IfElse | Let | ImplicationExpression; - @Override public ParserRule getRule() { return rule; } + //({Forall.condition=current} "=>" body=DisjunctiveExpression)? + public Group getGroup_2_1() { return cGroup_2_1; } - //IfElse | Let | ImplicationExpression - public Alternatives getAlternatives() { return cAlternatives; } + //{Forall.condition=current} + public Action getForallConditionAction_2_1_0() { return cForallConditionAction_2_1_0; } - //IfElse - public RuleCall getIfElseParserRuleCall_0() { return cIfElseParserRuleCall_0; } + //"=>" + public Keyword getEqualsSignGreaterThanSignKeyword_2_1_1() { return cEqualsSignGreaterThanSignKeyword_2_1_1; } - //Let - public RuleCall getLetParserRuleCall_1() { return cLetParserRuleCall_1; } + //body=DisjunctiveExpression + public Assignment getBodyAssignment_2_1_2() { return cBodyAssignment_2_1_2; } - //ImplicationExpression - public RuleCall getImplicationExpressionParserRuleCall_2() { return cImplicationExpressionParserRuleCall_2; } + //DisjunctiveExpression + public RuleCall getBodyDisjunctiveExpressionParserRuleCall_2_1_2_0() { return cBodyDisjunctiveExpressionParserRuleCall_2_1_2_0; } } - public class IfElseElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IfElse"); + public class ConditionalExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ConditionalExpression"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cIfKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cConditionAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cConditionExpressionParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0); + private final RuleCall cConditionDisjunctiveExpressionParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0); private final Keyword cThenKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cThenAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cThenExpressionParserRuleCall_3_0 = (RuleCall)cThenAssignment_3.eContents().get(0); @@ -654,21 +894,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final Assignment cElseAssignment_5 = (Assignment)cGroup.eContents().get(5); private final RuleCall cElseExpressionParserRuleCall_5_0 = (RuleCall)cElseAssignment_5.eContents().get(0); - //IfElse: - // "if" condition=Expression "then" then=Expression "else" else=Expression; + //ConditionalExpression: + // "if" condition=DisjunctiveExpression "then" then=Expression "else" else=Expression; @Override public ParserRule getRule() { return rule; } - //"if" condition=Expression "then" then=Expression "else" else=Expression + //"if" condition=DisjunctiveExpression "then" then=Expression "else" else=Expression public Group getGroup() { return cGroup; } //"if" public Keyword getIfKeyword_0() { return cIfKeyword_0; } - //condition=Expression + //condition=DisjunctiveExpression public Assignment getConditionAssignment_1() { return cConditionAssignment_1; } - //Expression - public RuleCall getConditionExpressionParserRuleCall_1_0() { return cConditionExpressionParserRuleCall_1_0; } + //DisjunctiveExpression + public RuleCall getConditionDisjunctiveExpressionParserRuleCall_1_0() { return cConditionDisjunctiveExpressionParserRuleCall_1_0; } //"then" public Keyword getThenKeyword_2() { return cThenKeyword_2; } @@ -688,8 +928,8 @@ 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"); + public class LetExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LetExpression"); 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); @@ -702,7 +942,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final Assignment cBodyAssignment_4 = (Assignment)cGroup.eContents().get(4); private final RuleCall cBodyExpressionParserRuleCall_4_0 = (RuleCall)cBodyAssignment_4.eContents().get(0); - //Let: + //LetExpression: // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression; @Override public ParserRule getRule() { return rule; } @@ -742,72 +982,45 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { 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); + private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final CrossReference cTypeSymbolCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0); + private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeSymbolCrossReference_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); + private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cValueAdditiveExpressionParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0); //LetBinding: - // variable=Variable "=" value=AdditiveExpression; + // type=[Symbol|QualifiedName]? name=ID "=" value=AdditiveExpression; @Override public ParserRule getRule() { return rule; } - //variable=Variable "=" value=AdditiveExpression + //type=[Symbol|QualifiedName]? name=ID "=" 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; } + //type=[Symbol|QualifiedName]? + public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } - //DisjunctiveExpression - public RuleCall getDisjunctiveExpressionParserRuleCall_0() { return cDisjunctiveExpressionParserRuleCall_0; } + //[Symbol|QualifiedName] + public CrossReference getTypeSymbolCrossReference_0_0() { return cTypeSymbolCrossReference_0_0; } - //({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)? - public Group getGroup_1() { return cGroup_1; } + //QualifiedName + public RuleCall getTypeSymbolQualifiedNameParserRuleCall_0_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_0_0_1; } - //{BinaryExpression.left=current} - public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; } + //name=ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } - //op=ImplicationOperator - public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - //ImplicationOperator - public RuleCall getOpImplicationOperatorEnumRuleCall_1_1_0() { return cOpImplicationOperatorEnumRuleCall_1_1_0; } + //"=" + public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; } - //right=ImplicationExpression - public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + //value=AdditiveExpression + public Assignment getValueAssignment_3() { return cValueAssignment_3; } - //ImplicationExpression - public RuleCall getRightImplicationExpressionParserRuleCall_1_2_0() { return cRightImplicationExpressionParserRuleCall_1_2_0; } + //AdditiveExpression + public RuleCall getValueAdditiveExpressionParserRuleCall_3_0() { return cValueAdditiveExpressionParserRuleCall_3_0; } } public class DisjunctiveExpressionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression"); @@ -970,27 +1183,27 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cAdditiveExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); private final Group cGroup_1 = (Group)cGroup.eContents().get(1); - private final Action cComparisonLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final 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 cOpComparisonOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0); private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); private final RuleCall cRightAdditiveExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); //ComparisonExpression Expression: - // AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?; + // AdditiveExpression ({BinaryExpression.left=current} op=ComparisonOperator right=AdditiveExpression)?; @Override public ParserRule getRule() { return rule; } - //AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)? + //AdditiveExpression ({BinaryExpression.left=current} op=ComparisonOperator right=AdditiveExpression)? public Group getGroup() { return cGroup; } //AdditiveExpression public RuleCall getAdditiveExpressionParserRuleCall_0() { return cAdditiveExpressionParserRuleCall_0; } - //({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)? + //({BinaryExpression.left=current} op=ComparisonOperator right=AdditiveExpression)? public Group getGroup_1() { return cGroup_1; } - //{Comparison.left=current} - public Action getComparisonLeftAction_1_0() { return cComparisonLeftAction_1_0; } + //{BinaryExpression.left=current} + public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; } //op=ComparisonOperator public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } @@ -1128,21 +1341,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { 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); + private final Assignment cTargetTypeAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final CrossReference cTargetTypeSymbolCrossReference_1_2_0 = (CrossReference)cTargetTypeAssignment_1_2.eContents().get(0); + private final RuleCall cTargetTypeSymbolQualifiedNameParserRuleCall_1_2_0_1 = (RuleCall)cTargetTypeSymbolCrossReference_1_2_0.eContents().get(1); //CastExpression Expression: - // UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?; + // UnaryExpression ({CastExpression.body=current} "as" targetType=[Symbol|QualifiedName])?; @Override public ParserRule getRule() { return rule; } - //UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])? + //UnaryExpression ({CastExpression.body=current} "as" targetType=[Symbol|QualifiedName])? public Group getGroup() { return cGroup; } //UnaryExpression public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; } - //({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])? + //({CastExpression.body=current} "as" targetType=[Symbol|QualifiedName])? public Group getGroup_1() { return cGroup_1; } //{CastExpression.body=current} @@ -1151,233 +1364,158 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //"as" public Keyword getAsKeyword_1_1() { return cAsKeyword_1_1; } - //type=[NamedElement|QualifiedName] - public Assignment getTypeAssignment_1_2() { return cTypeAssignment_1_2; } + //targetType=[Symbol|QualifiedName] + public Assignment getTargetTypeAssignment_1_2() { return cTargetTypeAssignment_1_2; } - //[NamedElement|QualifiedName] - public CrossReference getTypeNamedElementCrossReference_1_2_0() { return cTypeNamedElementCrossReference_1_2_0; } + //[Symbol|QualifiedName] + public CrossReference getTargetTypeSymbolCrossReference_1_2_0() { return cTargetTypeSymbolCrossReference_1_2_0; } //QualifiedName - public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1; } + public RuleCall getTargetTypeSymbolQualifiedNameParserRuleCall_1_2_0_1() { return cTargetTypeSymbolQualifiedNameParserRuleCall_1_2_0_1; } } public class UnaryExpressionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryExpression"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cAggregationExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cBracedAggregateExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); private final Action cUnaryExpressionAction_1_0 = (Action)cGroup_1.eContents().get(0); private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); - private final RuleCall cOpUnaryOpEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0); + private final RuleCall cOpUnaryOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0); private final Assignment cBodyAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); - private final RuleCall cBodyAggregationExpressionParserRuleCall_1_2_0 = (RuleCall)cBodyAssignment_1_2.eContents().get(0); + private final RuleCall cBodyBracedAggregateExpressionParserRuleCall_1_2_0 = (RuleCall)cBodyAssignment_1_2.eContents().get(0); //UnaryExpression Expression: - // AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression; + // BracedAggregateExpression | {UnaryExpression} op=UnaryOperator body=BracedAggregateExpression; @Override public ParserRule getRule() { return rule; } - //AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression + //BracedAggregateExpression | {UnaryExpression} op=UnaryOperator body=BracedAggregateExpression public Alternatives getAlternatives() { return cAlternatives; } - //AggregationExpression - public RuleCall getAggregationExpressionParserRuleCall_0() { return cAggregationExpressionParserRuleCall_0; } + //BracedAggregateExpression + public RuleCall getBracedAggregateExpressionParserRuleCall_0() { return cBracedAggregateExpressionParserRuleCall_0; } - //{UnaryExpression} op=UnaryOp body=AggregationExpression + //{UnaryExpression} op=UnaryOperator body=BracedAggregateExpression public Group getGroup_1() { return cGroup_1; } //{UnaryExpression} public Action getUnaryExpressionAction_1_0() { return cUnaryExpressionAction_1_0; } - //op=UnaryOp + //op=UnaryOperator public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; } - //UnaryOp - public RuleCall getOpUnaryOpEnumRuleCall_1_1_0() { return cOpUnaryOpEnumRuleCall_1_1_0; } + //UnaryOperator + public RuleCall getOpUnaryOperatorEnumRuleCall_1_1_0() { return cOpUnaryOperatorEnumRuleCall_1_1_0; } - //body=AggregationExpression + //body=BracedAggregateExpression public Assignment getBodyAssignment_1_2() { return cBodyAssignment_1_2; } - //AggregationExpression - public RuleCall getBodyAggregationExpressionParserRuleCall_1_2_0() { return cBodyAggregationExpressionParserRuleCall_1_2_0; } + //BracedAggregateExpression + public RuleCall getBodyBracedAggregateExpressionParserRuleCall_1_2_0() { return cBodyBracedAggregateExpressionParserRuleCall_1_2_0; } } - public class AggregationExpressionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); + public class BracedAggregateExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BracedAggregateExpression"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cAtomicExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cQuantifiedExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cAggregationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cAggregationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cCountParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - //AggregationExpression Expression: - // AtomicExpression | QuantifiedExpression | Aggregation; + //BracedAggregateExpression Expression: + // AtomicExpression | Aggregation | Count; @Override public ParserRule getRule() { return rule; } - //AtomicExpression | QuantifiedExpression | Aggregation + //AtomicExpression | Aggregation | Count public Alternatives getAlternatives() { return cAlternatives; } //AtomicExpression public RuleCall getAtomicExpressionParserRuleCall_0() { return cAtomicExpressionParserRuleCall_0; } - //QuantifiedExpression - public RuleCall getQuantifiedExpressionParserRuleCall_1() { return cQuantifiedExpressionParserRuleCall_1; } - //Aggregation - public RuleCall getAggregationParserRuleCall_2() { return cAggregationParserRuleCall_2; } + public RuleCall getAggregationParserRuleCall_1() { return cAggregationParserRuleCall_1; } + + //Count + public RuleCall getCountParserRuleCall_2() { return cCountParserRuleCall_2; } } - public class LocalVariablesElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables"); + 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 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); + private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final CrossReference cOpSymbolCrossReference_0_0 = (CrossReference)cOpAssignment_0.eContents().get(0); + private final RuleCall cOpSymbolQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cOpSymbolCrossReference_0_0.eContents().get(1); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cValueExpressionParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0); + private final Keyword cVerticalLineKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cConditionAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cConditionExpressionParserRuleCall_4_0 = (RuleCall)cConditionAssignment_4.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - //LocalVariables: - // {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]"; + //Aggregation: + // op=[Symbol|QualifiedName] "{" value=Expression "|" condition=Expression "}"; @Override public ParserRule getRule() { return rule; } - //{LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]" + //op=[Symbol|QualifiedName] "{" value=Expression "|" condition=Expression "}" public Group getGroup() { return cGroup; } - //{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; } + //op=[Symbol|QualifiedName] + public Assignment getOpAssignment_0() { return cOpAssignment_0; } - //quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}" - public Group getGroup() { return cGroup; } + //[Symbol|QualifiedName] + public CrossReference getOpSymbolCrossReference_0_0() { return cOpSymbolCrossReference_0_0; } - //quantifier=Quantifier - public Assignment getQuantifierAssignment_0() { return cQuantifierAssignment_0; } + //QualifiedName + public RuleCall getOpSymbolQualifiedNameParserRuleCall_0_0_1() { return cOpSymbolQualifiedNameParserRuleCall_0_0_1; } - //Quantifier - public RuleCall getQuantifierQuantifierEnumRuleCall_0_0() { return cQuantifierQuantifierEnumRuleCall_0_0; } + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } - //localVariables=LocalVariables? - public Assignment getLocalVariablesAssignment_1() { return cLocalVariablesAssignment_1; } + //value=Expression + public Assignment getValueAssignment_2() { return cValueAssignment_2; } - //LocalVariables - public RuleCall getLocalVariablesLocalVariablesParserRuleCall_1_0() { return cLocalVariablesLocalVariablesParserRuleCall_1_0; } + //Expression + public RuleCall getValueExpressionParserRuleCall_2_0() { return cValueExpressionParserRuleCall_2_0; } - //"{" - public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + //"|" + public Keyword getVerticalLineKeyword_3() { return cVerticalLineKeyword_3; } - //body=Expression - public Assignment getBodyAssignment_3() { return cBodyAssignment_3; } + //condition=Expression + public Assignment getConditionAssignment_4() { return cConditionAssignment_4; } //Expression - public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } + public RuleCall getConditionExpressionParserRuleCall_4_0() { return cConditionExpressionParserRuleCall_4_0; } //"}" - public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } + public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } } - public class AggregationElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Aggregation"); + public class CountElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Count"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cOpAssignment_0 = (Assignment)cGroup.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=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}"; + private final Keyword cCountKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cConditionAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cConditionExpressionParserRuleCall_2_0 = (RuleCall)cConditionAssignment_2.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); + + //Count: + // "count" "{" condition=Expression "}"; @Override public ParserRule getRule() { return rule; } - //op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}" + //"count" "{" condition=Expression "}" public Group getGroup() { return cGroup; } - //op=[NamedElement|QualifiedName] - public Assignment getOpAssignment_0() { return cOpAssignment_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; } + //"count" + public Keyword getCountKeyword_0() { return cCountKeyword_0; } //"{" - public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } - - //body=Expression - public Assignment getBodyAssignment_3() { return cBodyAssignment_3; } - - //Expression - public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } - - //("|" condition=Expression)? - public Group getGroup_4() { return cGroup_4; } - - //"|" - public Keyword getVerticalLineKeyword_4_0() { return cVerticalLineKeyword_4_0; } + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } //condition=Expression - public Assignment getConditionAssignment_4_1() { return cConditionAssignment_4_1; } + public Assignment getConditionAssignment_2() { return cConditionAssignment_2; } //Expression - public RuleCall getConditionExpressionParserRuleCall_4_1_0() { return cConditionExpressionParserRuleCall_4_1_0; } + public RuleCall getConditionExpressionParserRuleCall_2_0() { return cConditionExpressionParserRuleCall_2_0; } //"}" - public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } + public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; } } public class AtomicExpressionElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AtomicExpression"); @@ -1427,21 +1565,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cFunctorAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cFunctorReferenceParserRuleCall_0_0 = (RuleCall)cFunctorAssignment_0.eContents().get(0); - private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); - private final Assignment cTransitiveClosureAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); - private final RuleCall cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0 = (RuleCall)cTransitiveClosureAssignment_1_0.eContents().get(0); - private final Assignment cReflexiveTransitiveClosureAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); - private final RuleCall cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0 = (RuleCall)cReflexiveTransitiveClosureAssignment_1_1.eContents().get(0); - private final Assignment cArgumentListAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final RuleCall cArgumentListArgumentListParserRuleCall_2_0 = (RuleCall)cArgumentListAssignment_2.eContents().get(0); + private final Assignment cArgumentListAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cArgumentListArgumentListParserRuleCall_1_0 = (RuleCall)cArgumentListAssignment_1.eContents().get(0); //Call: - // functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? - // argumentList=ArgumentList; + // functor=Reference argumentList=ArgumentList; @Override public ParserRule getRule() { return rule; } - //functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? - //argumentList=ArgumentList + //functor=Reference argumentList=ArgumentList public Group getGroup() { return cGroup; } //functor=Reference @@ -1450,26 +1581,11 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //Reference public RuleCall getFunctorReferenceParserRuleCall_0_0() { return cFunctorReferenceParserRuleCall_0_0; } - //(transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? - public Alternatives getAlternatives_1() { return cAlternatives_1; } - - //transitiveClosure?=TRANSITIVE_CLOSURE - public Assignment getTransitiveClosureAssignment_1_0() { return cTransitiveClosureAssignment_1_0; } - - //TRANSITIVE_CLOSURE - public RuleCall getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0() { return cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0; } - - //reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE - public Assignment getReflexiveTransitiveClosureAssignment_1_1() { return cReflexiveTransitiveClosureAssignment_1_1; } - - //REFLEXIVE_TRANSITIVE_CLOSURE - public RuleCall getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0() { return cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0; } - //argumentList=ArgumentList - public Assignment getArgumentListAssignment_2() { return cArgumentListAssignment_2; } + public Assignment getArgumentListAssignment_1() { return cArgumentListAssignment_1; } //ArgumentList - public RuleCall getArgumentListArgumentListParserRuleCall_2_0() { return cArgumentListArgumentListParserRuleCall_2_0; } + public RuleCall getArgumentListArgumentListParserRuleCall_1_0() { return cArgumentListArgumentListParserRuleCall_1_0; } } public class ArgumentListElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); @@ -1527,14 +1643,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cExpressionArgumentParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cStarArgumentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cTypedArgumentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cTypedVariableArgumentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cTypedStarArgumentParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); //Argument: - // ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument; + // ExpressionArgument | StarArgument | TypedVariableArgument | TypedStarArgument; @Override public ParserRule getRule() { return rule; } - //ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument + //ExpressionArgument | StarArgument | TypedVariableArgument | TypedStarArgument public Alternatives getAlternatives() { return cAlternatives; } //ExpressionArgument @@ -1543,26 +1659,26 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //StarArgument public RuleCall getStarArgumentParserRuleCall_1() { return cStarArgumentParserRuleCall_1; } - //TypedArgument - public RuleCall getTypedArgumentParserRuleCall_2() { return cTypedArgumentParserRuleCall_2; } + //TypedVariableArgument + public RuleCall getTypedVariableArgumentParserRuleCall_2() { return cTypedVariableArgumentParserRuleCall_2; } //TypedStarArgument public RuleCall getTypedStarArgumentParserRuleCall_3() { return cTypedStarArgumentParserRuleCall_3; } } public class ExpressionArgumentElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExpressionArgument"); - private final Assignment cBodyAssignment = (Assignment)rule.eContents().get(1); - private final RuleCall cBodyComparisonExpressionParserRuleCall_0 = (RuleCall)cBodyAssignment.eContents().get(0); + private final Assignment cExpressionAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cExpressionComparisonExpressionParserRuleCall_0 = (RuleCall)cExpressionAssignment.eContents().get(0); //ExpressionArgument: - // body=ComparisonExpression; + // expression=ComparisonExpression; @Override public ParserRule getRule() { return rule; } - //body=ComparisonExpression - public Assignment getBodyAssignment() { return cBodyAssignment; } + //expression=ComparisonExpression + public Assignment getExpressionAssignment() { return cExpressionAssignment; } //ComparisonExpression - public RuleCall getBodyComparisonExpressionParserRuleCall_0() { return cBodyComparisonExpressionParserRuleCall_0; } + public RuleCall getExpressionComparisonExpressionParserRuleCall_0() { return cExpressionComparisonExpressionParserRuleCall_0; } } public class StarArgumentElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StarArgument"); @@ -1583,122 +1699,179 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //"*" public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; } } - public class TypedArgumentElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedArgument"); + public class TypedVariableArgumentElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedVariableArgument"); 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 cVariableAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final CrossReference cVariableNamedElementCrossReference_1_0 = (CrossReference)cVariableAssignment_1.eContents().get(0); - private final RuleCall cVariableNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cVariableNamedElementCrossReference_1_0.eContents().get(1); + private final Assignment cTypeReferenceAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cTypeReferenceTypeReferenceParserRuleCall_0_0 = (RuleCall)cTypeReferenceAssignment_0.eContents().get(0); + private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - //TypedArgument: - // type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]; + //TypedVariableArgument: + // typeReference=TypeReference name=ID; @Override public ParserRule getRule() { return rule; } - //type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName] + //typeReference=TypeReference 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; } + //typeReference=TypeReference + public Assignment getTypeReferenceAssignment_0() { return cTypeReferenceAssignment_0; } - //variable=[NamedElement|QualifiedName] - public Assignment getVariableAssignment_1() { return cVariableAssignment_1; } + //TypeReference + public RuleCall getTypeReferenceTypeReferenceParserRuleCall_0_0() { return cTypeReferenceTypeReferenceParserRuleCall_0_0; } - //[NamedElement|QualifiedName] - public CrossReference getVariableNamedElementCrossReference_1_0() { return cVariableNamedElementCrossReference_1_0; } + //name=ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } - //QualifiedName - public RuleCall getVariableNamedElementQualifiedNameParserRuleCall_1_0_1() { return cVariableNamedElementQualifiedNameParserRuleCall_1_0_1; } + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } } public class TypedStarArgumentElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TypedStarArgument"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0); - private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1); + private final Assignment cTypeReferenceAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cTypeReferenceTypeReferenceParserRuleCall_0_0 = (RuleCall)cTypeReferenceAssignment_0.eContents().get(0); private final Keyword cAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1); //TypedStarArgument: - // type=[NamedElement|QualifiedName] "*"; + // typeReference=TypeReference "*"; @Override public ParserRule getRule() { return rule; } - //type=[NamedElement|QualifiedName] "*" + //typeReference=TypeReference "*" 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; } + //typeReference=TypeReference + public Assignment getTypeReferenceAssignment_0() { return cTypeReferenceAssignment_0; } - //QualifiedName - public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; } + //TypeReference + public RuleCall getTypeReferenceTypeReferenceParserRuleCall_0_0() { return cTypeReferenceTypeReferenceParserRuleCall_0_0; } //"*" public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; } } public class ReferenceElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Reference"); - private final Assignment cReferredAssignment = (Assignment)rule.eContents().get(1); - private final CrossReference cReferredNamedElementCrossReference_0 = (CrossReference)cReferredAssignment.eContents().get(0); - private final RuleCall cReferredNamedElementQualifiedNameParserRuleCall_0_1 = (RuleCall)cReferredNamedElementCrossReference_0.eContents().get(1); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cComponentsAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cComponentsPathComponentParserRuleCall_0_0 = (RuleCall)cComponentsAssignment_0.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final Assignment cComponentsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cComponentsPathComponentParserRuleCall_1_1_0 = (RuleCall)cComponentsAssignment_1_1.eContents().get(0); //Reference: - // referred=[NamedElement|QualifiedName]; + // components+=PathComponent ("." components+=PathComponent)*; + @Override public ParserRule getRule() { return rule; } + + //components+=PathComponent ("." components+=PathComponent)* + public Group getGroup() { return cGroup; } + + //components+=PathComponent + public Assignment getComponentsAssignment_0() { return cComponentsAssignment_0; } + + //PathComponent + public RuleCall getComponentsPathComponentParserRuleCall_0_0() { return cComponentsPathComponentParserRuleCall_0_0; } + + //("." components+=PathComponent)* + public Group getGroup_1() { return cGroup_1; } + + //"." + public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; } + + //components+=PathComponent + public Assignment getComponentsAssignment_1_1() { return cComponentsAssignment_1_1; } + + //PathComponent + public RuleCall getComponentsPathComponentParserRuleCall_1_1_0() { return cComponentsPathComponentParserRuleCall_1_1_0; } + } + public class PathComponentElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PathComponent"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cInverseAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final Keyword cInverseTildeKeyword_0_0 = (Keyword)cInverseAssignment_0.eContents().get(0); + private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cSymbolSymbolCrossReference_1_0 = (CrossReference)cSymbolAssignment_1.eContents().get(0); + private final RuleCall cSymbolSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cSymbolSymbolCrossReference_1_0.eContents().get(1); + private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); + private final Assignment cTransitiveClosureAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0); + private final RuleCall cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_2_0_0 = (RuleCall)cTransitiveClosureAssignment_2_0.eContents().get(0); + private final Assignment cReflexiveTransitiveClosureAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1); + private final RuleCall cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_2_1_0 = (RuleCall)cReflexiveTransitiveClosureAssignment_2_1.eContents().get(0); + + //PathComponent: + // inverse?="~"? symbol=[Symbol|QualifiedName] (transitiveClosure?=TRANSITIVE_CLOSURE | + // reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?; @Override public ParserRule getRule() { return rule; } - //referred=[NamedElement|QualifiedName] - public Assignment getReferredAssignment() { return cReferredAssignment; } + //inverse?="~"? symbol=[Symbol|QualifiedName] (transitiveClosure?=TRANSITIVE_CLOSURE | + //reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? + public Group getGroup() { return cGroup; } + + //inverse?="~"? + public Assignment getInverseAssignment_0() { return cInverseAssignment_0; } + + //"~" + public Keyword getInverseTildeKeyword_0_0() { return cInverseTildeKeyword_0_0; } - //[NamedElement|QualifiedName] - public CrossReference getReferredNamedElementCrossReference_0() { return cReferredNamedElementCrossReference_0; } + //symbol=[Symbol|QualifiedName] + public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } + + //[Symbol|QualifiedName] + public CrossReference getSymbolSymbolCrossReference_1_0() { return cSymbolSymbolCrossReference_1_0; } //QualifiedName - public RuleCall getReferredNamedElementQualifiedNameParserRuleCall_0_1() { return cReferredNamedElementQualifiedNameParserRuleCall_0_1; } + public RuleCall getSymbolSymbolQualifiedNameParserRuleCall_1_0_1() { return cSymbolSymbolQualifiedNameParserRuleCall_1_0_1; } + + //(transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? + public Alternatives getAlternatives_2() { return cAlternatives_2; } + + //transitiveClosure?=TRANSITIVE_CLOSURE + public Assignment getTransitiveClosureAssignment_2_0() { return cTransitiveClosureAssignment_2_0; } + + //TRANSITIVE_CLOSURE + public RuleCall getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_2_0_0() { return cTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_2_0_0; } + + //reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE + public Assignment getReflexiveTransitiveClosureAssignment_2_1() { return cReflexiveTransitiveClosureAssignment_2_1; } + + //REFLEXIVE_TRANSITIVE_CLOSURE + public RuleCall getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_2_1_0() { return cReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_2_1_0; } } public class IntervalElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Interval"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cLowerBoundExpressionParserRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0); - private final Keyword cFullStopFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final RuleCall cLowerBoundAdditiveExpressionParserRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0); + private final Keyword cCommaKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cUpperBoundExpressionParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0); + private final RuleCall cUpperBoundAdditiveExpressionParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0); private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); //Interval: - // "[" lowerBound=Expression ".." upperBound=Expression "]"; + // "[" lowerBound=AdditiveExpression "," upperBound=AdditiveExpression "]"; @Override public ParserRule getRule() { return rule; } - //"[" lowerBound=Expression ".." upperBound=Expression "]" + //"[" lowerBound=AdditiveExpression "," upperBound=AdditiveExpression "]" public Group getGroup() { return cGroup; } //"[" public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } - //lowerBound=Expression + //lowerBound=AdditiveExpression public Assignment getLowerBoundAssignment_1() { return cLowerBoundAssignment_1; } - //Expression - public RuleCall getLowerBoundExpressionParserRuleCall_1_0() { return cLowerBoundExpressionParserRuleCall_1_0; } + //AdditiveExpression + public RuleCall getLowerBoundAdditiveExpressionParserRuleCall_1_0() { return cLowerBoundAdditiveExpressionParserRuleCall_1_0; } - //".." - public Keyword getFullStopFullStopKeyword_2() { return cFullStopFullStopKeyword_2; } + //"," + public Keyword getCommaKeyword_2() { return cCommaKeyword_2; } - //upperBound=Expression + //upperBound=AdditiveExpression public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; } - //Expression - public RuleCall getUpperBoundExpressionParserRuleCall_3_0() { return cUpperBoundExpressionParserRuleCall_3_0; } + //AdditiveExpression + public RuleCall getUpperBoundAdditiveExpressionParserRuleCall_3_0() { return cUpperBoundAdditiveExpressionParserRuleCall_3_0; } //"]" public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; } @@ -1707,32 +1880,36 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final RuleCall cLogicLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cNumericLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cInfinityLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - private final RuleCall cEmptyIntervalLiteralParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); - private final RuleCall cStringLiteralParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); + private final RuleCall cIntLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cRealLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cInfinityLiteralParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final RuleCall cEmptyLiteralParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); + private final RuleCall cStringLiteralParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); //Literal: - // LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral; + // LogicLiteral | IntLiteral | RealLiteral | InfinityLiteral | EmptyLiteral | StringLiteral; @Override public ParserRule getRule() { return rule; } - //LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral + //LogicLiteral | IntLiteral | RealLiteral | InfinityLiteral | EmptyLiteral | StringLiteral public Alternatives getAlternatives() { return cAlternatives; } //LogicLiteral public RuleCall getLogicLiteralParserRuleCall_0() { return cLogicLiteralParserRuleCall_0; } - //NumericLiteral - public RuleCall getNumericLiteralParserRuleCall_1() { return cNumericLiteralParserRuleCall_1; } + //IntLiteral + public RuleCall getIntLiteralParserRuleCall_1() { return cIntLiteralParserRuleCall_1; } + + //RealLiteral + public RuleCall getRealLiteralParserRuleCall_2() { return cRealLiteralParserRuleCall_2; } //InfinityLiteral - public RuleCall getInfinityLiteralParserRuleCall_2() { return cInfinityLiteralParserRuleCall_2; } + public RuleCall getInfinityLiteralParserRuleCall_3() { return cInfinityLiteralParserRuleCall_3; } - //EmptyIntervalLiteral - public RuleCall getEmptyIntervalLiteralParserRuleCall_3() { return cEmptyIntervalLiteralParserRuleCall_3; } + //EmptyLiteral + public RuleCall getEmptyLiteralParserRuleCall_4() { return cEmptyLiteralParserRuleCall_4; } //StringLiteral - public RuleCall getStringLiteralParserRuleCall_4() { return cStringLiteralParserRuleCall_4; } + public RuleCall getStringLiteralParserRuleCall_5() { return cStringLiteralParserRuleCall_5; } } public class LogicLiteralElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicLiteral"); @@ -1749,12 +1926,27 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //LogicValue public RuleCall getValueLogicValueEnumRuleCall_0() { return cValueLogicValueEnumRuleCall_0; } } - public class NumericLiteralElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NumericLiteral"); + public class IntLiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IntLiteral"); + private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cValueINTTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); + + //IntLiteral: + // value=INT; + @Override public ParserRule getRule() { return rule; } + + //value=INT + public Assignment getValueAssignment() { return cValueAssignment; } + + //INT + public RuleCall getValueINTTerminalRuleCall_0() { return cValueINTTerminalRuleCall_0; } + } + public class RealLiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.RealLiteral"); private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); private final RuleCall cValueRealParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); - //NumericLiteral: + //RealLiteral: // value=Real; @Override public ParserRule getRule() { return rule; } @@ -1783,21 +1975,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //"inf" public Keyword getInfKeyword_1() { return cInfKeyword_1; } } - public class EmptyIntervalLiteralElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EmptyIntervalLiteral"); + public class EmptyLiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EmptyLiteral"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Action cEmptyIntervalLiteralAction_0 = (Action)cGroup.eContents().get(0); + private final Action cEmptyLiteralAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cEmptyKeyword_1 = (Keyword)cGroup.eContents().get(1); - //EmptyIntervalLiteral: - // {EmptyIntervalLiteral} "empty"; + //EmptyLiteral: + // {EmptyLiteral} "empty"; @Override public ParserRule getRule() { return rule; } - //{EmptyIntervalLiteral} "empty" + //{EmptyLiteral} "empty" public Group getGroup() { return cGroup; } - //{EmptyIntervalLiteral} - public Action getEmptyIntervalLiteralAction_0() { return cEmptyIntervalLiteralAction_0; } + //{EmptyLiteral} + public Action getEmptyLiteralAction_0() { return cEmptyLiteralAction_0; } //"empty" public Keyword getEmptyKeyword_1() { return cEmptyKeyword_1; } @@ -1817,44 +2009,58 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //STRING public RuleCall getValueSTRINGTerminalRuleCall_0() { return cValueSTRINGTerminalRuleCall_0; } } - public class ClassDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClassDefinition"); + public class ClassDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClassDeclaration"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0); + private final UnorderedGroup cUnorderedGroup_0 = (UnorderedGroup)cGroup.eContents().get(0); + private final Assignment cAbstractAssignment_0_0 = (Assignment)cUnorderedGroup_0.eContents().get(0); + private final Keyword cAbstractAbstractKeyword_0_0_0 = (Keyword)cAbstractAssignment_0_0.eContents().get(0); + private final Assignment cRootAssignment_0_1 = (Assignment)cUnorderedGroup_0.eContents().get(1); + private final Keyword cRootRootKeyword_0_1_0 = (Keyword)cRootAssignment_0_1.eContents().get(0); private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); private final Group cGroup_3 = (Group)cGroup.eContents().get(3); private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); - private final Assignment cSuperclassesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); - private final CrossReference cSuperclassesNamedElementCrossReference_3_1_0 = (CrossReference)cSuperclassesAssignment_3_1.eContents().get(0); - private final RuleCall cSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSuperclassesNamedElementCrossReference_3_1_0.eContents().get(1); + private final Assignment cSupertypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final CrossReference cSupertypesSymbolCrossReference_3_1_0 = (CrossReference)cSupertypesAssignment_3_1.eContents().get(0); + private final RuleCall cSupertypesSymbolQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSupertypesSymbolCrossReference_3_1_0.eContents().get(1); private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2); private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0); - private final Assignment cSuperclassesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1); - private final CrossReference cSuperclassesNamedElementCrossReference_3_2_1_0 = (CrossReference)cSuperclassesAssignment_3_2_1.eContents().get(0); - private final RuleCall cSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSuperclassesNamedElementCrossReference_3_2_1_0.eContents().get(1); - private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - private final Assignment cMembersAssignment_5 = (Assignment)cGroup.eContents().get(5); - private final RuleCall cMembersMemberDefinitionParserRuleCall_5_0 = (RuleCall)cMembersAssignment_5.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); - - //ClassDefinition: - // abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," - // superclasses+=[NamedElement|QualifiedName])*)? - // "{" members+=MemberDefinition* "}"; + private final Assignment cSupertypesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1); + private final CrossReference cSupertypesSymbolCrossReference_3_2_1_0 = (CrossReference)cSupertypesAssignment_3_2_1.eContents().get(0); + private final RuleCall cSupertypesSymbolQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSupertypesSymbolCrossReference_3_2_1_0.eContents().get(1); + private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4); + private final Group cGroup_4_0 = (Group)cAlternatives_4.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_4_0_0 = (Keyword)cGroup_4_0.eContents().get(0); + private final Assignment cFieldsAssignment_4_0_1 = (Assignment)cGroup_4_0.eContents().get(1); + private final RuleCall cFieldsFieldParserRuleCall_4_0_1_0 = (RuleCall)cFieldsAssignment_4_0_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_4_0_2 = (Keyword)cGroup_4_0.eContents().get(2); + private final RuleCall cFULL_STOPTerminalRuleCall_4_1 = (RuleCall)cAlternatives_4.eContents().get(1); + + //ClassDeclaration: + // (abstract?="abstract"? & root?="root"?) "class" name=ID ("extends" supertypes+=[Symbol|QualifiedName] ("," + // supertypes+=[Symbol|QualifiedName])*)? ("{" fields+=Field* "}" | FULL_STOP); @Override public ParserRule getRule() { return rule; } - //abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," - //superclasses+=[NamedElement|QualifiedName])*)? "{" members+=MemberDefinition* "}" + //(abstract?="abstract"? & root?="root"?) "class" name=ID ("extends" supertypes+=[Symbol|QualifiedName] ("," + //supertypes+=[Symbol|QualifiedName])*)? ("{" fields+=Field* "}" | FULL_STOP) public Group getGroup() { return cGroup; } + //(abstract?="abstract"? & root?="root"?) + public UnorderedGroup getUnorderedGroup_0() { return cUnorderedGroup_0; } + //abstract?="abstract"? - public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; } + public Assignment getAbstractAssignment_0_0() { return cAbstractAssignment_0_0; } //"abstract" - public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; } + public Keyword getAbstractAbstractKeyword_0_0_0() { return cAbstractAbstractKeyword_0_0_0; } + + //root?="root"? + public Assignment getRootAssignment_0_1() { return cRootAssignment_0_1; } + + //"root" + public Keyword getRootRootKeyword_0_1_0() { return cRootRootKeyword_0_1_0; } //"class" public Keyword getClassKeyword_1() { return cClassKeyword_1; } @@ -1865,56 +2071,68 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //ID public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } - //("extends" superclasses+=[NamedElement|QualifiedName] ("," superclasses+=[NamedElement|QualifiedName])*)? + //("extends" supertypes+=[Symbol|QualifiedName] ("," supertypes+=[Symbol|QualifiedName])*)? public Group getGroup_3() { return cGroup_3; } //"extends" public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; } - //superclasses+=[NamedElement|QualifiedName] - public Assignment getSuperclassesAssignment_3_1() { return cSuperclassesAssignment_3_1; } + //supertypes+=[Symbol|QualifiedName] + public Assignment getSupertypesAssignment_3_1() { return cSupertypesAssignment_3_1; } - //[NamedElement|QualifiedName] - public CrossReference getSuperclassesNamedElementCrossReference_3_1_0() { return cSuperclassesNamedElementCrossReference_3_1_0; } + //[Symbol|QualifiedName] + public CrossReference getSupertypesSymbolCrossReference_3_1_0() { return cSupertypesSymbolCrossReference_3_1_0; } //QualifiedName - public RuleCall getSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1() { return cSuperclassesNamedElementQualifiedNameParserRuleCall_3_1_0_1; } + public RuleCall getSupertypesSymbolQualifiedNameParserRuleCall_3_1_0_1() { return cSupertypesSymbolQualifiedNameParserRuleCall_3_1_0_1; } - //("," superclasses+=[NamedElement|QualifiedName])* + //("," supertypes+=[Symbol|QualifiedName])* public Group getGroup_3_2() { return cGroup_3_2; } //"," public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; } - //superclasses+=[NamedElement|QualifiedName] - public Assignment getSuperclassesAssignment_3_2_1() { return cSuperclassesAssignment_3_2_1; } + //supertypes+=[Symbol|QualifiedName] + public Assignment getSupertypesAssignment_3_2_1() { return cSupertypesAssignment_3_2_1; } - //[NamedElement|QualifiedName] - public CrossReference getSuperclassesNamedElementCrossReference_3_2_1_0() { return cSuperclassesNamedElementCrossReference_3_2_1_0; } + //[Symbol|QualifiedName] + public CrossReference getSupertypesSymbolCrossReference_3_2_1_0() { return cSupertypesSymbolCrossReference_3_2_1_0; } //QualifiedName - public RuleCall getSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1() { return cSuperclassesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1; } + public RuleCall getSupertypesSymbolQualifiedNameParserRuleCall_3_2_1_0_1() { return cSupertypesSymbolQualifiedNameParserRuleCall_3_2_1_0_1; } + + //("{" fields+=Field* "}" | FULL_STOP) + public Alternatives getAlternatives_4() { return cAlternatives_4; } + + //"{" fields+=Field* "}" + public Group getGroup_4_0() { return cGroup_4_0; } //"{" - public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; } + public Keyword getLeftCurlyBracketKeyword_4_0_0() { return cLeftCurlyBracketKeyword_4_0_0; } - //members+=MemberDefinition* - public Assignment getMembersAssignment_5() { return cMembersAssignment_5; } + //fields+=Field* + public Assignment getFieldsAssignment_4_0_1() { return cFieldsAssignment_4_0_1; } - //MemberDefinition - public RuleCall getMembersMemberDefinitionParserRuleCall_5_0() { return cMembersMemberDefinitionParserRuleCall_5_0; } + //Field + public RuleCall getFieldsFieldParserRuleCall_4_0_1_0() { return cFieldsFieldParserRuleCall_4_0_1_0; } //"}" - public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + public Keyword getRightCurlyBracketKeyword_4_0_2() { return cRightCurlyBracketKeyword_4_0_2; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_4_1() { return cFULL_STOPTerminalRuleCall_4_1; } } - public class MemberDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition"); + public class FieldElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Field"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cContainmentAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final Keyword cContainmentContainsKeyword_0_0 = (Keyword)cContainmentAssignment_0.eContents().get(0); + private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); + private final Assignment cContainmentAssignment_0_0 = (Assignment)cAlternatives_0.eContents().get(0); + private final Keyword cContainmentContainsKeyword_0_0_0 = (Keyword)cContainmentAssignment_0_0.eContents().get(0); + private final Assignment cCrossReferenceAssignment_0_1 = (Assignment)cAlternatives_0.eContents().get(1); + private final Keyword cCrossReferenceRefersKeyword_0_1_0 = (Keyword)cCrossReferenceAssignment_0_1.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 CrossReference cTypeSymbolCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0); + private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeSymbolCrossReference_1_0.eContents().get(1); private final Assignment cMultiplicityAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cMultiplicityMultiplicityParserRuleCall_2_0 = (RuleCall)cMultiplicityAssignment_2.eContents().get(0); private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3); @@ -1922,33 +2140,42 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final Group cGroup_4 = (Group)cGroup.eContents().get(4); private final Keyword cOppositeKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); private final Assignment cOppositeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); - private final CrossReference cOppositeNamedElementCrossReference_4_1_0 = (CrossReference)cOppositeAssignment_4_1.eContents().get(0); - private final RuleCall cOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1 = (RuleCall)cOppositeNamedElementCrossReference_4_1_0.eContents().get(1); + private final CrossReference cOppositeSymbolCrossReference_4_1_0 = (CrossReference)cOppositeAssignment_4_1.eContents().get(0); + private final RuleCall cOppositeSymbolQualifiedNameParserRuleCall_4_1_0_1 = (RuleCall)cOppositeSymbolCrossReference_4_1_0.eContents().get(1); private final Keyword cSemicolonKeyword_5 = (Keyword)cGroup.eContents().get(5); - //MemberDefinition: - // containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" - // opposite=[NamedElement|QualifiedName])? ";"?; + //Field: + // (containment?="contains" | crossReference?="refers")? type=[Symbol|QualifiedName] multiplicity=Multiplicity? + // name=ID ("opposite" opposite=[Symbol|QualifiedName])? ";"?; @Override public ParserRule getRule() { return rule; } - //containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" - //opposite=[NamedElement|QualifiedName])? ";"? + //(containment?="contains" | crossReference?="refers")? type=[Symbol|QualifiedName] multiplicity=Multiplicity? name=ID + //("opposite" opposite=[Symbol|QualifiedName])? ";"? public Group getGroup() { return cGroup; } - //containment?="contains"? - public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; } + //(containment?="contains" | crossReference?="refers")? + public Alternatives getAlternatives_0() { return cAlternatives_0; } + + //containment?="contains" + public Assignment getContainmentAssignment_0_0() { return cContainmentAssignment_0_0; } //"contains" - public Keyword getContainmentContainsKeyword_0_0() { return cContainmentContainsKeyword_0_0; } + public Keyword getContainmentContainsKeyword_0_0_0() { return cContainmentContainsKeyword_0_0_0; } + + //crossReference?="refers" + public Assignment getCrossReferenceAssignment_0_1() { return cCrossReferenceAssignment_0_1; } + + //"refers" + public Keyword getCrossReferenceRefersKeyword_0_1_0() { return cCrossReferenceRefersKeyword_0_1_0; } - //type=[NamedElement|QualifiedName] + //type=[Symbol|QualifiedName] public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } - //[NamedElement|QualifiedName] - public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; } + //[Symbol|QualifiedName] + public CrossReference getTypeSymbolCrossReference_1_0() { return cTypeSymbolCrossReference_1_0; } //QualifiedName - public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; } + public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_0_1; } //multiplicity=Multiplicity? public Assignment getMultiplicityAssignment_2() { return cMultiplicityAssignment_2; } @@ -1962,20 +2189,20 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //ID public RuleCall getNameIDTerminalRuleCall_3_0() { return cNameIDTerminalRuleCall_3_0; } - //("opposite" opposite=[NamedElement|QualifiedName])? + //("opposite" opposite=[Symbol|QualifiedName])? public Group getGroup_4() { return cGroup_4; } //"opposite" public Keyword getOppositeKeyword_4_0() { return cOppositeKeyword_4_0; } - //opposite=[NamedElement|QualifiedName] + //opposite=[Symbol|QualifiedName] public Assignment getOppositeAssignment_4_1() { return cOppositeAssignment_4_1; } - //[NamedElement|QualifiedName] - public CrossReference getOppositeNamedElementCrossReference_4_1_0() { return cOppositeNamedElementCrossReference_4_1_0; } + //[Symbol|QualifiedName] + public CrossReference getOppositeSymbolCrossReference_4_1_0() { return cOppositeSymbolCrossReference_4_1_0; } //QualifiedName - public RuleCall getOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1() { return cOppositeNamedElementQualifiedNameParserRuleCall_4_1_0_1; } + public RuleCall getOppositeSymbolQualifiedNameParserRuleCall_4_1_0_1() { return cOppositeSymbolQualifiedNameParserRuleCall_4_1_0_1; } //";"? public Keyword getSemicolonKeyword_5() { return cSemicolonKeyword_5; } @@ -1983,19 +2210,19 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { public class MultiplicityElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cManyMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cUnboundedMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cExactMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); private final RuleCall cBoundedMultiplicityParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); //Multiplicity: - // ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity; + // UnboundedMultiplicity | ExactMultiplicity | BoundedMultiplicity; @Override public ParserRule getRule() { return rule; } - //ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity + //UnboundedMultiplicity | ExactMultiplicity | BoundedMultiplicity public Alternatives getAlternatives() { return cAlternatives; } - //ManyMultiplicity - public RuleCall getManyMultiplicityParserRuleCall_0() { return cManyMultiplicityParserRuleCall_0; } + //UnboundedMultiplicity + public RuleCall getUnboundedMultiplicityParserRuleCall_0() { return cUnboundedMultiplicityParserRuleCall_0; } //ExactMultiplicity public RuleCall getExactMultiplicityParserRuleCall_1() { return cExactMultiplicityParserRuleCall_1; } @@ -2003,22 +2230,22 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //BoundedMultiplicity public RuleCall getBoundedMultiplicityParserRuleCall_2() { return cBoundedMultiplicityParserRuleCall_2; } } - public class ManyMultiplicityElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ManyMultiplicity"); + public class UnboundedMultiplicityElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnboundedMultiplicity"); private final Group cGroup = (Group)rule.eContents().get(1); - private final Action cManyMultiplicityAction_0 = (Action)cGroup.eContents().get(0); + private final Action cUnboundedMultiplicityAction_0 = (Action)cGroup.eContents().get(0); private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); - //ManyMultiplicity: - // {ManyMultiplicity} "[" "]"; + //UnboundedMultiplicity: + // {UnboundedMultiplicity} "[" "]"; @Override public ParserRule getRule() { return rule; } - //{ManyMultiplicity} "[" "]" + //{UnboundedMultiplicity} "[" "]" public Group getGroup() { return cGroup; } - //{ManyMultiplicity} - public Action getManyMultiplicityAction_0() { return cManyMultiplicityAction_0; } + //{UnboundedMultiplicity} + public Action getUnboundedMultiplicityAction_0() { return cUnboundedMultiplicityAction_0; } //"[" public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; } @@ -2030,25 +2257,25 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactMultiplicity"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cMultiplicityAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cMultiplicityUpperMultiplictyParserRuleCall_1_0 = (RuleCall)cMultiplicityAssignment_1.eContents().get(0); + private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cValueUpperMultiplictyParserRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0); private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); //ExactMultiplicity: - // "[" multiplicity=UpperMultiplicty "]"; + // "[" value=UpperMultiplicty "]"; @Override public ParserRule getRule() { return rule; } - //"[" multiplicity=UpperMultiplicty "]" + //"[" value=UpperMultiplicty "]" public Group getGroup() { return cGroup; } //"[" public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } - //multiplicity=UpperMultiplicty - public Assignment getMultiplicityAssignment_1() { return cMultiplicityAssignment_1; } + //value=UpperMultiplicty + public Assignment getValueAssignment_1() { return cValueAssignment_1; } //UpperMultiplicty - public RuleCall getMultiplicityUpperMultiplictyParserRuleCall_1_0() { return cMultiplicityUpperMultiplictyParserRuleCall_1_0; } + public RuleCall getValueUpperMultiplictyParserRuleCall_1_0() { return cValueUpperMultiplictyParserRuleCall_1_0; } //"]" public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; } @@ -2059,16 +2286,16 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cLowerBoundAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cLowerBoundINTTerminalRuleCall_1_0 = (RuleCall)cLowerBoundAssignment_1.eContents().get(0); - private final Keyword cFullStopFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cCommaKeyword_2 = (Keyword)cGroup.eContents().get(2); private final Assignment cUpperBoundAssignment_3 = (Assignment)cGroup.eContents().get(3); private final RuleCall cUpperBoundUpperMultiplictyParserRuleCall_3_0 = (RuleCall)cUpperBoundAssignment_3.eContents().get(0); private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); //BoundedMultiplicity: - // "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]"; + // "[" lowerBound=INT "," upperBound=UpperMultiplicty "]"; @Override public ParserRule getRule() { return rule; } - //"[" lowerBound=INT ".." upperBound=UpperMultiplicty "]" + //"[" lowerBound=INT "," upperBound=UpperMultiplicty "]" public Group getGroup() { return cGroup; } //"[" @@ -2080,8 +2307,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //INT public RuleCall getLowerBoundINTTerminalRuleCall_1_0() { return cLowerBoundINTTerminalRuleCall_1_0; } - //".." - public Keyword getFullStopFullStopKeyword_2() { return cFullStopFullStopKeyword_2; } + //"," + public Keyword getCommaKeyword_2() { return cCommaKeyword_2; } //upperBound=UpperMultiplicty public Assignment getUpperBoundAssignment_3() { return cUpperBoundAssignment_3; } @@ -2092,70 +2319,160 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //"]" public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; } } - public class ScopeDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ScopeDefinition"); + public class EnumDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EnumDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cEnumKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); + private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); + private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0); + private final Group cGroup_2_0_1 = (Group)cGroup_2_0.eContents().get(1); + private final Assignment cLiteralsAssignment_2_0_1_0 = (Assignment)cGroup_2_0_1.eContents().get(0); + private final RuleCall cLiteralsEnumLiteralParserRuleCall_2_0_1_0_0 = (RuleCall)cLiteralsAssignment_2_0_1_0.eContents().get(0); + private final Group cGroup_2_0_1_1 = (Group)cGroup_2_0_1.eContents().get(1); + private final Keyword cCommaKeyword_2_0_1_1_0 = (Keyword)cGroup_2_0_1_1.eContents().get(0); + private final Assignment cLiteralsAssignment_2_0_1_1_1 = (Assignment)cGroup_2_0_1_1.eContents().get(1); + private final RuleCall cLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0 = (RuleCall)cLiteralsAssignment_2_0_1_1_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_2_0_2 = (Keyword)cGroup_2_0.eContents().get(2); + private final RuleCall cFULL_STOPTerminalRuleCall_2_1 = (RuleCall)cAlternatives_2.eContents().get(1); + + //EnumDeclaration: + // "enum" name=ID ("{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}" | FULL_STOP); + @Override public ParserRule getRule() { return rule; } + + //"enum" name=ID ("{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}" | FULL_STOP) + public Group getGroup() { return cGroup; } + + //"enum" + public Keyword getEnumKeyword_0() { return cEnumKeyword_0; } + + //name=ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } + + //("{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}" | FULL_STOP) + public Alternatives getAlternatives_2() { return cAlternatives_2; } + + //"{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}" + public Group getGroup_2_0() { return cGroup_2_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2_0_0() { return cLeftCurlyBracketKeyword_2_0_0; } + + //(literals+=EnumLiteral (","? literals+=EnumLiteral)*)? + public Group getGroup_2_0_1() { return cGroup_2_0_1; } + + //literals+=EnumLiteral + public Assignment getLiteralsAssignment_2_0_1_0() { return cLiteralsAssignment_2_0_1_0; } + + //EnumLiteral + public RuleCall getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0() { return cLiteralsEnumLiteralParserRuleCall_2_0_1_0_0; } + + //(","? literals+=EnumLiteral)* + public Group getGroup_2_0_1_1() { return cGroup_2_0_1_1; } + + //","? + public Keyword getCommaKeyword_2_0_1_1_0() { return cCommaKeyword_2_0_1_1_0; } + + //literals+=EnumLiteral + public Assignment getLiteralsAssignment_2_0_1_1_1() { return cLiteralsAssignment_2_0_1_1_1; } + + //EnumLiteral + public RuleCall getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0() { return cLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_2_0_2() { return cRightCurlyBracketKeyword_2_0_2; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_2_1() { return cFULL_STOPTerminalRuleCall_2_1; } + } + public class EnumLiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EnumLiteral"); + private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); + + //EnumLiteral: + // name=ID; + @Override public ParserRule getRule() { return rule; } + + //name=ID + public Assignment getNameAssignment() { return cNameAssignment; } + + //ID + public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } + } + public class ScopeDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ScopeDeclaration"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cExactScopeDefinitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cBoundedScopeDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cLowerBoundedScopeDefinitionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cExactScopeParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cBoundedScopeParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cLowerBoundedScopeParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - //ScopeDefinition: - // ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition; + //ScopeDeclaration: + // ExactScope | BoundedScope | LowerBoundedScope; @Override public ParserRule getRule() { return rule; } - //ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition + //ExactScope | BoundedScope | LowerBoundedScope public Alternatives getAlternatives() { return cAlternatives; } - //ExactScopeDefinition - public RuleCall getExactScopeDefinitionParserRuleCall_0() { return cExactScopeDefinitionParserRuleCall_0; } + //ExactScope + public RuleCall getExactScopeParserRuleCall_0() { return cExactScopeParserRuleCall_0; } - //BoundedScopeDefinition - public RuleCall getBoundedScopeDefinitionParserRuleCall_1() { return cBoundedScopeDefinitionParserRuleCall_1; } + //BoundedScope + public RuleCall getBoundedScopeParserRuleCall_1() { return cBoundedScopeParserRuleCall_1; } - //LowerBoundedScopeDefinition - public RuleCall getLowerBoundedScopeDefinitionParserRuleCall_2() { return cLowerBoundedScopeDefinitionParserRuleCall_2; } + //LowerBoundedScope + public RuleCall getLowerBoundedScopeParserRuleCall_2() { return cLowerBoundedScopeParserRuleCall_2; } } - public class ExactScopeDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactScopeDefinition"); + public class ExactScopeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExactScope"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0); - private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1); + private final CrossReference cTypeSymbolCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0); + private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeSymbolCrossReference_1_0.eContents().get(1); private final Keyword cEqualsSignEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cExactScopeAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cExactScopeINTTerminalRuleCall_3_0 = (RuleCall)cExactScopeAssignment_3.eContents().get(0); + private final Assignment cSizeAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cSizeINTTerminalRuleCall_3_0 = (RuleCall)cSizeAssignment_3.eContents().get(0); + private final RuleCall cFULL_STOPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4); - //ExactScopeDefinition: - // "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT; + //ExactScope: + // "scope" type=[Symbol|QualifiedName] "==" size=INT FULL_STOP; @Override public ParserRule getRule() { return rule; } - //"scope" type=[NamedElement|QualifiedName] "==" exactScope=INT + //"scope" type=[Symbol|QualifiedName] "==" size=INT FULL_STOP public Group getGroup() { return cGroup; } //"scope" public Keyword getScopeKeyword_0() { return cScopeKeyword_0; } - //type=[NamedElement|QualifiedName] + //type=[Symbol|QualifiedName] public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } - //[NamedElement|QualifiedName] - public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; } + //[Symbol|QualifiedName] + public CrossReference getTypeSymbolCrossReference_1_0() { return cTypeSymbolCrossReference_1_0; } //QualifiedName - public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; } + public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_0_1; } //"==" public Keyword getEqualsSignEqualsSignKeyword_2() { return cEqualsSignEqualsSignKeyword_2; } - //exactScope=INT - public Assignment getExactScopeAssignment_3() { return cExactScopeAssignment_3; } + //size=INT + public Assignment getSizeAssignment_3() { return cSizeAssignment_3; } //INT - public RuleCall getExactScopeINTTerminalRuleCall_3_0() { return cExactScopeINTTerminalRuleCall_3_0; } + public RuleCall getSizeINTTerminalRuleCall_3_0() { return cSizeINTTerminalRuleCall_3_0; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_4() { return cFULL_STOPTerminalRuleCall_4; } } - public class BoundedScopeDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BoundedScopeDefinition"); + public class BoundedScopeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BoundedScope"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); @@ -2165,8 +2482,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0_0.eContents().get(0); private final Keyword cLessThanSignEqualsSignKeyword_1_0_0_1 = (Keyword)cGroup_1_0_0.eContents().get(1); private final Assignment cTypeAssignment_1_0_1 = (Assignment)cGroup_1_0.eContents().get(1); - private final CrossReference cTypeNamedElementCrossReference_1_0_1_0 = (CrossReference)cTypeAssignment_1_0_1.eContents().get(0); - private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0_1_0.eContents().get(1); + private final CrossReference cTypeSymbolCrossReference_1_0_1_0 = (CrossReference)cTypeAssignment_1_0_1.eContents().get(0); + private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_0_1_0_1 = (RuleCall)cTypeSymbolCrossReference_1_0_1_0.eContents().get(1); private final Keyword cLessThanSignEqualsSignKeyword_1_0_2 = (Keyword)cGroup_1_0.eContents().get(2); private final Assignment cUpperBoundAssignment_1_0_3 = (Assignment)cGroup_1_0.eContents().get(3); private final RuleCall cUpperBoundINTTerminalRuleCall_1_0_3_0 = (RuleCall)cUpperBoundAssignment_1_0_3.eContents().get(0); @@ -2175,30 +2492,31 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final RuleCall cUpperBoundINTTerminalRuleCall_1_1_0_0 = (RuleCall)cUpperBoundAssignment_1_1_0.eContents().get(0); private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); private final Assignment cTypeAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); - private final CrossReference cTypeNamedElementCrossReference_1_1_2_0 = (CrossReference)cTypeAssignment_1_1_2.eContents().get(0); - private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_1_2_0.eContents().get(1); + private final CrossReference cTypeSymbolCrossReference_1_1_2_0 = (CrossReference)cTypeAssignment_1_1_2.eContents().get(0); + private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_1_2_0_1 = (RuleCall)cTypeSymbolCrossReference_1_1_2_0.eContents().get(1); private final Group cGroup_1_1_3 = (Group)cGroup_1_1.eContents().get(3); private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_3_0 = (Keyword)cGroup_1_1_3.eContents().get(0); private final Assignment cLowerBoundAssignment_1_1_3_1 = (Assignment)cGroup_1_1_3.eContents().get(1); private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_3_1_0 = (RuleCall)cLowerBoundAssignment_1_1_3_1.eContents().get(0); + private final RuleCall cFULL_STOPTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2); - //BoundedScopeDefinition: - // "scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" - // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?); + //BoundedScope: + // "scope" ((lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" + // type=[Symbol|QualifiedName] (">=" lowerBound=INT)?) FULL_STOP; @Override public ParserRule getRule() { return rule; } - //"scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" - //type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) + //"scope" ((lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" + //type=[Symbol|QualifiedName] (">=" lowerBound=INT)?) FULL_STOP public Group getGroup() { return cGroup; } //"scope" public Keyword getScopeKeyword_0() { return cScopeKeyword_0; } - //((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" - //type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?) + //((lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" + //type=[Symbol|QualifiedName] (">=" lowerBound=INT)?) public Alternatives getAlternatives_1() { return cAlternatives_1; } - //(lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT + //(lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT public Group getGroup_1_0() { return cGroup_1_0; } //(lowerBound=INT "<=")? @@ -2213,14 +2531,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //"<=" public Keyword getLessThanSignEqualsSignKeyword_1_0_0_1() { return cLessThanSignEqualsSignKeyword_1_0_0_1; } - //type=[NamedElement|QualifiedName] + //type=[Symbol|QualifiedName] public Assignment getTypeAssignment_1_0_1() { return cTypeAssignment_1_0_1; } - //[NamedElement|QualifiedName] - public CrossReference getTypeNamedElementCrossReference_1_0_1_0() { return cTypeNamedElementCrossReference_1_0_1_0; } + //[Symbol|QualifiedName] + public CrossReference getTypeSymbolCrossReference_1_0_1_0() { return cTypeSymbolCrossReference_1_0_1_0; } //QualifiedName - public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1_0_1; } + public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_0_1_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_0_1_0_1; } //"<=" public Keyword getLessThanSignEqualsSignKeyword_1_0_2() { return cLessThanSignEqualsSignKeyword_1_0_2; } @@ -2231,7 +2549,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //INT public RuleCall getUpperBoundINTTerminalRuleCall_1_0_3_0() { return cUpperBoundINTTerminalRuleCall_1_0_3_0; } - //upperBound=INT ">=" type=[NamedElement|QualifiedName] (">=" lowerBound=INT)? + //upperBound=INT ">=" type=[Symbol|QualifiedName] (">=" lowerBound=INT)? public Group getGroup_1_1() { return cGroup_1_1; } //upperBound=INT @@ -2243,14 +2561,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //">=" public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; } - //type=[NamedElement|QualifiedName] + //type=[Symbol|QualifiedName] public Assignment getTypeAssignment_1_1_2() { return cTypeAssignment_1_1_2; } - //[NamedElement|QualifiedName] - public CrossReference getTypeNamedElementCrossReference_1_1_2_0() { return cTypeNamedElementCrossReference_1_1_2_0; } + //[Symbol|QualifiedName] + public CrossReference getTypeSymbolCrossReference_1_1_2_0() { return cTypeSymbolCrossReference_1_1_2_0; } //QualifiedName - public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_1_2_0_1; } + public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_1_2_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_1_2_0_1; } //(">=" lowerBound=INT)? public Group getGroup_1_1_3() { return cGroup_1_1_3; } @@ -2263,9 +2581,12 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //INT public RuleCall getLowerBoundINTTerminalRuleCall_1_1_3_1_0() { return cLowerBoundINTTerminalRuleCall_1_1_3_1_0; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_2() { return cFULL_STOPTerminalRuleCall_2; } } - public class LowerBoundedScopeDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LowerBoundedScopeDefinition"); + public class LowerBoundedScopeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LowerBoundedScope"); private final Group cGroup = (Group)rule.eContents().get(1); private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); @@ -2274,31 +2595,32 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final RuleCall cLowerBoundINTTerminalRuleCall_1_0_0_0 = (RuleCall)cLowerBoundAssignment_1_0_0.eContents().get(0); private final Keyword cLessThanSignEqualsSignKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1); private final Assignment cTypeAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); - private final CrossReference cTypeNamedElementCrossReference_1_0_2_0 = (CrossReference)cTypeAssignment_1_0_2.eContents().get(0); - private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0_2_0.eContents().get(1); + private final CrossReference cTypeSymbolCrossReference_1_0_2_0 = (CrossReference)cTypeAssignment_1_0_2.eContents().get(0); + private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_0_2_0_1 = (RuleCall)cTypeSymbolCrossReference_1_0_2_0.eContents().get(1); private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); private final Assignment cTypeAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0); - private final CrossReference cTypeNamedElementCrossReference_1_1_0_0 = (CrossReference)cTypeAssignment_1_1_0.eContents().get(0); - private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_1_0_0.eContents().get(1); + private final CrossReference cTypeSymbolCrossReference_1_1_0_0 = (CrossReference)cTypeAssignment_1_1_0.eContents().get(0); + private final RuleCall cTypeSymbolQualifiedNameParserRuleCall_1_1_0_0_1 = (RuleCall)cTypeSymbolCrossReference_1_1_0_0.eContents().get(1); private final Keyword cGreaterThanSignEqualsSignKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); private final Assignment cLowerBoundAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); private final RuleCall cLowerBoundINTTerminalRuleCall_1_1_2_0 = (RuleCall)cLowerBoundAssignment_1_1_2.eContents().get(0); + private final RuleCall cFULL_STOPTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2); - //LowerBoundedScopeDefinition: - // "scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" - // lowerBound=INT); + //LowerBoundedScope: + // "scope" (lowerBound=INT "<=" type=[Symbol|QualifiedName] | type=[Symbol|QualifiedName] ">=" lowerBound=INT) + // FULL_STOP; @Override public ParserRule getRule() { return rule; } - //"scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" lowerBound=INT) + //"scope" (lowerBound=INT "<=" type=[Symbol|QualifiedName] | type=[Symbol|QualifiedName] ">=" lowerBound=INT) FULL_STOP public Group getGroup() { return cGroup; } //"scope" public Keyword getScopeKeyword_0() { return cScopeKeyword_0; } - //(lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" lowerBound=INT) + //(lowerBound=INT "<=" type=[Symbol|QualifiedName] | type=[Symbol|QualifiedName] ">=" lowerBound=INT) public Alternatives getAlternatives_1() { return cAlternatives_1; } - //lowerBound=INT "<=" type=[NamedElement|QualifiedName] + //lowerBound=INT "<=" type=[Symbol|QualifiedName] public Group getGroup_1_0() { return cGroup_1_0; } //lowerBound=INT @@ -2310,26 +2632,26 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //"<=" public Keyword getLessThanSignEqualsSignKeyword_1_0_1() { return cLessThanSignEqualsSignKeyword_1_0_1; } - //type=[NamedElement|QualifiedName] + //type=[Symbol|QualifiedName] public Assignment getTypeAssignment_1_0_2() { return cTypeAssignment_1_0_2; } - //[NamedElement|QualifiedName] - public CrossReference getTypeNamedElementCrossReference_1_0_2_0() { return cTypeNamedElementCrossReference_1_0_2_0; } + //[Symbol|QualifiedName] + public CrossReference getTypeSymbolCrossReference_1_0_2_0() { return cTypeSymbolCrossReference_1_0_2_0; } //QualifiedName - public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_2_0_1; } + public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_0_2_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_0_2_0_1; } - //type=[NamedElement|QualifiedName] ">=" lowerBound=INT + //type=[Symbol|QualifiedName] ">=" lowerBound=INT public Group getGroup_1_1() { return cGroup_1_1; } - //type=[NamedElement|QualifiedName] + //type=[Symbol|QualifiedName] public Assignment getTypeAssignment_1_1_0() { return cTypeAssignment_1_1_0; } - //[NamedElement|QualifiedName] - public CrossReference getTypeNamedElementCrossReference_1_1_0_0() { return cTypeNamedElementCrossReference_1_1_0_0; } + //[Symbol|QualifiedName] + public CrossReference getTypeSymbolCrossReference_1_1_0_0() { return cTypeSymbolCrossReference_1_1_0_0; } //QualifiedName - public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_1_0_0_1; } + public RuleCall getTypeSymbolQualifiedNameParserRuleCall_1_1_0_0_1() { return cTypeSymbolQualifiedNameParserRuleCall_1_1_0_0_1; } //">=" public Keyword getGreaterThanSignEqualsSignKeyword_1_1_1() { return cGreaterThanSignEqualsSignKeyword_1_1_1; } @@ -2339,20 +2661,24 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //INT public RuleCall getLowerBoundINTTerminalRuleCall_1_1_2_0() { return cLowerBoundINTTerminalRuleCall_1_1_2_0; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_2() { return cFULL_STOPTerminalRuleCall_2; } } - public class ObjectiveDefinitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveDefinition"); + public class ObjectiveDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveDeclaration"); private final Group cGroup = (Group)rule.eContents().get(1); private final Assignment cKindAssignment_0 = (Assignment)cGroup.eContents().get(0); private final RuleCall cKindObjectiveKindEnumRuleCall_0_0 = (RuleCall)cKindAssignment_0.eContents().get(0); private final Assignment cObjectiveAssignment_1 = (Assignment)cGroup.eContents().get(1); private final RuleCall cObjectiveExpressionParserRuleCall_1_0 = (RuleCall)cObjectiveAssignment_1.eContents().get(0); + private final RuleCall cFULL_STOPTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2); - //ObjectiveDefinition: - // kind=ObjectiveKind objective=Expression; + //ObjectiveDeclaration: + // kind=ObjectiveKind objective=Expression FULL_STOP; @Override public ParserRule getRule() { return rule; } - //kind=ObjectiveKind objective=Expression + //kind=ObjectiveKind objective=Expression FULL_STOP public Group getGroup() { return cGroup; } //kind=ObjectiveKind @@ -2366,6 +2692,9 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //Expression public RuleCall getObjectiveExpressionParserRuleCall_1_0() { return cObjectiveExpressionParserRuleCall_1_0; } + + //FULL_STOP + public RuleCall getFULL_STOPTerminalRuleCall_2() { return cFULL_STOPTerminalRuleCall_2; } } public class UpperMultiplictyElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); @@ -2390,116 +2719,155 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Real"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0); - private final Group cGroup_1 = (Group)cGroup.eContents().get(1); - private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); - private final RuleCall cINTTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1); + private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final RuleCall cINTTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2); //Real ecore::EBigDecimal hidden(): - // INT ("." INT)?; + // INT "." INT; @Override public ParserRule getRule() { return rule; } - //INT ("." INT)? + //INT "." INT public Group getGroup() { return cGroup; } //INT public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; } - //("." INT)? - public Group getGroup_1() { return cGroup_1; } - //"." - public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; } + public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; } //INT - public RuleCall getINTTerminalRuleCall_1_1() { return cINTTerminalRuleCall_1_1; } + public RuleCall getINTTerminalRuleCall_2() { return cINTTerminalRuleCall_2; } } - public class QualifiedNameElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + public class QualifiedNameSegmentElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedNameSegment"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); - private final RuleCall cIDTerminalRuleCall_0_0 = (RuleCall)cGroup_0.eContents().get(0); - private final Group cGroup_0_1 = (Group)cGroup_0.eContents().get(1); - private final Keyword cFullStopKeyword_0_1_0 = (Keyword)cGroup_0_1.eContents().get(0); - private final RuleCall cIDTerminalRuleCall_0_1_1 = (RuleCall)cGroup_0_1.eContents().get(1); + private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); private final RuleCall cQUOTED_IDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final Keyword cObjectKeyword_2 = (Keyword)cAlternatives.eContents().get(2); - //QualifiedName hidden(): - // ID ("." ID)* | QUOTED_ID; + //QualifiedNameSegment: + // ID | QUOTED_ID | "object"; @Override public ParserRule getRule() { return rule; } - //ID ("." ID)* | QUOTED_ID + //ID | QUOTED_ID | "object" public Alternatives getAlternatives() { return cAlternatives; } - //ID ("." ID)* - public Group getGroup_0() { return cGroup_0; } - //ID - public RuleCall getIDTerminalRuleCall_0_0() { return cIDTerminalRuleCall_0_0; } + public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; } - //("." ID)* - public Group getGroup_0_1() { return cGroup_0_1; } + //QUOTED_ID + public RuleCall getQUOTED_IDTerminalRuleCall_1() { return cQUOTED_IDTerminalRuleCall_1; } - //"." - public Keyword getFullStopKeyword_0_1_0() { return cFullStopKeyword_0_1_0; } + //"object" + public Keyword getObjectKeyword_2() { return cObjectKeyword_2; } + } + public class QualifiedNameElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cQualifiedNameSegmentParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cColonColonKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final RuleCall cQualifiedNameSegmentParserRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1); - //ID - public RuleCall getIDTerminalRuleCall_0_1_1() { return cIDTerminalRuleCall_0_1_1; } + //QualifiedName hidden(): + // QualifiedNameSegment ("::" QualifiedNameSegment)*; + @Override public ParserRule getRule() { return rule; } - //QUOTED_ID - public RuleCall getQUOTED_IDTerminalRuleCall_1() { return cQUOTED_IDTerminalRuleCall_1; } + //QualifiedNameSegment ("::" QualifiedNameSegment)* + public Group getGroup() { return cGroup; } + + //QualifiedNameSegment + public RuleCall getQualifiedNameSegmentParserRuleCall_0() { return cQualifiedNameSegmentParserRuleCall_0; } + + //("::" QualifiedNameSegment)* + public Group getGroup_1() { return cGroup_1; } + + //"::" + public Keyword getColonColonKeyword_1_0() { return cColonColonKeyword_1_0; } + + //QualifiedNameSegment + public RuleCall getQualifiedNameSegmentParserRuleCall_1_1() { return cQualifiedNameSegmentParserRuleCall_1_1; } } - 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 ImplicationOperator returns BinaryOperator: - // IMPLIES="=>"; + public class AttributeKindElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AttributeKind"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final EnumLiteralDeclaration cFUNCTIONALEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cFUNCTIONALFunctionalKeyword_0_0 = (Keyword)cFUNCTIONALEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cERROREnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cERRORErrorKeyword_1_0 = (Keyword)cERROREnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cROOTEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); + private final Keyword cROOTRootKeyword_2_0 = (Keyword)cROOTEnumLiteralDeclaration_2.eContents().get(0); + private final EnumLiteralDeclaration cCONTAINMENTEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); + private final Keyword cCONTAINMENTContainmentKeyword_3_0 = (Keyword)cCONTAINMENTEnumLiteralDeclaration_3.eContents().get(0); + + //enum AttributeKind: + // FUNCTIONAL="functional" | ERROR="error" | ROOT="root" | CONTAINMENT="containment"; public EnumRule getRule() { return rule; } - //IMPLIES="=>" - public EnumLiteralDeclaration getIMPLIESEnumLiteralDeclaration() { return cIMPLIESEnumLiteralDeclaration; } + //FUNCTIONAL="functional" | ERROR="error" | ROOT="root" | CONTAINMENT="containment" + public Alternatives getAlternatives() { return cAlternatives; } + + //FUNCTIONAL="functional" + public EnumLiteralDeclaration getFUNCTIONALEnumLiteralDeclaration_0() { return cFUNCTIONALEnumLiteralDeclaration_0; } - //"=>" - public Keyword getIMPLIESEqualsSignGreaterThanSignKeyword_0() { return cIMPLIESEqualsSignGreaterThanSignKeyword_0; } + //"functional" + public Keyword getFUNCTIONALFunctionalKeyword_0_0() { return cFUNCTIONALFunctionalKeyword_0_0; } + + //ERROR="error" + public EnumLiteralDeclaration getERROREnumLiteralDeclaration_1() { return cERROREnumLiteralDeclaration_1; } + + //"error" + public Keyword getERRORErrorKeyword_1_0() { return cERRORErrorKeyword_1_0; } + + //ROOT="root" + public EnumLiteralDeclaration getROOTEnumLiteralDeclaration_2() { return cROOTEnumLiteralDeclaration_2; } + + //"root" + public Keyword getROOTRootKeyword_2_0() { return cROOTRootKeyword_2_0; } + + //CONTAINMENT="containment" + public EnumLiteralDeclaration getCONTAINMENTEnumLiteralDeclaration_3() { return cCONTAINMENTEnumLiteralDeclaration_3; } + + //"containment" + public Keyword getCONTAINMENTContainmentKeyword_3_0() { return cCONTAINMENTContainmentKeyword_3_0; } } public class ComparisonOperatorElements extends AbstractEnumRuleElementFinder { private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final EnumLiteralDeclaration cEQEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); - private final Keyword cEQEqualsSignEqualsSignKeyword_0_0 = (Keyword)cEQEnumLiteralDeclaration_0.eContents().get(0); - private final EnumLiteralDeclaration cNOT_EQEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); - private final Keyword cNOT_EQExclamationMarkEqualsSignKeyword_1_0 = (Keyword)cNOT_EQEnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cEQUALSEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cEQUALSEqualsSignEqualsSignKeyword_0_0 = (Keyword)cEQUALSEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cNOT_EQUALSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cNOT_EQUALSExclamationMarkEqualsSignKeyword_1_0 = (Keyword)cNOT_EQUALSEnumLiteralDeclaration_1.eContents().get(0); private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); private final Keyword cLESSLessThanSignKeyword_2_0 = (Keyword)cLESSEnumLiteralDeclaration_2.eContents().get(0); - private final EnumLiteralDeclaration cLESS_EQEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); - private final Keyword cLESS_EQLessThanSignEqualsSignKeyword_3_0 = (Keyword)cLESS_EQEnumLiteralDeclaration_3.eContents().get(0); + private final EnumLiteralDeclaration cLESS_EQUALSEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); + private final Keyword cLESS_EQUALSLessThanSignEqualsSignKeyword_3_0 = (Keyword)cLESS_EQUALSEnumLiteralDeclaration_3.eContents().get(0); private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); private final Keyword cGREATERGreaterThanSignKeyword_4_0 = (Keyword)cGREATEREnumLiteralDeclaration_4.eContents().get(0); - private final EnumLiteralDeclaration cGREATER_EQEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); - private final Keyword cGREATER_EQGreaterThanSignEqualsSignKeyword_5_0 = (Keyword)cGREATER_EQEnumLiteralDeclaration_5.eContents().get(0); + private final EnumLiteralDeclaration cGREATER_EQUALSEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); + private final Keyword cGREATER_EQUALSGreaterThanSignEqualsSignKeyword_5_0 = (Keyword)cGREATER_EQUALSEnumLiteralDeclaration_5.eContents().get(0); private final EnumLiteralDeclaration cINEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6); private final Keyword cINInKeyword_6_0 = (Keyword)cINEnumLiteralDeclaration_6.eContents().get(0); //enum ComparisonOperator returns BinaryOperator: - // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"; + // EQUALS="==" | NOT_EQUALS="!=" | LESS="<" | LESS_EQUALS="<=" | GREATER=">" | GREATER_EQUALS=">=" | IN="in"; public EnumRule getRule() { return rule; } - //EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in" + //EQUALS="==" | NOT_EQUALS="!=" | LESS="<" | LESS_EQUALS="<=" | GREATER=">" | GREATER_EQUALS=">=" | IN="in" public Alternatives getAlternatives() { return cAlternatives; } - //EQ="==" - public EnumLiteralDeclaration getEQEnumLiteralDeclaration_0() { return cEQEnumLiteralDeclaration_0; } + //EQUALS="==" + public EnumLiteralDeclaration getEQUALSEnumLiteralDeclaration_0() { return cEQUALSEnumLiteralDeclaration_0; } //"==" - public Keyword getEQEqualsSignEqualsSignKeyword_0_0() { return cEQEqualsSignEqualsSignKeyword_0_0; } + public Keyword getEQUALSEqualsSignEqualsSignKeyword_0_0() { return cEQUALSEqualsSignEqualsSignKeyword_0_0; } - //NOT_EQ="!=" - public EnumLiteralDeclaration getNOT_EQEnumLiteralDeclaration_1() { return cNOT_EQEnumLiteralDeclaration_1; } + //NOT_EQUALS="!=" + public EnumLiteralDeclaration getNOT_EQUALSEnumLiteralDeclaration_1() { return cNOT_EQUALSEnumLiteralDeclaration_1; } //"!=" - public Keyword getNOT_EQExclamationMarkEqualsSignKeyword_1_0() { return cNOT_EQExclamationMarkEqualsSignKeyword_1_0; } + public Keyword getNOT_EQUALSExclamationMarkEqualsSignKeyword_1_0() { return cNOT_EQUALSExclamationMarkEqualsSignKeyword_1_0; } //LESS="<" public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_2() { return cLESSEnumLiteralDeclaration_2; } @@ -2507,11 +2875,11 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //"<" public Keyword getLESSLessThanSignKeyword_2_0() { return cLESSLessThanSignKeyword_2_0; } - //LESS_EQ="<=" - public EnumLiteralDeclaration getLESS_EQEnumLiteralDeclaration_3() { return cLESS_EQEnumLiteralDeclaration_3; } + //LESS_EQUALS="<=" + public EnumLiteralDeclaration getLESS_EQUALSEnumLiteralDeclaration_3() { return cLESS_EQUALSEnumLiteralDeclaration_3; } //"<=" - public Keyword getLESS_EQLessThanSignEqualsSignKeyword_3_0() { return cLESS_EQLessThanSignEqualsSignKeyword_3_0; } + public Keyword getLESS_EQUALSLessThanSignEqualsSignKeyword_3_0() { return cLESS_EQUALSLessThanSignEqualsSignKeyword_3_0; } //GREATER=">" public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_4() { return cGREATEREnumLiteralDeclaration_4; } @@ -2519,11 +2887,11 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //">" public Keyword getGREATERGreaterThanSignKeyword_4_0() { return cGREATERGreaterThanSignKeyword_4_0; } - //GREATER_EQ=">=" - public EnumLiteralDeclaration getGREATER_EQEnumLiteralDeclaration_5() { return cGREATER_EQEnumLiteralDeclaration_5; } + //GREATER_EQUALS=">=" + public EnumLiteralDeclaration getGREATER_EQUALSEnumLiteralDeclaration_5() { return cGREATER_EQUALSEnumLiteralDeclaration_5; } //">=" - public Keyword getGREATER_EQGreaterThanSignEqualsSignKeyword_5_0() { return cGREATER_EQGreaterThanSignEqualsSignKeyword_5_0; } + public Keyword getGREATER_EQUALSGreaterThanSignEqualsSignKeyword_5_0() { return cGREATER_EQUALSGreaterThanSignEqualsSignKeyword_5_0; } //IN="in" public EnumLiteralDeclaration getINEnumLiteralDeclaration_6() { return cINEnumLiteralDeclaration_6; } @@ -2534,56 +2902,56 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { public class AdditiveBinaryOperatorElements extends AbstractEnumRuleElementFinder { private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveBinaryOperator"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final EnumLiteralDeclaration cADDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); - private final Keyword cADDPlusSignKeyword_0_0 = (Keyword)cADDEnumLiteralDeclaration_0.eContents().get(0); - private final EnumLiteralDeclaration cSUBEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); - private final Keyword cSUBHyphenMinusKeyword_1_0 = (Keyword)cSUBEnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cPLUSEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cPLUSPlusSignKeyword_0_0 = (Keyword)cPLUSEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cMINUSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cMINUSHyphenMinusKeyword_1_0 = (Keyword)cMINUSEnumLiteralDeclaration_1.eContents().get(0); //enum AdditiveBinaryOperator returns BinaryOperator: - // ADD="+" | SUB="-"; + // PLUS="+" | MINUS="-"; public EnumRule getRule() { return rule; } - //ADD="+" | SUB="-" + //PLUS="+" | MINUS="-" public Alternatives getAlternatives() { return cAlternatives; } - //ADD="+" - public EnumLiteralDeclaration getADDEnumLiteralDeclaration_0() { return cADDEnumLiteralDeclaration_0; } + //PLUS="+" + public EnumLiteralDeclaration getPLUSEnumLiteralDeclaration_0() { return cPLUSEnumLiteralDeclaration_0; } //"+" - public Keyword getADDPlusSignKeyword_0_0() { return cADDPlusSignKeyword_0_0; } + public Keyword getPLUSPlusSignKeyword_0_0() { return cPLUSPlusSignKeyword_0_0; } - //SUB="-" - public EnumLiteralDeclaration getSUBEnumLiteralDeclaration_1() { return cSUBEnumLiteralDeclaration_1; } + //MINUS="-" + public EnumLiteralDeclaration getMINUSEnumLiteralDeclaration_1() { return cMINUSEnumLiteralDeclaration_1; } //"-" - public Keyword getSUBHyphenMinusKeyword_1_0() { return cSUBHyphenMinusKeyword_1_0; } + public Keyword getMINUSHyphenMinusKeyword_1_0() { return cMINUSHyphenMinusKeyword_1_0; } } public class MultiplicativeBinaryOperatorElements extends AbstractEnumRuleElementFinder { private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicativeBinaryOperator"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final EnumLiteralDeclaration cMULEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); - private final Keyword cMULAsteriskKeyword_0_0 = (Keyword)cMULEnumLiteralDeclaration_0.eContents().get(0); - private final EnumLiteralDeclaration cDIVEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); - private final Keyword cDIVSolidusKeyword_1_0 = (Keyword)cDIVEnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cMULTIPLYEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cMULTIPLYAsteriskKeyword_0_0 = (Keyword)cMULTIPLYEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cDIVIDEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cDIVIDESolidusKeyword_1_0 = (Keyword)cDIVIDEEnumLiteralDeclaration_1.eContents().get(0); //enum MultiplicativeBinaryOperator returns BinaryOperator: - // MUL="*" | DIV="/"; + // MULTIPLY="*" | DIVIDE="/"; public EnumRule getRule() { return rule; } - //MUL="*" | DIV="/" + //MULTIPLY="*" | DIVIDE="/" public Alternatives getAlternatives() { return cAlternatives; } - //MUL="*" - public EnumLiteralDeclaration getMULEnumLiteralDeclaration_0() { return cMULEnumLiteralDeclaration_0; } + //MULTIPLY="*" + public EnumLiteralDeclaration getMULTIPLYEnumLiteralDeclaration_0() { return cMULTIPLYEnumLiteralDeclaration_0; } //"*" - public Keyword getMULAsteriskKeyword_0_0() { return cMULAsteriskKeyword_0_0; } + public Keyword getMULTIPLYAsteriskKeyword_0_0() { return cMULTIPLYAsteriskKeyword_0_0; } - //DIV="/" - public EnumLiteralDeclaration getDIVEnumLiteralDeclaration_1() { return cDIVEnumLiteralDeclaration_1; } + //DIVIDE="/" + public EnumLiteralDeclaration getDIVIDEEnumLiteralDeclaration_1() { return cDIVIDEEnumLiteralDeclaration_1; } //"/" - public Keyword getDIVSolidusKeyword_1_0() { return cDIVSolidusKeyword_1_0; } + public Keyword getDIVIDESolidusKeyword_1_0() { return cDIVIDESolidusKeyword_1_0; } } public class ExponentialOpElements extends AbstractEnumRuleElementFinder { private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialOp"); @@ -2600,34 +2968,30 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //"^" public Keyword getPOWCircumflexAccentKeyword_0() { return cPOWCircumflexAccentKeyword_0; } } - public class UnaryOpElements extends AbstractEnumRuleElementFinder { - private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp"); + public class UnaryOperatorElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOperator"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final EnumLiteralDeclaration cNEGEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); - private final Keyword cNEGExclamationMarkKeyword_0_0 = (Keyword)cNEGEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cNOTEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cNOTExclamationMarkKeyword_0_0 = (Keyword)cNOTEnumLiteralDeclaration_0.eContents().get(0); private final EnumLiteralDeclaration cPLUSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); private final Keyword cPLUSPlusSignKeyword_1_0 = (Keyword)cPLUSEnumLiteralDeclaration_1.eContents().get(0); private final EnumLiteralDeclaration cMINUSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); private final Keyword cMINUSHyphenMinusKeyword_2_0 = (Keyword)cMINUSEnumLiteralDeclaration_2.eContents().get(0); - private final EnumLiteralDeclaration cMAYEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); - private final Keyword cMAYMayKeyword_3_0 = (Keyword)cMAYEnumLiteralDeclaration_3.eContents().get(0); - private final EnumLiteralDeclaration cMUSTEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); - private final Keyword cMUSTMustKeyword_4_0 = (Keyword)cMUSTEnumLiteralDeclaration_4.eContents().get(0); - private final EnumLiteralDeclaration cCURRENTEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); - private final Keyword cCURRENTCurrentKeyword_5_0 = (Keyword)cCURRENTEnumLiteralDeclaration_5.eContents().get(0); - - //enum UnaryOp: - // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"; + private final EnumLiteralDeclaration cMAYBEEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); + private final Keyword cMAYBEQuestionMarkKeyword_3_0 = (Keyword)cMAYBEEnumLiteralDeclaration_3.eContents().get(0); + + //enum UnaryOperator: + // NOT="!" | PLUS="+" | MINUS="-" | MAYBE="?"; public EnumRule getRule() { return rule; } - //NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current" + //NOT="!" | PLUS="+" | MINUS="-" | MAYBE="?" public Alternatives getAlternatives() { return cAlternatives; } - //NEG="!" - public EnumLiteralDeclaration getNEGEnumLiteralDeclaration_0() { return cNEGEnumLiteralDeclaration_0; } + //NOT="!" + public EnumLiteralDeclaration getNOTEnumLiteralDeclaration_0() { return cNOTEnumLiteralDeclaration_0; } //"!" - public Keyword getNEGExclamationMarkKeyword_0_0() { return cNEGExclamationMarkKeyword_0_0; } + public Keyword getNOTExclamationMarkKeyword_0_0() { return cNOTExclamationMarkKeyword_0_0; } //PLUS="+" public EnumLiteralDeclaration getPLUSEnumLiteralDeclaration_1() { return cPLUSEnumLiteralDeclaration_1; } @@ -2641,58 +3005,11 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //"-" public Keyword getMINUSHyphenMinusKeyword_2_0() { return cMINUSHyphenMinusKeyword_2_0; } - //MAY="may" - public EnumLiteralDeclaration getMAYEnumLiteralDeclaration_3() { return cMAYEnumLiteralDeclaration_3; } - - //"may" - public Keyword getMAYMayKeyword_3_0() { return cMAYMayKeyword_3_0; } - - //MUST="must" - public EnumLiteralDeclaration getMUSTEnumLiteralDeclaration_4() { return cMUSTEnumLiteralDeclaration_4; } - - //"must" - public Keyword getMUSTMustKeyword_4_0() { return cMUSTMustKeyword_4_0; } - - //CURRENT="current" - public EnumLiteralDeclaration getCURRENTEnumLiteralDeclaration_5() { return cCURRENTEnumLiteralDeclaration_5; } + //MAYBE="?" + public EnumLiteralDeclaration getMAYBEEnumLiteralDeclaration_3() { return cMAYBEEnumLiteralDeclaration_3; } - //"current" - public Keyword getCURRENTCurrentKeyword_5_0() { return cCURRENTCurrentKeyword_5_0; } - } - 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 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; } - - //EXISTS="exists" | FORALL="forall" | COUNT="count" - public Alternatives getAlternatives() { return cAlternatives; } - - //EXISTS="exists" - public EnumLiteralDeclaration getEXISTSEnumLiteralDeclaration_0() { return cEXISTSEnumLiteralDeclaration_0; } - - //"exists" - public Keyword getEXISTSExistsKeyword_0_0() { return cEXISTSExistsKeyword_0_0; } - - //FORALL="forall" - public EnumLiteralDeclaration getFORALLEnumLiteralDeclaration_1() { return cFORALLEnumLiteralDeclaration_1; } - - //"forall" - public Keyword getFORALLForallKeyword_1_0() { return cFORALLForallKeyword_1_0; } - - //COUNT="count" - public EnumLiteralDeclaration getCOUNTEnumLiteralDeclaration_2() { return cCOUNTEnumLiteralDeclaration_2; } - - //"count" - public Keyword getCOUNTCountKeyword_2_0() { return cCOUNTCountKeyword_2_0; } + //"?" + public Keyword getMAYBEQuestionMarkKeyword_3_0() { return cMAYBEQuestionMarkKeyword_3_0; } } public class LogicValueElements extends AbstractEnumRuleElementFinder { private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue"); @@ -2740,49 +3057,53 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { public class ObjectiveKindElements extends AbstractEnumRuleElementFinder { private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ObjectiveKind"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final EnumLiteralDeclaration cMINIMIZEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); - private final Keyword cMINIMIZEMinimizeKeyword_0_0 = (Keyword)cMINIMIZEEnumLiteralDeclaration_0.eContents().get(0); - private final EnumLiteralDeclaration cMAXIMIZEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); - private final Keyword cMAXIMIZEMaximizeKeyword_1_0 = (Keyword)cMAXIMIZEEnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cMINIMIZATIONEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cMINIMIZATIONMinimizeKeyword_0_0 = (Keyword)cMINIMIZATIONEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cMAXIMIZATIONEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cMAXIMIZATIONMaximizeKeyword_1_0 = (Keyword)cMAXIMIZATIONEnumLiteralDeclaration_1.eContents().get(0); //enum ObjectiveKind: - // MINIMIZE="minimize" | MAXIMIZE="maximize"; + // MINIMIZATION="minimize" | MAXIMIZATION="maximize"; public EnumRule getRule() { return rule; } - //MINIMIZE="minimize" | MAXIMIZE="maximize" + //MINIMIZATION="minimize" | MAXIMIZATION="maximize" public Alternatives getAlternatives() { return cAlternatives; } - //MINIMIZE="minimize" - public EnumLiteralDeclaration getMINIMIZEEnumLiteralDeclaration_0() { return cMINIMIZEEnumLiteralDeclaration_0; } + //MINIMIZATION="minimize" + public EnumLiteralDeclaration getMINIMIZATIONEnumLiteralDeclaration_0() { return cMINIMIZATIONEnumLiteralDeclaration_0; } //"minimize" - public Keyword getMINIMIZEMinimizeKeyword_0_0() { return cMINIMIZEMinimizeKeyword_0_0; } + public Keyword getMINIMIZATIONMinimizeKeyword_0_0() { return cMINIMIZATIONMinimizeKeyword_0_0; } - //MAXIMIZE="maximize" - public EnumLiteralDeclaration getMAXIMIZEEnumLiteralDeclaration_1() { return cMAXIMIZEEnumLiteralDeclaration_1; } + //MAXIMIZATION="maximize" + public EnumLiteralDeclaration getMAXIMIZATIONEnumLiteralDeclaration_1() { return cMAXIMIZATIONEnumLiteralDeclaration_1; } //"maximize" - public Keyword getMAXIMIZEMaximizeKeyword_1_0() { return cMAXIMIZEMaximizeKeyword_1_0; } + public Keyword getMAXIMIZATIONMaximizeKeyword_1_0() { return cMAXIMIZATIONMaximizeKeyword_1_0; } } private final ProblemElements pProblem; private final StatementElements pStatement; + private final ImportElements pImport; + private final UriImportElements pUriImport; + private final NamespaceImportElements pNamespaceImport; private final AssertionOrDefinitionElements pAssertionOrDefinition; private final PredicateDefinitionElements pPredicateDefinition; - private final UnnamedErrorPrediateDefinitionElements pUnnamedErrorPrediateDefinition; - private final DefaultDefinitionElements pDefaultDefinition; - 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 UnnamedErrorPredicateDefintionElements pUnnamedErrorPredicateDefintion; + private final DefaultAssertionElements pDefaultAssertion; + private final FunctionDefinitionElements pFunctionDefinition; + private final TypeReferenceElements pTypeReference; + private final AttributeKindElements eAttributeKind; + private final AttributeElements pAttribute; + private final ExternDeclarationElements pExternDeclaration; + private final ExternPredicateDeclarationElements pExternPredicateDeclaration; + private final ExternFunctionDeclarationElements pExternFunctionDeclaration; + private final ExternAggregationOperatorDeclarationElements pExternAggregationOperatorDeclaration; + private final ExternDatatypeDeclarationElements pExternDatatypeDeclaration; private final ExpressionElements pExpression; - private final IfElseElements pIfElse; - private final LetElements pLet; + private final ConditionalExpressionElements pConditionalExpression; + private final LetExpressionElements pLetExpression; private final LetBindingElements pLetBinding; - private final ImplicationOperatorElements eImplicationOperator; - private final ImplicationExpressionElements pImplicationExpression; private final DisjunctiveExpressionElements pDisjunctiveExpression; private final CaseElements pCase; private final ConjunctiveExpressionElements pConjunctiveExpression; @@ -2795,44 +3116,47 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { private final ExponentialOpElements eExponentialOp; private final ExponentialExpressionElements pExponentialExpression; private final CastExpressionElements pCastExpression; - private final UnaryOpElements eUnaryOp; + private final UnaryOperatorElements eUnaryOperator; private final UnaryExpressionElements pUnaryExpression; - private final AggregationExpressionElements pAggregationExpression; - private final LocalVariablesElements pLocalVariables; - private final QuantifierElements eQuantifier; - private final QuantifiedExpressionElements pQuantifiedExpression; + private final BracedAggregateExpressionElements pBracedAggregateExpression; private final AggregationElements pAggregation; + private final CountElements pCount; private final AtomicExpressionElements pAtomicExpression; private final CallElements pCall; private final ArgumentListElements pArgumentList; private final ArgumentElements pArgument; private final ExpressionArgumentElements pExpressionArgument; private final StarArgumentElements pStarArgument; - private final TypedArgumentElements pTypedArgument; + private final TypedVariableArgumentElements pTypedVariableArgument; private final TypedStarArgumentElements pTypedStarArgument; private final ReferenceElements pReference; + private final PathComponentElements pPathComponent; private final IntervalElements pInterval; private final LiteralElements pLiteral; private final LogicValueElements eLogicValue; private final LogicLiteralElements pLogicLiteral; - private final NumericLiteralElements pNumericLiteral; + private final IntLiteralElements pIntLiteral; + private final RealLiteralElements pRealLiteral; private final InfinityLiteralElements pInfinityLiteral; - private final EmptyIntervalLiteralElements pEmptyIntervalLiteral; + private final EmptyLiteralElements pEmptyLiteral; private final StringLiteralElements pStringLiteral; - private final ClassDefinitionElements pClassDefinition; - private final MemberDefinitionElements pMemberDefinition; + private final ClassDeclarationElements pClassDeclaration; + private final FieldElements pField; private final MultiplicityElements pMultiplicity; - private final ManyMultiplicityElements pManyMultiplicity; + private final UnboundedMultiplicityElements pUnboundedMultiplicity; private final ExactMultiplicityElements pExactMultiplicity; private final BoundedMultiplicityElements pBoundedMultiplicity; - private final ScopeDefinitionElements pScopeDefinition; - private final ExactScopeDefinitionElements pExactScopeDefinition; - private final BoundedScopeDefinitionElements pBoundedScopeDefinition; - private final LowerBoundedScopeDefinitionElements pLowerBoundedScopeDefinition; + private final EnumDeclarationElements pEnumDeclaration; + private final EnumLiteralElements pEnumLiteral; + private final ScopeDeclarationElements pScopeDeclaration; + private final ExactScopeElements pExactScope; + private final BoundedScopeElements pBoundedScope; + private final LowerBoundedScopeElements pLowerBoundedScope; private final ObjectiveKindElements eObjectiveKind; - private final ObjectiveDefinitionElements pObjectiveDefinition; + private final ObjectiveDeclarationElements pObjectiveDeclaration; private final UpperMultiplictyElements pUpperMultiplicty; private final RealElements pReal; + private final QualifiedNameSegmentElements pQualifiedNameSegment; private final QualifiedNameElements pQualifiedName; private final TerminalRule tSTRING; private final TerminalRule tQUOTED_ID; @@ -2852,22 +3176,26 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { this.gaTerminals = gaTerminals; this.pProblem = new ProblemElements(); this.pStatement = new StatementElements(); + this.pImport = new ImportElements(); + this.pUriImport = new UriImportElements(); + this.pNamespaceImport = new NamespaceImportElements(); this.pAssertionOrDefinition = new AssertionOrDefinitionElements(); this.pPredicateDefinition = new PredicateDefinitionElements(); - this.pUnnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionElements(); - this.pDefaultDefinition = new DefaultDefinitionElements(); - 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.pUnnamedErrorPredicateDefintion = new UnnamedErrorPredicateDefintionElements(); + this.pDefaultAssertion = new DefaultAssertionElements(); + this.pFunctionDefinition = new FunctionDefinitionElements(); + this.pTypeReference = new TypeReferenceElements(); + this.eAttributeKind = new AttributeKindElements(); + this.pAttribute = new AttributeElements(); + this.pExternDeclaration = new ExternDeclarationElements(); + this.pExternPredicateDeclaration = new ExternPredicateDeclarationElements(); + this.pExternFunctionDeclaration = new ExternFunctionDeclarationElements(); + this.pExternAggregationOperatorDeclaration = new ExternAggregationOperatorDeclarationElements(); + this.pExternDatatypeDeclaration = new ExternDatatypeDeclarationElements(); this.pExpression = new ExpressionElements(); - this.pIfElse = new IfElseElements(); - this.pLet = new LetElements(); + this.pConditionalExpression = new ConditionalExpressionElements(); + this.pLetExpression = new LetExpressionElements(); this.pLetBinding = new LetBindingElements(); - this.eImplicationOperator = new ImplicationOperatorElements(); - this.pImplicationExpression = new ImplicationExpressionElements(); this.pDisjunctiveExpression = new DisjunctiveExpressionElements(); this.pCase = new CaseElements(); this.pConjunctiveExpression = new ConjunctiveExpressionElements(); @@ -2880,44 +3208,47 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { this.eExponentialOp = new ExponentialOpElements(); this.pExponentialExpression = new ExponentialExpressionElements(); this.pCastExpression = new CastExpressionElements(); - this.eUnaryOp = new UnaryOpElements(); + this.eUnaryOperator = new UnaryOperatorElements(); this.pUnaryExpression = new UnaryExpressionElements(); - this.pAggregationExpression = new AggregationExpressionElements(); - this.pLocalVariables = new LocalVariablesElements(); - this.eQuantifier = new QuantifierElements(); - this.pQuantifiedExpression = new QuantifiedExpressionElements(); + this.pBracedAggregateExpression = new BracedAggregateExpressionElements(); this.pAggregation = new AggregationElements(); + this.pCount = new CountElements(); this.pAtomicExpression = new AtomicExpressionElements(); this.pCall = new CallElements(); this.pArgumentList = new ArgumentListElements(); this.pArgument = new ArgumentElements(); this.pExpressionArgument = new ExpressionArgumentElements(); this.pStarArgument = new StarArgumentElements(); - this.pTypedArgument = new TypedArgumentElements(); + this.pTypedVariableArgument = new TypedVariableArgumentElements(); this.pTypedStarArgument = new TypedStarArgumentElements(); this.pReference = new ReferenceElements(); + this.pPathComponent = new PathComponentElements(); this.pInterval = new IntervalElements(); this.pLiteral = new LiteralElements(); this.eLogicValue = new LogicValueElements(); this.pLogicLiteral = new LogicLiteralElements(); - this.pNumericLiteral = new NumericLiteralElements(); + this.pIntLiteral = new IntLiteralElements(); + this.pRealLiteral = new RealLiteralElements(); this.pInfinityLiteral = new InfinityLiteralElements(); - this.pEmptyIntervalLiteral = new EmptyIntervalLiteralElements(); + this.pEmptyLiteral = new EmptyLiteralElements(); this.pStringLiteral = new StringLiteralElements(); - this.pClassDefinition = new ClassDefinitionElements(); - this.pMemberDefinition = new MemberDefinitionElements(); + this.pClassDeclaration = new ClassDeclarationElements(); + this.pField = new FieldElements(); this.pMultiplicity = new MultiplicityElements(); - this.pManyMultiplicity = new ManyMultiplicityElements(); + this.pUnboundedMultiplicity = new UnboundedMultiplicityElements(); this.pExactMultiplicity = new ExactMultiplicityElements(); this.pBoundedMultiplicity = new BoundedMultiplicityElements(); - this.pScopeDefinition = new ScopeDefinitionElements(); - this.pExactScopeDefinition = new ExactScopeDefinitionElements(); - this.pBoundedScopeDefinition = new BoundedScopeDefinitionElements(); - this.pLowerBoundedScopeDefinition = new LowerBoundedScopeDefinitionElements(); + this.pEnumDeclaration = new EnumDeclarationElements(); + this.pEnumLiteral = new EnumLiteralElements(); + this.pScopeDeclaration = new ScopeDeclarationElements(); + this.pExactScope = new ExactScopeElements(); + this.pBoundedScope = new BoundedScopeElements(); + this.pLowerBoundedScope = new LowerBoundedScopeElements(); this.eObjectiveKind = new ObjectiveKindElements(); - this.pObjectiveDefinition = new ObjectiveDefinitionElements(); + this.pObjectiveDeclaration = new ObjectiveDeclarationElements(); this.pUpperMultiplicty = new UpperMultiplictyElements(); this.pReal = new RealElements(); + this.pQualifiedNameSegment = new QualifiedNameSegmentElements(); this.pQualifiedName = new QualifiedNameElements(); this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); this.tQUOTED_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QUOTED_ID"); @@ -2955,6 +3286,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { //Problem: + // ("problem" name=QualifiedName FULL_STOP)? + // imports+=Import* // statements+=Statement*; public ProblemElements getProblemAccess() { return pProblem; @@ -2965,9 +3298,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //Statement: - // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition - // | ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | - // ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP; + // AssertionOrDefinition | PredicateDefinition | UnnamedErrorPredicateDefintion | DefaultAssertion | FunctionDefinition + // | Attribute | ExternDeclaration | ScopeDeclaration | ObjectiveDeclaration | ClassDeclaration | EnumDeclaration; public StatementElements getStatementAccess() { return pStatement; } @@ -2976,9 +3308,39 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getStatementAccess().getRule(); } + //Import: + // UriImport | NamespaceImport; + public ImportElements getImportAccess() { + return pImport; + } + + public ParserRule getImportRule() { + return getImportAccess().getRule(); + } + + //UriImport: + // "import" uri=STRING ("as" alias=QualifiedName) FULL_STOP; + public UriImportElements getUriImportAccess() { + return pUriImport; + } + + public ParserRule getUriImportRule() { + return getUriImportAccess().getRule(); + } + + //NamespaceImport: + // "import" importedNamespace=QualifiedName ("as" alias=QualifiedName) FULL_STOP; + public NamespaceImportElements getNamespaceImportAccess() { + return pNamespaceImport; + } + + public ParserRule getNamespaceImportRule() { + return getNamespaceImportAccess().getRule(); + } + //AssertionOrDefinition Statement: - // Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" - // body=Expression | {MetricDefinition.head=current} "=" body=Expression)?; + // Expression ({Assertion.expression=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" + // body=Expression | {FunctionDefinition.head=current} ":=" body=Expression) FULL_STOP; public AssertionOrDefinitionElements getAssertionOrDefinitionAccess() { return pAssertionOrDefinition; } @@ -2988,7 +3350,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //PredicateDefinition: - // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression; + // (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression + // FULL_STOP; public PredicateDefinitionElements getPredicateDefinitionAccess() { return pPredicateDefinition; } @@ -2997,89 +3360,121 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getPredicateDefinitionAccess().getRule(); } - //UnnamedErrorPrediateDefinition: - // "error" argumentList=ArgumentList ":-" body=Expression; - public UnnamedErrorPrediateDefinitionElements getUnnamedErrorPrediateDefinitionAccess() { - return pUnnamedErrorPrediateDefinition; + //UnnamedErrorPredicateDefintion: + // "error" argumentList=ArgumentList ":-" body=Expression FULL_STOP; + public UnnamedErrorPredicateDefintionElements getUnnamedErrorPredicateDefintionAccess() { + return pUnnamedErrorPredicateDefintion; + } + + public ParserRule getUnnamedErrorPredicateDefintionRule() { + return getUnnamedErrorPredicateDefintionAccess().getRule(); + } + + //DefaultAssertion: + // "default" expression=Call (":" range=Expression)? FULL_STOP; + public DefaultAssertionElements getDefaultAssertionAccess() { + return pDefaultAssertion; + } + + public ParserRule getDefaultAssertionRule() { + return getDefaultAssertionAccess().getRule(); + } + + //FunctionDefinition: + // resultType=[Symbol|QualifiedName] head=Call ":=" body=Expression FULL_STOP; + public FunctionDefinitionElements getFunctionDefinitionAccess() { + return pFunctionDefinition; } - public ParserRule getUnnamedErrorPrediateDefinitionRule() { - return getUnnamedErrorPrediateDefinitionAccess().getRule(); + public ParserRule getFunctionDefinitionRule() { + return getFunctionDefinitionAccess().getRule(); } - //DefaultDefinition: - // "default" head=Call ":" range=Expression; - public DefaultDefinitionElements getDefaultDefinitionAccess() { - return pDefaultDefinition; + //TypeReference: + // type=[Symbol|QualifiedName] forceObjectType?="object"?; + public TypeReferenceElements getTypeReferenceAccess() { + return pTypeReference; } - public ParserRule getDefaultDefinitionRule() { - return getDefaultDefinitionAccess().getRule(); + public ParserRule getTypeReferenceRule() { + return getTypeReferenceAccess().getRule(); } - //MetricDefinition: - // type=[NamedElement|QualifiedName] head=Call "=" body=Expression; - public MetricDefinitionElements getMetricDefinitionAccess() { - return pMetricDefinition; + //enum AttributeKind: + // FUNCTIONAL="functional" | ERROR="error" | ROOT="root" | CONTAINMENT="containment"; + public AttributeKindElements getAttributeKindAccess() { + return eAttributeKind; } - public ParserRule getMetricDefinitionRule() { - return getMetricDefinitionAccess().getRule(); + public EnumRule getAttributeKindRule() { + return getAttributeKindAccess().getRule(); } - //ExternPredicateDefinition: - // "extern" name=QualifiedName argumentList=ArgumentList; - public ExternPredicateDefinitionElements getExternPredicateDefinitionAccess() { - return pExternPredicateDefinition; + //Attribute: + // kind=AttributeKind target=[Symbol|QualifiedName] FULL_STOP; + public AttributeElements getAttributeAccess() { + return pAttribute; } - public ParserRule getExternPredicateDefinitionRule() { - return getExternPredicateDefinitionAccess().getRule(); + public ParserRule getAttributeRule() { + return getAttributeAccess().getRule(); } - //ExternMetricDefinition: - // "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList; - public ExternMetricDefinitionElements getExternMetricDefinitionAccess() { - return pExternMetricDefinition; + //ExternDeclaration: + // ExternPredicateDeclaration | ExternFunctionDeclaration | ExternAggregationOperatorDeclaration | + // ExternDatatypeDeclaration; + public ExternDeclarationElements getExternDeclarationAccess() { + return pExternDeclaration; } - public ParserRule getExternMetricDefinitionRule() { - return getExternMetricDefinitionAccess().getRule(); + public ParserRule getExternDeclarationRule() { + return getExternDeclarationAccess().getRule(); } - //ExternAggregatorDefinition: - // "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}"; - public ExternAggregatorDefinitionElements getExternAggregatorDefinitionAccess() { - return pExternAggregatorDefinition; + //ExternPredicateDeclaration: + // "extern" (functional?="functional"? & error?="error"?) name=QualifiedName argumentList=ArgumentList FULL_STOP; + public ExternPredicateDeclarationElements getExternPredicateDeclarationAccess() { + return pExternPredicateDeclaration; } - public ParserRule getExternAggregatorDefinitionRule() { - return getExternAggregatorDefinitionAccess().getRule(); + public ParserRule getExternPredicateDeclarationRule() { + return getExternPredicateDeclarationAccess().getRule(); } - //ExternDatatypeDefinition: - // "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," - // supertypes+=[NamedElement|QualifiedName])*); - public ExternDatatypeDefinitionElements getExternDatatypeDefinitionAccess() { - return pExternDatatypeDefinition; + //ExternFunctionDeclaration: + // "extern" resultType=[Symbol|QualifiedName] name=QualifiedName argumentList=ArgumentList FULL_STOP; + public ExternFunctionDeclarationElements getExternFunctionDeclarationAccess() { + return pExternFunctionDeclaration; } - public ParserRule getExternDatatypeDefinitionRule() { - return getExternDatatypeDefinitionAccess().getRule(); + public ParserRule getExternFunctionDeclarationRule() { + return getExternFunctionDeclarationAccess().getRule(); } - //Variable: - // type=[NamedElement|QualifiedName]? name=ID; - public VariableElements getVariableAccess() { - return pVariable; + //ExternAggregationOperatorDeclaration: + // "extern" resultType=[Symbol|QualifiedName] name=QualifiedName "{" argumentType=[Symbol|QualifiedName] "..." "}" + // FULL_STOP; + public ExternAggregationOperatorDeclarationElements getExternAggregationOperatorDeclarationAccess() { + return pExternAggregationOperatorDeclaration; } - public ParserRule getVariableRule() { - return getVariableAccess().getRule(); + public ParserRule getExternAggregationOperatorDeclarationRule() { + return getExternAggregationOperatorDeclarationAccess().getRule(); + } + + //ExternDatatypeDeclaration: + // "extern" "datatype" name=QualifiedName FULL_STOP; + public ExternDatatypeDeclarationElements getExternDatatypeDeclarationAccess() { + return pExternDatatypeDeclaration; + } + + public ParserRule getExternDatatypeDeclarationRule() { + return getExternDatatypeDeclarationAccess().getRule(); } //Expression: - // IfElse | Let | ImplicationExpression; + // ConditionalExpression | LetExpression | DisjunctiveExpression ({Forall.condition=current} "=>" + // body=DisjunctiveExpression)?; public ExpressionElements getExpressionAccess() { return pExpression; } @@ -3088,28 +3483,28 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getExpressionAccess().getRule(); } - //IfElse: - // "if" condition=Expression "then" then=Expression "else" else=Expression; - public IfElseElements getIfElseAccess() { - return pIfElse; + //ConditionalExpression: + // "if" condition=DisjunctiveExpression "then" then=Expression "else" else=Expression; + public ConditionalExpressionElements getConditionalExpressionAccess() { + return pConditionalExpression; } - public ParserRule getIfElseRule() { - return getIfElseAccess().getRule(); + public ParserRule getConditionalExpressionRule() { + return getConditionalExpressionAccess().getRule(); } - //Let: + //LetExpression: // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression; - public LetElements getLetAccess() { - return pLet; + public LetExpressionElements getLetExpressionAccess() { + return pLetExpression; } - public ParserRule getLetRule() { - return getLetAccess().getRule(); + public ParserRule getLetExpressionRule() { + return getLetExpressionAccess().getRule(); } //LetBinding: - // variable=Variable "=" value=AdditiveExpression; + // type=[Symbol|QualifiedName]? name=ID "=" value=AdditiveExpression; public LetBindingElements getLetBindingAccess() { return pLetBinding; } @@ -3118,26 +3513,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { 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)*)?; @@ -3170,7 +3545,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //enum ComparisonOperator returns BinaryOperator: - // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"; + // EQUALS="==" | NOT_EQUALS="!=" | LESS="<" | LESS_EQUALS="<=" | GREATER=">" | GREATER_EQUALS=">=" | IN="in"; public ComparisonOperatorElements getComparisonOperatorAccess() { return eComparisonOperator; } @@ -3180,7 +3555,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //ComparisonExpression Expression: - // AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?; + // AdditiveExpression ({BinaryExpression.left=current} op=ComparisonOperator right=AdditiveExpression)?; public ComparisonExpressionElements getComparisonExpressionAccess() { return pComparisonExpression; } @@ -3190,7 +3565,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //enum AdditiveBinaryOperator returns BinaryOperator: - // ADD="+" | SUB="-"; + // PLUS="+" | MINUS="-"; public AdditiveBinaryOperatorElements getAdditiveBinaryOperatorAccess() { return eAdditiveBinaryOperator; } @@ -3210,7 +3585,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //enum MultiplicativeBinaryOperator returns BinaryOperator: - // MUL="*" | DIV="/"; + // MULTIPLY="*" | DIVIDE="/"; public MultiplicativeBinaryOperatorElements getMultiplicativeBinaryOperatorAccess() { return eMultiplicativeBinaryOperator; } @@ -3250,7 +3625,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //CastExpression Expression: - // UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?; + // UnaryExpression ({CastExpression.body=current} "as" targetType=[Symbol|QualifiedName])?; public CastExpressionElements getCastExpressionAccess() { return pCastExpression; } @@ -3259,18 +3634,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getCastExpressionAccess().getRule(); } - //enum UnaryOp: - // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"; - public UnaryOpElements getUnaryOpAccess() { - return eUnaryOp; + //enum UnaryOperator: + // NOT="!" | PLUS="+" | MINUS="-" | MAYBE="?"; + public UnaryOperatorElements getUnaryOperatorAccess() { + return eUnaryOperator; } - public EnumRule getUnaryOpRule() { - return getUnaryOpAccess().getRule(); + public EnumRule getUnaryOperatorRule() { + return getUnaryOperatorAccess().getRule(); } //UnaryExpression Expression: - // AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression; + // BracedAggregateExpression | {UnaryExpression} op=UnaryOperator body=BracedAggregateExpression; public UnaryExpressionElements getUnaryExpressionAccess() { return pUnaryExpression; } @@ -3279,48 +3654,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getUnaryExpressionAccess().getRule(); } - //AggregationExpression Expression: - // AtomicExpression | QuantifiedExpression | Aggregation; - public AggregationExpressionElements getAggregationExpressionAccess() { - return pAggregationExpression; - } - - public ParserRule getAggregationExpressionRule() { - return getAggregationExpressionAccess().getRule(); - } - - //LocalVariables: - // {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]"; - public LocalVariablesElements getLocalVariablesAccess() { - return pLocalVariables; + //BracedAggregateExpression Expression: + // AtomicExpression | Aggregation | Count; + public BracedAggregateExpressionElements getBracedAggregateExpressionAccess() { + return pBracedAggregateExpression; } - public ParserRule getLocalVariablesRule() { - return getLocalVariablesAccess().getRule(); - } - - //enum Quantifier: - // EXISTS="exists" | FORALL="forall" | COUNT="count"; - public QuantifierElements getQuantifierAccess() { - return eQuantifier; - } - - public EnumRule getQuantifierRule() { - return getQuantifierAccess().getRule(); - } - - //QuantifiedExpression: - // quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}"; - public QuantifiedExpressionElements getQuantifiedExpressionAccess() { - return pQuantifiedExpression; - } - - public ParserRule getQuantifiedExpressionRule() { - return getQuantifiedExpressionAccess().getRule(); + public ParserRule getBracedAggregateExpressionRule() { + return getBracedAggregateExpressionAccess().getRule(); } //Aggregation: - // op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}"; + // op=[Symbol|QualifiedName] "{" value=Expression "|" condition=Expression "}"; public AggregationElements getAggregationAccess() { return pAggregation; } @@ -3329,6 +3674,16 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getAggregationAccess().getRule(); } + //Count: + // "count" "{" condition=Expression "}"; + public CountElements getCountAccess() { + return pCount; + } + + public ParserRule getCountRule() { + return getCountAccess().getRule(); + } + //AtomicExpression Expression: // Reference | Call | Interval | Literal | "(" Expression ")"; public AtomicExpressionElements getAtomicExpressionAccess() { @@ -3340,8 +3695,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //Call: - // functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? - // argumentList=ArgumentList; + // functor=Reference argumentList=ArgumentList; public CallElements getCallAccess() { return pCall; } @@ -3361,7 +3715,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //Argument: - // ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument; + // ExpressionArgument | StarArgument | TypedVariableArgument | TypedStarArgument; public ArgumentElements getArgumentAccess() { return pArgument; } @@ -3371,7 +3725,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //ExpressionArgument: - // body=ComparisonExpression; + // expression=ComparisonExpression; public ExpressionArgumentElements getExpressionArgumentAccess() { return pExpressionArgument; } @@ -3390,18 +3744,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getStarArgumentAccess().getRule(); } - //TypedArgument: - // type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]; - public TypedArgumentElements getTypedArgumentAccess() { - return pTypedArgument; + //TypedVariableArgument: + // typeReference=TypeReference name=ID; + public TypedVariableArgumentElements getTypedVariableArgumentAccess() { + return pTypedVariableArgument; } - public ParserRule getTypedArgumentRule() { - return getTypedArgumentAccess().getRule(); + public ParserRule getTypedVariableArgumentRule() { + return getTypedVariableArgumentAccess().getRule(); } //TypedStarArgument: - // type=[NamedElement|QualifiedName] "*"; + // typeReference=TypeReference "*"; public TypedStarArgumentElements getTypedStarArgumentAccess() { return pTypedStarArgument; } @@ -3411,7 +3765,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //Reference: - // referred=[NamedElement|QualifiedName]; + // components+=PathComponent ("." components+=PathComponent)*; public ReferenceElements getReferenceAccess() { return pReference; } @@ -3420,8 +3774,19 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getReferenceAccess().getRule(); } + //PathComponent: + // inverse?="~"? symbol=[Symbol|QualifiedName] (transitiveClosure?=TRANSITIVE_CLOSURE | + // reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?; + public PathComponentElements getPathComponentAccess() { + return pPathComponent; + } + + public ParserRule getPathComponentRule() { + return getPathComponentAccess().getRule(); + } + //Interval: - // "[" lowerBound=Expression ".." upperBound=Expression "]"; + // "[" lowerBound=AdditiveExpression "," upperBound=AdditiveExpression "]"; public IntervalElements getIntervalAccess() { return pInterval; } @@ -3431,7 +3796,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //Literal: - // LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral; + // LogicLiteral | IntLiteral | RealLiteral | InfinityLiteral | EmptyLiteral | StringLiteral; public LiteralElements getLiteralAccess() { return pLiteral; } @@ -3460,14 +3825,24 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getLogicLiteralAccess().getRule(); } - //NumericLiteral: + //IntLiteral: + // value=INT; + public IntLiteralElements getIntLiteralAccess() { + return pIntLiteral; + } + + public ParserRule getIntLiteralRule() { + return getIntLiteralAccess().getRule(); + } + + //RealLiteral: // value=Real; - public NumericLiteralElements getNumericLiteralAccess() { - return pNumericLiteral; + public RealLiteralElements getRealLiteralAccess() { + return pRealLiteral; } - public ParserRule getNumericLiteralRule() { - return getNumericLiteralAccess().getRule(); + public ParserRule getRealLiteralRule() { + return getRealLiteralAccess().getRule(); } //InfinityLiteral: @@ -3480,14 +3855,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getInfinityLiteralAccess().getRule(); } - //EmptyIntervalLiteral: - // {EmptyIntervalLiteral} "empty"; - public EmptyIntervalLiteralElements getEmptyIntervalLiteralAccess() { - return pEmptyIntervalLiteral; + //EmptyLiteral: + // {EmptyLiteral} "empty"; + public EmptyLiteralElements getEmptyLiteralAccess() { + return pEmptyLiteral; } - public ParserRule getEmptyIntervalLiteralRule() { - return getEmptyIntervalLiteralAccess().getRule(); + public ParserRule getEmptyLiteralRule() { + return getEmptyLiteralAccess().getRule(); } //StringLiteral: @@ -3500,31 +3875,30 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getStringLiteralAccess().getRule(); } - //ClassDefinition: - // abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," - // superclasses+=[NamedElement|QualifiedName])*)? - // "{" members+=MemberDefinition* "}"; - public ClassDefinitionElements getClassDefinitionAccess() { - return pClassDefinition; + //ClassDeclaration: + // (abstract?="abstract"? & root?="root"?) "class" name=ID ("extends" supertypes+=[Symbol|QualifiedName] ("," + // supertypes+=[Symbol|QualifiedName])*)? ("{" fields+=Field* "}" | FULL_STOP); + public ClassDeclarationElements getClassDeclarationAccess() { + return pClassDeclaration; } - public ParserRule getClassDefinitionRule() { - return getClassDefinitionAccess().getRule(); + public ParserRule getClassDeclarationRule() { + return getClassDeclarationAccess().getRule(); } - //MemberDefinition: - // containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" - // opposite=[NamedElement|QualifiedName])? ";"?; - public MemberDefinitionElements getMemberDefinitionAccess() { - return pMemberDefinition; + //Field: + // (containment?="contains" | crossReference?="refers")? type=[Symbol|QualifiedName] multiplicity=Multiplicity? + // name=ID ("opposite" opposite=[Symbol|QualifiedName])? ";"?; + public FieldElements getFieldAccess() { + return pField; } - public ParserRule getMemberDefinitionRule() { - return getMemberDefinitionAccess().getRule(); + public ParserRule getFieldRule() { + return getFieldAccess().getRule(); } //Multiplicity: - // ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity; + // UnboundedMultiplicity | ExactMultiplicity | BoundedMultiplicity; public MultiplicityElements getMultiplicityAccess() { return pMultiplicity; } @@ -3533,18 +3907,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getMultiplicityAccess().getRule(); } - //ManyMultiplicity: - // {ManyMultiplicity} "[" "]"; - public ManyMultiplicityElements getManyMultiplicityAccess() { - return pManyMultiplicity; + //UnboundedMultiplicity: + // {UnboundedMultiplicity} "[" "]"; + public UnboundedMultiplicityElements getUnboundedMultiplicityAccess() { + return pUnboundedMultiplicity; } - public ParserRule getManyMultiplicityRule() { - return getManyMultiplicityAccess().getRule(); + public ParserRule getUnboundedMultiplicityRule() { + return getUnboundedMultiplicityAccess().getRule(); } //ExactMultiplicity: - // "[" multiplicity=UpperMultiplicty "]"; + // "[" value=UpperMultiplicty "]"; public ExactMultiplicityElements getExactMultiplicityAccess() { return pExactMultiplicity; } @@ -3554,7 +3928,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //BoundedMultiplicity: - // "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]"; + // "[" lowerBound=INT "," upperBound=UpperMultiplicty "]"; public BoundedMultiplicityElements getBoundedMultiplicityAccess() { return pBoundedMultiplicity; } @@ -3563,50 +3937,70 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getBoundedMultiplicityAccess().getRule(); } - //ScopeDefinition: - // ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition; - public ScopeDefinitionElements getScopeDefinitionAccess() { - return pScopeDefinition; + //EnumDeclaration: + // "enum" name=ID ("{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}" | FULL_STOP); + public EnumDeclarationElements getEnumDeclarationAccess() { + return pEnumDeclaration; + } + + public ParserRule getEnumDeclarationRule() { + return getEnumDeclarationAccess().getRule(); + } + + //EnumLiteral: + // name=ID; + public EnumLiteralElements getEnumLiteralAccess() { + return pEnumLiteral; } - public ParserRule getScopeDefinitionRule() { - return getScopeDefinitionAccess().getRule(); + public ParserRule getEnumLiteralRule() { + return getEnumLiteralAccess().getRule(); } - //ExactScopeDefinition: - // "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT; - public ExactScopeDefinitionElements getExactScopeDefinitionAccess() { - return pExactScopeDefinition; + //ScopeDeclaration: + // ExactScope | BoundedScope | LowerBoundedScope; + public ScopeDeclarationElements getScopeDeclarationAccess() { + return pScopeDeclaration; } - public ParserRule getExactScopeDefinitionRule() { - return getExactScopeDefinitionAccess().getRule(); + public ParserRule getScopeDeclarationRule() { + return getScopeDeclarationAccess().getRule(); } - //BoundedScopeDefinition: - // "scope" ((lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" - // type=[NamedElement|QualifiedName] (">=" lowerBound=INT)?); - public BoundedScopeDefinitionElements getBoundedScopeDefinitionAccess() { - return pBoundedScopeDefinition; + //ExactScope: + // "scope" type=[Symbol|QualifiedName] "==" size=INT FULL_STOP; + public ExactScopeElements getExactScopeAccess() { + return pExactScope; } - public ParserRule getBoundedScopeDefinitionRule() { - return getBoundedScopeDefinitionAccess().getRule(); + public ParserRule getExactScopeRule() { + return getExactScopeAccess().getRule(); } - //LowerBoundedScopeDefinition: - // "scope" (lowerBound=INT "<=" type=[NamedElement|QualifiedName] | type=[NamedElement|QualifiedName] ">=" - // lowerBound=INT); - public LowerBoundedScopeDefinitionElements getLowerBoundedScopeDefinitionAccess() { - return pLowerBoundedScopeDefinition; + //BoundedScope: + // "scope" ((lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT | upperBound=INT ">=" + // type=[Symbol|QualifiedName] (">=" lowerBound=INT)?) FULL_STOP; + public BoundedScopeElements getBoundedScopeAccess() { + return pBoundedScope; } - public ParserRule getLowerBoundedScopeDefinitionRule() { - return getLowerBoundedScopeDefinitionAccess().getRule(); + public ParserRule getBoundedScopeRule() { + return getBoundedScopeAccess().getRule(); + } + + //LowerBoundedScope: + // "scope" (lowerBound=INT "<=" type=[Symbol|QualifiedName] | type=[Symbol|QualifiedName] ">=" lowerBound=INT) + // FULL_STOP; + public LowerBoundedScopeElements getLowerBoundedScopeAccess() { + return pLowerBoundedScope; + } + + public ParserRule getLowerBoundedScopeRule() { + return getLowerBoundedScopeAccess().getRule(); } //enum ObjectiveKind: - // MINIMIZE="minimize" | MAXIMIZE="maximize"; + // MINIMIZATION="minimize" | MAXIMIZATION="maximize"; public ObjectiveKindElements getObjectiveKindAccess() { return eObjectiveKind; } @@ -3615,14 +4009,14 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getObjectiveKindAccess().getRule(); } - //ObjectiveDefinition: - // kind=ObjectiveKind objective=Expression; - public ObjectiveDefinitionElements getObjectiveDefinitionAccess() { - return pObjectiveDefinition; + //ObjectiveDeclaration: + // kind=ObjectiveKind objective=Expression FULL_STOP; + public ObjectiveDeclarationElements getObjectiveDeclarationAccess() { + return pObjectiveDeclaration; } - public ParserRule getObjectiveDefinitionRule() { - return getObjectiveDefinitionAccess().getRule(); + public ParserRule getObjectiveDeclarationRule() { + return getObjectiveDeclarationAccess().getRule(); } //UpperMultiplicty ecore::EInt: @@ -3636,7 +4030,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { } //Real ecore::EBigDecimal hidden(): - // INT ("." INT)?; + // INT "." INT; public RealElements getRealAccess() { return pReal; } @@ -3645,8 +4039,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder { return getRealAccess().getRule(); } + //QualifiedNameSegment: + // ID | QUOTED_ID | "object"; + public QualifiedNameSegmentElements getQualifiedNameSegmentAccess() { + return pQualifiedNameSegment; + } + + public ParserRule getQualifiedNameSegmentRule() { + return getQualifiedNameSegmentAccess().getRule(); + } + //QualifiedName hidden(): - // ID ("." ID)* | QUOTED_ID; + // QualifiedNameSegment ("::" QualifiedNameSegment)*; public QualifiedNameElements getQualifiedNameAccess() { return pQualifiedName; } 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 50072f0d..644e681d 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,7 +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" + referencedResource = "platform:/resource/org.eclipse.viatra.solver.language.model/model/model.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 d0578d78..51115da0 100644 --- a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext +++ b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext @@ -3,66 +3,80 @@ import "http://www.eclipse.org/emf/2002/Ecore" as ecore import "http://www.eclipse.org/viatra/solver/language/SolverLanguage" Problem: - (statements+=Statement)*; + ("problem" name=QualifiedName FULL_STOP)? + imports+=Import* + statements+=Statement*; Statement: ( - AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition | - ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition | - ClassDefinition | ScopeDefinition | ObjectiveDefinition - ) FULL_STOP; + AssertionOrDefinition | PredicateDefinition | UnnamedErrorPredicateDefintion | DefaultAssertion | + FunctionDefinition | Attribute | ExternDeclaration | ScopeDeclaration | ObjectiveDeclaration | + ClassDeclaration | EnumDeclaration + ); + +Import: + UriImport | NamespaceImport; + +UriImport: + "import" uri=STRING ("as" alias=QualifiedName) FULL_STOP; + +NamespaceImport: + "import" importedNamespace=QualifiedName ("as" alias=QualifiedName) FULL_STOP; AssertionOrDefinition returns Statement: Expression ( - {Interpretation.body=current} ":" range=Expression | + {Assertion.expression=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" body=Expression | - {MetricDefinition.head=current} "=" body=Expression - )?; + {FunctionDefinition.head=current} ":=" body=Expression + ) FULL_STOP; PredicateDefinition: - (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression; + (functional?="functional" error?="error"? | error?="error" functional?="functional"?) head=Call ":-" body=Expression FULL_STOP; -UnnamedErrorPrediateDefinition: - "error" argumentList=ArgumentList ":-" body=Expression; +UnnamedErrorPredicateDefintion: + "error" argumentList=ArgumentList ":-" body=Expression FULL_STOP; -DefaultDefinition: - "default" head=Call ":" range=Expression; +DefaultAssertion: + "default" expression=Call (":" range=Expression)? FULL_STOP; -MetricDefinition: - type=[NamedElement|QualifiedName] head=Call "=" body=Expression; +FunctionDefinition: + resultType=[Symbol|QualifiedName] head=Call ":=" body=Expression FULL_STOP; -ExternPredicateDefinition: - "extern" name=QualifiedName argumentList=ArgumentList; +TypeReference: + type=[Symbol|QualifiedName] forceObjectType?="object"?; -ExternMetricDefinition: - "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList; +enum AttributeKind: + FUNCTIONAL="functional" | ERROR="error" | ROOT="root" | CONTAINMENT="containment"; -ExternAggregatorDefinition: - "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}"; +Attribute: + kind=AttributeKind target=[Symbol|QualifiedName] FULL_STOP; -ExternDatatypeDefinition: - "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] ("," supertypes+=[NamedElement|QualifiedName])*); +ExternDeclaration: + ExternPredicateDeclaration | ExternFunctionDeclaration | ExternAggregationOperatorDeclaration | ExternDatatypeDeclaration; -Variable: - type=[NamedElement|QualifiedName]? name=ID; +ExternPredicateDeclaration: + "extern" (functional?="functional"? & error?="error"?) name=QualifiedName argumentList=ArgumentList FULL_STOP; + +ExternFunctionDeclaration: + "extern" resultType=[Symbol|QualifiedName] name=QualifiedName argumentList=ArgumentList FULL_STOP; + +ExternAggregationOperatorDeclaration: + "extern" resultType=[Symbol|QualifiedName] name=QualifiedName "{" argumentType=[Symbol|QualifiedName] "..." "}" FULL_STOP; + +ExternDatatypeDeclaration: + "extern" "datatype" name=QualifiedName FULL_STOP; Expression: - IfElse | Let | ImplicationExpression; + ConditionalExpression | LetExpression | DisjunctiveExpression ({Forall.condition=current} "=>" body=DisjunctiveExpression)?; -IfElse: - "if" condition=Expression "then" then=Expression "else" else=Expression; +ConditionalExpression: + "if" condition=DisjunctiveExpression "then" then=Expression "else" else=Expression; -Let: +LetExpression: "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)?; + type=[Symbol|QualifiedName]? name=ID "=" value=AdditiveExpression; DisjunctiveExpression returns Expression: ConjunctiveExpression ( @@ -77,19 +91,19 @@ ConjunctiveExpression returns Expression: ComparisonExpression ({Conjunction.children+=current} ("," children+=ComparisonExpression)+)?; enum ComparisonOperator returns BinaryOperator: - EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"; + EQUALS="==" | NOT_EQUALS="!=" | LESS="<" | LESS_EQUALS="<=" | GREATER=">" | GREATER_EQUALS=">=" | IN="in"; ComparisonExpression returns Expression: - AdditiveExpression ({Comparison.left=current} op=ComparisonOperator right=AdditiveExpression)?; + AdditiveExpression ({BinaryExpression.left=current} op=ComparisonOperator right=AdditiveExpression)?; enum AdditiveBinaryOperator returns BinaryOperator: - ADD="+" | SUB="-"; + PLUS="+" | MINUS="-"; AdditiveExpression returns Expression: MultiplicativeExpression ({BinaryExpression.left=current} op=AdditiveBinaryOperator right=MultiplicativeExpression)*; enum MultiplicativeBinaryOperator returns BinaryOperator: - MUL="*" | DIV="/"; + MULTIPLY="*" | DIVIDE="/"; MultiplicativeExpression returns Expression: ExponentialExpression ({BinaryExpression.left=current} op=MultiplicativeBinaryOperator right=ExponentialExpression)*; @@ -101,61 +115,59 @@ ExponentialExpression returns Expression: CastExpression ({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)?; CastExpression returns Expression: - UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?; + UnaryExpression ({CastExpression.body=current} "as" targetType=[Symbol|QualifiedName])?; -enum UnaryOp: - NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"; +enum UnaryOperator: + NOT="!" | PLUS="+" | MINUS="-" | MAYBE="?"; UnaryExpression returns Expression: - AggregationExpression | {UnaryExpression} op=UnaryOp body=AggregationExpression; - -AggregationExpression returns Expression: - AtomicExpression | QuantifiedExpression | Aggregation; + BracedAggregateExpression | {UnaryExpression} op=UnaryOperator body=BracedAggregateExpression; -LocalVariables: - {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]"; - -enum Quantifier: - EXISTS="exists" | FORALL="forall" | COUNT="count"; - -QuantifiedExpression: - quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}"; +BracedAggregateExpression returns Expression: + AtomicExpression | Aggregation | Count ; Aggregation: - op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}"; + op=[Symbol|QualifiedName] "{" value=Expression "|" condition=Expression "}"; + +Count: + "count" "{" condition=Expression "}"; AtomicExpression returns Expression: Reference | Call | Interval | Literal | "(" Expression ")"; Call: - functor=Reference (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)? argumentList=ArgumentList; + functor=Reference argumentList=ArgumentList; ArgumentList: {ArgumentList} "(" (arguments+=Argument ("," arguments+=Argument)*)? ")"; Argument: - ExpressionArgument | StarArgument | TypedArgument | TypedStarArgument; + ExpressionArgument | StarArgument | TypedVariableArgument | TypedStarArgument; ExpressionArgument: - body=ComparisonExpression; + expression=ComparisonExpression; StarArgument: {StarArgument} "*"; -TypedArgument: - type=[NamedElement|QualifiedName] variable=[NamedElement|QualifiedName]; +TypedVariableArgument: + typeReference=TypeReference name=ID; TypedStarArgument: - type=[NamedElement|QualifiedName] "*"; + typeReference=TypeReference "*"; Reference: - referred=[NamedElement|QualifiedName]; + components+=PathComponent ("." components+=PathComponent)*; + +PathComponent: + inverse?="~"? symbol=[Symbol|QualifiedName] + (transitiveClosure?=TRANSITIVE_CLOSURE | reflexiveTransitiveClosure?=REFLEXIVE_TRANSITIVE_CLOSURE)?; Interval: - "[" lowerBound=Expression ".." upperBound=Expression "]"; + "[" lowerBound=AdditiveExpression "," upperBound=AdditiveExpression "]"; Literal: - LogicLiteral | NumericLiteral | InfinityLiteral | EmptyIntervalLiteral | StringLiteral; + LogicLiteral | IntLiteral | RealLiteral | InfinityLiteral | EmptyLiteral | StringLiteral; enum LogicValue: TRUE="true" | FALSE="false" | UNKNOWN="unknown" | ERROR="error"; @@ -163,69 +175,82 @@ enum LogicValue: LogicLiteral: value=LogicValue; -NumericLiteral: +IntLiteral: + value=INT; + +RealLiteral: value=Real; InfinityLiteral: {InfinityLiteral} "inf"; -EmptyIntervalLiteral: - {EmptyIntervalLiteral} "empty"; +EmptyLiteral: + {EmptyLiteral} "empty"; StringLiteral: value=STRING; -ClassDefinition: - abstract?="abstract"? "class" name=ID ("extends" superclasses+=[NamedElement|QualifiedName] ("," superclasses+=[NamedElement|QualifiedName])*)? - "{" members+=MemberDefinition* "}"; +ClassDeclaration: + (abstract?="abstract"? & root?="root"?) "class" name=ID ("extends" supertypes+=[Symbol|QualifiedName] ("," supertypes+=[Symbol|QualifiedName])*)? + ("{" fields+=Field* "}" | FULL_STOP); -MemberDefinition: - containment?="contains"? type=[NamedElement|QualifiedName] multiplicity=Multiplicity? name=ID ("opposite" opposite=[NamedElement|QualifiedName])? ";"?; +Field: + (containment?="contains" | crossReference?="refers")? type=[Symbol|QualifiedName] multiplicity=Multiplicity? + name=ID ("opposite" opposite=[Symbol|QualifiedName])? ";"?; Multiplicity: - ManyMultiplicity | ExactMultiplicity | BoundedMultiplicity; + UnboundedMultiplicity | ExactMultiplicity | BoundedMultiplicity; -ManyMultiplicity: - {ManyMultiplicity} "[" "]"; +UnboundedMultiplicity: + {UnboundedMultiplicity} "[" "]"; ExactMultiplicity: - "[" multiplicity=UpperMultiplicty "]"; + "[" value=UpperMultiplicty "]"; BoundedMultiplicity: - "[" lowerBound=INT ".." upperBound=UpperMultiplicty "]"; + "[" lowerBound=INT "," upperBound=UpperMultiplicty "]"; + +EnumDeclaration: + "enum" name=ID ("{" (literals+=EnumLiteral (","? literals+=EnumLiteral)*)? "}" | FULL_STOP); -ScopeDefinition: - ExactScopeDefinition | BoundedScopeDefinition | LowerBoundedScopeDefinition; +EnumLiteral: + name=ID; -ExactScopeDefinition: - "scope" type=[NamedElement|QualifiedName] "==" exactScope=INT; +ScopeDeclaration: + ExactScope | BoundedScope | LowerBoundedScope; -BoundedScopeDefinition: +ExactScope: + "scope" type=[Symbol|QualifiedName] "==" size=INT FULL_STOP; + +BoundedScope: "scope" ( - (lowerBound=INT "<=")? type=[NamedElement|QualifiedName] "<=" upperBound=INT | - upperBound=INT ">=" type=[NamedElement|QualifiedName] (">=" lowerBound=INT)? - ); + (lowerBound=INT "<=")? type=[Symbol|QualifiedName] "<=" upperBound=INT | + upperBound=INT ">=" type=[Symbol|QualifiedName] (">=" lowerBound=INT)? + ) FULL_STOP; -LowerBoundedScopeDefinition: +LowerBoundedScope: "scope" ( - lowerBound=INT "<=" type=[NamedElement|QualifiedName] | - type=[NamedElement|QualifiedName] ">=" lowerBound=INT - ); + lowerBound=INT "<=" type=[Symbol|QualifiedName] | + type=[Symbol|QualifiedName] ">=" lowerBound=INT + ) FULL_STOP; enum ObjectiveKind: - MINIMIZE="minimize" | MAXIMIZE="maximize"; + MINIMIZATION="minimize" | MAXIMIZATION="maximize"; -ObjectiveDefinition: - kind=ObjectiveKind objective=Expression; +ObjectiveDeclaration: + kind=ObjectiveKind objective=Expression FULL_STOP; UpperMultiplicty returns ecore::EInt: INT | "*"; Real returns ecore::EBigDecimal hidden(): - INT ("." INT)?; + INT "." INT; + +QualifiedNameSegment: + ID | QUOTED_ID | "object"; QualifiedName hidden(): - ID ("." ID)* | QUOTED_ID; + QualifiedNameSegment ("::" QualifiedNameSegment)*; @Override terminal STRING returns ecore::EString: diff --git a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageTokenSource.java b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageTokenSource.java index 4c1dacd5..70e7e492 100644 --- a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageTokenSource.java +++ b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageTokenSource.java @@ -29,6 +29,7 @@ public class SolverLanguageTokenSource implements TokenSource { private int plusTokenId = -1; private int starTokenId = -1; private int dotTokenId = -1; + private int tildeTokenId = -1; private int openParenTokenId = -1; public SolverLanguageTokenSource(TokenSource delegate) { @@ -42,33 +43,49 @@ public class SolverLanguageTokenSource implements TokenSource { @Override public Token nextToken() { - Token token = internalNextToken(); + Token token; + if (acceptor.hasNext()) { + token = acceptor.next(); + } else { + token = delegate.nextToken(); + } + postProcessToken(token); lastTokenId = token.getType(); return token; } - protected Token internalNextToken() { - if (acceptor.hasNext()) { - return acceptor.next(); - } - Token token = delegate.nextToken(); + protected void postProcessToken(Token token) { int type = token.getType(); if (type == plusTokenId) { - if ((lastTokenId == RULE_ID || lastTokenId == RULE_QUOTED_ID) - && peekUntilVisible().getType() == openParenTokenId) { + if (isTransitiveClosureInReferenceContext()) { token.setType(RULE_TRANSITIVE_CLOSURE); } } else if (type == starTokenId) { - if ((lastTokenId == RULE_ID || lastTokenId == RULE_QUOTED_ID) - && peekUntilVisible().getType() == openParenTokenId) { + if (isTransitiveClosureInReferenceContext()) { token.setType(RULE_REFLEXIVE_TRANSITIVE_CLOSURE); } } else if (type == dotTokenId) { - if ((lastTokenId != RULE_ID && lastTokenId != RULE_INT) || peekToken().getType() != lastTokenId) { + if (isFullStopContext()) { token.setType(RULE_FULL_STOP); } } - return token; + } + + private boolean isIdFragment(int tokenId) { + return tokenId == RULE_ID || tokenId == RULE_QUOTED_ID; + } + + private boolean isTransitiveClosureInReferenceContext() { + int nextVisibleTokenId = peekUntilVisible().getType(); + return isIdFragment(lastTokenId) + && (nextVisibleTokenId == dotTokenId || nextVisibleTokenId == openParenTokenId); + } + + private boolean isFullStopContext() { + int nextTokenId = peekToken().getType(); + boolean inReference = isIdFragment(lastTokenId) && (isIdFragment(nextTokenId) || nextTokenId == tildeTokenId); + boolean inReal = lastTokenId == RULE_INT && nextTokenId == RULE_INT; + return !(inReference || inReal); } protected Token peekUntilVisible() { @@ -101,6 +118,9 @@ public class SolverLanguageTokenSource implements TokenSource { case "'.'": dotTokenId = entry.getKey(); break; + case "'~'": + tildeTokenId = entry.getKey(); + break; case "'('": openParenTokenId = entry.getKey(); break; @@ -115,6 +135,9 @@ public class SolverLanguageTokenSource implements TokenSource { if (dotTokenId == -1) { throw new IllegalStateException("Token '.' was not found"); } + if (tildeTokenId == -1) { + throw new IllegalStateException("Token '~' was not found"); + } if (openParenTokenId == -1) { throw new IllegalStateException("Token '(' was not found"); } 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 c8d4144d..61001113 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 b16c52f7..5ab360c2 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