aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language/src-gen
diff options
context:
space:
mode:
authorLibravatar Oszkar Semerath <semerath@mit.bme.hu>2020-04-28 20:43:04 +0200
committerLibravatar Oszkar Semerath <semerath@mit.bme.hu>2020-04-28 20:43:04 +0200
commit8a7b9b436b31e6d2f5a0521a077c960ebdeb4cbe (patch)
treed525bef75519f364d637e0779f8e63d4199dee31 /Application/org.eclipse.viatra.solver.language/src-gen
parentcheck expressions are mapped to WF constraints (diff)
downloadVIATRA-Generator-8a7b9b436b31e6d2f5a0521a077c960ebdeb4cbe.tar.gz
VIATRA-Generator-8a7b9b436b31e6d2f5a0521a077c960ebdeb4cbe.tar.zst
VIATRA-Generator-8a7b9b436b31e6d2f5a0521a077c960ebdeb4cbe.zip
initial commit
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language/src-gen')
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java201
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbinbin0 -> 7297 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java42
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageAntlrTokenFileProvider.java16
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageParser.java40
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g2575
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens67
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java1669
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java7214
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/scoping/AbstractSolverLanguageScopeProvider.java9
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java781
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java60
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java2124
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllInstances.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllObjects.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BasicInterpretation.java84
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanFalse.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanObject.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanTrue.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanValue.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/CDInterpretation.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassInterpretation.java97
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClosureType.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ComplexObject.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Constraint.java109
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataObject.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultInterpretation.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumInterpretation.java61
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EqualsSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Error.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ErrorPredicate.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExistSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/False.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FieldRelationInterpretation.java117
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/GlobalRelationInterpretation.java162
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntObject.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntegerSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IrreflexiveClosure.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ModelSymbol.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiplicityDefinition.java94
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Negative.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Object.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Parameter.java71
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PartialitySymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PatternBody.java40
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Polarity.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Positive.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java51
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateSymbol.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java40
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealObject.java48
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ReflexiveClosure.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java521
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java3460
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringObject.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringSymbol.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Symbol.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/True.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TruthValue.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Unknown.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedObject.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllInstancesImpl.java196
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllObjectsImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BasicInterpretationImpl.java318
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanFalseImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanObjectImpl.java196
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanTrueImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanValueImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CDInterpretationImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassInterpretationImpl.java356
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClosureTypeImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComplexObjectImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConstraintImpl.java393
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataObjectImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultInterpretationImpl.java196
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumInterpretationImpl.java244
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EqualsSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorImpl.java40
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorPredicateImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExistSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FalseImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldRelationInterpretationImpl.java418
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/GlobalRelationInterpretationImpl.java563
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntObjectImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntegerSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IrreflexiveClosureImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ModelSymbolImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityDefinitionImpl.java296
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedObjectImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NegativeImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectImpl.java40
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ParameterImpl.java271
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PartialitySymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PatternBodyImpl.java169
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PolarityImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PositiveImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java207
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateSymbolImpl.java196
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java169
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealObjectImpl.java181
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReflexiveClosureImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java851
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java2007
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringObjectImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringSymbolImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TrueImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TruthValueImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnknownImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedObjectImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java1245
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java1464
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageConfigurableIssueCodesProvider.java22
129 files changed, 33382 insertions, 0 deletions
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
new file mode 100644
index 00000000..cbf67ff9
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/AbstractSolverLanguageRuntimeModule.java
@@ -0,0 +1,201 @@
1/*
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language;
5
6import com.google.inject.Binder;
7import com.google.inject.Provider;
8import com.google.inject.name.Names;
9import java.util.Properties;
10import org.eclipse.viatra.solver.language.generator.SolverLanguageGenerator;
11import org.eclipse.viatra.solver.language.parser.antlr.SolverLanguageAntlrTokenFileProvider;
12import org.eclipse.viatra.solver.language.parser.antlr.SolverLanguageParser;
13import org.eclipse.viatra.solver.language.parser.antlr.internal.InternalSolverLanguageLexer;
14import org.eclipse.viatra.solver.language.scoping.SolverLanguageScopeProvider;
15import org.eclipse.viatra.solver.language.serializer.SolverLanguageSemanticSequencer;
16import org.eclipse.viatra.solver.language.serializer.SolverLanguageSyntacticSequencer;
17import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess;
18import org.eclipse.viatra.solver.language.validation.SolverLanguageConfigurableIssueCodesProvider;
19import org.eclipse.viatra.solver.language.validation.SolverLanguageValidator;
20import org.eclipse.xtext.Constants;
21import org.eclipse.xtext.IGrammarAccess;
22import org.eclipse.xtext.generator.IGenerator2;
23import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider;
24import org.eclipse.xtext.naming.IQualifiedNameProvider;
25import org.eclipse.xtext.parser.IParser;
26import org.eclipse.xtext.parser.ITokenToStringConverter;
27import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider;
28import org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter;
29import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
30import org.eclipse.xtext.parser.antlr.ITokenDefProvider;
31import org.eclipse.xtext.parser.antlr.Lexer;
32import org.eclipse.xtext.parser.antlr.LexerBindings;
33import org.eclipse.xtext.parser.antlr.LexerProvider;
34import org.eclipse.xtext.resource.IContainer;
35import org.eclipse.xtext.resource.IResourceDescriptions;
36import org.eclipse.xtext.resource.containers.IAllContainersState;
37import org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider;
38import org.eclipse.xtext.resource.containers.StateBasedContainerManager;
39import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider;
40import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions;
41import org.eclipse.xtext.scoping.IGlobalScopeProvider;
42import org.eclipse.xtext.scoping.IScopeProvider;
43import org.eclipse.xtext.scoping.IgnoreCaseLinking;
44import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
45import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider;
46import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider;
47import org.eclipse.xtext.serializer.ISerializer;
48import org.eclipse.xtext.serializer.impl.Serializer;
49import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
50import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer;
51import org.eclipse.xtext.service.DefaultRuntimeModule;
52import org.eclipse.xtext.service.SingletonBinding;
53import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider;
54
55/**
56 * Manual modifications go to {@link SolverLanguageRuntimeModule}.
57 */
58@SuppressWarnings("all")
59public abstract class AbstractSolverLanguageRuntimeModule extends DefaultRuntimeModule {
60
61 protected Properties properties = null;
62
63 @Override
64 public void configure(Binder binder) {
65 properties = tryBindProperties(binder, "org/eclipse/viatra/solver/language/SolverLanguage.properties");
66 super.configure(binder);
67 }
68
69 public void configureLanguageName(Binder binder) {
70 binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.viatra.solver.language.SolverLanguage");
71 }
72
73 public void configureFileExtensions(Binder binder) {
74 if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null)
75 binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("vsc");
76 }
77
78 // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2
79 public ClassLoader bindClassLoaderToInstance() {
80 return getClass().getClassLoader();
81 }
82
83 // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2
84 public Class<? extends IGrammarAccess> bindIGrammarAccess() {
85 return SolverLanguageGrammarAccess.class;
86 }
87
88 // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
89 public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
90 return SolverLanguageSemanticSequencer.class;
91 }
92
93 // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
94 public Class<? extends ISyntacticSequencer> bindISyntacticSequencer() {
95 return SolverLanguageSyntacticSequencer.class;
96 }
97
98 // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
99 public Class<? extends ISerializer> bindISerializer() {
100 return Serializer.class;
101 }
102
103 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
104 public Class<? extends IParser> bindIParser() {
105 return SolverLanguageParser.class;
106 }
107
108 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
109 public Class<? extends ITokenToStringConverter> bindITokenToStringConverter() {
110 return AntlrTokenToStringConverter.class;
111 }
112
113 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
114 public Class<? extends IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
115 return SolverLanguageAntlrTokenFileProvider.class;
116 }
117
118 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
119 public Class<? extends Lexer> bindLexer() {
120 return InternalSolverLanguageLexer.class;
121 }
122
123 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
124 public Class<? extends ITokenDefProvider> bindITokenDefProvider() {
125 return AntlrTokenDefProvider.class;
126 }
127
128 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
129 public Provider<? extends InternalSolverLanguageLexer> provideInternalSolverLanguageLexer() {
130 return LexerProvider.create(InternalSolverLanguageLexer.class);
131 }
132
133 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
134 public void configureRuntimeLexer(Binder binder) {
135 binder.bind(Lexer.class)
136 .annotatedWith(Names.named(LexerBindings.RUNTIME))
137 .to(InternalSolverLanguageLexer.class);
138 }
139
140 // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
141 @SingletonBinding(eager=true)
142 public Class<? extends SolverLanguageValidator> bindSolverLanguageValidator() {
143 return SolverLanguageValidator.class;
144 }
145
146 // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
147 public Class<? extends ConfigurableIssueCodesProvider> bindConfigurableIssueCodesProvider() {
148 return SolverLanguageConfigurableIssueCodesProvider.class;
149 }
150
151 // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
152 public Class<? extends IScopeProvider> bindIScopeProvider() {
153 return SolverLanguageScopeProvider.class;
154 }
155
156 // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
157 public void configureIScopeProviderDelegate(Binder binder) {
158 binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class);
159 }
160
161 // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
162 public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
163 return DefaultGlobalScopeProvider.class;
164 }
165
166 // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
167 public void configureIgnoreCaseLinking(Binder binder) {
168 binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false);
169 }
170
171 // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
172 public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
173 return DefaultDeclarativeQualifiedNameProvider.class;
174 }
175
176 // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
177 public Class<? extends IContainer.Manager> bindIContainer$Manager() {
178 return StateBasedContainerManager.class;
179 }
180
181 // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
182 public Class<? extends IAllContainersState.Provider> bindIAllContainersState$Provider() {
183 return ResourceSetBasedAllContainersStateProvider.class;
184 }
185
186 // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
187 public void configureIResourceDescriptions(Binder binder) {
188 binder.bind(IResourceDescriptions.class).to(ResourceSetBasedResourceDescriptions.class);
189 }
190
191 // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
192 public void configureIResourceDescriptionsPersisted(Binder binder) {
193 binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(ResourceSetBasedResourceDescriptions.class);
194 }
195
196 // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
197 public Class<? extends IGenerator2> bindIGenerator2() {
198 return SolverLanguageGenerator.class;
199 }
200
201}
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
new file mode 100644
index 00000000..20f3e983
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin
Binary files differ
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java
new file mode 100644
index 00000000..91347850
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java
@@ -0,0 +1,42 @@
1/*
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language;
5
6import com.google.inject.Guice;
7import com.google.inject.Injector;
8import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.resource.Resource;
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
11import org.eclipse.xtext.ISetup;
12import org.eclipse.xtext.common.TerminalsStandaloneSetup;
13import org.eclipse.xtext.resource.IResourceFactory;
14import org.eclipse.xtext.resource.IResourceServiceProvider;
15
16@SuppressWarnings("all")
17public class SolverLanguageStandaloneSetupGenerated implements ISetup {
18
19 @Override
20 public Injector createInjectorAndDoEMFRegistration() {
21 TerminalsStandaloneSetup.doSetup();
22
23 Injector injector = createInjector();
24 register(injector);
25 return injector;
26 }
27
28 public Injector createInjector() {
29 return Guice.createInjector(new SolverLanguageRuntimeModule());
30 }
31
32 public void register(Injector injector) {
33 if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/viatra/solver/language/SolverLanguage")) {
34 EPackage.Registry.INSTANCE.put("http://www.eclipse.org/viatra/solver/language/SolverLanguage", SolverLanguagePackage.eINSTANCE);
35 }
36 IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class);
37 IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class);
38
39 Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("vsc", resourceFactory);
40 IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("vsc", serviceProvider);
41 }
42}
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageAntlrTokenFileProvider.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageAntlrTokenFileProvider.java
new file mode 100644
index 00000000..059473c8
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageAntlrTokenFileProvider.java
@@ -0,0 +1,16 @@
1/*
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.parser.antlr;
5
6import java.io.InputStream;
7import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
8
9public class SolverLanguageAntlrTokenFileProvider implements IAntlrTokenFileProvider {
10
11 @Override
12 public InputStream getAntlrTokenFile() {
13 ClassLoader classLoader = getClass().getClassLoader();
14 return classLoader.getResourceAsStream("org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens");
15 }
16}
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageParser.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageParser.java
new file mode 100644
index 00000000..7155770e
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/SolverLanguageParser.java
@@ -0,0 +1,40 @@
1/*
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.parser.antlr;
5
6import com.google.inject.Inject;
7import org.eclipse.viatra.solver.language.parser.antlr.internal.InternalSolverLanguageParser;
8import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess;
9import org.eclipse.xtext.parser.antlr.AbstractAntlrParser;
10import org.eclipse.xtext.parser.antlr.XtextTokenStream;
11
12public class SolverLanguageParser extends AbstractAntlrParser {
13
14 @Inject
15 private SolverLanguageGrammarAccess grammarAccess;
16
17 @Override
18 protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
19 tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
20 }
21
22
23 @Override
24 protected InternalSolverLanguageParser createParser(XtextTokenStream stream) {
25 return new InternalSolverLanguageParser(stream, getGrammarAccess());
26 }
27
28 @Override
29 protected String getDefaultRuleName() {
30 return "Problem";
31 }
32
33 public SolverLanguageGrammarAccess getGrammarAccess() {
34 return this.grammarAccess;
35 }
36
37 public void setGrammarAccess(SolverLanguageGrammarAccess grammarAccess) {
38 this.grammarAccess = grammarAccess;
39 }
40}
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g
new file mode 100644
index 00000000..afd73c2d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g
@@ -0,0 +1,2575 @@
1/*
2 * generated by Xtext 2.18.0.M3
3 */
4grammar InternalSolverLanguage;
5
6options {
7 superClass=AbstractInternalAntlrParser;
8}
9
10@lexer::header {
11package org.eclipse.viatra.solver.language.parser.antlr.internal;
12
13// Hack: Use our own Lexer superclass by means of import.
14// Currently there is no other way to specify the superclass for the lexer.
15import org.eclipse.xtext.parser.antlr.Lexer;
16}
17
18@parser::header {
19package org.eclipse.viatra.solver.language.parser.antlr.internal;
20
21import org.eclipse.xtext.*;
22import org.eclipse.xtext.parser.*;
23import org.eclipse.xtext.parser.impl.*;
24import org.eclipse.emf.ecore.util.EcoreUtil;
25import org.eclipse.emf.ecore.EObject;
26import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
27import org.eclipse.xtext.parser.antlr.XtextTokenStream;
28import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
29import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
30import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess;
31
32}
33
34@parser::members {
35
36 private SolverLanguageGrammarAccess grammarAccess;
37
38 public InternalSolverLanguageParser(TokenStream input, SolverLanguageGrammarAccess grammarAccess) {
39 this(input);
40 this.grammarAccess = grammarAccess;
41 registerRules(grammarAccess.getGrammar());
42 }
43
44 @Override
45 protected String getFirstRuleName() {
46 return "Problem";
47 }
48
49 @Override
50 protected SolverLanguageGrammarAccess getGrammarAccess() {
51 return grammarAccess;
52 }
53
54}
55
56@rulecatch {
57 catch (RecognitionException re) {
58 recover(input,re);
59 appendSkippedTokens();
60 }
61}
62
63// Entry rule entryRuleProblem
64entryRuleProblem returns [EObject current=null]:
65 { newCompositeNode(grammarAccess.getProblemRule()); }
66 iv_ruleProblem=ruleProblem
67 { $current=$iv_ruleProblem.current; }
68 EOF;
69
70// Rule Problem
71ruleProblem returns [EObject current=null]
72@init {
73 enterRule();
74}
75@after {
76 leaveRule();
77}:
78 (
79 (
80 {
81 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0());
82 }
83 lv_statements_0_0=ruleStatement
84 {
85 if ($current==null) {
86 $current = createModelElementForParent(grammarAccess.getProblemRule());
87 }
88 add(
89 $current,
90 "statements",
91 lv_statements_0_0,
92 "org.eclipse.viatra.solver.language.SolverLanguage.Statement");
93 afterParserOrEnumRuleCall();
94 }
95 )
96 )*
97;
98
99// Entry rule entryRuleStatement
100entryRuleStatement returns [EObject current=null]:
101 { newCompositeNode(grammarAccess.getStatementRule()); }
102 iv_ruleStatement=ruleStatement
103 { $current=$iv_ruleStatement.current; }
104 EOF;
105
106// Rule Statement
107ruleStatement returns [EObject current=null]
108@init {
109 enterRule();
110}
111@after {
112 leaveRule();
113}:
114 (
115 {
116 newCompositeNode(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0());
117 }
118 this_Interpretation_0=ruleInterpretation
119 {
120 $current = $this_Interpretation_0.current;
121 afterParserOrEnumRuleCall();
122 }
123 |
124 {
125 newCompositeNode(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1());
126 }
127 this_Predicate_1=rulePredicate
128 {
129 $current = $this_Predicate_1.current;
130 afterParserOrEnumRuleCall();
131 }
132 )
133;
134
135// Entry rule entryRuleREALLiteral
136entryRuleREALLiteral returns [String current=null]:
137 { newCompositeNode(grammarAccess.getREALLiteralRule()); }
138 iv_ruleREALLiteral=ruleREALLiteral
139 { $current=$iv_ruleREALLiteral.current.getText(); }
140 EOF;
141
142// Rule REALLiteral
143ruleREALLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
144@init {
145 enterRule();
146}
147@after {
148 leaveRule();
149}:
150 (
151 (
152 kw='-'
153 {
154 $current.merge(kw);
155 newLeafNode(kw, grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0());
156 }
157 )?
158 this_INT_1=RULE_INT
159 {
160 $current.merge(this_INT_1);
161 }
162 {
163 newLeafNode(this_INT_1, grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1());
164 }
165 kw='.'
166 {
167 $current.merge(kw);
168 newLeafNode(kw, grammarAccess.getREALLiteralAccess().getFullStopKeyword_2());
169 }
170 this_INT_3=RULE_INT
171 {
172 $current.merge(this_INT_3);
173 }
174 {
175 newLeafNode(this_INT_3, grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3());
176 }
177 )
178;
179
180// Entry rule entryRuleINTLiteral
181entryRuleINTLiteral returns [String current=null]:
182 { newCompositeNode(grammarAccess.getINTLiteralRule()); }
183 iv_ruleINTLiteral=ruleINTLiteral
184 { $current=$iv_ruleINTLiteral.current.getText(); }
185 EOF;
186
187// Rule INTLiteral
188ruleINTLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
189@init {
190 enterRule();
191}
192@after {
193 leaveRule();
194}:
195 (
196 (
197 kw='-'
198 {
199 $current.merge(kw);
200 newLeafNode(kw, grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0());
201 }
202 )?
203 this_INT_1=RULE_INT
204 {
205 $current.merge(this_INT_1);
206 }
207 {
208 newLeafNode(this_INT_1, grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1());
209 }
210 )
211;
212
213// Entry rule entryRuleBooleanValue
214entryRuleBooleanValue returns [EObject current=null]:
215 { newCompositeNode(grammarAccess.getBooleanValueRule()); }
216 iv_ruleBooleanValue=ruleBooleanValue
217 { $current=$iv_ruleBooleanValue.current; }
218 EOF;
219
220// Rule BooleanValue
221ruleBooleanValue returns [EObject current=null]
222@init {
223 enterRule();
224}
225@after {
226 leaveRule();
227}:
228 (
229 (
230 (
231 {
232 $current = forceCreateModelElement(
233 grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0(),
234 $current);
235 }
236 )
237 otherlv_1='true'
238 {
239 newLeafNode(otherlv_1, grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1());
240 }
241 )
242 |
243 (
244 otherlv_2='false'
245 {
246 newLeafNode(otherlv_2, grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0());
247 }
248 (
249 {
250 $current = forceCreateModelElement(
251 grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1(),
252 $current);
253 }
254 )
255 )
256 )
257;
258
259// Entry rule entryRuleTruthValue
260entryRuleTruthValue returns [EObject current=null]:
261 { newCompositeNode(grammarAccess.getTruthValueRule()); }
262 iv_ruleTruthValue=ruleTruthValue
263 { $current=$iv_ruleTruthValue.current; }
264 EOF;
265
266// Rule TruthValue
267ruleTruthValue returns [EObject current=null]
268@init {
269 enterRule();
270}
271@after {
272 leaveRule();
273}:
274 (
275 (
276 (
277 {
278 $current = forceCreateModelElement(
279 grammarAccess.getTruthValueAccess().getTrueAction_0_0(),
280 $current);
281 }
282 )
283 otherlv_1='true'
284 {
285 newLeafNode(otherlv_1, grammarAccess.getTruthValueAccess().getTrueKeyword_0_1());
286 }
287 )
288 |
289 (
290 (
291 {
292 $current = forceCreateModelElement(
293 grammarAccess.getTruthValueAccess().getFalseAction_1_0(),
294 $current);
295 }
296 )
297 otherlv_3='false'
298 {
299 newLeafNode(otherlv_3, grammarAccess.getTruthValueAccess().getFalseKeyword_1_1());
300 }
301 )
302 |
303 (
304 (
305 {
306 $current = forceCreateModelElement(
307 grammarAccess.getTruthValueAccess().getUnknownAction_2_0(),
308 $current);
309 }
310 )
311 otherlv_5='unknown'
312 {
313 newLeafNode(otherlv_5, grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1());
314 }
315 )
316 |
317 (
318 (
319 {
320 $current = forceCreateModelElement(
321 grammarAccess.getTruthValueAccess().getErrorAction_3_0(),
322 $current);
323 }
324 )
325 otherlv_7='error'
326 {
327 newLeafNode(otherlv_7, grammarAccess.getTruthValueAccess().getErrorKeyword_3_1());
328 }
329 )
330 )
331;
332
333// Entry rule entryRuleInterpretation
334entryRuleInterpretation returns [EObject current=null]:
335 { newCompositeNode(grammarAccess.getInterpretationRule()); }
336 iv_ruleInterpretation=ruleInterpretation
337 { $current=$iv_ruleInterpretation.current; }
338 EOF;
339
340// Rule Interpretation
341ruleInterpretation returns [EObject current=null]
342@init {
343 enterRule();
344}
345@after {
346 leaveRule();
347}:
348 (
349 {
350 newCompositeNode(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0());
351 }
352 this_BasicInterpretation_0=ruleBasicInterpretation
353 {
354 $current = $this_BasicInterpretation_0.current;
355 afterParserOrEnumRuleCall();
356 }
357 |
358 {
359 newCompositeNode(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1());
360 }
361 this_DefaultInterpretation_1=ruleDefaultInterpretation
362 {
363 $current = $this_DefaultInterpretation_1.current;
364 afterParserOrEnumRuleCall();
365 }
366 |
367 {
368 newCompositeNode(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2());
369 }
370 this_CDInterpretation_2=ruleCDInterpretation
371 {
372 $current = $this_CDInterpretation_2.current;
373 afterParserOrEnumRuleCall();
374 }
375 )
376;
377
378// Entry rule entryRuleBasicInterpretation
379entryRuleBasicInterpretation returns [EObject current=null]:
380 { newCompositeNode(grammarAccess.getBasicInterpretationRule()); }
381 iv_ruleBasicInterpretation=ruleBasicInterpretation
382 { $current=$iv_ruleBasicInterpretation.current; }
383 EOF;
384
385// Rule BasicInterpretation
386ruleBasicInterpretation returns [EObject current=null]
387@init {
388 enterRule();
389}
390@after {
391 leaveRule();
392}:
393 (
394 (
395 (
396 {
397 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0());
398 }
399 lv_symbol_0_0=ruleSymbol
400 {
401 if ($current==null) {
402 $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule());
403 }
404 set(
405 $current,
406 "symbol",
407 lv_symbol_0_0,
408 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
409 afterParserOrEnumRuleCall();
410 }
411 )
412 )
413 otherlv_1='('
414 {
415 newLeafNode(otherlv_1, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1());
416 }
417 (
418 (
419 {
420 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_2_0());
421 }
422 lv_objects_2_0=ruleComplexObject
423 {
424 if ($current==null) {
425 $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule());
426 }
427 add(
428 $current,
429 "objects",
430 lv_objects_2_0,
431 "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject");
432 afterParserOrEnumRuleCall();
433 }
434 )
435 )*
436 otherlv_3=')'
437 {
438 newLeafNode(otherlv_3, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_3());
439 }
440 otherlv_4=':'
441 {
442 newLeafNode(otherlv_4, grammarAccess.getBasicInterpretationAccess().getColonKeyword_4());
443 }
444 (
445 (
446 {
447 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_5_0());
448 }
449 lv_value_5_0=ruleTruthValue
450 {
451 if ($current==null) {
452 $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule());
453 }
454 set(
455 $current,
456 "value",
457 lv_value_5_0,
458 "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue");
459 afterParserOrEnumRuleCall();
460 }
461 )
462 )
463 )
464;
465
466// Entry rule entryRuleSymbol
467entryRuleSymbol returns [EObject current=null]:
468 { newCompositeNode(grammarAccess.getSymbolRule()); }
469 iv_ruleSymbol=ruleSymbol
470 { $current=$iv_ruleSymbol.current; }
471 EOF;
472
473// Rule Symbol
474ruleSymbol returns [EObject current=null]
475@init {
476 enterRule();
477}
478@after {
479 leaveRule();
480}:
481 (
482 {
483 newCompositeNode(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0());
484 }
485 this_ModelSymbol_0=ruleModelSymbol
486 {
487 $current = $this_ModelSymbol_0.current;
488 afterParserOrEnumRuleCall();
489 }
490 |
491 {
492 newCompositeNode(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1());
493 }
494 this_PartialitySymbol_1=rulePartialitySymbol
495 {
496 $current = $this_PartialitySymbol_1.current;
497 afterParserOrEnumRuleCall();
498 }
499 |
500 {
501 newCompositeNode(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2());
502 }
503 this_DataSymbol_2=ruleDataSymbol
504 {
505 $current = $this_DataSymbol_2.current;
506 afterParserOrEnumRuleCall();
507 }
508 )
509;
510
511// Entry rule entryRuleModelSymbol
512entryRuleModelSymbol returns [EObject current=null]:
513 { newCompositeNode(grammarAccess.getModelSymbolRule()); }
514 iv_ruleModelSymbol=ruleModelSymbol
515 { $current=$iv_ruleModelSymbol.current; }
516 EOF;
517
518// Rule ModelSymbol
519ruleModelSymbol returns [EObject current=null]
520@init {
521 enterRule();
522}
523@after {
524 leaveRule();
525}:
526 (
527 (
528 lv_name_0_0=RULE_ID
529 {
530 newLeafNode(lv_name_0_0, grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0());
531 }
532 {
533 if ($current==null) {
534 $current = createModelElement(grammarAccess.getModelSymbolRule());
535 }
536 setWithLastConsumed(
537 $current,
538 "name",
539 lv_name_0_0,
540 "org.eclipse.xtext.common.Terminals.ID");
541 }
542 )
543 )
544;
545
546// Entry rule entryRulePartialitySymbol
547entryRulePartialitySymbol returns [EObject current=null]:
548 { newCompositeNode(grammarAccess.getPartialitySymbolRule()); }
549 iv_rulePartialitySymbol=rulePartialitySymbol
550 { $current=$iv_rulePartialitySymbol.current; }
551 EOF;
552
553// Rule PartialitySymbol
554rulePartialitySymbol returns [EObject current=null]
555@init {
556 enterRule();
557}
558@after {
559 leaveRule();
560}:
561 (
562 {
563 newCompositeNode(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0());
564 }
565 this_ExistSymbol_0=ruleExistSymbol
566 {
567 $current = $this_ExistSymbol_0.current;
568 afterParserOrEnumRuleCall();
569 }
570 |
571 {
572 newCompositeNode(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1());
573 }
574 this_EqualsSymbol_1=ruleEqualsSymbol
575 {
576 $current = $this_EqualsSymbol_1.current;
577 afterParserOrEnumRuleCall();
578 }
579 )
580;
581
582// Entry rule entryRuleExistSymbol
583entryRuleExistSymbol returns [EObject current=null]:
584 { newCompositeNode(grammarAccess.getExistSymbolRule()); }
585 iv_ruleExistSymbol=ruleExistSymbol
586 { $current=$iv_ruleExistSymbol.current; }
587 EOF;
588
589// Rule ExistSymbol
590ruleExistSymbol returns [EObject current=null]
591@init {
592 enterRule();
593}
594@after {
595 leaveRule();
596}:
597 (
598 otherlv_0='exists'
599 {
600 newLeafNode(otherlv_0, grammarAccess.getExistSymbolAccess().getExistsKeyword_0());
601 }
602 (
603 {
604 $current = forceCreateModelElement(
605 grammarAccess.getExistSymbolAccess().getExistSymbolAction_1(),
606 $current);
607 }
608 )
609 )
610;
611
612// Entry rule entryRuleEqualsSymbol
613entryRuleEqualsSymbol returns [EObject current=null]:
614 { newCompositeNode(grammarAccess.getEqualsSymbolRule()); }
615 iv_ruleEqualsSymbol=ruleEqualsSymbol
616 { $current=$iv_ruleEqualsSymbol.current; }
617 EOF;
618
619// Rule EqualsSymbol
620ruleEqualsSymbol returns [EObject current=null]
621@init {
622 enterRule();
623}
624@after {
625 leaveRule();
626}:
627 (
628 otherlv_0='equals'
629 {
630 newLeafNode(otherlv_0, grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0());
631 }
632 (
633 {
634 $current = forceCreateModelElement(
635 grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1(),
636 $current);
637 }
638 )
639 )
640;
641
642// Entry rule entryRuleDataSymbol
643entryRuleDataSymbol returns [EObject current=null]:
644 { newCompositeNode(grammarAccess.getDataSymbolRule()); }
645 iv_ruleDataSymbol=ruleDataSymbol
646 { $current=$iv_ruleDataSymbol.current; }
647 EOF;
648
649// Rule DataSymbol
650ruleDataSymbol returns [EObject current=null]
651@init {
652 enterRule();
653}
654@after {
655 leaveRule();
656}:
657 (
658 {
659 newCompositeNode(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0());
660 }
661 this_BooleanSymbol_0=ruleBooleanSymbol
662 {
663 $current = $this_BooleanSymbol_0.current;
664 afterParserOrEnumRuleCall();
665 }
666 |
667 {
668 newCompositeNode(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1());
669 }
670 this_IntegerSymbol_1=ruleIntegerSymbol
671 {
672 $current = $this_IntegerSymbol_1.current;
673 afterParserOrEnumRuleCall();
674 }
675 |
676 {
677 newCompositeNode(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2());
678 }
679 this_RealSymbol_2=ruleRealSymbol
680 {
681 $current = $this_RealSymbol_2.current;
682 afterParserOrEnumRuleCall();
683 }
684 |
685 {
686 newCompositeNode(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3());
687 }
688 this_StringSymbol_3=ruleStringSymbol
689 {
690 $current = $this_StringSymbol_3.current;
691 afterParserOrEnumRuleCall();
692 }
693 )
694;
695
696// Entry rule entryRuleBooleanSymbol
697entryRuleBooleanSymbol returns [EObject current=null]:
698 { newCompositeNode(grammarAccess.getBooleanSymbolRule()); }
699 iv_ruleBooleanSymbol=ruleBooleanSymbol
700 { $current=$iv_ruleBooleanSymbol.current; }
701 EOF;
702
703// Rule BooleanSymbol
704ruleBooleanSymbol returns [EObject current=null]
705@init {
706 enterRule();
707}
708@after {
709 leaveRule();
710}:
711 (
712 otherlv_0='bool'
713 {
714 newLeafNode(otherlv_0, grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0());
715 }
716 (
717 {
718 $current = forceCreateModelElement(
719 grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1(),
720 $current);
721 }
722 )
723 )
724;
725
726// Entry rule entryRuleIntegerSymbol
727entryRuleIntegerSymbol returns [EObject current=null]:
728 { newCompositeNode(grammarAccess.getIntegerSymbolRule()); }
729 iv_ruleIntegerSymbol=ruleIntegerSymbol
730 { $current=$iv_ruleIntegerSymbol.current; }
731 EOF;
732
733// Rule IntegerSymbol
734ruleIntegerSymbol returns [EObject current=null]
735@init {
736 enterRule();
737}
738@after {
739 leaveRule();
740}:
741 (
742 otherlv_0='int'
743 {
744 newLeafNode(otherlv_0, grammarAccess.getIntegerSymbolAccess().getIntKeyword_0());
745 }
746 (
747 {
748 $current = forceCreateModelElement(
749 grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1(),
750 $current);
751 }
752 )
753 )
754;
755
756// Entry rule entryRuleRealSymbol
757entryRuleRealSymbol returns [EObject current=null]:
758 { newCompositeNode(grammarAccess.getRealSymbolRule()); }
759 iv_ruleRealSymbol=ruleRealSymbol
760 { $current=$iv_ruleRealSymbol.current; }
761 EOF;
762
763// Rule RealSymbol
764ruleRealSymbol returns [EObject current=null]
765@init {
766 enterRule();
767}
768@after {
769 leaveRule();
770}:
771 (
772 otherlv_0='real'
773 {
774 newLeafNode(otherlv_0, grammarAccess.getRealSymbolAccess().getRealKeyword_0());
775 }
776 (
777 {
778 $current = forceCreateModelElement(
779 grammarAccess.getRealSymbolAccess().getRealSymbolAction_1(),
780 $current);
781 }
782 )
783 )
784;
785
786// Entry rule entryRuleStringSymbol
787entryRuleStringSymbol returns [EObject current=null]:
788 { newCompositeNode(grammarAccess.getStringSymbolRule()); }
789 iv_ruleStringSymbol=ruleStringSymbol
790 { $current=$iv_ruleStringSymbol.current; }
791 EOF;
792
793// Rule StringSymbol
794ruleStringSymbol returns [EObject current=null]
795@init {
796 enterRule();
797}
798@after {
799 leaveRule();
800}:
801 (
802 otherlv_0='string'
803 {
804 newLeafNode(otherlv_0, grammarAccess.getStringSymbolAccess().getStringKeyword_0());
805 }
806 (
807 {
808 $current = forceCreateModelElement(
809 grammarAccess.getStringSymbolAccess().getStringSymbolAction_1(),
810 $current);
811 }
812 )
813 )
814;
815
816// Entry rule entryRuleComplexObject
817entryRuleComplexObject returns [EObject current=null]:
818 { newCompositeNode(grammarAccess.getComplexObjectRule()); }
819 iv_ruleComplexObject=ruleComplexObject
820 { $current=$iv_ruleComplexObject.current; }
821 EOF;
822
823// Rule ComplexObject
824ruleComplexObject returns [EObject current=null]
825@init {
826 enterRule();
827}
828@after {
829 leaveRule();
830}:
831 (
832 {
833 newCompositeNode(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0());
834 }
835 this_Object_0=ruleObject
836 {
837 $current = $this_Object_0.current;
838 afterParserOrEnumRuleCall();
839 }
840 |
841 {
842 newCompositeNode(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1());
843 }
844 this_AllInstances_1=ruleAllInstances
845 {
846 $current = $this_AllInstances_1.current;
847 afterParserOrEnumRuleCall();
848 }
849 |
850 {
851 newCompositeNode(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2());
852 }
853 this_AllObjects_2=ruleAllObjects
854 {
855 $current = $this_AllObjects_2.current;
856 afterParserOrEnumRuleCall();
857 }
858 )
859;
860
861// Entry rule entryRuleObject
862entryRuleObject returns [EObject current=null]:
863 { newCompositeNode(grammarAccess.getObjectRule()); }
864 iv_ruleObject=ruleObject
865 { $current=$iv_ruleObject.current; }
866 EOF;
867
868// Rule Object
869ruleObject returns [EObject current=null]
870@init {
871 enterRule();
872}
873@after {
874 leaveRule();
875}:
876 (
877 {
878 newCompositeNode(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0());
879 }
880 this_NamedObject_0=ruleNamedObject
881 {
882 $current = $this_NamedObject_0.current;
883 afterParserOrEnumRuleCall();
884 }
885 |
886 {
887 newCompositeNode(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1());
888 }
889 this_UnnamedObject_1=ruleUnnamedObject
890 {
891 $current = $this_UnnamedObject_1.current;
892 afterParserOrEnumRuleCall();
893 }
894 |
895 {
896 newCompositeNode(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2());
897 }
898 this_DataObject_2=ruleDataObject
899 {
900 $current = $this_DataObject_2.current;
901 afterParserOrEnumRuleCall();
902 }
903 )
904;
905
906// Entry rule entryRuleNamedObject
907entryRuleNamedObject returns [EObject current=null]:
908 { newCompositeNode(grammarAccess.getNamedObjectRule()); }
909 iv_ruleNamedObject=ruleNamedObject
910 { $current=$iv_ruleNamedObject.current; }
911 EOF;
912
913// Rule NamedObject
914ruleNamedObject returns [EObject current=null]
915@init {
916 enterRule();
917}
918@after {
919 leaveRule();
920}:
921 (
922 otherlv_0='\''
923 {
924 newLeafNode(otherlv_0, grammarAccess.getNamedObjectAccess().getApostropheKeyword_0());
925 }
926 (
927 (
928 lv_name_1_0=RULE_ID
929 {
930 newLeafNode(lv_name_1_0, grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0());
931 }
932 {
933 if ($current==null) {
934 $current = createModelElement(grammarAccess.getNamedObjectRule());
935 }
936 setWithLastConsumed(
937 $current,
938 "name",
939 lv_name_1_0,
940 "org.eclipse.xtext.common.Terminals.ID");
941 }
942 )
943 )
944 otherlv_2='\''
945 {
946 newLeafNode(otherlv_2, grammarAccess.getNamedObjectAccess().getApostropheKeyword_2());
947 }
948 )
949;
950
951// Entry rule entryRuleUnnamedObject
952entryRuleUnnamedObject returns [EObject current=null]:
953 { newCompositeNode(grammarAccess.getUnnamedObjectRule()); }
954 iv_ruleUnnamedObject=ruleUnnamedObject
955 { $current=$iv_ruleUnnamedObject.current; }
956 EOF;
957
958// Rule UnnamedObject
959ruleUnnamedObject returns [EObject current=null]
960@init {
961 enterRule();
962}
963@after {
964 leaveRule();
965}:
966 (
967 (
968 lv_name_0_0=RULE_ID
969 {
970 newLeafNode(lv_name_0_0, grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0());
971 }
972 {
973 if ($current==null) {
974 $current = createModelElement(grammarAccess.getUnnamedObjectRule());
975 }
976 setWithLastConsumed(
977 $current,
978 "name",
979 lv_name_0_0,
980 "org.eclipse.xtext.common.Terminals.ID");
981 }
982 )
983 )
984;
985
986// Entry rule entryRuleDataObject
987entryRuleDataObject returns [EObject current=null]:
988 { newCompositeNode(grammarAccess.getDataObjectRule()); }
989 iv_ruleDataObject=ruleDataObject
990 { $current=$iv_ruleDataObject.current; }
991 EOF;
992
993// Rule DataObject
994ruleDataObject returns [EObject current=null]
995@init {
996 enterRule();
997}
998@after {
999 leaveRule();
1000}:
1001 (
1002 {
1003 newCompositeNode(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0());
1004 }
1005 this_BooleanObject_0=ruleBooleanObject
1006 {
1007 $current = $this_BooleanObject_0.current;
1008 afterParserOrEnumRuleCall();
1009 }
1010 |
1011 {
1012 newCompositeNode(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1());
1013 }
1014 this_IntObject_1=ruleIntObject
1015 {
1016 $current = $this_IntObject_1.current;
1017 afterParserOrEnumRuleCall();
1018 }
1019 |
1020 {
1021 newCompositeNode(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2());
1022 }
1023 this_RealObject_2=ruleRealObject
1024 {
1025 $current = $this_RealObject_2.current;
1026 afterParserOrEnumRuleCall();
1027 }
1028 |
1029 {
1030 newCompositeNode(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3());
1031 }
1032 this_StringObject_3=ruleStringObject
1033 {
1034 $current = $this_StringObject_3.current;
1035 afterParserOrEnumRuleCall();
1036 }
1037 )
1038;
1039
1040// Entry rule entryRuleBooleanObject
1041entryRuleBooleanObject returns [EObject current=null]:
1042 { newCompositeNode(grammarAccess.getBooleanObjectRule()); }
1043 iv_ruleBooleanObject=ruleBooleanObject
1044 { $current=$iv_ruleBooleanObject.current; }
1045 EOF;
1046
1047// Rule BooleanObject
1048ruleBooleanObject returns [EObject current=null]
1049@init {
1050 enterRule();
1051}
1052@after {
1053 leaveRule();
1054}:
1055 (
1056 (
1057 {
1058 newCompositeNode(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0());
1059 }
1060 lv_value_0_0=ruleBooleanValue
1061 {
1062 if ($current==null) {
1063 $current = createModelElementForParent(grammarAccess.getBooleanObjectRule());
1064 }
1065 set(
1066 $current,
1067 "value",
1068 lv_value_0_0,
1069 "org.eclipse.viatra.solver.language.SolverLanguage.BooleanValue");
1070 afterParserOrEnumRuleCall();
1071 }
1072 )
1073 )
1074;
1075
1076// Entry rule entryRuleIntObject
1077entryRuleIntObject returns [EObject current=null]:
1078 { newCompositeNode(grammarAccess.getIntObjectRule()); }
1079 iv_ruleIntObject=ruleIntObject
1080 { $current=$iv_ruleIntObject.current; }
1081 EOF;
1082
1083// Rule IntObject
1084ruleIntObject returns [EObject current=null]
1085@init {
1086 enterRule();
1087}
1088@after {
1089 leaveRule();
1090}:
1091 (
1092 (
1093 {
1094 newCompositeNode(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0());
1095 }
1096 lv_value_0_0=ruleINTLiteral
1097 {
1098 if ($current==null) {
1099 $current = createModelElementForParent(grammarAccess.getIntObjectRule());
1100 }
1101 set(
1102 $current,
1103 "value",
1104 lv_value_0_0,
1105 "org.eclipse.viatra.solver.language.SolverLanguage.INTLiteral");
1106 afterParserOrEnumRuleCall();
1107 }
1108 )
1109 )
1110;
1111
1112// Entry rule entryRuleRealObject
1113entryRuleRealObject returns [EObject current=null]:
1114 { newCompositeNode(grammarAccess.getRealObjectRule()); }
1115 iv_ruleRealObject=ruleRealObject
1116 { $current=$iv_ruleRealObject.current; }
1117 EOF;
1118
1119// Rule RealObject
1120ruleRealObject returns [EObject current=null]
1121@init {
1122 enterRule();
1123}
1124@after {
1125 leaveRule();
1126}:
1127 (
1128 (
1129 {
1130 newCompositeNode(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0());
1131 }
1132 lv_value_0_0=ruleREALLiteral
1133 {
1134 if ($current==null) {
1135 $current = createModelElementForParent(grammarAccess.getRealObjectRule());
1136 }
1137 set(
1138 $current,
1139 "value",
1140 lv_value_0_0,
1141 "org.eclipse.viatra.solver.language.SolverLanguage.REALLiteral");
1142 afterParserOrEnumRuleCall();
1143 }
1144 )
1145 )
1146;
1147
1148// Entry rule entryRuleStringObject
1149entryRuleStringObject returns [EObject current=null]:
1150 { newCompositeNode(grammarAccess.getStringObjectRule()); }
1151 iv_ruleStringObject=ruleStringObject
1152 { $current=$iv_ruleStringObject.current; }
1153 EOF;
1154
1155// Rule StringObject
1156ruleStringObject returns [EObject current=null]
1157@init {
1158 enterRule();
1159}
1160@after {
1161 leaveRule();
1162}:
1163 (
1164 (
1165 lv_value_0_0=RULE_STRING
1166 {
1167 newLeafNode(lv_value_0_0, grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0());
1168 }
1169 {
1170 if ($current==null) {
1171 $current = createModelElement(grammarAccess.getStringObjectRule());
1172 }
1173 setWithLastConsumed(
1174 $current,
1175 "value",
1176 lv_value_0_0,
1177 "org.eclipse.viatra.solver.language.SolverLanguage.STRING");
1178 }
1179 )
1180 )
1181;
1182
1183// Entry rule entryRulePredicate
1184entryRulePredicate returns [EObject current=null]:
1185 { newCompositeNode(grammarAccess.getPredicateRule()); }
1186 iv_rulePredicate=rulePredicate
1187 { $current=$iv_rulePredicate.current; }
1188 EOF;
1189
1190// Rule Predicate
1191rulePredicate returns [EObject current=null]
1192@init {
1193 enterRule();
1194}
1195@after {
1196 leaveRule();
1197}:
1198 (
1199 {
1200 newCompositeNode(grammarAccess.getPredicateAccess().getPredicateSymbolParserRuleCall_0());
1201 }
1202 this_PredicateSymbol_0=rulePredicateSymbol
1203 {
1204 $current = $this_PredicateSymbol_0.current;
1205 afterParserOrEnumRuleCall();
1206 }
1207 |
1208 {
1209 newCompositeNode(grammarAccess.getPredicateAccess().getErrorPredicateParserRuleCall_1());
1210 }
1211 this_ErrorPredicate_1=ruleErrorPredicate
1212 {
1213 $current = $this_ErrorPredicate_1.current;
1214 afterParserOrEnumRuleCall();
1215 }
1216 )
1217;
1218
1219// Entry rule entryRulePredicateSymbol
1220entryRulePredicateSymbol returns [EObject current=null]:
1221 { newCompositeNode(grammarAccess.getPredicateSymbolRule()); }
1222 iv_rulePredicateSymbol=rulePredicateSymbol
1223 { $current=$iv_rulePredicateSymbol.current; }
1224 EOF;
1225
1226// Rule PredicateSymbol
1227rulePredicateSymbol returns [EObject current=null]
1228@init {
1229 enterRule();
1230}
1231@after {
1232 leaveRule();
1233}:
1234 (
1235 otherlv_0='predicate'
1236 {
1237 newLeafNode(otherlv_0, grammarAccess.getPredicateSymbolAccess().getPredicateKeyword_0());
1238 }
1239 (
1240 (
1241 {
1242 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getSymbolModelSymbolParserRuleCall_1_0());
1243 }
1244 lv_symbol_1_0=ruleModelSymbol
1245 {
1246 if ($current==null) {
1247 $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule());
1248 }
1249 set(
1250 $current,
1251 "symbol",
1252 lv_symbol_1_0,
1253 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
1254 afterParserOrEnumRuleCall();
1255 }
1256 )
1257 )
1258 otherlv_2='('
1259 {
1260 newLeafNode(otherlv_2, grammarAccess.getPredicateSymbolAccess().getLeftParenthesisKeyword_2());
1261 }
1262 (
1263 (
1264 {
1265 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getParametersParameterParserRuleCall_3_0());
1266 }
1267 lv_parameters_3_0=ruleParameter
1268 {
1269 if ($current==null) {
1270 $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule());
1271 }
1272 add(
1273 $current,
1274 "parameters",
1275 lv_parameters_3_0,
1276 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
1277 afterParserOrEnumRuleCall();
1278 }
1279 )
1280 )*
1281 otherlv_4=')'
1282 {
1283 newLeafNode(otherlv_4, grammarAccess.getPredicateSymbolAccess().getRightParenthesisKeyword_4());
1284 }
1285 otherlv_5=':'
1286 {
1287 newLeafNode(otherlv_5, grammarAccess.getPredicateSymbolAccess().getColonKeyword_5());
1288 }
1289 (
1290 otherlv_6='false'
1291 {
1292 newLeafNode(otherlv_6, grammarAccess.getPredicateSymbolAccess().getFalseKeyword_6_0());
1293 }
1294 |
1295 (
1296 (
1297 (
1298 {
1299 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getBodiesPatternBodyParserRuleCall_6_1_0_0());
1300 }
1301 lv_bodies_7_0=rulePatternBody
1302 {
1303 if ($current==null) {
1304 $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule());
1305 }
1306 add(
1307 $current,
1308 "bodies",
1309 lv_bodies_7_0,
1310 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
1311 afterParserOrEnumRuleCall();
1312 }
1313 )
1314 )
1315 (
1316 otherlv_8='|'
1317 {
1318 newLeafNode(otherlv_8, grammarAccess.getPredicateSymbolAccess().getVerticalLineKeyword_6_1_1_0());
1319 }
1320 (
1321 (
1322 {
1323 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getBodiesPatternBodyParserRuleCall_6_1_1_1_0());
1324 }
1325 lv_bodies_9_0=rulePatternBody
1326 {
1327 if ($current==null) {
1328 $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule());
1329 }
1330 add(
1331 $current,
1332 "bodies",
1333 lv_bodies_9_0,
1334 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
1335 afterParserOrEnumRuleCall();
1336 }
1337 )
1338 )
1339 )*
1340 )
1341 )
1342 otherlv_10='.'
1343 {
1344 newLeafNode(otherlv_10, grammarAccess.getPredicateSymbolAccess().getFullStopKeyword_7());
1345 }
1346 )
1347;
1348
1349// Entry rule entryRuleErrorPredicate
1350entryRuleErrorPredicate returns [EObject current=null]:
1351 { newCompositeNode(grammarAccess.getErrorPredicateRule()); }
1352 iv_ruleErrorPredicate=ruleErrorPredicate
1353 { $current=$iv_ruleErrorPredicate.current; }
1354 EOF;
1355
1356// Rule ErrorPredicate
1357ruleErrorPredicate returns [EObject current=null]
1358@init {
1359 enterRule();
1360}
1361@after {
1362 leaveRule();
1363}:
1364 (
1365 (
1366 {
1367 $current = forceCreateModelElement(
1368 grammarAccess.getErrorPredicateAccess().getErrorPredicateAction_0(),
1369 $current);
1370 }
1371 )
1372 otherlv_1='error'
1373 {
1374 newLeafNode(otherlv_1, grammarAccess.getErrorPredicateAccess().getErrorKeyword_1());
1375 }
1376 (
1377 (
1378 lv_name_2_0=RULE_ID
1379 {
1380 newLeafNode(lv_name_2_0, grammarAccess.getErrorPredicateAccess().getNameIDTerminalRuleCall_2_0());
1381 }
1382 {
1383 if ($current==null) {
1384 $current = createModelElement(grammarAccess.getErrorPredicateRule());
1385 }
1386 setWithLastConsumed(
1387 $current,
1388 "name",
1389 lv_name_2_0,
1390 "org.eclipse.xtext.common.Terminals.ID");
1391 }
1392 )
1393 )?
1394 (
1395 otherlv_3='('
1396 {
1397 newLeafNode(otherlv_3, grammarAccess.getErrorPredicateAccess().getLeftParenthesisKeyword_3_0());
1398 }
1399 (
1400 (
1401 {
1402 newCompositeNode(grammarAccess.getErrorPredicateAccess().getParametersParameterParserRuleCall_3_1_0());
1403 }
1404 lv_parameters_4_0=ruleParameter
1405 {
1406 if ($current==null) {
1407 $current = createModelElementForParent(grammarAccess.getErrorPredicateRule());
1408 }
1409 add(
1410 $current,
1411 "parameters",
1412 lv_parameters_4_0,
1413 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
1414 afterParserOrEnumRuleCall();
1415 }
1416 )
1417 )*
1418 otherlv_5=')'
1419 {
1420 newLeafNode(otherlv_5, grammarAccess.getErrorPredicateAccess().getRightParenthesisKeyword_3_2());
1421 }
1422 )
1423 otherlv_6=':'
1424 {
1425 newLeafNode(otherlv_6, grammarAccess.getErrorPredicateAccess().getColonKeyword_4());
1426 }
1427 (
1428 otherlv_7='false'
1429 {
1430 newLeafNode(otherlv_7, grammarAccess.getErrorPredicateAccess().getFalseKeyword_5_0());
1431 }
1432 |
1433 (
1434 (
1435 (
1436 {
1437 newCompositeNode(grammarAccess.getErrorPredicateAccess().getBodiesPatternBodyParserRuleCall_5_1_0_0());
1438 }
1439 lv_bodies_8_0=rulePatternBody
1440 {
1441 if ($current==null) {
1442 $current = createModelElementForParent(grammarAccess.getErrorPredicateRule());
1443 }
1444 add(
1445 $current,
1446 "bodies",
1447 lv_bodies_8_0,
1448 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
1449 afterParserOrEnumRuleCall();
1450 }
1451 )
1452 )
1453 (
1454 otherlv_9='|'
1455 {
1456 newLeafNode(otherlv_9, grammarAccess.getErrorPredicateAccess().getVerticalLineKeyword_5_1_1_0());
1457 }
1458 (
1459 (
1460 {
1461 newCompositeNode(grammarAccess.getErrorPredicateAccess().getBodiesPatternBodyParserRuleCall_5_1_1_1_0());
1462 }
1463 lv_bodies_10_0=rulePatternBody
1464 {
1465 if ($current==null) {
1466 $current = createModelElementForParent(grammarAccess.getErrorPredicateRule());
1467 }
1468 add(
1469 $current,
1470 "bodies",
1471 lv_bodies_10_0,
1472 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
1473 afterParserOrEnumRuleCall();
1474 }
1475 )
1476 )
1477 )*
1478 )
1479 )
1480 otherlv_11='.'
1481 {
1482 newLeafNode(otherlv_11, grammarAccess.getErrorPredicateAccess().getFullStopKeyword_6());
1483 }
1484 )
1485;
1486
1487// Entry rule entryRuleParameter
1488entryRuleParameter returns [EObject current=null]:
1489 { newCompositeNode(grammarAccess.getParameterRule()); }
1490 iv_ruleParameter=ruleParameter
1491 { $current=$iv_ruleParameter.current; }
1492 EOF;
1493
1494// Rule Parameter
1495ruleParameter returns [EObject current=null]
1496@init {
1497 enterRule();
1498}
1499@after {
1500 leaveRule();
1501}:
1502 (
1503 (
1504 (
1505 {
1506 newCompositeNode(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0());
1507 }
1508 lv_variable_0_0=ruleVariable
1509 {
1510 if ($current==null) {
1511 $current = createModelElementForParent(grammarAccess.getParameterRule());
1512 }
1513 set(
1514 $current,
1515 "variable",
1516 lv_variable_0_0,
1517 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
1518 afterParserOrEnumRuleCall();
1519 }
1520 )
1521 )
1522 (
1523 otherlv_1=':'
1524 {
1525 newLeafNode(otherlv_1, grammarAccess.getParameterAccess().getColonKeyword_1_0());
1526 }
1527 (
1528 (
1529 {
1530 newCompositeNode(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0());
1531 }
1532 lv_type_2_0=ruleSymbol
1533 {
1534 if ($current==null) {
1535 $current = createModelElementForParent(grammarAccess.getParameterRule());
1536 }
1537 set(
1538 $current,
1539 "type",
1540 lv_type_2_0,
1541 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
1542 afterParserOrEnumRuleCall();
1543 }
1544 )
1545 )
1546 )?
1547 )
1548;
1549
1550// Entry rule entryRulePatternBody
1551entryRulePatternBody returns [EObject current=null]:
1552 { newCompositeNode(grammarAccess.getPatternBodyRule()); }
1553 iv_rulePatternBody=rulePatternBody
1554 { $current=$iv_rulePatternBody.current; }
1555 EOF;
1556
1557// Rule PatternBody
1558rulePatternBody returns [EObject current=null]
1559@init {
1560 enterRule();
1561}
1562@after {
1563 leaveRule();
1564}:
1565 (
1566 (
1567 {
1568 $current = forceCreateModelElement(
1569 grammarAccess.getPatternBodyAccess().getPatternBodyAction_0(),
1570 $current);
1571 }
1572 )
1573 (
1574 otherlv_1='true'
1575 {
1576 newLeafNode(otherlv_1, grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0());
1577 }
1578 |
1579 (
1580 (
1581 {
1582 newCompositeNode(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0());
1583 }
1584 lv_constraints_2_0=ruleConstraint
1585 {
1586 if ($current==null) {
1587 $current = createModelElementForParent(grammarAccess.getPatternBodyRule());
1588 }
1589 add(
1590 $current,
1591 "constraints",
1592 lv_constraints_2_0,
1593 "org.eclipse.viatra.solver.language.SolverLanguage.Constraint");
1594 afterParserOrEnumRuleCall();
1595 }
1596 )
1597 )*
1598 )
1599 )
1600;
1601
1602// Entry rule entryRulePolarity
1603entryRulePolarity returns [EObject current=null]:
1604 { newCompositeNode(grammarAccess.getPolarityRule()); }
1605 iv_rulePolarity=rulePolarity
1606 { $current=$iv_rulePolarity.current; }
1607 EOF;
1608
1609// Rule Polarity
1610rulePolarity returns [EObject current=null]
1611@init {
1612 enterRule();
1613}
1614@after {
1615 leaveRule();
1616}:
1617 (
1618 (
1619 (
1620 {
1621 $current = forceCreateModelElement(
1622 grammarAccess.getPolarityAccess().getPositiveAction_0_0(),
1623 $current);
1624 }
1625 )
1626 otherlv_1='+'
1627 {
1628 newLeafNode(otherlv_1, grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1());
1629 }
1630 )
1631 |
1632 (
1633 (
1634 {
1635 $current = forceCreateModelElement(
1636 grammarAccess.getPolarityAccess().getNegativeAction_1_0(),
1637 $current);
1638 }
1639 )
1640 otherlv_3='-'
1641 {
1642 newLeafNode(otherlv_3, grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1());
1643 }
1644 )
1645 )
1646;
1647
1648// Entry rule entryRuleConstraint
1649entryRuleConstraint returns [EObject current=null]:
1650 { newCompositeNode(grammarAccess.getConstraintRule()); }
1651 iv_ruleConstraint=ruleConstraint
1652 { $current=$iv_ruleConstraint.current; }
1653 EOF;
1654
1655// Rule Constraint
1656ruleConstraint returns [EObject current=null]
1657@init {
1658 enterRule();
1659}
1660@after {
1661 leaveRule();
1662}:
1663 (
1664 (
1665 (
1666 {
1667 newCompositeNode(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0());
1668 }
1669 lv_polarity_0_0=rulePolarity
1670 {
1671 if ($current==null) {
1672 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1673 }
1674 set(
1675 $current,
1676 "polarity",
1677 lv_polarity_0_0,
1678 "org.eclipse.viatra.solver.language.SolverLanguage.Polarity");
1679 afterParserOrEnumRuleCall();
1680 }
1681 )
1682 )?
1683 (
1684 (
1685 {
1686 newCompositeNode(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_1_0());
1687 }
1688 lv_symbol_1_0=ruleModelSymbol
1689 {
1690 if ($current==null) {
1691 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1692 }
1693 set(
1694 $current,
1695 "symbol",
1696 lv_symbol_1_0,
1697 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
1698 afterParserOrEnumRuleCall();
1699 }
1700 )
1701 )
1702 (
1703 (
1704 otherlv_2='('
1705 {
1706 newLeafNode(otherlv_2, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_2_0_0());
1707 }
1708 (
1709 (
1710 {
1711 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_0_1_0());
1712 }
1713 lv_params_3_0=ruleLiteral
1714 {
1715 if ($current==null) {
1716 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1717 }
1718 add(
1719 $current,
1720 "params",
1721 lv_params_3_0,
1722 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
1723 afterParserOrEnumRuleCall();
1724 }
1725 )
1726 )*
1727 otherlv_4=')'
1728 {
1729 newLeafNode(otherlv_4, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_2_0_2());
1730 }
1731 )
1732 |
1733 (
1734 (
1735 (
1736 {
1737 newCompositeNode(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_2_1_0_0());
1738 }
1739 lv_closureType_5_0=ruleClosureType
1740 {
1741 if ($current==null) {
1742 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1743 }
1744 set(
1745 $current,
1746 "closureType",
1747 lv_closureType_5_0,
1748 "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType");
1749 afterParserOrEnumRuleCall();
1750 }
1751 )
1752 )
1753 otherlv_6='('
1754 {
1755 newLeafNode(otherlv_6, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_2_1_1());
1756 }
1757 (
1758 (
1759 {
1760 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_1_2_0());
1761 }
1762 lv_params_7_0=ruleLiteral
1763 {
1764 if ($current==null) {
1765 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1766 }
1767 add(
1768 $current,
1769 "params",
1770 lv_params_7_0,
1771 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
1772 afterParserOrEnumRuleCall();
1773 }
1774 )
1775 )
1776 (
1777 (
1778 {
1779 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_1_3_0());
1780 }
1781 lv_params_8_0=ruleLiteral
1782 {
1783 if ($current==null) {
1784 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1785 }
1786 add(
1787 $current,
1788 "params",
1789 lv_params_8_0,
1790 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
1791 afterParserOrEnumRuleCall();
1792 }
1793 )
1794 )
1795 otherlv_9=')'
1796 {
1797 newLeafNode(otherlv_9, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_2_1_4());
1798 }
1799 )
1800 )
1801 )
1802;
1803
1804// Entry rule entryRuleClosureType
1805entryRuleClosureType returns [EObject current=null]:
1806 { newCompositeNode(grammarAccess.getClosureTypeRule()); }
1807 iv_ruleClosureType=ruleClosureType
1808 { $current=$iv_ruleClosureType.current; }
1809 EOF;
1810
1811// Rule ClosureType
1812ruleClosureType returns [EObject current=null]
1813@init {
1814 enterRule();
1815}
1816@after {
1817 leaveRule();
1818}:
1819 (
1820 (
1821 (
1822 {
1823 $current = forceCreateModelElement(
1824 grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0(),
1825 $current);
1826 }
1827 )
1828 otherlv_1='*'
1829 {
1830 newLeafNode(otherlv_1, grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1());
1831 }
1832 )
1833 |
1834 (
1835 (
1836 {
1837 $current = forceCreateModelElement(
1838 grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0(),
1839 $current);
1840 }
1841 )
1842 otherlv_3='+'
1843 {
1844 newLeafNode(otherlv_3, grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1());
1845 }
1846 )
1847 )
1848;
1849
1850// Entry rule entryRuleLiteral
1851entryRuleLiteral returns [EObject current=null]:
1852 { newCompositeNode(grammarAccess.getLiteralRule()); }
1853 iv_ruleLiteral=ruleLiteral
1854 { $current=$iv_ruleLiteral.current; }
1855 EOF;
1856
1857// Rule Literal
1858ruleLiteral returns [EObject current=null]
1859@init {
1860 enterRule();
1861}
1862@after {
1863 leaveRule();
1864}:
1865 (
1866 {
1867 newCompositeNode(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0());
1868 }
1869 this_Variable_0=ruleVariable
1870 {
1871 $current = $this_Variable_0.current;
1872 afterParserOrEnumRuleCall();
1873 }
1874 |
1875 {
1876 newCompositeNode(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1());
1877 }
1878 this_DataObject_1=ruleDataObject
1879 {
1880 $current = $this_DataObject_1.current;
1881 afterParserOrEnumRuleCall();
1882 }
1883 )
1884;
1885
1886// Entry rule entryRuleVariable
1887entryRuleVariable returns [EObject current=null]:
1888 { newCompositeNode(grammarAccess.getVariableRule()); }
1889 iv_ruleVariable=ruleVariable
1890 { $current=$iv_ruleVariable.current; }
1891 EOF;
1892
1893// Rule Variable
1894ruleVariable returns [EObject current=null]
1895@init {
1896 enterRule();
1897}
1898@after {
1899 leaveRule();
1900}:
1901 (
1902 (
1903 lv_name_0_0=RULE_ID
1904 {
1905 newLeafNode(lv_name_0_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0());
1906 }
1907 {
1908 if ($current==null) {
1909 $current = createModelElement(grammarAccess.getVariableRule());
1910 }
1911 setWithLastConsumed(
1912 $current,
1913 "name",
1914 lv_name_0_0,
1915 "org.eclipse.xtext.common.Terminals.ID");
1916 }
1917 )
1918 )
1919;
1920
1921// Entry rule entryRuleAllInstances
1922entryRuleAllInstances returns [EObject current=null]:
1923 { newCompositeNode(grammarAccess.getAllInstancesRule()); }
1924 iv_ruleAllInstances=ruleAllInstances
1925 { $current=$iv_ruleAllInstances.current; }
1926 EOF;
1927
1928// Rule AllInstances
1929ruleAllInstances returns [EObject current=null]
1930@init {
1931 enterRule();
1932}
1933@after {
1934 leaveRule();
1935}:
1936 (
1937 otherlv_0=':'
1938 {
1939 newLeafNode(otherlv_0, grammarAccess.getAllInstancesAccess().getColonKeyword_0());
1940 }
1941 (
1942 (
1943 {
1944 newCompositeNode(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0());
1945 }
1946 lv_symbol_1_0=ruleSymbol
1947 {
1948 if ($current==null) {
1949 $current = createModelElementForParent(grammarAccess.getAllInstancesRule());
1950 }
1951 set(
1952 $current,
1953 "symbol",
1954 lv_symbol_1_0,
1955 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
1956 afterParserOrEnumRuleCall();
1957 }
1958 )
1959 )
1960 )
1961;
1962
1963// Entry rule entryRuleAllObjects
1964entryRuleAllObjects returns [EObject current=null]:
1965 { newCompositeNode(grammarAccess.getAllObjectsRule()); }
1966 iv_ruleAllObjects=ruleAllObjects
1967 { $current=$iv_ruleAllObjects.current; }
1968 EOF;
1969
1970// Rule AllObjects
1971ruleAllObjects returns [EObject current=null]
1972@init {
1973 enterRule();
1974}
1975@after {
1976 leaveRule();
1977}:
1978 (
1979 (
1980 {
1981 $current = forceCreateModelElement(
1982 grammarAccess.getAllObjectsAccess().getAllObjectsAction_0(),
1983 $current);
1984 }
1985 )
1986 otherlv_1='*'
1987 {
1988 newLeafNode(otherlv_1, grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1());
1989 }
1990 )
1991;
1992
1993// Entry rule entryRuleDefaultInterpretation
1994entryRuleDefaultInterpretation returns [EObject current=null]:
1995 { newCompositeNode(grammarAccess.getDefaultInterpretationRule()); }
1996 iv_ruleDefaultInterpretation=ruleDefaultInterpretation
1997 { $current=$iv_ruleDefaultInterpretation.current; }
1998 EOF;
1999
2000// Rule DefaultInterpretation
2001ruleDefaultInterpretation returns [EObject current=null]
2002@init {
2003 enterRule();
2004}
2005@after {
2006 leaveRule();
2007}:
2008 (
2009 otherlv_0='default'
2010 {
2011 newLeafNode(otherlv_0, grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0());
2012 }
2013 (
2014 (
2015 {
2016 newCompositeNode(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0());
2017 }
2018 lv_interpretation_1_0=ruleBasicInterpretation
2019 {
2020 if ($current==null) {
2021 $current = createModelElementForParent(grammarAccess.getDefaultInterpretationRule());
2022 }
2023 set(
2024 $current,
2025 "interpretation",
2026 lv_interpretation_1_0,
2027 "org.eclipse.viatra.solver.language.SolverLanguage.BasicInterpretation");
2028 afterParserOrEnumRuleCall();
2029 }
2030 )
2031 )
2032 )
2033;
2034
2035// Entry rule entryRuleCDInterpretation
2036entryRuleCDInterpretation returns [EObject current=null]:
2037 { newCompositeNode(grammarAccess.getCDInterpretationRule()); }
2038 iv_ruleCDInterpretation=ruleCDInterpretation
2039 { $current=$iv_ruleCDInterpretation.current; }
2040 EOF;
2041
2042// Rule CDInterpretation
2043ruleCDInterpretation returns [EObject current=null]
2044@init {
2045 enterRule();
2046}
2047@after {
2048 leaveRule();
2049}:
2050 (
2051 {
2052 newCompositeNode(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0());
2053 }
2054 this_ClassInterpretation_0=ruleClassInterpretation
2055 {
2056 $current = $this_ClassInterpretation_0.current;
2057 afterParserOrEnumRuleCall();
2058 }
2059 |
2060 {
2061 newCompositeNode(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1());
2062 }
2063 this_EnumInterpretation_1=ruleEnumInterpretation
2064 {
2065 $current = $this_EnumInterpretation_1.current;
2066 afterParserOrEnumRuleCall();
2067 }
2068 |
2069 {
2070 newCompositeNode(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2());
2071 }
2072 this_GlobalRelationInterpretation_2=ruleGlobalRelationInterpretation
2073 {
2074 $current = $this_GlobalRelationInterpretation_2.current;
2075 afterParserOrEnumRuleCall();
2076 }
2077 )
2078;
2079
2080// Entry rule entryRuleClassInterpretation
2081entryRuleClassInterpretation returns [EObject current=null]:
2082 { newCompositeNode(grammarAccess.getClassInterpretationRule()); }
2083 iv_ruleClassInterpretation=ruleClassInterpretation
2084 { $current=$iv_ruleClassInterpretation.current; }
2085 EOF;
2086
2087// Rule ClassInterpretation
2088ruleClassInterpretation returns [EObject current=null]
2089@init {
2090 enterRule();
2091}
2092@after {
2093 leaveRule();
2094}:
2095 (
2096 (
2097 (
2098 lv_abstract_0_0='abstract'
2099 {
2100 newLeafNode(lv_abstract_0_0, grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0());
2101 }
2102 {
2103 if ($current==null) {
2104 $current = createModelElement(grammarAccess.getClassInterpretationRule());
2105 }
2106 setWithLastConsumed($current, "abstract", true, "abstract");
2107 }
2108 )
2109 )
2110 otherlv_1='class'
2111 {
2112 newLeafNode(otherlv_1, grammarAccess.getClassInterpretationAccess().getClassKeyword_1());
2113 }
2114 (
2115 (
2116 {
2117 newCompositeNode(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0());
2118 }
2119 lv_symbol_2_0=ruleModelSymbol
2120 {
2121 if ($current==null) {
2122 $current = createModelElementForParent(grammarAccess.getClassInterpretationRule());
2123 }
2124 set(
2125 $current,
2126 "symbol",
2127 lv_symbol_2_0,
2128 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
2129 afterParserOrEnumRuleCall();
2130 }
2131 )
2132 )
2133 (
2134 otherlv_3='extends'
2135 {
2136 newLeafNode(otherlv_3, grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0());
2137 }
2138 (
2139 (
2140 {
2141 newCompositeNode(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0());
2142 }
2143 lv_supertypes_4_0=ruleModelSymbol
2144 {
2145 if ($current==null) {
2146 $current = createModelElementForParent(grammarAccess.getClassInterpretationRule());
2147 }
2148 add(
2149 $current,
2150 "supertypes",
2151 lv_supertypes_4_0,
2152 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
2153 afterParserOrEnumRuleCall();
2154 }
2155 )
2156 )+
2157 )?
2158 otherlv_5='{'
2159 {
2160 newLeafNode(otherlv_5, grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4());
2161 }
2162 (
2163 (
2164 {
2165 newCompositeNode(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0());
2166 }
2167 lv_fielt_6_0=ruleFieldRelationInterpretation
2168 {
2169 if ($current==null) {
2170 $current = createModelElementForParent(grammarAccess.getClassInterpretationRule());
2171 }
2172 add(
2173 $current,
2174 "fielt",
2175 lv_fielt_6_0,
2176 "org.eclipse.viatra.solver.language.SolverLanguage.FieldRelationInterpretation");
2177 afterParserOrEnumRuleCall();
2178 }
2179 )
2180 )*
2181 otherlv_7='}'
2182 {
2183 newLeafNode(otherlv_7, grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6());
2184 }
2185 )
2186;
2187
2188// Entry rule entryRuleEnumInterpretation
2189entryRuleEnumInterpretation returns [EObject current=null]:
2190 { newCompositeNode(grammarAccess.getEnumInterpretationRule()); }
2191 iv_ruleEnumInterpretation=ruleEnumInterpretation
2192 { $current=$iv_ruleEnumInterpretation.current; }
2193 EOF;
2194
2195// Rule EnumInterpretation
2196ruleEnumInterpretation returns [EObject current=null]
2197@init {
2198 enterRule();
2199}
2200@after {
2201 leaveRule();
2202}:
2203 (
2204 otherlv_0='enum'
2205 {
2206 newLeafNode(otherlv_0, grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0());
2207 }
2208 (
2209 (
2210 {
2211 newCompositeNode(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0());
2212 }
2213 lv_Symbol_1_0=ruleModelSymbol
2214 {
2215 if ($current==null) {
2216 $current = createModelElementForParent(grammarAccess.getEnumInterpretationRule());
2217 }
2218 set(
2219 $current,
2220 "Symbol",
2221 lv_Symbol_1_0,
2222 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
2223 afterParserOrEnumRuleCall();
2224 }
2225 )
2226 )
2227 otherlv_2='{'
2228 {
2229 newLeafNode(otherlv_2, grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2());
2230 }
2231 (
2232 (
2233 {
2234 newCompositeNode(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0());
2235 }
2236 lv_objects_3_0=ruleNamedObject
2237 {
2238 if ($current==null) {
2239 $current = createModelElementForParent(grammarAccess.getEnumInterpretationRule());
2240 }
2241 add(
2242 $current,
2243 "objects",
2244 lv_objects_3_0,
2245 "org.eclipse.viatra.solver.language.SolverLanguage.NamedObject");
2246 afterParserOrEnumRuleCall();
2247 }
2248 )
2249 )+
2250 otherlv_4='}'
2251 {
2252 newLeafNode(otherlv_4, grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4());
2253 }
2254 )
2255;
2256
2257// Entry rule entryRuleFieldRelationInterpretation
2258entryRuleFieldRelationInterpretation returns [EObject current=null]:
2259 { newCompositeNode(grammarAccess.getFieldRelationInterpretationRule()); }
2260 iv_ruleFieldRelationInterpretation=ruleFieldRelationInterpretation
2261 { $current=$iv_ruleFieldRelationInterpretation.current; }
2262 EOF;
2263
2264// Rule FieldRelationInterpretation
2265ruleFieldRelationInterpretation returns [EObject current=null]
2266@init {
2267 enterRule();
2268}
2269@after {
2270 leaveRule();
2271}:
2272 (
2273 (
2274 (
2275 lv_containment_0_0='containment'
2276 {
2277 newLeafNode(lv_containment_0_0, grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0());
2278 }
2279 {
2280 if ($current==null) {
2281 $current = createModelElement(grammarAccess.getFieldRelationInterpretationRule());
2282 }
2283 setWithLastConsumed($current, "containment", true, "containment");
2284 }
2285 )
2286 )
2287 (
2288 (
2289 {
2290 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0());
2291 }
2292 lv_symbol_1_0=ruleModelSymbol
2293 {
2294 if ($current==null) {
2295 $current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule());
2296 }
2297 set(
2298 $current,
2299 "symbol",
2300 lv_symbol_1_0,
2301 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
2302 afterParserOrEnumRuleCall();
2303 }
2304 )
2305 )
2306 otherlv_2=':'
2307 {
2308 newLeafNode(otherlv_2, grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2());
2309 }
2310 (
2311 (
2312 {
2313 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0());
2314 }
2315 lv_multiplicity_3_0=ruleMultiplicityDefinition
2316 {
2317 if ($current==null) {
2318 $current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule());
2319 }
2320 set(
2321 $current,
2322 "multiplicity",
2323 lv_multiplicity_3_0,
2324 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition");
2325 afterParserOrEnumRuleCall();
2326 }
2327 )
2328 )?
2329 (
2330 (
2331 {
2332 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0());
2333 }
2334 lv_target_4_0=ruleSymbol
2335 {
2336 if ($current==null) {
2337 $current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule());
2338 }
2339 set(
2340 $current,
2341 "target",
2342 lv_target_4_0,
2343 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
2344 afterParserOrEnumRuleCall();
2345 }
2346 )
2347 )
2348 )
2349;
2350
2351// Entry rule entryRuleGlobalRelationInterpretation
2352entryRuleGlobalRelationInterpretation returns [EObject current=null]:
2353 { newCompositeNode(grammarAccess.getGlobalRelationInterpretationRule()); }
2354 iv_ruleGlobalRelationInterpretation=ruleGlobalRelationInterpretation
2355 { $current=$iv_ruleGlobalRelationInterpretation.current; }
2356 EOF;
2357
2358// Rule GlobalRelationInterpretation
2359ruleGlobalRelationInterpretation returns [EObject current=null]
2360@init {
2361 enterRule();
2362}
2363@after {
2364 leaveRule();
2365}:
2366 (
2367 (
2368 (
2369 lv_containment_0_0='containment'
2370 {
2371 newLeafNode(lv_containment_0_0, grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0());
2372 }
2373 {
2374 if ($current==null) {
2375 $current = createModelElement(grammarAccess.getGlobalRelationInterpretationRule());
2376 }
2377 setWithLastConsumed($current, "containment", true, "containment");
2378 }
2379 )
2380 )
2381 otherlv_1='relation'
2382 {
2383 newLeafNode(otherlv_1, grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1());
2384 }
2385 (
2386 (
2387 {
2388 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0());
2389 }
2390 lv_symbol_2_0=ruleModelSymbol
2391 {
2392 if ($current==null) {
2393 $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
2394 }
2395 set(
2396 $current,
2397 "symbol",
2398 lv_symbol_2_0,
2399 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
2400 afterParserOrEnumRuleCall();
2401 }
2402 )
2403 )
2404 otherlv_3=':'
2405 {
2406 newLeafNode(otherlv_3, grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3());
2407 }
2408 (
2409 (
2410 {
2411 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0());
2412 }
2413 lv_sourceMultiplicity_4_0=ruleMultiplicityDefinition
2414 {
2415 if ($current==null) {
2416 $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
2417 }
2418 set(
2419 $current,
2420 "sourceMultiplicity",
2421 lv_sourceMultiplicity_4_0,
2422 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition");
2423 afterParserOrEnumRuleCall();
2424 }
2425 )
2426 )?
2427 (
2428 (
2429 {
2430 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0());
2431 }
2432 lv_source_5_0=ruleSymbol
2433 {
2434 if ($current==null) {
2435 $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
2436 }
2437 set(
2438 $current,
2439 "source",
2440 lv_source_5_0,
2441 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
2442 afterParserOrEnumRuleCall();
2443 }
2444 )
2445 )
2446 (
2447 (
2448 {
2449 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0());
2450 }
2451 lv_targetMultiplicity_6_0=ruleMultiplicityDefinition
2452 {
2453 if ($current==null) {
2454 $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
2455 }
2456 set(
2457 $current,
2458 "targetMultiplicity",
2459 lv_targetMultiplicity_6_0,
2460 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition");
2461 afterParserOrEnumRuleCall();
2462 }
2463 )
2464 )?
2465 (
2466 (
2467 {
2468 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0());
2469 }
2470 lv_target_7_0=ruleSymbol
2471 {
2472 if ($current==null) {
2473 $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
2474 }
2475 set(
2476 $current,
2477 "target",
2478 lv_target_7_0,
2479 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
2480 afterParserOrEnumRuleCall();
2481 }
2482 )
2483 )
2484 )
2485;
2486
2487// Entry rule entryRuleMultiplicityDefinition
2488entryRuleMultiplicityDefinition returns [EObject current=null]:
2489 { newCompositeNode(grammarAccess.getMultiplicityDefinitionRule()); }
2490 iv_ruleMultiplicityDefinition=ruleMultiplicityDefinition
2491 { $current=$iv_ruleMultiplicityDefinition.current; }
2492 EOF;
2493
2494// Rule MultiplicityDefinition
2495ruleMultiplicityDefinition returns [EObject current=null]
2496@init {
2497 enterRule();
2498}
2499@after {
2500 leaveRule();
2501}:
2502 (
2503 (
2504 (
2505 lv_lower_0_0=RULE_INT
2506 {
2507 newLeafNode(lv_lower_0_0, grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0());
2508 }
2509 {
2510 if ($current==null) {
2511 $current = createModelElement(grammarAccess.getMultiplicityDefinitionRule());
2512 }
2513 setWithLastConsumed(
2514 $current,
2515 "lower",
2516 lv_lower_0_0,
2517 "org.eclipse.xtext.common.Terminals.INT");
2518 }
2519 )
2520 )
2521 otherlv_1='..'
2522 {
2523 newLeafNode(otherlv_1, grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1());
2524 }
2525 (
2526 (
2527 (
2528 lv_upper_2_0=RULE_INT
2529 {
2530 newLeafNode(lv_upper_2_0, grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0());
2531 }
2532 {
2533 if ($current==null) {
2534 $current = createModelElement(grammarAccess.getMultiplicityDefinitionRule());
2535 }
2536 setWithLastConsumed(
2537 $current,
2538 "upper",
2539 lv_upper_2_0,
2540 "org.eclipse.xtext.common.Terminals.INT");
2541 }
2542 )
2543 )
2544 |
2545 (
2546 (
2547 lv_unlimitedUpper_3_0='*'
2548 {
2549 newLeafNode(lv_unlimitedUpper_3_0, grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0());
2550 }
2551 {
2552 if ($current==null) {
2553 $current = createModelElement(grammarAccess.getMultiplicityDefinitionRule());
2554 }
2555 setWithLastConsumed($current, "unlimitedUpper", true, "*");
2556 }
2557 )
2558 )
2559 )
2560 )
2561;
2562
2563RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"';
2564
2565RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
2566
2567RULE_INT : ('0'..'9')+;
2568
2569RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
2570
2571RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
2572
2573RULE_WS : (' '|'\t'|'\r'|'\n')+;
2574
2575RULE_ANY_OTHER : .;
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens
new file mode 100644
index 00000000..1abe7de4
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens
@@ -0,0 +1,67 @@
1'('=17
2')'=18
3'*'=30
4'+'=29
5'-'=11
6'.'=12
7'..'=40
8':'=19
9'\''=26
10'abstract'=32
11'bool'=22
12'class'=33
13'containment'=38
14'default'=31
15'enum'=37
16'equals'=21
17'error'=16
18'exists'=20
19'extends'=34
20'false'=14
21'int'=23
22'predicate'=27
23'real'=24
24'relation'=39
25'string'=25
26'true'=13
27'unknown'=15
28'{'=35
29'|'=28
30'}'=36
31RULE_ANY_OTHER=10
32RULE_ID=5
33RULE_INT=4
34RULE_ML_COMMENT=7
35RULE_SL_COMMENT=8
36RULE_STRING=6
37RULE_WS=9
38T__11=11
39T__12=12
40T__13=13
41T__14=14
42T__15=15
43T__16=16
44T__17=17
45T__18=18
46T__19=19
47T__20=20
48T__21=21
49T__22=22
50T__23=23
51T__24=24
52T__25=25
53T__26=26
54T__27=27
55T__28=28
56T__29=29
57T__30=30
58T__31=31
59T__32=32
60T__33=33
61T__34=34
62T__35=35
63T__36=36
64T__37=37
65T__38=38
66T__39=39
67T__40=40
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java
new file mode 100644
index 00000000..f8cb627c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java
@@ -0,0 +1,1669 @@
1package org.eclipse.viatra.solver.language.parser.antlr.internal;
2
3// Hack: Use our own Lexer superclass by means of import.
4// Currently there is no other way to specify the superclass for the lexer.
5import org.eclipse.xtext.parser.antlr.Lexer;
6
7
8import org.antlr.runtime.*;
9import java.util.Stack;
10import java.util.List;
11import java.util.ArrayList;
12
13@SuppressWarnings("all")
14public class InternalSolverLanguageLexer extends Lexer {
15 public static final int RULE_STRING=6;
16 public static final int RULE_SL_COMMENT=8;
17 public static final int T__19=19;
18 public static final int T__15=15;
19 public static final int T__37=37;
20 public static final int T__16=16;
21 public static final int T__38=38;
22 public static final int T__17=17;
23 public static final int T__39=39;
24 public static final int T__18=18;
25 public static final int T__11=11;
26 public static final int T__33=33;
27 public static final int T__12=12;
28 public static final int T__34=34;
29 public static final int T__13=13;
30 public static final int T__35=35;
31 public static final int T__14=14;
32 public static final int T__36=36;
33 public static final int EOF=-1;
34 public static final int T__30=30;
35 public static final int T__31=31;
36 public static final int T__32=32;
37 public static final int RULE_ID=5;
38 public static final int RULE_WS=9;
39 public static final int RULE_ANY_OTHER=10;
40 public static final int T__26=26;
41 public static final int T__27=27;
42 public static final int T__28=28;
43 public static final int RULE_INT=4;
44 public static final int T__29=29;
45 public static final int T__22=22;
46 public static final int RULE_ML_COMMENT=7;
47 public static final int T__23=23;
48 public static final int T__24=24;
49 public static final int T__25=25;
50 public static final int T__40=40;
51 public static final int T__20=20;
52 public static final int T__21=21;
53
54 // delegates
55 // delegators
56
57 public InternalSolverLanguageLexer() {;}
58 public InternalSolverLanguageLexer(CharStream input) {
59 this(input, new RecognizerSharedState());
60 }
61 public InternalSolverLanguageLexer(CharStream input, RecognizerSharedState state) {
62 super(input,state);
63
64 }
65 public String getGrammarFileName() { return "InternalSolverLanguage.g"; }
66
67 // $ANTLR start "T__11"
68 public final void mT__11() throws RecognitionException {
69 try {
70 int _type = T__11;
71 int _channel = DEFAULT_TOKEN_CHANNEL;
72 // InternalSolverLanguage.g:11:7: ( '-' )
73 // InternalSolverLanguage.g:11:9: '-'
74 {
75 match('-');
76
77 }
78
79 state.type = _type;
80 state.channel = _channel;
81 }
82 finally {
83 }
84 }
85 // $ANTLR end "T__11"
86
87 // $ANTLR start "T__12"
88 public final void mT__12() throws RecognitionException {
89 try {
90 int _type = T__12;
91 int _channel = DEFAULT_TOKEN_CHANNEL;
92 // InternalSolverLanguage.g:12:7: ( '.' )
93 // InternalSolverLanguage.g:12:9: '.'
94 {
95 match('.');
96
97 }
98
99 state.type = _type;
100 state.channel = _channel;
101 }
102 finally {
103 }
104 }
105 // $ANTLR end "T__12"
106
107 // $ANTLR start "T__13"
108 public final void mT__13() throws RecognitionException {
109 try {
110 int _type = T__13;
111 int _channel = DEFAULT_TOKEN_CHANNEL;
112 // InternalSolverLanguage.g:13:7: ( 'true' )
113 // InternalSolverLanguage.g:13:9: 'true'
114 {
115 match("true");
116
117
118 }
119
120 state.type = _type;
121 state.channel = _channel;
122 }
123 finally {
124 }
125 }
126 // $ANTLR end "T__13"
127
128 // $ANTLR start "T__14"
129 public final void mT__14() throws RecognitionException {
130 try {
131 int _type = T__14;
132 int _channel = DEFAULT_TOKEN_CHANNEL;
133 // InternalSolverLanguage.g:14:7: ( 'false' )
134 // InternalSolverLanguage.g:14:9: 'false'
135 {
136 match("false");
137
138
139 }
140
141 state.type = _type;
142 state.channel = _channel;
143 }
144 finally {
145 }
146 }
147 // $ANTLR end "T__14"
148
149 // $ANTLR start "T__15"
150 public final void mT__15() throws RecognitionException {
151 try {
152 int _type = T__15;
153 int _channel = DEFAULT_TOKEN_CHANNEL;
154 // InternalSolverLanguage.g:15:7: ( 'unknown' )
155 // InternalSolverLanguage.g:15:9: 'unknown'
156 {
157 match("unknown");
158
159
160 }
161
162 state.type = _type;
163 state.channel = _channel;
164 }
165 finally {
166 }
167 }
168 // $ANTLR end "T__15"
169
170 // $ANTLR start "T__16"
171 public final void mT__16() throws RecognitionException {
172 try {
173 int _type = T__16;
174 int _channel = DEFAULT_TOKEN_CHANNEL;
175 // InternalSolverLanguage.g:16:7: ( 'error' )
176 // InternalSolverLanguage.g:16:9: 'error'
177 {
178 match("error");
179
180
181 }
182
183 state.type = _type;
184 state.channel = _channel;
185 }
186 finally {
187 }
188 }
189 // $ANTLR end "T__16"
190
191 // $ANTLR start "T__17"
192 public final void mT__17() throws RecognitionException {
193 try {
194 int _type = T__17;
195 int _channel = DEFAULT_TOKEN_CHANNEL;
196 // InternalSolverLanguage.g:17:7: ( '(' )
197 // InternalSolverLanguage.g:17:9: '('
198 {
199 match('(');
200
201 }
202
203 state.type = _type;
204 state.channel = _channel;
205 }
206 finally {
207 }
208 }
209 // $ANTLR end "T__17"
210
211 // $ANTLR start "T__18"
212 public final void mT__18() throws RecognitionException {
213 try {
214 int _type = T__18;
215 int _channel = DEFAULT_TOKEN_CHANNEL;
216 // InternalSolverLanguage.g:18:7: ( ')' )
217 // InternalSolverLanguage.g:18:9: ')'
218 {
219 match(')');
220
221 }
222
223 state.type = _type;
224 state.channel = _channel;
225 }
226 finally {
227 }
228 }
229 // $ANTLR end "T__18"
230
231 // $ANTLR start "T__19"
232 public final void mT__19() throws RecognitionException {
233 try {
234 int _type = T__19;
235 int _channel = DEFAULT_TOKEN_CHANNEL;
236 // InternalSolverLanguage.g:19:7: ( ':' )
237 // InternalSolverLanguage.g:19:9: ':'
238 {
239 match(':');
240
241 }
242
243 state.type = _type;
244 state.channel = _channel;
245 }
246 finally {
247 }
248 }
249 // $ANTLR end "T__19"
250
251 // $ANTLR start "T__20"
252 public final void mT__20() throws RecognitionException {
253 try {
254 int _type = T__20;
255 int _channel = DEFAULT_TOKEN_CHANNEL;
256 // InternalSolverLanguage.g:20:7: ( 'exists' )
257 // InternalSolverLanguage.g:20:9: 'exists'
258 {
259 match("exists");
260
261
262 }
263
264 state.type = _type;
265 state.channel = _channel;
266 }
267 finally {
268 }
269 }
270 // $ANTLR end "T__20"
271
272 // $ANTLR start "T__21"
273 public final void mT__21() throws RecognitionException {
274 try {
275 int _type = T__21;
276 int _channel = DEFAULT_TOKEN_CHANNEL;
277 // InternalSolverLanguage.g:21:7: ( 'equals' )
278 // InternalSolverLanguage.g:21:9: 'equals'
279 {
280 match("equals");
281
282
283 }
284
285 state.type = _type;
286 state.channel = _channel;
287 }
288 finally {
289 }
290 }
291 // $ANTLR end "T__21"
292
293 // $ANTLR start "T__22"
294 public final void mT__22() throws RecognitionException {
295 try {
296 int _type = T__22;
297 int _channel = DEFAULT_TOKEN_CHANNEL;
298 // InternalSolverLanguage.g:22:7: ( 'bool' )
299 // InternalSolverLanguage.g:22:9: 'bool'
300 {
301 match("bool");
302
303
304 }
305
306 state.type = _type;
307 state.channel = _channel;
308 }
309 finally {
310 }
311 }
312 // $ANTLR end "T__22"
313
314 // $ANTLR start "T__23"
315 public final void mT__23() throws RecognitionException {
316 try {
317 int _type = T__23;
318 int _channel = DEFAULT_TOKEN_CHANNEL;
319 // InternalSolverLanguage.g:23:7: ( 'int' )
320 // InternalSolverLanguage.g:23:9: 'int'
321 {
322 match("int");
323
324
325 }
326
327 state.type = _type;
328 state.channel = _channel;
329 }
330 finally {
331 }
332 }
333 // $ANTLR end "T__23"
334
335 // $ANTLR start "T__24"
336 public final void mT__24() throws RecognitionException {
337 try {
338 int _type = T__24;
339 int _channel = DEFAULT_TOKEN_CHANNEL;
340 // InternalSolverLanguage.g:24:7: ( 'real' )
341 // InternalSolverLanguage.g:24:9: 'real'
342 {
343 match("real");
344
345
346 }
347
348 state.type = _type;
349 state.channel = _channel;
350 }
351 finally {
352 }
353 }
354 // $ANTLR end "T__24"
355
356 // $ANTLR start "T__25"
357 public final void mT__25() throws RecognitionException {
358 try {
359 int _type = T__25;
360 int _channel = DEFAULT_TOKEN_CHANNEL;
361 // InternalSolverLanguage.g:25:7: ( 'string' )
362 // InternalSolverLanguage.g:25:9: 'string'
363 {
364 match("string");
365
366
367 }
368
369 state.type = _type;
370 state.channel = _channel;
371 }
372 finally {
373 }
374 }
375 // $ANTLR end "T__25"
376
377 // $ANTLR start "T__26"
378 public final void mT__26() throws RecognitionException {
379 try {
380 int _type = T__26;
381 int _channel = DEFAULT_TOKEN_CHANNEL;
382 // InternalSolverLanguage.g:26:7: ( '\\'' )
383 // InternalSolverLanguage.g:26:9: '\\''
384 {
385 match('\'');
386
387 }
388
389 state.type = _type;
390 state.channel = _channel;
391 }
392 finally {
393 }
394 }
395 // $ANTLR end "T__26"
396
397 // $ANTLR start "T__27"
398 public final void mT__27() throws RecognitionException {
399 try {
400 int _type = T__27;
401 int _channel = DEFAULT_TOKEN_CHANNEL;
402 // InternalSolverLanguage.g:27:7: ( 'predicate' )
403 // InternalSolverLanguage.g:27:9: 'predicate'
404 {
405 match("predicate");
406
407
408 }
409
410 state.type = _type;
411 state.channel = _channel;
412 }
413 finally {
414 }
415 }
416 // $ANTLR end "T__27"
417
418 // $ANTLR start "T__28"
419 public final void mT__28() throws RecognitionException {
420 try {
421 int _type = T__28;
422 int _channel = DEFAULT_TOKEN_CHANNEL;
423 // InternalSolverLanguage.g:28:7: ( '|' )
424 // InternalSolverLanguage.g:28:9: '|'
425 {
426 match('|');
427
428 }
429
430 state.type = _type;
431 state.channel = _channel;
432 }
433 finally {
434 }
435 }
436 // $ANTLR end "T__28"
437
438 // $ANTLR start "T__29"
439 public final void mT__29() throws RecognitionException {
440 try {
441 int _type = T__29;
442 int _channel = DEFAULT_TOKEN_CHANNEL;
443 // InternalSolverLanguage.g:29:7: ( '+' )
444 // InternalSolverLanguage.g:29:9: '+'
445 {
446 match('+');
447
448 }
449
450 state.type = _type;
451 state.channel = _channel;
452 }
453 finally {
454 }
455 }
456 // $ANTLR end "T__29"
457
458 // $ANTLR start "T__30"
459 public final void mT__30() throws RecognitionException {
460 try {
461 int _type = T__30;
462 int _channel = DEFAULT_TOKEN_CHANNEL;
463 // InternalSolverLanguage.g:30:7: ( '*' )
464 // InternalSolverLanguage.g:30:9: '*'
465 {
466 match('*');
467
468 }
469
470 state.type = _type;
471 state.channel = _channel;
472 }
473 finally {
474 }
475 }
476 // $ANTLR end "T__30"
477
478 // $ANTLR start "T__31"
479 public final void mT__31() throws RecognitionException {
480 try {
481 int _type = T__31;
482 int _channel = DEFAULT_TOKEN_CHANNEL;
483 // InternalSolverLanguage.g:31:7: ( 'default' )
484 // InternalSolverLanguage.g:31:9: 'default'
485 {
486 match("default");
487
488
489 }
490
491 state.type = _type;
492 state.channel = _channel;
493 }
494 finally {
495 }
496 }
497 // $ANTLR end "T__31"
498
499 // $ANTLR start "T__32"
500 public final void mT__32() throws RecognitionException {
501 try {
502 int _type = T__32;
503 int _channel = DEFAULT_TOKEN_CHANNEL;
504 // InternalSolverLanguage.g:32:7: ( 'abstract' )
505 // InternalSolverLanguage.g:32:9: 'abstract'
506 {
507 match("abstract");
508
509
510 }
511
512 state.type = _type;
513 state.channel = _channel;
514 }
515 finally {
516 }
517 }
518 // $ANTLR end "T__32"
519
520 // $ANTLR start "T__33"
521 public final void mT__33() throws RecognitionException {
522 try {
523 int _type = T__33;
524 int _channel = DEFAULT_TOKEN_CHANNEL;
525 // InternalSolverLanguage.g:33:7: ( 'class' )
526 // InternalSolverLanguage.g:33:9: 'class'
527 {
528 match("class");
529
530
531 }
532
533 state.type = _type;
534 state.channel = _channel;
535 }
536 finally {
537 }
538 }
539 // $ANTLR end "T__33"
540
541 // $ANTLR start "T__34"
542 public final void mT__34() throws RecognitionException {
543 try {
544 int _type = T__34;
545 int _channel = DEFAULT_TOKEN_CHANNEL;
546 // InternalSolverLanguage.g:34:7: ( 'extends' )
547 // InternalSolverLanguage.g:34:9: 'extends'
548 {
549 match("extends");
550
551
552 }
553
554 state.type = _type;
555 state.channel = _channel;
556 }
557 finally {
558 }
559 }
560 // $ANTLR end "T__34"
561
562 // $ANTLR start "T__35"
563 public final void mT__35() throws RecognitionException {
564 try {
565 int _type = T__35;
566 int _channel = DEFAULT_TOKEN_CHANNEL;
567 // InternalSolverLanguage.g:35:7: ( '{' )
568 // InternalSolverLanguage.g:35:9: '{'
569 {
570 match('{');
571
572 }
573
574 state.type = _type;
575 state.channel = _channel;
576 }
577 finally {
578 }
579 }
580 // $ANTLR end "T__35"
581
582 // $ANTLR start "T__36"
583 public final void mT__36() throws RecognitionException {
584 try {
585 int _type = T__36;
586 int _channel = DEFAULT_TOKEN_CHANNEL;
587 // InternalSolverLanguage.g:36:7: ( '}' )
588 // InternalSolverLanguage.g:36:9: '}'
589 {
590 match('}');
591
592 }
593
594 state.type = _type;
595 state.channel = _channel;
596 }
597 finally {
598 }
599 }
600 // $ANTLR end "T__36"
601
602 // $ANTLR start "T__37"
603 public final void mT__37() throws RecognitionException {
604 try {
605 int _type = T__37;
606 int _channel = DEFAULT_TOKEN_CHANNEL;
607 // InternalSolverLanguage.g:37:7: ( 'enum' )
608 // InternalSolverLanguage.g:37:9: 'enum'
609 {
610 match("enum");
611
612
613 }
614
615 state.type = _type;
616 state.channel = _channel;
617 }
618 finally {
619 }
620 }
621 // $ANTLR end "T__37"
622
623 // $ANTLR start "T__38"
624 public final void mT__38() throws RecognitionException {
625 try {
626 int _type = T__38;
627 int _channel = DEFAULT_TOKEN_CHANNEL;
628 // InternalSolverLanguage.g:38:7: ( 'containment' )
629 // InternalSolverLanguage.g:38:9: 'containment'
630 {
631 match("containment");
632
633
634 }
635
636 state.type = _type;
637 state.channel = _channel;
638 }
639 finally {
640 }
641 }
642 // $ANTLR end "T__38"
643
644 // $ANTLR start "T__39"
645 public final void mT__39() throws RecognitionException {
646 try {
647 int _type = T__39;
648 int _channel = DEFAULT_TOKEN_CHANNEL;
649 // InternalSolverLanguage.g:39:7: ( 'relation' )
650 // InternalSolverLanguage.g:39:9: 'relation'
651 {
652 match("relation");
653
654
655 }
656
657 state.type = _type;
658 state.channel = _channel;
659 }
660 finally {
661 }
662 }
663 // $ANTLR end "T__39"
664
665 // $ANTLR start "T__40"
666 public final void mT__40() throws RecognitionException {
667 try {
668 int _type = T__40;
669 int _channel = DEFAULT_TOKEN_CHANNEL;
670 // InternalSolverLanguage.g:40:7: ( '..' )
671 // InternalSolverLanguage.g:40:9: '..'
672 {
673 match("..");
674
675
676 }
677
678 state.type = _type;
679 state.channel = _channel;
680 }
681 finally {
682 }
683 }
684 // $ANTLR end "T__40"
685
686 // $ANTLR start "RULE_STRING"
687 public final void mRULE_STRING() throws RecognitionException {
688 try {
689 int _type = RULE_STRING;
690 int _channel = DEFAULT_TOKEN_CHANNEL;
691 // InternalSolverLanguage.g:2563:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
692 // InternalSolverLanguage.g:2563:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
693 {
694 match('\"');
695 // InternalSolverLanguage.g:2563:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
696 loop1:
697 do {
698 int alt1=3;
699 int LA1_0 = input.LA(1);
700
701 if ( (LA1_0=='\\') ) {
702 alt1=1;
703 }
704 else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) {
705 alt1=2;
706 }
707
708
709 switch (alt1) {
710 case 1 :
711 // InternalSolverLanguage.g:2563:20: '\\\\' .
712 {
713 match('\\');
714 matchAny();
715
716 }
717 break;
718 case 2 :
719 // InternalSolverLanguage.g:2563:27: ~ ( ( '\\\\' | '\"' ) )
720 {
721 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
722 input.consume();
723
724 }
725 else {
726 MismatchedSetException mse = new MismatchedSetException(null,input);
727 recover(mse);
728 throw mse;}
729
730
731 }
732 break;
733
734 default :
735 break loop1;
736 }
737 } while (true);
738
739 match('\"');
740
741 }
742
743 state.type = _type;
744 state.channel = _channel;
745 }
746 finally {
747 }
748 }
749 // $ANTLR end "RULE_STRING"
750
751 // $ANTLR start "RULE_ID"
752 public final void mRULE_ID() throws RecognitionException {
753 try {
754 int _type = RULE_ID;
755 int _channel = DEFAULT_TOKEN_CHANNEL;
756 // InternalSolverLanguage.g:2565:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
757 // InternalSolverLanguage.g:2565:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
758 {
759 // InternalSolverLanguage.g:2565:11: ( '^' )?
760 int alt2=2;
761 int LA2_0 = input.LA(1);
762
763 if ( (LA2_0=='^') ) {
764 alt2=1;
765 }
766 switch (alt2) {
767 case 1 :
768 // InternalSolverLanguage.g:2565:11: '^'
769 {
770 match('^');
771
772 }
773 break;
774
775 }
776
777 if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
778 input.consume();
779
780 }
781 else {
782 MismatchedSetException mse = new MismatchedSetException(null,input);
783 recover(mse);
784 throw mse;}
785
786 // InternalSolverLanguage.g:2565:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
787 loop3:
788 do {
789 int alt3=2;
790 int LA3_0 = input.LA(1);
791
792 if ( ((LA3_0>='0' && LA3_0<='9')||(LA3_0>='A' && LA3_0<='Z')||LA3_0=='_'||(LA3_0>='a' && LA3_0<='z')) ) {
793 alt3=1;
794 }
795
796
797 switch (alt3) {
798 case 1 :
799 // InternalSolverLanguage.g:
800 {
801 if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
802 input.consume();
803
804 }
805 else {
806 MismatchedSetException mse = new MismatchedSetException(null,input);
807 recover(mse);
808 throw mse;}
809
810
811 }
812 break;
813
814 default :
815 break loop3;
816 }
817 } while (true);
818
819
820 }
821
822 state.type = _type;
823 state.channel = _channel;
824 }
825 finally {
826 }
827 }
828 // $ANTLR end "RULE_ID"
829
830 // $ANTLR start "RULE_INT"
831 public final void mRULE_INT() throws RecognitionException {
832 try {
833 int _type = RULE_INT;
834 int _channel = DEFAULT_TOKEN_CHANNEL;
835 // InternalSolverLanguage.g:2567:10: ( ( '0' .. '9' )+ )
836 // InternalSolverLanguage.g:2567:12: ( '0' .. '9' )+
837 {
838 // InternalSolverLanguage.g:2567:12: ( '0' .. '9' )+
839 int cnt4=0;
840 loop4:
841 do {
842 int alt4=2;
843 int LA4_0 = input.LA(1);
844
845 if ( ((LA4_0>='0' && LA4_0<='9')) ) {
846 alt4=1;
847 }
848
849
850 switch (alt4) {
851 case 1 :
852 // InternalSolverLanguage.g:2567:13: '0' .. '9'
853 {
854 matchRange('0','9');
855
856 }
857 break;
858
859 default :
860 if ( cnt4 >= 1 ) break loop4;
861 EarlyExitException eee =
862 new EarlyExitException(4, input);
863 throw eee;
864 }
865 cnt4++;
866 } while (true);
867
868
869 }
870
871 state.type = _type;
872 state.channel = _channel;
873 }
874 finally {
875 }
876 }
877 // $ANTLR end "RULE_INT"
878
879 // $ANTLR start "RULE_ML_COMMENT"
880 public final void mRULE_ML_COMMENT() throws RecognitionException {
881 try {
882 int _type = RULE_ML_COMMENT;
883 int _channel = DEFAULT_TOKEN_CHANNEL;
884 // InternalSolverLanguage.g:2569:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
885 // InternalSolverLanguage.g:2569:19: '/*' ( options {greedy=false; } : . )* '*/'
886 {
887 match("/*");
888
889 // InternalSolverLanguage.g:2569:24: ( options {greedy=false; } : . )*
890 loop5:
891 do {
892 int alt5=2;
893 int LA5_0 = input.LA(1);
894
895 if ( (LA5_0=='*') ) {
896 int LA5_1 = input.LA(2);
897
898 if ( (LA5_1=='/') ) {
899 alt5=2;
900 }
901 else if ( ((LA5_1>='\u0000' && LA5_1<='.')||(LA5_1>='0' && LA5_1<='\uFFFF')) ) {
902 alt5=1;
903 }
904
905
906 }
907 else if ( ((LA5_0>='\u0000' && LA5_0<=')')||(LA5_0>='+' && LA5_0<='\uFFFF')) ) {
908 alt5=1;
909 }
910
911
912 switch (alt5) {
913 case 1 :
914 // InternalSolverLanguage.g:2569:52: .
915 {
916 matchAny();
917
918 }
919 break;
920
921 default :
922 break loop5;
923 }
924 } while (true);
925
926 match("*/");
927
928
929 }
930
931 state.type = _type;
932 state.channel = _channel;
933 }
934 finally {
935 }
936 }
937 // $ANTLR end "RULE_ML_COMMENT"
938
939 // $ANTLR start "RULE_SL_COMMENT"
940 public final void mRULE_SL_COMMENT() throws RecognitionException {
941 try {
942 int _type = RULE_SL_COMMENT;
943 int _channel = DEFAULT_TOKEN_CHANNEL;
944 // InternalSolverLanguage.g:2571:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
945 // InternalSolverLanguage.g:2571:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
946 {
947 match("//");
948
949 // InternalSolverLanguage.g:2571:24: (~ ( ( '\\n' | '\\r' ) ) )*
950 loop6:
951 do {
952 int alt6=2;
953 int LA6_0 = input.LA(1);
954
955 if ( ((LA6_0>='\u0000' && LA6_0<='\t')||(LA6_0>='\u000B' && LA6_0<='\f')||(LA6_0>='\u000E' && LA6_0<='\uFFFF')) ) {
956 alt6=1;
957 }
958
959
960 switch (alt6) {
961 case 1 :
962 // InternalSolverLanguage.g:2571:24: ~ ( ( '\\n' | '\\r' ) )
963 {
964 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') ) {
965 input.consume();
966
967 }
968 else {
969 MismatchedSetException mse = new MismatchedSetException(null,input);
970 recover(mse);
971 throw mse;}
972
973
974 }
975 break;
976
977 default :
978 break loop6;
979 }
980 } while (true);
981
982 // InternalSolverLanguage.g:2571:40: ( ( '\\r' )? '\\n' )?
983 int alt8=2;
984 int LA8_0 = input.LA(1);
985
986 if ( (LA8_0=='\n'||LA8_0=='\r') ) {
987 alt8=1;
988 }
989 switch (alt8) {
990 case 1 :
991 // InternalSolverLanguage.g:2571:41: ( '\\r' )? '\\n'
992 {
993 // InternalSolverLanguage.g:2571:41: ( '\\r' )?
994 int alt7=2;
995 int LA7_0 = input.LA(1);
996
997 if ( (LA7_0=='\r') ) {
998 alt7=1;
999 }
1000 switch (alt7) {
1001 case 1 :
1002 // InternalSolverLanguage.g:2571:41: '\\r'
1003 {
1004 match('\r');
1005
1006 }
1007 break;
1008
1009 }
1010
1011 match('\n');
1012
1013 }
1014 break;
1015
1016 }
1017
1018
1019 }
1020
1021 state.type = _type;
1022 state.channel = _channel;
1023 }
1024 finally {
1025 }
1026 }
1027 // $ANTLR end "RULE_SL_COMMENT"
1028
1029 // $ANTLR start "RULE_WS"
1030 public final void mRULE_WS() throws RecognitionException {
1031 try {
1032 int _type = RULE_WS;
1033 int _channel = DEFAULT_TOKEN_CHANNEL;
1034 // InternalSolverLanguage.g:2573:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
1035 // InternalSolverLanguage.g:2573:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1036 {
1037 // InternalSolverLanguage.g:2573:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1038 int cnt9=0;
1039 loop9:
1040 do {
1041 int alt9=2;
1042 int LA9_0 = input.LA(1);
1043
1044 if ( ((LA9_0>='\t' && LA9_0<='\n')||LA9_0=='\r'||LA9_0==' ') ) {
1045 alt9=1;
1046 }
1047
1048
1049 switch (alt9) {
1050 case 1 :
1051 // InternalSolverLanguage.g:
1052 {
1053 if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
1054 input.consume();
1055
1056 }
1057 else {
1058 MismatchedSetException mse = new MismatchedSetException(null,input);
1059 recover(mse);
1060 throw mse;}
1061
1062
1063 }
1064 break;
1065
1066 default :
1067 if ( cnt9 >= 1 ) break loop9;
1068 EarlyExitException eee =
1069 new EarlyExitException(9, input);
1070 throw eee;
1071 }
1072 cnt9++;
1073 } while (true);
1074
1075
1076 }
1077
1078 state.type = _type;
1079 state.channel = _channel;
1080 }
1081 finally {
1082 }
1083 }
1084 // $ANTLR end "RULE_WS"
1085
1086 // $ANTLR start "RULE_ANY_OTHER"
1087 public final void mRULE_ANY_OTHER() throws RecognitionException {
1088 try {
1089 int _type = RULE_ANY_OTHER;
1090 int _channel = DEFAULT_TOKEN_CHANNEL;
1091 // InternalSolverLanguage.g:2575:16: ( . )
1092 // InternalSolverLanguage.g:2575:18: .
1093 {
1094 matchAny();
1095
1096 }
1097
1098 state.type = _type;
1099 state.channel = _channel;
1100 }
1101 finally {
1102 }
1103 }
1104 // $ANTLR end "RULE_ANY_OTHER"
1105
1106 public void mTokens() throws RecognitionException {
1107 // InternalSolverLanguage.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | RULE_STRING | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
1108 int alt10=37;
1109 alt10 = dfa10.predict(input);
1110 switch (alt10) {
1111 case 1 :
1112 // InternalSolverLanguage.g:1:10: T__11
1113 {
1114 mT__11();
1115
1116 }
1117 break;
1118 case 2 :
1119 // InternalSolverLanguage.g:1:16: T__12
1120 {
1121 mT__12();
1122
1123 }
1124 break;
1125 case 3 :
1126 // InternalSolverLanguage.g:1:22: T__13
1127 {
1128 mT__13();
1129
1130 }
1131 break;
1132 case 4 :
1133 // InternalSolverLanguage.g:1:28: T__14
1134 {
1135 mT__14();
1136
1137 }
1138 break;
1139 case 5 :
1140 // InternalSolverLanguage.g:1:34: T__15
1141 {
1142 mT__15();
1143
1144 }
1145 break;
1146 case 6 :
1147 // InternalSolverLanguage.g:1:40: T__16
1148 {
1149 mT__16();
1150
1151 }
1152 break;
1153 case 7 :
1154 // InternalSolverLanguage.g:1:46: T__17
1155 {
1156 mT__17();
1157
1158 }
1159 break;
1160 case 8 :
1161 // InternalSolverLanguage.g:1:52: T__18
1162 {
1163 mT__18();
1164
1165 }
1166 break;
1167 case 9 :
1168 // InternalSolverLanguage.g:1:58: T__19
1169 {
1170 mT__19();
1171
1172 }
1173 break;
1174 case 10 :
1175 // InternalSolverLanguage.g:1:64: T__20
1176 {
1177 mT__20();
1178
1179 }
1180 break;
1181 case 11 :
1182 // InternalSolverLanguage.g:1:70: T__21
1183 {
1184 mT__21();
1185
1186 }
1187 break;
1188 case 12 :
1189 // InternalSolverLanguage.g:1:76: T__22
1190 {
1191 mT__22();
1192
1193 }
1194 break;
1195 case 13 :
1196 // InternalSolverLanguage.g:1:82: T__23
1197 {
1198 mT__23();
1199
1200 }
1201 break;
1202 case 14 :
1203 // InternalSolverLanguage.g:1:88: T__24
1204 {
1205 mT__24();
1206
1207 }
1208 break;
1209 case 15 :
1210 // InternalSolverLanguage.g:1:94: T__25
1211 {
1212 mT__25();
1213
1214 }
1215 break;
1216 case 16 :
1217 // InternalSolverLanguage.g:1:100: T__26
1218 {
1219 mT__26();
1220
1221 }
1222 break;
1223 case 17 :
1224 // InternalSolverLanguage.g:1:106: T__27
1225 {
1226 mT__27();
1227
1228 }
1229 break;
1230 case 18 :
1231 // InternalSolverLanguage.g:1:112: T__28
1232 {
1233 mT__28();
1234
1235 }
1236 break;
1237 case 19 :
1238 // InternalSolverLanguage.g:1:118: T__29
1239 {
1240 mT__29();
1241
1242 }
1243 break;
1244 case 20 :
1245 // InternalSolverLanguage.g:1:124: T__30
1246 {
1247 mT__30();
1248
1249 }
1250 break;
1251 case 21 :
1252 // InternalSolverLanguage.g:1:130: T__31
1253 {
1254 mT__31();
1255
1256 }
1257 break;
1258 case 22 :
1259 // InternalSolverLanguage.g:1:136: T__32
1260 {
1261 mT__32();
1262
1263 }
1264 break;
1265 case 23 :
1266 // InternalSolverLanguage.g:1:142: T__33
1267 {
1268 mT__33();
1269
1270 }
1271 break;
1272 case 24 :
1273 // InternalSolverLanguage.g:1:148: T__34
1274 {
1275 mT__34();
1276
1277 }
1278 break;
1279 case 25 :
1280 // InternalSolverLanguage.g:1:154: T__35
1281 {
1282 mT__35();
1283
1284 }
1285 break;
1286 case 26 :
1287 // InternalSolverLanguage.g:1:160: T__36
1288 {
1289 mT__36();
1290
1291 }
1292 break;
1293 case 27 :
1294 // InternalSolverLanguage.g:1:166: T__37
1295 {
1296 mT__37();
1297
1298 }
1299 break;
1300 case 28 :
1301 // InternalSolverLanguage.g:1:172: T__38
1302 {
1303 mT__38();
1304
1305 }
1306 break;
1307 case 29 :
1308 // InternalSolverLanguage.g:1:178: T__39
1309 {
1310 mT__39();
1311
1312 }
1313 break;
1314 case 30 :
1315 // InternalSolverLanguage.g:1:184: T__40
1316 {
1317 mT__40();
1318
1319 }
1320 break;
1321 case 31 :
1322 // InternalSolverLanguage.g:1:190: RULE_STRING
1323 {
1324 mRULE_STRING();
1325
1326 }
1327 break;
1328 case 32 :
1329 // InternalSolverLanguage.g:1:202: RULE_ID
1330 {
1331 mRULE_ID();
1332
1333 }
1334 break;
1335 case 33 :
1336 // InternalSolverLanguage.g:1:210: RULE_INT
1337 {
1338 mRULE_INT();
1339
1340 }
1341 break;
1342 case 34 :
1343 // InternalSolverLanguage.g:1:219: RULE_ML_COMMENT
1344 {
1345 mRULE_ML_COMMENT();
1346
1347 }
1348 break;
1349 case 35 :
1350 // InternalSolverLanguage.g:1:235: RULE_SL_COMMENT
1351 {
1352 mRULE_SL_COMMENT();
1353
1354 }
1355 break;
1356 case 36 :
1357 // InternalSolverLanguage.g:1:251: RULE_WS
1358 {
1359 mRULE_WS();
1360
1361 }
1362 break;
1363 case 37 :
1364 // InternalSolverLanguage.g:1:259: RULE_ANY_OTHER
1365 {
1366 mRULE_ANY_OTHER();
1367
1368 }
1369 break;
1370
1371 }
1372
1373 }
1374
1375
1376 protected DFA10 dfa10 = new DFA10(this);
1377 static final String DFA10_eotS =
1378 "\2\uffff\1\41\4\43\3\uffff\4\43\1\uffff\1\43\3\uffff\3\43\2\uffff\2\36\2\uffff\1\36\5\uffff\1\43\1\uffff\6\43\3\uffff\4\43\1\uffff\1\43\3\uffff\4\43\7\uffff\11\43\1\134\10\43\1\145\6\43\1\154\1\155\1\uffff\1\156\7\43\1\uffff\1\166\1\43\1\170\3\43\3\uffff\5\43\1\u0081\1\43\1\uffff\1\43\1\uffff\1\u0084\1\43\1\u0086\1\43\1\u0088\3\43\1\uffff\1\43\1\u008d\1\uffff\1\u008e\1\uffff\1\43\1\uffff\1\43\1\u0091\2\43\2\uffff\1\u0094\1\43\1\uffff\1\u0096\1\43\1\uffff\1\u0098\1\uffff\1\43\1\uffff\1\43\1\u009b\1\uffff";
1379 static final String DFA10_eofS =
1380 "\u009c\uffff";
1381 static final String DFA10_minS =
1382 "\1\0\1\uffff\1\56\1\162\1\141\2\156\3\uffff\1\157\1\156\1\145\1\164\1\uffff\1\162\3\uffff\1\145\1\142\1\154\2\uffff\1\0\1\101\2\uffff\1\52\5\uffff\1\165\1\uffff\1\154\1\153\1\162\1\151\2\165\3\uffff\1\157\1\164\1\141\1\162\1\uffff\1\145\3\uffff\1\146\1\163\1\141\1\156\7\uffff\1\145\1\163\1\156\1\157\1\163\1\145\1\141\1\155\1\154\1\60\1\154\1\141\1\151\1\144\1\141\1\164\1\163\1\164\1\60\1\145\1\157\1\162\1\164\1\156\1\154\2\60\1\uffff\1\60\1\164\1\156\1\151\1\165\1\162\1\163\1\141\1\uffff\1\60\1\167\1\60\1\163\1\144\1\163\3\uffff\1\151\1\147\1\143\1\154\1\141\1\60\1\151\1\uffff\1\156\1\uffff\1\60\1\163\1\60\1\157\1\60\1\141\1\164\1\143\1\uffff\1\156\1\60\1\uffff\1\60\1\uffff\1\156\1\uffff\1\164\1\60\1\164\1\155\2\uffff\1\60\1\145\1\uffff\1\60\1\145\1\uffff\1\60\1\uffff\1\156\1\uffff\1\164\1\60\1\uffff";
1383 static final String DFA10_maxS =
1384 "\1\uffff\1\uffff\1\56\1\162\1\141\1\156\1\170\3\uffff\1\157\1\156\1\145\1\164\1\uffff\1\162\3\uffff\1\145\1\142\1\157\2\uffff\1\uffff\1\172\2\uffff\1\57\5\uffff\1\165\1\uffff\1\154\1\153\1\162\1\164\2\165\3\uffff\1\157\1\164\1\154\1\162\1\uffff\1\145\3\uffff\1\146\1\163\1\141\1\156\7\uffff\1\145\1\163\1\156\1\157\1\163\1\145\1\141\1\155\1\154\1\172\1\154\1\141\1\151\1\144\1\141\1\164\1\163\1\164\1\172\1\145\1\157\1\162\1\164\1\156\1\154\2\172\1\uffff\1\172\1\164\1\156\1\151\1\165\1\162\1\163\1\141\1\uffff\1\172\1\167\1\172\1\163\1\144\1\163\3\uffff\1\151\1\147\1\143\1\154\1\141\1\172\1\151\1\uffff\1\156\1\uffff\1\172\1\163\1\172\1\157\1\172\1\141\1\164\1\143\1\uffff\1\156\1\172\1\uffff\1\172\1\uffff\1\156\1\uffff\1\164\1\172\1\164\1\155\2\uffff\1\172\1\145\1\uffff\1\172\1\145\1\uffff\1\172\1\uffff\1\156\1\uffff\1\164\1\172\1\uffff";
1385 static final String DFA10_acceptS =
1386 "\1\uffff\1\1\5\uffff\1\7\1\10\1\11\4\uffff\1\20\1\uffff\1\22\1\23\1\24\3\uffff\1\31\1\32\2\uffff\1\40\1\41\1\uffff\1\44\1\45\1\1\1\36\1\2\1\uffff\1\40\6\uffff\1\7\1\10\1\11\4\uffff\1\20\1\uffff\1\22\1\23\1\24\4\uffff\1\31\1\32\1\37\1\41\1\42\1\43\1\44\33\uffff\1\15\10\uffff\1\3\6\uffff\1\33\1\14\1\16\7\uffff\1\4\1\uffff\1\6\10\uffff\1\27\2\uffff\1\12\1\uffff\1\13\1\uffff\1\17\4\uffff\1\5\1\30\2\uffff\1\25\2\uffff\1\35\1\uffff\1\26\1\uffff\1\21\2\uffff\1\34";
1387 static final String DFA10_specialS =
1388 "\1\1\27\uffff\1\0\u0083\uffff}>";
1389 static final String[] DFA10_transitionS = {
1390 "\11\36\2\35\2\36\1\35\22\36\1\35\1\36\1\30\4\36\1\16\1\7\1\10\1\22\1\21\1\36\1\1\1\2\1\34\12\33\1\11\6\36\32\32\3\36\1\31\1\32\1\36\1\24\1\12\1\25\1\23\1\6\1\4\2\32\1\13\6\32\1\17\1\32\1\14\1\15\1\3\1\5\5\32\1\26\1\20\1\27\uff82\36",
1391 "",
1392 "\1\40",
1393 "\1\42",
1394 "\1\44",
1395 "\1\45",
1396 "\1\51\2\uffff\1\50\1\46\5\uffff\1\47",
1397 "",
1398 "",
1399 "",
1400 "\1\55",
1401 "\1\56",
1402 "\1\57",
1403 "\1\60",
1404 "",
1405 "\1\62",
1406 "",
1407 "",
1408 "",
1409 "\1\66",
1410 "\1\67",
1411 "\1\70\2\uffff\1\71",
1412 "",
1413 "",
1414 "\0\74",
1415 "\32\43\4\uffff\1\43\1\uffff\32\43",
1416 "",
1417 "",
1418 "\1\76\4\uffff\1\77",
1419 "",
1420 "",
1421 "",
1422 "",
1423 "",
1424 "\1\101",
1425 "",
1426 "\1\102",
1427 "\1\103",
1428 "\1\104",
1429 "\1\105\12\uffff\1\106",
1430 "\1\107",
1431 "\1\110",
1432 "",
1433 "",
1434 "",
1435 "\1\111",
1436 "\1\112",
1437 "\1\113\12\uffff\1\114",
1438 "\1\115",
1439 "",
1440 "\1\116",
1441 "",
1442 "",
1443 "",
1444 "\1\117",
1445 "\1\120",
1446 "\1\121",
1447 "\1\122",
1448 "",
1449 "",
1450 "",
1451 "",
1452 "",
1453 "",
1454 "",
1455 "\1\123",
1456 "\1\124",
1457 "\1\125",
1458 "\1\126",
1459 "\1\127",
1460 "\1\130",
1461 "\1\131",
1462 "\1\132",
1463 "\1\133",
1464 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1465 "\1\135",
1466 "\1\136",
1467 "\1\137",
1468 "\1\140",
1469 "\1\141",
1470 "\1\142",
1471 "\1\143",
1472 "\1\144",
1473 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1474 "\1\146",
1475 "\1\147",
1476 "\1\150",
1477 "\1\151",
1478 "\1\152",
1479 "\1\153",
1480 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1481 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1482 "",
1483 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1484 "\1\157",
1485 "\1\160",
1486 "\1\161",
1487 "\1\162",
1488 "\1\163",
1489 "\1\164",
1490 "\1\165",
1491 "",
1492 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1493 "\1\167",
1494 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1495 "\1\171",
1496 "\1\172",
1497 "\1\173",
1498 "",
1499 "",
1500 "",
1501 "\1\174",
1502 "\1\175",
1503 "\1\176",
1504 "\1\177",
1505 "\1\u0080",
1506 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1507 "\1\u0082",
1508 "",
1509 "\1\u0083",
1510 "",
1511 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1512 "\1\u0085",
1513 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1514 "\1\u0087",
1515 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1516 "\1\u0089",
1517 "\1\u008a",
1518 "\1\u008b",
1519 "",
1520 "\1\u008c",
1521 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1522 "",
1523 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1524 "",
1525 "\1\u008f",
1526 "",
1527 "\1\u0090",
1528 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1529 "\1\u0092",
1530 "\1\u0093",
1531 "",
1532 "",
1533 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1534 "\1\u0095",
1535 "",
1536 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1537 "\1\u0097",
1538 "",
1539 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1540 "",
1541 "\1\u0099",
1542 "",
1543 "\1\u009a",
1544 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1545 ""
1546 };
1547
1548 static final short[] DFA10_eot = DFA.unpackEncodedString(DFA10_eotS);
1549 static final short[] DFA10_eof = DFA.unpackEncodedString(DFA10_eofS);
1550 static final char[] DFA10_min = DFA.unpackEncodedStringToUnsignedChars(DFA10_minS);
1551 static final char[] DFA10_max = DFA.unpackEncodedStringToUnsignedChars(DFA10_maxS);
1552 static final short[] DFA10_accept = DFA.unpackEncodedString(DFA10_acceptS);
1553 static final short[] DFA10_special = DFA.unpackEncodedString(DFA10_specialS);
1554 static final short[][] DFA10_transition;
1555
1556 static {
1557 int numStates = DFA10_transitionS.length;
1558 DFA10_transition = new short[numStates][];
1559 for (int i=0; i<numStates; i++) {
1560 DFA10_transition[i] = DFA.unpackEncodedString(DFA10_transitionS[i]);
1561 }
1562 }
1563
1564 class DFA10 extends DFA {
1565
1566 public DFA10(BaseRecognizer recognizer) {
1567 this.recognizer = recognizer;
1568 this.decisionNumber = 10;
1569 this.eot = DFA10_eot;
1570 this.eof = DFA10_eof;
1571 this.min = DFA10_min;
1572 this.max = DFA10_max;
1573 this.accept = DFA10_accept;
1574 this.special = DFA10_special;
1575 this.transition = DFA10_transition;
1576 }
1577 public String getDescription() {
1578 return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | RULE_STRING | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
1579 }
1580 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
1581 IntStream input = _input;
1582 int _s = s;
1583 switch ( s ) {
1584 case 0 :
1585 int LA10_24 = input.LA(1);
1586
1587 s = -1;
1588 if ( ((LA10_24>='\u0000' && LA10_24<='\uFFFF')) ) {s = 60;}
1589
1590 else s = 30;
1591
1592 if ( s>=0 ) return s;
1593 break;
1594 case 1 :
1595 int LA10_0 = input.LA(1);
1596
1597 s = -1;
1598 if ( (LA10_0=='-') ) {s = 1;}
1599
1600 else if ( (LA10_0=='.') ) {s = 2;}
1601
1602 else if ( (LA10_0=='t') ) {s = 3;}
1603
1604 else if ( (LA10_0=='f') ) {s = 4;}
1605
1606 else if ( (LA10_0=='u') ) {s = 5;}
1607
1608 else if ( (LA10_0=='e') ) {s = 6;}
1609
1610 else if ( (LA10_0=='(') ) {s = 7;}
1611
1612 else if ( (LA10_0==')') ) {s = 8;}
1613
1614 else if ( (LA10_0==':') ) {s = 9;}
1615
1616 else if ( (LA10_0=='b') ) {s = 10;}
1617
1618 else if ( (LA10_0=='i') ) {s = 11;}
1619
1620 else if ( (LA10_0=='r') ) {s = 12;}
1621
1622 else if ( (LA10_0=='s') ) {s = 13;}
1623
1624 else if ( (LA10_0=='\'') ) {s = 14;}
1625
1626 else if ( (LA10_0=='p') ) {s = 15;}
1627
1628 else if ( (LA10_0=='|') ) {s = 16;}
1629
1630 else if ( (LA10_0=='+') ) {s = 17;}
1631
1632 else if ( (LA10_0=='*') ) {s = 18;}
1633
1634 else if ( (LA10_0=='d') ) {s = 19;}
1635
1636 else if ( (LA10_0=='a') ) {s = 20;}
1637
1638 else if ( (LA10_0=='c') ) {s = 21;}
1639
1640 else if ( (LA10_0=='{') ) {s = 22;}
1641
1642 else if ( (LA10_0=='}') ) {s = 23;}
1643
1644 else if ( (LA10_0=='\"') ) {s = 24;}
1645
1646 else if ( (LA10_0=='^') ) {s = 25;}
1647
1648 else if ( ((LA10_0>='A' && LA10_0<='Z')||LA10_0=='_'||(LA10_0>='g' && LA10_0<='h')||(LA10_0>='j' && LA10_0<='o')||LA10_0=='q'||(LA10_0>='v' && LA10_0<='z')) ) {s = 26;}
1649
1650 else if ( ((LA10_0>='0' && LA10_0<='9')) ) {s = 27;}
1651
1652 else if ( (LA10_0=='/') ) {s = 28;}
1653
1654 else if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {s = 29;}
1655
1656 else if ( ((LA10_0>='\u0000' && LA10_0<='\b')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\u001F')||LA10_0=='!'||(LA10_0>='#' && LA10_0<='&')||LA10_0==','||(LA10_0>=';' && LA10_0<='@')||(LA10_0>='[' && LA10_0<=']')||LA10_0=='`'||(LA10_0>='~' && LA10_0<='\uFFFF')) ) {s = 30;}
1657
1658 if ( s>=0 ) return s;
1659 break;
1660 }
1661 NoViableAltException nvae =
1662 new NoViableAltException(getDescription(), 10, _s, input);
1663 error(nvae);
1664 throw nvae;
1665 }
1666 }
1667
1668
1669} \ No newline at end of file
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java
new file mode 100644
index 00000000..c1c632f3
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java
@@ -0,0 +1,7214 @@
1package org.eclipse.viatra.solver.language.parser.antlr.internal;
2
3import org.eclipse.xtext.*;
4import org.eclipse.xtext.parser.*;
5import org.eclipse.xtext.parser.impl.*;
6import org.eclipse.emf.ecore.util.EcoreUtil;
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
9import org.eclipse.xtext.parser.antlr.XtextTokenStream;
10import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
11import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
12import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess;
13
14
15
16import org.antlr.runtime.*;
17import java.util.Stack;
18import java.util.List;
19import java.util.ArrayList;
20
21@SuppressWarnings("all")
22public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
23 public static final String[] tokenNames = new String[] {
24 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'-'", "'.'", "'true'", "'false'", "'unknown'", "'error'", "'('", "')'", "':'", "'exists'", "'equals'", "'bool'", "'int'", "'real'", "'string'", "'\\''", "'predicate'", "'|'", "'+'", "'*'", "'default'", "'abstract'", "'class'", "'extends'", "'{'", "'}'", "'enum'", "'containment'", "'relation'", "'..'"
25 };
26 public static final int RULE_STRING=6;
27 public static final int RULE_SL_COMMENT=8;
28 public static final int T__19=19;
29 public static final int T__15=15;
30 public static final int T__37=37;
31 public static final int T__16=16;
32 public static final int T__38=38;
33 public static final int T__17=17;
34 public static final int T__39=39;
35 public static final int T__18=18;
36 public static final int T__11=11;
37 public static final int T__33=33;
38 public static final int T__12=12;
39 public static final int T__34=34;
40 public static final int T__13=13;
41 public static final int T__35=35;
42 public static final int T__14=14;
43 public static final int T__36=36;
44 public static final int EOF=-1;
45 public static final int T__30=30;
46 public static final int T__31=31;
47 public static final int T__32=32;
48 public static final int RULE_ID=5;
49 public static final int RULE_WS=9;
50 public static final int RULE_ANY_OTHER=10;
51 public static final int T__26=26;
52 public static final int T__27=27;
53 public static final int T__28=28;
54 public static final int RULE_INT=4;
55 public static final int T__29=29;
56 public static final int T__22=22;
57 public static final int RULE_ML_COMMENT=7;
58 public static final int T__23=23;
59 public static final int T__24=24;
60 public static final int T__25=25;
61 public static final int T__40=40;
62 public static final int T__20=20;
63 public static final int T__21=21;
64
65 // delegates
66 // delegators
67
68
69 public InternalSolverLanguageParser(TokenStream input) {
70 this(input, new RecognizerSharedState());
71 }
72 public InternalSolverLanguageParser(TokenStream input, RecognizerSharedState state) {
73 super(input, state);
74
75 }
76
77
78 public String[] getTokenNames() { return InternalSolverLanguageParser.tokenNames; }
79 public String getGrammarFileName() { return "InternalSolverLanguage.g"; }
80
81
82
83 private SolverLanguageGrammarAccess grammarAccess;
84
85 public InternalSolverLanguageParser(TokenStream input, SolverLanguageGrammarAccess grammarAccess) {
86 this(input);
87 this.grammarAccess = grammarAccess;
88 registerRules(grammarAccess.getGrammar());
89 }
90
91 @Override
92 protected String getFirstRuleName() {
93 return "Problem";
94 }
95
96 @Override
97 protected SolverLanguageGrammarAccess getGrammarAccess() {
98 return grammarAccess;
99 }
100
101
102
103
104 // $ANTLR start "entryRuleProblem"
105 // InternalSolverLanguage.g:64:1: entryRuleProblem returns [EObject current=null] : iv_ruleProblem= ruleProblem EOF ;
106 public final EObject entryRuleProblem() throws RecognitionException {
107 EObject current = null;
108
109 EObject iv_ruleProblem = null;
110
111
112 try {
113 // InternalSolverLanguage.g:64:48: (iv_ruleProblem= ruleProblem EOF )
114 // InternalSolverLanguage.g:65:2: iv_ruleProblem= ruleProblem EOF
115 {
116 newCompositeNode(grammarAccess.getProblemRule());
117 pushFollow(FOLLOW_1);
118 iv_ruleProblem=ruleProblem();
119
120 state._fsp--;
121
122 current =iv_ruleProblem;
123 match(input,EOF,FOLLOW_2);
124
125 }
126
127 }
128
129 catch (RecognitionException re) {
130 recover(input,re);
131 appendSkippedTokens();
132 }
133 finally {
134 }
135 return current;
136 }
137 // $ANTLR end "entryRuleProblem"
138
139
140 // $ANTLR start "ruleProblem"
141 // InternalSolverLanguage.g:71:1: ruleProblem returns [EObject current=null] : ( (lv_statements_0_0= ruleStatement ) )* ;
142 public final EObject ruleProblem() throws RecognitionException {
143 EObject current = null;
144
145 EObject lv_statements_0_0 = null;
146
147
148
149 enterRule();
150
151 try {
152 // InternalSolverLanguage.g:77:2: ( ( (lv_statements_0_0= ruleStatement ) )* )
153 // InternalSolverLanguage.g:78:2: ( (lv_statements_0_0= ruleStatement ) )*
154 {
155 // InternalSolverLanguage.g:78:2: ( (lv_statements_0_0= ruleStatement ) )*
156 loop1:
157 do {
158 int alt1=2;
159 int LA1_0 = input.LA(1);
160
161 if ( (LA1_0==RULE_ID||LA1_0==16||(LA1_0>=20 && LA1_0<=25)||LA1_0==27||(LA1_0>=31 && LA1_0<=32)||(LA1_0>=37 && LA1_0<=38)) ) {
162 alt1=1;
163 }
164
165
166 switch (alt1) {
167 case 1 :
168 // InternalSolverLanguage.g:79:3: (lv_statements_0_0= ruleStatement )
169 {
170 // InternalSolverLanguage.g:79:3: (lv_statements_0_0= ruleStatement )
171 // InternalSolverLanguage.g:80:4: lv_statements_0_0= ruleStatement
172 {
173
174 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0());
175
176 pushFollow(FOLLOW_3);
177 lv_statements_0_0=ruleStatement();
178
179 state._fsp--;
180
181
182 if (current==null) {
183 current = createModelElementForParent(grammarAccess.getProblemRule());
184 }
185 add(
186 current,
187 "statements",
188 lv_statements_0_0,
189 "org.eclipse.viatra.solver.language.SolverLanguage.Statement");
190 afterParserOrEnumRuleCall();
191
192
193 }
194
195
196 }
197 break;
198
199 default :
200 break loop1;
201 }
202 } while (true);
203
204
205 }
206
207
208 leaveRule();
209
210 }
211
212 catch (RecognitionException re) {
213 recover(input,re);
214 appendSkippedTokens();
215 }
216 finally {
217 }
218 return current;
219 }
220 // $ANTLR end "ruleProblem"
221
222
223 // $ANTLR start "entryRuleStatement"
224 // InternalSolverLanguage.g:100:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ;
225 public final EObject entryRuleStatement() throws RecognitionException {
226 EObject current = null;
227
228 EObject iv_ruleStatement = null;
229
230
231 try {
232 // InternalSolverLanguage.g:100:50: (iv_ruleStatement= ruleStatement EOF )
233 // InternalSolverLanguage.g:101:2: iv_ruleStatement= ruleStatement EOF
234 {
235 newCompositeNode(grammarAccess.getStatementRule());
236 pushFollow(FOLLOW_1);
237 iv_ruleStatement=ruleStatement();
238
239 state._fsp--;
240
241 current =iv_ruleStatement;
242 match(input,EOF,FOLLOW_2);
243
244 }
245
246 }
247
248 catch (RecognitionException re) {
249 recover(input,re);
250 appendSkippedTokens();
251 }
252 finally {
253 }
254 return current;
255 }
256 // $ANTLR end "entryRuleStatement"
257
258
259 // $ANTLR start "ruleStatement"
260 // InternalSolverLanguage.g:107:1: ruleStatement returns [EObject current=null] : (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate ) ;
261 public final EObject ruleStatement() throws RecognitionException {
262 EObject current = null;
263
264 EObject this_Interpretation_0 = null;
265
266 EObject this_Predicate_1 = null;
267
268
269
270 enterRule();
271
272 try {
273 // InternalSolverLanguage.g:113:2: ( (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate ) )
274 // InternalSolverLanguage.g:114:2: (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate )
275 {
276 // InternalSolverLanguage.g:114:2: (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate )
277 int alt2=2;
278 int LA2_0 = input.LA(1);
279
280 if ( (LA2_0==RULE_ID||(LA2_0>=20 && LA2_0<=25)||(LA2_0>=31 && LA2_0<=32)||(LA2_0>=37 && LA2_0<=38)) ) {
281 alt2=1;
282 }
283 else if ( (LA2_0==16||LA2_0==27) ) {
284 alt2=2;
285 }
286 else {
287 NoViableAltException nvae =
288 new NoViableAltException("", 2, 0, input);
289
290 throw nvae;
291 }
292 switch (alt2) {
293 case 1 :
294 // InternalSolverLanguage.g:115:3: this_Interpretation_0= ruleInterpretation
295 {
296
297 newCompositeNode(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0());
298
299 pushFollow(FOLLOW_2);
300 this_Interpretation_0=ruleInterpretation();
301
302 state._fsp--;
303
304
305 current = this_Interpretation_0;
306 afterParserOrEnumRuleCall();
307
308
309 }
310 break;
311 case 2 :
312 // InternalSolverLanguage.g:124:3: this_Predicate_1= rulePredicate
313 {
314
315 newCompositeNode(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1());
316
317 pushFollow(FOLLOW_2);
318 this_Predicate_1=rulePredicate();
319
320 state._fsp--;
321
322
323 current = this_Predicate_1;
324 afterParserOrEnumRuleCall();
325
326
327 }
328 break;
329
330 }
331
332
333 }
334
335
336 leaveRule();
337
338 }
339
340 catch (RecognitionException re) {
341 recover(input,re);
342 appendSkippedTokens();
343 }
344 finally {
345 }
346 return current;
347 }
348 // $ANTLR end "ruleStatement"
349
350
351 // $ANTLR start "entryRuleREALLiteral"
352 // InternalSolverLanguage.g:136:1: entryRuleREALLiteral returns [String current=null] : iv_ruleREALLiteral= ruleREALLiteral EOF ;
353 public final String entryRuleREALLiteral() throws RecognitionException {
354 String current = null;
355
356 AntlrDatatypeRuleToken iv_ruleREALLiteral = null;
357
358
359 try {
360 // InternalSolverLanguage.g:136:51: (iv_ruleREALLiteral= ruleREALLiteral EOF )
361 // InternalSolverLanguage.g:137:2: iv_ruleREALLiteral= ruleREALLiteral EOF
362 {
363 newCompositeNode(grammarAccess.getREALLiteralRule());
364 pushFollow(FOLLOW_1);
365 iv_ruleREALLiteral=ruleREALLiteral();
366
367 state._fsp--;
368
369 current =iv_ruleREALLiteral.getText();
370 match(input,EOF,FOLLOW_2);
371
372 }
373
374 }
375
376 catch (RecognitionException re) {
377 recover(input,re);
378 appendSkippedTokens();
379 }
380 finally {
381 }
382 return current;
383 }
384 // $ANTLR end "entryRuleREALLiteral"
385
386
387 // $ANTLR start "ruleREALLiteral"
388 // InternalSolverLanguage.g:143:1: ruleREALLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) ;
389 public final AntlrDatatypeRuleToken ruleREALLiteral() throws RecognitionException {
390 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
391
392 Token kw=null;
393 Token this_INT_1=null;
394 Token this_INT_3=null;
395
396
397 enterRule();
398
399 try {
400 // InternalSolverLanguage.g:149:2: ( ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT ) )
401 // InternalSolverLanguage.g:150:2: ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT )
402 {
403 // InternalSolverLanguage.g:150:2: ( (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT )
404 // InternalSolverLanguage.g:151:3: (kw= '-' )? this_INT_1= RULE_INT kw= '.' this_INT_3= RULE_INT
405 {
406 // InternalSolverLanguage.g:151:3: (kw= '-' )?
407 int alt3=2;
408 int LA3_0 = input.LA(1);
409
410 if ( (LA3_0==11) ) {
411 alt3=1;
412 }
413 switch (alt3) {
414 case 1 :
415 // InternalSolverLanguage.g:152:4: kw= '-'
416 {
417 kw=(Token)match(input,11,FOLLOW_4);
418
419 current.merge(kw);
420 newLeafNode(kw, grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0());
421
422
423 }
424 break;
425
426 }
427
428 this_INT_1=(Token)match(input,RULE_INT,FOLLOW_5);
429
430 current.merge(this_INT_1);
431
432
433 newLeafNode(this_INT_1, grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1());
434
435 kw=(Token)match(input,12,FOLLOW_4);
436
437 current.merge(kw);
438 newLeafNode(kw, grammarAccess.getREALLiteralAccess().getFullStopKeyword_2());
439
440 this_INT_3=(Token)match(input,RULE_INT,FOLLOW_2);
441
442 current.merge(this_INT_3);
443
444
445 newLeafNode(this_INT_3, grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3());
446
447
448 }
449
450
451 }
452
453
454 leaveRule();
455
456 }
457
458 catch (RecognitionException re) {
459 recover(input,re);
460 appendSkippedTokens();
461 }
462 finally {
463 }
464 return current;
465 }
466 // $ANTLR end "ruleREALLiteral"
467
468
469 // $ANTLR start "entryRuleINTLiteral"
470 // InternalSolverLanguage.g:181:1: entryRuleINTLiteral returns [String current=null] : iv_ruleINTLiteral= ruleINTLiteral EOF ;
471 public final String entryRuleINTLiteral() throws RecognitionException {
472 String current = null;
473
474 AntlrDatatypeRuleToken iv_ruleINTLiteral = null;
475
476
477 try {
478 // InternalSolverLanguage.g:181:50: (iv_ruleINTLiteral= ruleINTLiteral EOF )
479 // InternalSolverLanguage.g:182:2: iv_ruleINTLiteral= ruleINTLiteral EOF
480 {
481 newCompositeNode(grammarAccess.getINTLiteralRule());
482 pushFollow(FOLLOW_1);
483 iv_ruleINTLiteral=ruleINTLiteral();
484
485 state._fsp--;
486
487 current =iv_ruleINTLiteral.getText();
488 match(input,EOF,FOLLOW_2);
489
490 }
491
492 }
493
494 catch (RecognitionException re) {
495 recover(input,re);
496 appendSkippedTokens();
497 }
498 finally {
499 }
500 return current;
501 }
502 // $ANTLR end "entryRuleINTLiteral"
503
504
505 // $ANTLR start "ruleINTLiteral"
506 // InternalSolverLanguage.g:188:1: ruleINTLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ;
507 public final AntlrDatatypeRuleToken ruleINTLiteral() throws RecognitionException {
508 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
509
510 Token kw=null;
511 Token this_INT_1=null;
512
513
514 enterRule();
515
516 try {
517 // InternalSolverLanguage.g:194:2: ( ( (kw= '-' )? this_INT_1= RULE_INT ) )
518 // InternalSolverLanguage.g:195:2: ( (kw= '-' )? this_INT_1= RULE_INT )
519 {
520 // InternalSolverLanguage.g:195:2: ( (kw= '-' )? this_INT_1= RULE_INT )
521 // InternalSolverLanguage.g:196:3: (kw= '-' )? this_INT_1= RULE_INT
522 {
523 // InternalSolverLanguage.g:196:3: (kw= '-' )?
524 int alt4=2;
525 int LA4_0 = input.LA(1);
526
527 if ( (LA4_0==11) ) {
528 alt4=1;
529 }
530 switch (alt4) {
531 case 1 :
532 // InternalSolverLanguage.g:197:4: kw= '-'
533 {
534 kw=(Token)match(input,11,FOLLOW_4);
535
536 current.merge(kw);
537 newLeafNode(kw, grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0());
538
539
540 }
541 break;
542
543 }
544
545 this_INT_1=(Token)match(input,RULE_INT,FOLLOW_2);
546
547 current.merge(this_INT_1);
548
549
550 newLeafNode(this_INT_1, grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1());
551
552
553 }
554
555
556 }
557
558
559 leaveRule();
560
561 }
562
563 catch (RecognitionException re) {
564 recover(input,re);
565 appendSkippedTokens();
566 }
567 finally {
568 }
569 return current;
570 }
571 // $ANTLR end "ruleINTLiteral"
572
573
574 // $ANTLR start "entryRuleBooleanValue"
575 // InternalSolverLanguage.g:214:1: entryRuleBooleanValue returns [EObject current=null] : iv_ruleBooleanValue= ruleBooleanValue EOF ;
576 public final EObject entryRuleBooleanValue() throws RecognitionException {
577 EObject current = null;
578
579 EObject iv_ruleBooleanValue = null;
580
581
582 try {
583 // InternalSolverLanguage.g:214:53: (iv_ruleBooleanValue= ruleBooleanValue EOF )
584 // InternalSolverLanguage.g:215:2: iv_ruleBooleanValue= ruleBooleanValue EOF
585 {
586 newCompositeNode(grammarAccess.getBooleanValueRule());
587 pushFollow(FOLLOW_1);
588 iv_ruleBooleanValue=ruleBooleanValue();
589
590 state._fsp--;
591
592 current =iv_ruleBooleanValue;
593 match(input,EOF,FOLLOW_2);
594
595 }
596
597 }
598
599 catch (RecognitionException re) {
600 recover(input,re);
601 appendSkippedTokens();
602 }
603 finally {
604 }
605 return current;
606 }
607 // $ANTLR end "entryRuleBooleanValue"
608
609
610 // $ANTLR start "ruleBooleanValue"
611 // InternalSolverLanguage.g:221:1: ruleBooleanValue returns [EObject current=null] : ( ( () otherlv_1= 'true' ) | (otherlv_2= 'false' () ) ) ;
612 public final EObject ruleBooleanValue() throws RecognitionException {
613 EObject current = null;
614
615 Token otherlv_1=null;
616 Token otherlv_2=null;
617
618
619 enterRule();
620
621 try {
622 // InternalSolverLanguage.g:227:2: ( ( ( () otherlv_1= 'true' ) | (otherlv_2= 'false' () ) ) )
623 // InternalSolverLanguage.g:228:2: ( ( () otherlv_1= 'true' ) | (otherlv_2= 'false' () ) )
624 {
625 // InternalSolverLanguage.g:228:2: ( ( () otherlv_1= 'true' ) | (otherlv_2= 'false' () ) )
626 int alt5=2;
627 int LA5_0 = input.LA(1);
628
629 if ( (LA5_0==13) ) {
630 alt5=1;
631 }
632 else if ( (LA5_0==14) ) {
633 alt5=2;
634 }
635 else {
636 NoViableAltException nvae =
637 new NoViableAltException("", 5, 0, input);
638
639 throw nvae;
640 }
641 switch (alt5) {
642 case 1 :
643 // InternalSolverLanguage.g:229:3: ( () otherlv_1= 'true' )
644 {
645 // InternalSolverLanguage.g:229:3: ( () otherlv_1= 'true' )
646 // InternalSolverLanguage.g:230:4: () otherlv_1= 'true'
647 {
648 // InternalSolverLanguage.g:230:4: ()
649 // InternalSolverLanguage.g:231:5:
650 {
651
652 current = forceCreateModelElement(
653 grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0(),
654 current);
655
656
657 }
658
659 otherlv_1=(Token)match(input,13,FOLLOW_2);
660
661 newLeafNode(otherlv_1, grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1());
662
663
664 }
665
666
667 }
668 break;
669 case 2 :
670 // InternalSolverLanguage.g:243:3: (otherlv_2= 'false' () )
671 {
672 // InternalSolverLanguage.g:243:3: (otherlv_2= 'false' () )
673 // InternalSolverLanguage.g:244:4: otherlv_2= 'false' ()
674 {
675 otherlv_2=(Token)match(input,14,FOLLOW_2);
676
677 newLeafNode(otherlv_2, grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0());
678
679 // InternalSolverLanguage.g:248:4: ()
680 // InternalSolverLanguage.g:249:5:
681 {
682
683 current = forceCreateModelElement(
684 grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1(),
685 current);
686
687
688 }
689
690
691 }
692
693
694 }
695 break;
696
697 }
698
699
700 }
701
702
703 leaveRule();
704
705 }
706
707 catch (RecognitionException re) {
708 recover(input,re);
709 appendSkippedTokens();
710 }
711 finally {
712 }
713 return current;
714 }
715 // $ANTLR end "ruleBooleanValue"
716
717
718 // $ANTLR start "entryRuleTruthValue"
719 // InternalSolverLanguage.g:260:1: entryRuleTruthValue returns [EObject current=null] : iv_ruleTruthValue= ruleTruthValue EOF ;
720 public final EObject entryRuleTruthValue() throws RecognitionException {
721 EObject current = null;
722
723 EObject iv_ruleTruthValue = null;
724
725
726 try {
727 // InternalSolverLanguage.g:260:51: (iv_ruleTruthValue= ruleTruthValue EOF )
728 // InternalSolverLanguage.g:261:2: iv_ruleTruthValue= ruleTruthValue EOF
729 {
730 newCompositeNode(grammarAccess.getTruthValueRule());
731 pushFollow(FOLLOW_1);
732 iv_ruleTruthValue=ruleTruthValue();
733
734 state._fsp--;
735
736 current =iv_ruleTruthValue;
737 match(input,EOF,FOLLOW_2);
738
739 }
740
741 }
742
743 catch (RecognitionException re) {
744 recover(input,re);
745 appendSkippedTokens();
746 }
747 finally {
748 }
749 return current;
750 }
751 // $ANTLR end "entryRuleTruthValue"
752
753
754 // $ANTLR start "ruleTruthValue"
755 // InternalSolverLanguage.g:267:1: ruleTruthValue returns [EObject current=null] : ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) | ( () otherlv_5= 'unknown' ) | ( () otherlv_7= 'error' ) ) ;
756 public final EObject ruleTruthValue() throws RecognitionException {
757 EObject current = null;
758
759 Token otherlv_1=null;
760 Token otherlv_3=null;
761 Token otherlv_5=null;
762 Token otherlv_7=null;
763
764
765 enterRule();
766
767 try {
768 // InternalSolverLanguage.g:273:2: ( ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) | ( () otherlv_5= 'unknown' ) | ( () otherlv_7= 'error' ) ) )
769 // InternalSolverLanguage.g:274:2: ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) | ( () otherlv_5= 'unknown' ) | ( () otherlv_7= 'error' ) )
770 {
771 // InternalSolverLanguage.g:274:2: ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) | ( () otherlv_5= 'unknown' ) | ( () otherlv_7= 'error' ) )
772 int alt6=4;
773 switch ( input.LA(1) ) {
774 case 13:
775 {
776 alt6=1;
777 }
778 break;
779 case 14:
780 {
781 alt6=2;
782 }
783 break;
784 case 15:
785 {
786 alt6=3;
787 }
788 break;
789 case 16:
790 {
791 alt6=4;
792 }
793 break;
794 default:
795 NoViableAltException nvae =
796 new NoViableAltException("", 6, 0, input);
797
798 throw nvae;
799 }
800
801 switch (alt6) {
802 case 1 :
803 // InternalSolverLanguage.g:275:3: ( () otherlv_1= 'true' )
804 {
805 // InternalSolverLanguage.g:275:3: ( () otherlv_1= 'true' )
806 // InternalSolverLanguage.g:276:4: () otherlv_1= 'true'
807 {
808 // InternalSolverLanguage.g:276:4: ()
809 // InternalSolverLanguage.g:277:5:
810 {
811
812 current = forceCreateModelElement(
813 grammarAccess.getTruthValueAccess().getTrueAction_0_0(),
814 current);
815
816
817 }
818
819 otherlv_1=(Token)match(input,13,FOLLOW_2);
820
821 newLeafNode(otherlv_1, grammarAccess.getTruthValueAccess().getTrueKeyword_0_1());
822
823
824 }
825
826
827 }
828 break;
829 case 2 :
830 // InternalSolverLanguage.g:289:3: ( () otherlv_3= 'false' )
831 {
832 // InternalSolverLanguage.g:289:3: ( () otherlv_3= 'false' )
833 // InternalSolverLanguage.g:290:4: () otherlv_3= 'false'
834 {
835 // InternalSolverLanguage.g:290:4: ()
836 // InternalSolverLanguage.g:291:5:
837 {
838
839 current = forceCreateModelElement(
840 grammarAccess.getTruthValueAccess().getFalseAction_1_0(),
841 current);
842
843
844 }
845
846 otherlv_3=(Token)match(input,14,FOLLOW_2);
847
848 newLeafNode(otherlv_3, grammarAccess.getTruthValueAccess().getFalseKeyword_1_1());
849
850
851 }
852
853
854 }
855 break;
856 case 3 :
857 // InternalSolverLanguage.g:303:3: ( () otherlv_5= 'unknown' )
858 {
859 // InternalSolverLanguage.g:303:3: ( () otherlv_5= 'unknown' )
860 // InternalSolverLanguage.g:304:4: () otherlv_5= 'unknown'
861 {
862 // InternalSolverLanguage.g:304:4: ()
863 // InternalSolverLanguage.g:305:5:
864 {
865
866 current = forceCreateModelElement(
867 grammarAccess.getTruthValueAccess().getUnknownAction_2_0(),
868 current);
869
870
871 }
872
873 otherlv_5=(Token)match(input,15,FOLLOW_2);
874
875 newLeafNode(otherlv_5, grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1());
876
877
878 }
879
880
881 }
882 break;
883 case 4 :
884 // InternalSolverLanguage.g:317:3: ( () otherlv_7= 'error' )
885 {
886 // InternalSolverLanguage.g:317:3: ( () otherlv_7= 'error' )
887 // InternalSolverLanguage.g:318:4: () otherlv_7= 'error'
888 {
889 // InternalSolverLanguage.g:318:4: ()
890 // InternalSolverLanguage.g:319:5:
891 {
892
893 current = forceCreateModelElement(
894 grammarAccess.getTruthValueAccess().getErrorAction_3_0(),
895 current);
896
897
898 }
899
900 otherlv_7=(Token)match(input,16,FOLLOW_2);
901
902 newLeafNode(otherlv_7, grammarAccess.getTruthValueAccess().getErrorKeyword_3_1());
903
904
905 }
906
907
908 }
909 break;
910
911 }
912
913
914 }
915
916
917 leaveRule();
918
919 }
920
921 catch (RecognitionException re) {
922 recover(input,re);
923 appendSkippedTokens();
924 }
925 finally {
926 }
927 return current;
928 }
929 // $ANTLR end "ruleTruthValue"
930
931
932 // $ANTLR start "entryRuleInterpretation"
933 // InternalSolverLanguage.g:334:1: entryRuleInterpretation returns [EObject current=null] : iv_ruleInterpretation= ruleInterpretation EOF ;
934 public final EObject entryRuleInterpretation() throws RecognitionException {
935 EObject current = null;
936
937 EObject iv_ruleInterpretation = null;
938
939
940 try {
941 // InternalSolverLanguage.g:334:55: (iv_ruleInterpretation= ruleInterpretation EOF )
942 // InternalSolverLanguage.g:335:2: iv_ruleInterpretation= ruleInterpretation EOF
943 {
944 newCompositeNode(grammarAccess.getInterpretationRule());
945 pushFollow(FOLLOW_1);
946 iv_ruleInterpretation=ruleInterpretation();
947
948 state._fsp--;
949
950 current =iv_ruleInterpretation;
951 match(input,EOF,FOLLOW_2);
952
953 }
954
955 }
956
957 catch (RecognitionException re) {
958 recover(input,re);
959 appendSkippedTokens();
960 }
961 finally {
962 }
963 return current;
964 }
965 // $ANTLR end "entryRuleInterpretation"
966
967
968 // $ANTLR start "ruleInterpretation"
969 // InternalSolverLanguage.g:341:1: ruleInterpretation returns [EObject current=null] : (this_BasicInterpretation_0= ruleBasicInterpretation | this_DefaultInterpretation_1= ruleDefaultInterpretation | this_CDInterpretation_2= ruleCDInterpretation ) ;
970 public final EObject ruleInterpretation() throws RecognitionException {
971 EObject current = null;
972
973 EObject this_BasicInterpretation_0 = null;
974
975 EObject this_DefaultInterpretation_1 = null;
976
977 EObject this_CDInterpretation_2 = null;
978
979
980
981 enterRule();
982
983 try {
984 // InternalSolverLanguage.g:347:2: ( (this_BasicInterpretation_0= ruleBasicInterpretation | this_DefaultInterpretation_1= ruleDefaultInterpretation | this_CDInterpretation_2= ruleCDInterpretation ) )
985 // InternalSolverLanguage.g:348:2: (this_BasicInterpretation_0= ruleBasicInterpretation | this_DefaultInterpretation_1= ruleDefaultInterpretation | this_CDInterpretation_2= ruleCDInterpretation )
986 {
987 // InternalSolverLanguage.g:348:2: (this_BasicInterpretation_0= ruleBasicInterpretation | this_DefaultInterpretation_1= ruleDefaultInterpretation | this_CDInterpretation_2= ruleCDInterpretation )
988 int alt7=3;
989 switch ( input.LA(1) ) {
990 case RULE_ID:
991 case 20:
992 case 21:
993 case 22:
994 case 23:
995 case 24:
996 case 25:
997 {
998 alt7=1;
999 }
1000 break;
1001 case 31:
1002 {
1003 alt7=2;
1004 }
1005 break;
1006 case 32:
1007 case 37:
1008 case 38:
1009 {
1010 alt7=3;
1011 }
1012 break;
1013 default:
1014 NoViableAltException nvae =
1015 new NoViableAltException("", 7, 0, input);
1016
1017 throw nvae;
1018 }
1019
1020 switch (alt7) {
1021 case 1 :
1022 // InternalSolverLanguage.g:349:3: this_BasicInterpretation_0= ruleBasicInterpretation
1023 {
1024
1025 newCompositeNode(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0());
1026
1027 pushFollow(FOLLOW_2);
1028 this_BasicInterpretation_0=ruleBasicInterpretation();
1029
1030 state._fsp--;
1031
1032
1033 current = this_BasicInterpretation_0;
1034 afterParserOrEnumRuleCall();
1035
1036
1037 }
1038 break;
1039 case 2 :
1040 // InternalSolverLanguage.g:358:3: this_DefaultInterpretation_1= ruleDefaultInterpretation
1041 {
1042
1043 newCompositeNode(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1());
1044
1045 pushFollow(FOLLOW_2);
1046 this_DefaultInterpretation_1=ruleDefaultInterpretation();
1047
1048 state._fsp--;
1049
1050
1051 current = this_DefaultInterpretation_1;
1052 afterParserOrEnumRuleCall();
1053
1054
1055 }
1056 break;
1057 case 3 :
1058 // InternalSolverLanguage.g:367:3: this_CDInterpretation_2= ruleCDInterpretation
1059 {
1060
1061 newCompositeNode(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2());
1062
1063 pushFollow(FOLLOW_2);
1064 this_CDInterpretation_2=ruleCDInterpretation();
1065
1066 state._fsp--;
1067
1068
1069 current = this_CDInterpretation_2;
1070 afterParserOrEnumRuleCall();
1071
1072
1073 }
1074 break;
1075
1076 }
1077
1078
1079 }
1080
1081
1082 leaveRule();
1083
1084 }
1085
1086 catch (RecognitionException re) {
1087 recover(input,re);
1088 appendSkippedTokens();
1089 }
1090 finally {
1091 }
1092 return current;
1093 }
1094 // $ANTLR end "ruleInterpretation"
1095
1096
1097 // $ANTLR start "entryRuleBasicInterpretation"
1098 // InternalSolverLanguage.g:379:1: entryRuleBasicInterpretation returns [EObject current=null] : iv_ruleBasicInterpretation= ruleBasicInterpretation EOF ;
1099 public final EObject entryRuleBasicInterpretation() throws RecognitionException {
1100 EObject current = null;
1101
1102 EObject iv_ruleBasicInterpretation = null;
1103
1104
1105 try {
1106 // InternalSolverLanguage.g:379:60: (iv_ruleBasicInterpretation= ruleBasicInterpretation EOF )
1107 // InternalSolverLanguage.g:380:2: iv_ruleBasicInterpretation= ruleBasicInterpretation EOF
1108 {
1109 newCompositeNode(grammarAccess.getBasicInterpretationRule());
1110 pushFollow(FOLLOW_1);
1111 iv_ruleBasicInterpretation=ruleBasicInterpretation();
1112
1113 state._fsp--;
1114
1115 current =iv_ruleBasicInterpretation;
1116 match(input,EOF,FOLLOW_2);
1117
1118 }
1119
1120 }
1121
1122 catch (RecognitionException re) {
1123 recover(input,re);
1124 appendSkippedTokens();
1125 }
1126 finally {
1127 }
1128 return current;
1129 }
1130 // $ANTLR end "entryRuleBasicInterpretation"
1131
1132
1133 // $ANTLR start "ruleBasicInterpretation"
1134 // InternalSolverLanguage.g:386:1: ruleBasicInterpretation returns [EObject current=null] : ( ( (lv_symbol_0_0= ruleSymbol ) ) otherlv_1= '(' ( (lv_objects_2_0= ruleComplexObject ) )* otherlv_3= ')' otherlv_4= ':' ( (lv_value_5_0= ruleTruthValue ) ) ) ;
1135 public final EObject ruleBasicInterpretation() throws RecognitionException {
1136 EObject current = null;
1137
1138 Token otherlv_1=null;
1139 Token otherlv_3=null;
1140 Token otherlv_4=null;
1141 EObject lv_symbol_0_0 = null;
1142
1143 EObject lv_objects_2_0 = null;
1144
1145 EObject lv_value_5_0 = null;
1146
1147
1148
1149 enterRule();
1150
1151 try {
1152 // InternalSolverLanguage.g:392:2: ( ( ( (lv_symbol_0_0= ruleSymbol ) ) otherlv_1= '(' ( (lv_objects_2_0= ruleComplexObject ) )* otherlv_3= ')' otherlv_4= ':' ( (lv_value_5_0= ruleTruthValue ) ) ) )
1153 // InternalSolverLanguage.g:393:2: ( ( (lv_symbol_0_0= ruleSymbol ) ) otherlv_1= '(' ( (lv_objects_2_0= ruleComplexObject ) )* otherlv_3= ')' otherlv_4= ':' ( (lv_value_5_0= ruleTruthValue ) ) )
1154 {
1155 // InternalSolverLanguage.g:393:2: ( ( (lv_symbol_0_0= ruleSymbol ) ) otherlv_1= '(' ( (lv_objects_2_0= ruleComplexObject ) )* otherlv_3= ')' otherlv_4= ':' ( (lv_value_5_0= ruleTruthValue ) ) )
1156 // InternalSolverLanguage.g:394:3: ( (lv_symbol_0_0= ruleSymbol ) ) otherlv_1= '(' ( (lv_objects_2_0= ruleComplexObject ) )* otherlv_3= ')' otherlv_4= ':' ( (lv_value_5_0= ruleTruthValue ) )
1157 {
1158 // InternalSolverLanguage.g:394:3: ( (lv_symbol_0_0= ruleSymbol ) )
1159 // InternalSolverLanguage.g:395:4: (lv_symbol_0_0= ruleSymbol )
1160 {
1161 // InternalSolverLanguage.g:395:4: (lv_symbol_0_0= ruleSymbol )
1162 // InternalSolverLanguage.g:396:5: lv_symbol_0_0= ruleSymbol
1163 {
1164
1165 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0());
1166
1167 pushFollow(FOLLOW_6);
1168 lv_symbol_0_0=ruleSymbol();
1169
1170 state._fsp--;
1171
1172
1173 if (current==null) {
1174 current = createModelElementForParent(grammarAccess.getBasicInterpretationRule());
1175 }
1176 set(
1177 current,
1178 "symbol",
1179 lv_symbol_0_0,
1180 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
1181 afterParserOrEnumRuleCall();
1182
1183
1184 }
1185
1186
1187 }
1188
1189 otherlv_1=(Token)match(input,17,FOLLOW_7);
1190
1191 newLeafNode(otherlv_1, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1());
1192
1193 // InternalSolverLanguage.g:417:3: ( (lv_objects_2_0= ruleComplexObject ) )*
1194 loop8:
1195 do {
1196 int alt8=2;
1197 int LA8_0 = input.LA(1);
1198
1199 if ( ((LA8_0>=RULE_INT && LA8_0<=RULE_STRING)||LA8_0==11||(LA8_0>=13 && LA8_0<=14)||LA8_0==19||LA8_0==26||LA8_0==30) ) {
1200 alt8=1;
1201 }
1202
1203
1204 switch (alt8) {
1205 case 1 :
1206 // InternalSolverLanguage.g:418:4: (lv_objects_2_0= ruleComplexObject )
1207 {
1208 // InternalSolverLanguage.g:418:4: (lv_objects_2_0= ruleComplexObject )
1209 // InternalSolverLanguage.g:419:5: lv_objects_2_0= ruleComplexObject
1210 {
1211
1212 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_2_0());
1213
1214 pushFollow(FOLLOW_7);
1215 lv_objects_2_0=ruleComplexObject();
1216
1217 state._fsp--;
1218
1219
1220 if (current==null) {
1221 current = createModelElementForParent(grammarAccess.getBasicInterpretationRule());
1222 }
1223 add(
1224 current,
1225 "objects",
1226 lv_objects_2_0,
1227 "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject");
1228 afterParserOrEnumRuleCall();
1229
1230
1231 }
1232
1233
1234 }
1235 break;
1236
1237 default :
1238 break loop8;
1239 }
1240 } while (true);
1241
1242 otherlv_3=(Token)match(input,18,FOLLOW_8);
1243
1244 newLeafNode(otherlv_3, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_3());
1245
1246 otherlv_4=(Token)match(input,19,FOLLOW_9);
1247
1248 newLeafNode(otherlv_4, grammarAccess.getBasicInterpretationAccess().getColonKeyword_4());
1249
1250 // InternalSolverLanguage.g:444:3: ( (lv_value_5_0= ruleTruthValue ) )
1251 // InternalSolverLanguage.g:445:4: (lv_value_5_0= ruleTruthValue )
1252 {
1253 // InternalSolverLanguage.g:445:4: (lv_value_5_0= ruleTruthValue )
1254 // InternalSolverLanguage.g:446:5: lv_value_5_0= ruleTruthValue
1255 {
1256
1257 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_5_0());
1258
1259 pushFollow(FOLLOW_2);
1260 lv_value_5_0=ruleTruthValue();
1261
1262 state._fsp--;
1263
1264
1265 if (current==null) {
1266 current = createModelElementForParent(grammarAccess.getBasicInterpretationRule());
1267 }
1268 set(
1269 current,
1270 "value",
1271 lv_value_5_0,
1272 "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue");
1273 afterParserOrEnumRuleCall();
1274
1275
1276 }
1277
1278
1279 }
1280
1281
1282 }
1283
1284
1285 }
1286
1287
1288 leaveRule();
1289
1290 }
1291
1292 catch (RecognitionException re) {
1293 recover(input,re);
1294 appendSkippedTokens();
1295 }
1296 finally {
1297 }
1298 return current;
1299 }
1300 // $ANTLR end "ruleBasicInterpretation"
1301
1302
1303 // $ANTLR start "entryRuleSymbol"
1304 // InternalSolverLanguage.g:467:1: entryRuleSymbol returns [EObject current=null] : iv_ruleSymbol= ruleSymbol EOF ;
1305 public final EObject entryRuleSymbol() throws RecognitionException {
1306 EObject current = null;
1307
1308 EObject iv_ruleSymbol = null;
1309
1310
1311 try {
1312 // InternalSolverLanguage.g:467:47: (iv_ruleSymbol= ruleSymbol EOF )
1313 // InternalSolverLanguage.g:468:2: iv_ruleSymbol= ruleSymbol EOF
1314 {
1315 newCompositeNode(grammarAccess.getSymbolRule());
1316 pushFollow(FOLLOW_1);
1317 iv_ruleSymbol=ruleSymbol();
1318
1319 state._fsp--;
1320
1321 current =iv_ruleSymbol;
1322 match(input,EOF,FOLLOW_2);
1323
1324 }
1325
1326 }
1327
1328 catch (RecognitionException re) {
1329 recover(input,re);
1330 appendSkippedTokens();
1331 }
1332 finally {
1333 }
1334 return current;
1335 }
1336 // $ANTLR end "entryRuleSymbol"
1337
1338
1339 // $ANTLR start "ruleSymbol"
1340 // InternalSolverLanguage.g:474:1: ruleSymbol returns [EObject current=null] : (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) ;
1341 public final EObject ruleSymbol() throws RecognitionException {
1342 EObject current = null;
1343
1344 EObject this_ModelSymbol_0 = null;
1345
1346 EObject this_PartialitySymbol_1 = null;
1347
1348 EObject this_DataSymbol_2 = null;
1349
1350
1351
1352 enterRule();
1353
1354 try {
1355 // InternalSolverLanguage.g:480:2: ( (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) )
1356 // InternalSolverLanguage.g:481:2: (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol )
1357 {
1358 // InternalSolverLanguage.g:481:2: (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol )
1359 int alt9=3;
1360 switch ( input.LA(1) ) {
1361 case RULE_ID:
1362 {
1363 alt9=1;
1364 }
1365 break;
1366 case 20:
1367 case 21:
1368 {
1369 alt9=2;
1370 }
1371 break;
1372 case 22:
1373 case 23:
1374 case 24:
1375 case 25:
1376 {
1377 alt9=3;
1378 }
1379 break;
1380 default:
1381 NoViableAltException nvae =
1382 new NoViableAltException("", 9, 0, input);
1383
1384 throw nvae;
1385 }
1386
1387 switch (alt9) {
1388 case 1 :
1389 // InternalSolverLanguage.g:482:3: this_ModelSymbol_0= ruleModelSymbol
1390 {
1391
1392 newCompositeNode(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0());
1393
1394 pushFollow(FOLLOW_2);
1395 this_ModelSymbol_0=ruleModelSymbol();
1396
1397 state._fsp--;
1398
1399
1400 current = this_ModelSymbol_0;
1401 afterParserOrEnumRuleCall();
1402
1403
1404 }
1405 break;
1406 case 2 :
1407 // InternalSolverLanguage.g:491:3: this_PartialitySymbol_1= rulePartialitySymbol
1408 {
1409
1410 newCompositeNode(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1());
1411
1412 pushFollow(FOLLOW_2);
1413 this_PartialitySymbol_1=rulePartialitySymbol();
1414
1415 state._fsp--;
1416
1417
1418 current = this_PartialitySymbol_1;
1419 afterParserOrEnumRuleCall();
1420
1421
1422 }
1423 break;
1424 case 3 :
1425 // InternalSolverLanguage.g:500:3: this_DataSymbol_2= ruleDataSymbol
1426 {
1427
1428 newCompositeNode(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2());
1429
1430 pushFollow(FOLLOW_2);
1431 this_DataSymbol_2=ruleDataSymbol();
1432
1433 state._fsp--;
1434
1435
1436 current = this_DataSymbol_2;
1437 afterParserOrEnumRuleCall();
1438
1439
1440 }
1441 break;
1442
1443 }
1444
1445
1446 }
1447
1448
1449 leaveRule();
1450
1451 }
1452
1453 catch (RecognitionException re) {
1454 recover(input,re);
1455 appendSkippedTokens();
1456 }
1457 finally {
1458 }
1459 return current;
1460 }
1461 // $ANTLR end "ruleSymbol"
1462
1463
1464 // $ANTLR start "entryRuleModelSymbol"
1465 // InternalSolverLanguage.g:512:1: entryRuleModelSymbol returns [EObject current=null] : iv_ruleModelSymbol= ruleModelSymbol EOF ;
1466 public final EObject entryRuleModelSymbol() throws RecognitionException {
1467 EObject current = null;
1468
1469 EObject iv_ruleModelSymbol = null;
1470
1471
1472 try {
1473 // InternalSolverLanguage.g:512:52: (iv_ruleModelSymbol= ruleModelSymbol EOF )
1474 // InternalSolverLanguage.g:513:2: iv_ruleModelSymbol= ruleModelSymbol EOF
1475 {
1476 newCompositeNode(grammarAccess.getModelSymbolRule());
1477 pushFollow(FOLLOW_1);
1478 iv_ruleModelSymbol=ruleModelSymbol();
1479
1480 state._fsp--;
1481
1482 current =iv_ruleModelSymbol;
1483 match(input,EOF,FOLLOW_2);
1484
1485 }
1486
1487 }
1488
1489 catch (RecognitionException re) {
1490 recover(input,re);
1491 appendSkippedTokens();
1492 }
1493 finally {
1494 }
1495 return current;
1496 }
1497 // $ANTLR end "entryRuleModelSymbol"
1498
1499
1500 // $ANTLR start "ruleModelSymbol"
1501 // InternalSolverLanguage.g:519:1: ruleModelSymbol returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ;
1502 public final EObject ruleModelSymbol() throws RecognitionException {
1503 EObject current = null;
1504
1505 Token lv_name_0_0=null;
1506
1507
1508 enterRule();
1509
1510 try {
1511 // InternalSolverLanguage.g:525:2: ( ( (lv_name_0_0= RULE_ID ) ) )
1512 // InternalSolverLanguage.g:526:2: ( (lv_name_0_0= RULE_ID ) )
1513 {
1514 // InternalSolverLanguage.g:526:2: ( (lv_name_0_0= RULE_ID ) )
1515 // InternalSolverLanguage.g:527:3: (lv_name_0_0= RULE_ID )
1516 {
1517 // InternalSolverLanguage.g:527:3: (lv_name_0_0= RULE_ID )
1518 // InternalSolverLanguage.g:528:4: lv_name_0_0= RULE_ID
1519 {
1520 lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2);
1521
1522 newLeafNode(lv_name_0_0, grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0());
1523
1524
1525 if (current==null) {
1526 current = createModelElement(grammarAccess.getModelSymbolRule());
1527 }
1528 setWithLastConsumed(
1529 current,
1530 "name",
1531 lv_name_0_0,
1532 "org.eclipse.xtext.common.Terminals.ID");
1533
1534
1535 }
1536
1537
1538 }
1539
1540
1541 }
1542
1543
1544 leaveRule();
1545
1546 }
1547
1548 catch (RecognitionException re) {
1549 recover(input,re);
1550 appendSkippedTokens();
1551 }
1552 finally {
1553 }
1554 return current;
1555 }
1556 // $ANTLR end "ruleModelSymbol"
1557
1558
1559 // $ANTLR start "entryRulePartialitySymbol"
1560 // InternalSolverLanguage.g:547:1: entryRulePartialitySymbol returns [EObject current=null] : iv_rulePartialitySymbol= rulePartialitySymbol EOF ;
1561 public final EObject entryRulePartialitySymbol() throws RecognitionException {
1562 EObject current = null;
1563
1564 EObject iv_rulePartialitySymbol = null;
1565
1566
1567 try {
1568 // InternalSolverLanguage.g:547:57: (iv_rulePartialitySymbol= rulePartialitySymbol EOF )
1569 // InternalSolverLanguage.g:548:2: iv_rulePartialitySymbol= rulePartialitySymbol EOF
1570 {
1571 newCompositeNode(grammarAccess.getPartialitySymbolRule());
1572 pushFollow(FOLLOW_1);
1573 iv_rulePartialitySymbol=rulePartialitySymbol();
1574
1575 state._fsp--;
1576
1577 current =iv_rulePartialitySymbol;
1578 match(input,EOF,FOLLOW_2);
1579
1580 }
1581
1582 }
1583
1584 catch (RecognitionException re) {
1585 recover(input,re);
1586 appendSkippedTokens();
1587 }
1588 finally {
1589 }
1590 return current;
1591 }
1592 // $ANTLR end "entryRulePartialitySymbol"
1593
1594
1595 // $ANTLR start "rulePartialitySymbol"
1596 // InternalSolverLanguage.g:554:1: rulePartialitySymbol returns [EObject current=null] : (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) ;
1597 public final EObject rulePartialitySymbol() throws RecognitionException {
1598 EObject current = null;
1599
1600 EObject this_ExistSymbol_0 = null;
1601
1602 EObject this_EqualsSymbol_1 = null;
1603
1604
1605
1606 enterRule();
1607
1608 try {
1609 // InternalSolverLanguage.g:560:2: ( (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) )
1610 // InternalSolverLanguage.g:561:2: (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol )
1611 {
1612 // InternalSolverLanguage.g:561:2: (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol )
1613 int alt10=2;
1614 int LA10_0 = input.LA(1);
1615
1616 if ( (LA10_0==20) ) {
1617 alt10=1;
1618 }
1619 else if ( (LA10_0==21) ) {
1620 alt10=2;
1621 }
1622 else {
1623 NoViableAltException nvae =
1624 new NoViableAltException("", 10, 0, input);
1625
1626 throw nvae;
1627 }
1628 switch (alt10) {
1629 case 1 :
1630 // InternalSolverLanguage.g:562:3: this_ExistSymbol_0= ruleExistSymbol
1631 {
1632
1633 newCompositeNode(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0());
1634
1635 pushFollow(FOLLOW_2);
1636 this_ExistSymbol_0=ruleExistSymbol();
1637
1638 state._fsp--;
1639
1640
1641 current = this_ExistSymbol_0;
1642 afterParserOrEnumRuleCall();
1643
1644
1645 }
1646 break;
1647 case 2 :
1648 // InternalSolverLanguage.g:571:3: this_EqualsSymbol_1= ruleEqualsSymbol
1649 {
1650
1651 newCompositeNode(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1());
1652
1653 pushFollow(FOLLOW_2);
1654 this_EqualsSymbol_1=ruleEqualsSymbol();
1655
1656 state._fsp--;
1657
1658
1659 current = this_EqualsSymbol_1;
1660 afterParserOrEnumRuleCall();
1661
1662
1663 }
1664 break;
1665
1666 }
1667
1668
1669 }
1670
1671
1672 leaveRule();
1673
1674 }
1675
1676 catch (RecognitionException re) {
1677 recover(input,re);
1678 appendSkippedTokens();
1679 }
1680 finally {
1681 }
1682 return current;
1683 }
1684 // $ANTLR end "rulePartialitySymbol"
1685
1686
1687 // $ANTLR start "entryRuleExistSymbol"
1688 // InternalSolverLanguage.g:583:1: entryRuleExistSymbol returns [EObject current=null] : iv_ruleExistSymbol= ruleExistSymbol EOF ;
1689 public final EObject entryRuleExistSymbol() throws RecognitionException {
1690 EObject current = null;
1691
1692 EObject iv_ruleExistSymbol = null;
1693
1694
1695 try {
1696 // InternalSolverLanguage.g:583:52: (iv_ruleExistSymbol= ruleExistSymbol EOF )
1697 // InternalSolverLanguage.g:584:2: iv_ruleExistSymbol= ruleExistSymbol EOF
1698 {
1699 newCompositeNode(grammarAccess.getExistSymbolRule());
1700 pushFollow(FOLLOW_1);
1701 iv_ruleExistSymbol=ruleExistSymbol();
1702
1703 state._fsp--;
1704
1705 current =iv_ruleExistSymbol;
1706 match(input,EOF,FOLLOW_2);
1707
1708 }
1709
1710 }
1711
1712 catch (RecognitionException re) {
1713 recover(input,re);
1714 appendSkippedTokens();
1715 }
1716 finally {
1717 }
1718 return current;
1719 }
1720 // $ANTLR end "entryRuleExistSymbol"
1721
1722
1723 // $ANTLR start "ruleExistSymbol"
1724 // InternalSolverLanguage.g:590:1: ruleExistSymbol returns [EObject current=null] : (otherlv_0= 'exists' () ) ;
1725 public final EObject ruleExistSymbol() throws RecognitionException {
1726 EObject current = null;
1727
1728 Token otherlv_0=null;
1729
1730
1731 enterRule();
1732
1733 try {
1734 // InternalSolverLanguage.g:596:2: ( (otherlv_0= 'exists' () ) )
1735 // InternalSolverLanguage.g:597:2: (otherlv_0= 'exists' () )
1736 {
1737 // InternalSolverLanguage.g:597:2: (otherlv_0= 'exists' () )
1738 // InternalSolverLanguage.g:598:3: otherlv_0= 'exists' ()
1739 {
1740 otherlv_0=(Token)match(input,20,FOLLOW_2);
1741
1742 newLeafNode(otherlv_0, grammarAccess.getExistSymbolAccess().getExistsKeyword_0());
1743
1744 // InternalSolverLanguage.g:602:3: ()
1745 // InternalSolverLanguage.g:603:4:
1746 {
1747
1748 current = forceCreateModelElement(
1749 grammarAccess.getExistSymbolAccess().getExistSymbolAction_1(),
1750 current);
1751
1752
1753 }
1754
1755
1756 }
1757
1758
1759 }
1760
1761
1762 leaveRule();
1763
1764 }
1765
1766 catch (RecognitionException re) {
1767 recover(input,re);
1768 appendSkippedTokens();
1769 }
1770 finally {
1771 }
1772 return current;
1773 }
1774 // $ANTLR end "ruleExistSymbol"
1775
1776
1777 // $ANTLR start "entryRuleEqualsSymbol"
1778 // InternalSolverLanguage.g:613:1: entryRuleEqualsSymbol returns [EObject current=null] : iv_ruleEqualsSymbol= ruleEqualsSymbol EOF ;
1779 public final EObject entryRuleEqualsSymbol() throws RecognitionException {
1780 EObject current = null;
1781
1782 EObject iv_ruleEqualsSymbol = null;
1783
1784
1785 try {
1786 // InternalSolverLanguage.g:613:53: (iv_ruleEqualsSymbol= ruleEqualsSymbol EOF )
1787 // InternalSolverLanguage.g:614:2: iv_ruleEqualsSymbol= ruleEqualsSymbol EOF
1788 {
1789 newCompositeNode(grammarAccess.getEqualsSymbolRule());
1790 pushFollow(FOLLOW_1);
1791 iv_ruleEqualsSymbol=ruleEqualsSymbol();
1792
1793 state._fsp--;
1794
1795 current =iv_ruleEqualsSymbol;
1796 match(input,EOF,FOLLOW_2);
1797
1798 }
1799
1800 }
1801
1802 catch (RecognitionException re) {
1803 recover(input,re);
1804 appendSkippedTokens();
1805 }
1806 finally {
1807 }
1808 return current;
1809 }
1810 // $ANTLR end "entryRuleEqualsSymbol"
1811
1812
1813 // $ANTLR start "ruleEqualsSymbol"
1814 // InternalSolverLanguage.g:620:1: ruleEqualsSymbol returns [EObject current=null] : (otherlv_0= 'equals' () ) ;
1815 public final EObject ruleEqualsSymbol() throws RecognitionException {
1816 EObject current = null;
1817
1818 Token otherlv_0=null;
1819
1820
1821 enterRule();
1822
1823 try {
1824 // InternalSolverLanguage.g:626:2: ( (otherlv_0= 'equals' () ) )
1825 // InternalSolverLanguage.g:627:2: (otherlv_0= 'equals' () )
1826 {
1827 // InternalSolverLanguage.g:627:2: (otherlv_0= 'equals' () )
1828 // InternalSolverLanguage.g:628:3: otherlv_0= 'equals' ()
1829 {
1830 otherlv_0=(Token)match(input,21,FOLLOW_2);
1831
1832 newLeafNode(otherlv_0, grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0());
1833
1834 // InternalSolverLanguage.g:632:3: ()
1835 // InternalSolverLanguage.g:633:4:
1836 {
1837
1838 current = forceCreateModelElement(
1839 grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1(),
1840 current);
1841
1842
1843 }
1844
1845
1846 }
1847
1848
1849 }
1850
1851
1852 leaveRule();
1853
1854 }
1855
1856 catch (RecognitionException re) {
1857 recover(input,re);
1858 appendSkippedTokens();
1859 }
1860 finally {
1861 }
1862 return current;
1863 }
1864 // $ANTLR end "ruleEqualsSymbol"
1865
1866
1867 // $ANTLR start "entryRuleDataSymbol"
1868 // InternalSolverLanguage.g:643:1: entryRuleDataSymbol returns [EObject current=null] : iv_ruleDataSymbol= ruleDataSymbol EOF ;
1869 public final EObject entryRuleDataSymbol() throws RecognitionException {
1870 EObject current = null;
1871
1872 EObject iv_ruleDataSymbol = null;
1873
1874
1875 try {
1876 // InternalSolverLanguage.g:643:51: (iv_ruleDataSymbol= ruleDataSymbol EOF )
1877 // InternalSolverLanguage.g:644:2: iv_ruleDataSymbol= ruleDataSymbol EOF
1878 {
1879 newCompositeNode(grammarAccess.getDataSymbolRule());
1880 pushFollow(FOLLOW_1);
1881 iv_ruleDataSymbol=ruleDataSymbol();
1882
1883 state._fsp--;
1884
1885 current =iv_ruleDataSymbol;
1886 match(input,EOF,FOLLOW_2);
1887
1888 }
1889
1890 }
1891
1892 catch (RecognitionException re) {
1893 recover(input,re);
1894 appendSkippedTokens();
1895 }
1896 finally {
1897 }
1898 return current;
1899 }
1900 // $ANTLR end "entryRuleDataSymbol"
1901
1902
1903 // $ANTLR start "ruleDataSymbol"
1904 // InternalSolverLanguage.g:650:1: ruleDataSymbol returns [EObject current=null] : (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) ;
1905 public final EObject ruleDataSymbol() throws RecognitionException {
1906 EObject current = null;
1907
1908 EObject this_BooleanSymbol_0 = null;
1909
1910 EObject this_IntegerSymbol_1 = null;
1911
1912 EObject this_RealSymbol_2 = null;
1913
1914 EObject this_StringSymbol_3 = null;
1915
1916
1917
1918 enterRule();
1919
1920 try {
1921 // InternalSolverLanguage.g:656:2: ( (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) )
1922 // InternalSolverLanguage.g:657:2: (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol )
1923 {
1924 // InternalSolverLanguage.g:657:2: (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol )
1925 int alt11=4;
1926 switch ( input.LA(1) ) {
1927 case 22:
1928 {
1929 alt11=1;
1930 }
1931 break;
1932 case 23:
1933 {
1934 alt11=2;
1935 }
1936 break;
1937 case 24:
1938 {
1939 alt11=3;
1940 }
1941 break;
1942 case 25:
1943 {
1944 alt11=4;
1945 }
1946 break;
1947 default:
1948 NoViableAltException nvae =
1949 new NoViableAltException("", 11, 0, input);
1950
1951 throw nvae;
1952 }
1953
1954 switch (alt11) {
1955 case 1 :
1956 // InternalSolverLanguage.g:658:3: this_BooleanSymbol_0= ruleBooleanSymbol
1957 {
1958
1959 newCompositeNode(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0());
1960
1961 pushFollow(FOLLOW_2);
1962 this_BooleanSymbol_0=ruleBooleanSymbol();
1963
1964 state._fsp--;
1965
1966
1967 current = this_BooleanSymbol_0;
1968 afterParserOrEnumRuleCall();
1969
1970
1971 }
1972 break;
1973 case 2 :
1974 // InternalSolverLanguage.g:667:3: this_IntegerSymbol_1= ruleIntegerSymbol
1975 {
1976
1977 newCompositeNode(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1());
1978
1979 pushFollow(FOLLOW_2);
1980 this_IntegerSymbol_1=ruleIntegerSymbol();
1981
1982 state._fsp--;
1983
1984
1985 current = this_IntegerSymbol_1;
1986 afterParserOrEnumRuleCall();
1987
1988
1989 }
1990 break;
1991 case 3 :
1992 // InternalSolverLanguage.g:676:3: this_RealSymbol_2= ruleRealSymbol
1993 {
1994
1995 newCompositeNode(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2());
1996
1997 pushFollow(FOLLOW_2);
1998 this_RealSymbol_2=ruleRealSymbol();
1999
2000 state._fsp--;
2001
2002
2003 current = this_RealSymbol_2;
2004 afterParserOrEnumRuleCall();
2005
2006
2007 }
2008 break;
2009 case 4 :
2010 // InternalSolverLanguage.g:685:3: this_StringSymbol_3= ruleStringSymbol
2011 {
2012
2013 newCompositeNode(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3());
2014
2015 pushFollow(FOLLOW_2);
2016 this_StringSymbol_3=ruleStringSymbol();
2017
2018 state._fsp--;
2019
2020
2021 current = this_StringSymbol_3;
2022 afterParserOrEnumRuleCall();
2023
2024
2025 }
2026 break;
2027
2028 }
2029
2030
2031 }
2032
2033
2034 leaveRule();
2035
2036 }
2037
2038 catch (RecognitionException re) {
2039 recover(input,re);
2040 appendSkippedTokens();
2041 }
2042 finally {
2043 }
2044 return current;
2045 }
2046 // $ANTLR end "ruleDataSymbol"
2047
2048
2049 // $ANTLR start "entryRuleBooleanSymbol"
2050 // InternalSolverLanguage.g:697:1: entryRuleBooleanSymbol returns [EObject current=null] : iv_ruleBooleanSymbol= ruleBooleanSymbol EOF ;
2051 public final EObject entryRuleBooleanSymbol() throws RecognitionException {
2052 EObject current = null;
2053
2054 EObject iv_ruleBooleanSymbol = null;
2055
2056
2057 try {
2058 // InternalSolverLanguage.g:697:54: (iv_ruleBooleanSymbol= ruleBooleanSymbol EOF )
2059 // InternalSolverLanguage.g:698:2: iv_ruleBooleanSymbol= ruleBooleanSymbol EOF
2060 {
2061 newCompositeNode(grammarAccess.getBooleanSymbolRule());
2062 pushFollow(FOLLOW_1);
2063 iv_ruleBooleanSymbol=ruleBooleanSymbol();
2064
2065 state._fsp--;
2066
2067 current =iv_ruleBooleanSymbol;
2068 match(input,EOF,FOLLOW_2);
2069
2070 }
2071
2072 }
2073
2074 catch (RecognitionException re) {
2075 recover(input,re);
2076 appendSkippedTokens();
2077 }
2078 finally {
2079 }
2080 return current;
2081 }
2082 // $ANTLR end "entryRuleBooleanSymbol"
2083
2084
2085 // $ANTLR start "ruleBooleanSymbol"
2086 // InternalSolverLanguage.g:704:1: ruleBooleanSymbol returns [EObject current=null] : (otherlv_0= 'bool' () ) ;
2087 public final EObject ruleBooleanSymbol() throws RecognitionException {
2088 EObject current = null;
2089
2090 Token otherlv_0=null;
2091
2092
2093 enterRule();
2094
2095 try {
2096 // InternalSolverLanguage.g:710:2: ( (otherlv_0= 'bool' () ) )
2097 // InternalSolverLanguage.g:711:2: (otherlv_0= 'bool' () )
2098 {
2099 // InternalSolverLanguage.g:711:2: (otherlv_0= 'bool' () )
2100 // InternalSolverLanguage.g:712:3: otherlv_0= 'bool' ()
2101 {
2102 otherlv_0=(Token)match(input,22,FOLLOW_2);
2103
2104 newLeafNode(otherlv_0, grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0());
2105
2106 // InternalSolverLanguage.g:716:3: ()
2107 // InternalSolverLanguage.g:717:4:
2108 {
2109
2110 current = forceCreateModelElement(
2111 grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1(),
2112 current);
2113
2114
2115 }
2116
2117
2118 }
2119
2120
2121 }
2122
2123
2124 leaveRule();
2125
2126 }
2127
2128 catch (RecognitionException re) {
2129 recover(input,re);
2130 appendSkippedTokens();
2131 }
2132 finally {
2133 }
2134 return current;
2135 }
2136 // $ANTLR end "ruleBooleanSymbol"
2137
2138
2139 // $ANTLR start "entryRuleIntegerSymbol"
2140 // InternalSolverLanguage.g:727:1: entryRuleIntegerSymbol returns [EObject current=null] : iv_ruleIntegerSymbol= ruleIntegerSymbol EOF ;
2141 public final EObject entryRuleIntegerSymbol() throws RecognitionException {
2142 EObject current = null;
2143
2144 EObject iv_ruleIntegerSymbol = null;
2145
2146
2147 try {
2148 // InternalSolverLanguage.g:727:54: (iv_ruleIntegerSymbol= ruleIntegerSymbol EOF )
2149 // InternalSolverLanguage.g:728:2: iv_ruleIntegerSymbol= ruleIntegerSymbol EOF
2150 {
2151 newCompositeNode(grammarAccess.getIntegerSymbolRule());
2152 pushFollow(FOLLOW_1);
2153 iv_ruleIntegerSymbol=ruleIntegerSymbol();
2154
2155 state._fsp--;
2156
2157 current =iv_ruleIntegerSymbol;
2158 match(input,EOF,FOLLOW_2);
2159
2160 }
2161
2162 }
2163
2164 catch (RecognitionException re) {
2165 recover(input,re);
2166 appendSkippedTokens();
2167 }
2168 finally {
2169 }
2170 return current;
2171 }
2172 // $ANTLR end "entryRuleIntegerSymbol"
2173
2174
2175 // $ANTLR start "ruleIntegerSymbol"
2176 // InternalSolverLanguage.g:734:1: ruleIntegerSymbol returns [EObject current=null] : (otherlv_0= 'int' () ) ;
2177 public final EObject ruleIntegerSymbol() throws RecognitionException {
2178 EObject current = null;
2179
2180 Token otherlv_0=null;
2181
2182
2183 enterRule();
2184
2185 try {
2186 // InternalSolverLanguage.g:740:2: ( (otherlv_0= 'int' () ) )
2187 // InternalSolverLanguage.g:741:2: (otherlv_0= 'int' () )
2188 {
2189 // InternalSolverLanguage.g:741:2: (otherlv_0= 'int' () )
2190 // InternalSolverLanguage.g:742:3: otherlv_0= 'int' ()
2191 {
2192 otherlv_0=(Token)match(input,23,FOLLOW_2);
2193
2194 newLeafNode(otherlv_0, grammarAccess.getIntegerSymbolAccess().getIntKeyword_0());
2195
2196 // InternalSolverLanguage.g:746:3: ()
2197 // InternalSolverLanguage.g:747:4:
2198 {
2199
2200 current = forceCreateModelElement(
2201 grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1(),
2202 current);
2203
2204
2205 }
2206
2207
2208 }
2209
2210
2211 }
2212
2213
2214 leaveRule();
2215
2216 }
2217
2218 catch (RecognitionException re) {
2219 recover(input,re);
2220 appendSkippedTokens();
2221 }
2222 finally {
2223 }
2224 return current;
2225 }
2226 // $ANTLR end "ruleIntegerSymbol"
2227
2228
2229 // $ANTLR start "entryRuleRealSymbol"
2230 // InternalSolverLanguage.g:757:1: entryRuleRealSymbol returns [EObject current=null] : iv_ruleRealSymbol= ruleRealSymbol EOF ;
2231 public final EObject entryRuleRealSymbol() throws RecognitionException {
2232 EObject current = null;
2233
2234 EObject iv_ruleRealSymbol = null;
2235
2236
2237 try {
2238 // InternalSolverLanguage.g:757:51: (iv_ruleRealSymbol= ruleRealSymbol EOF )
2239 // InternalSolverLanguage.g:758:2: iv_ruleRealSymbol= ruleRealSymbol EOF
2240 {
2241 newCompositeNode(grammarAccess.getRealSymbolRule());
2242 pushFollow(FOLLOW_1);
2243 iv_ruleRealSymbol=ruleRealSymbol();
2244
2245 state._fsp--;
2246
2247 current =iv_ruleRealSymbol;
2248 match(input,EOF,FOLLOW_2);
2249
2250 }
2251
2252 }
2253
2254 catch (RecognitionException re) {
2255 recover(input,re);
2256 appendSkippedTokens();
2257 }
2258 finally {
2259 }
2260 return current;
2261 }
2262 // $ANTLR end "entryRuleRealSymbol"
2263
2264
2265 // $ANTLR start "ruleRealSymbol"
2266 // InternalSolverLanguage.g:764:1: ruleRealSymbol returns [EObject current=null] : (otherlv_0= 'real' () ) ;
2267 public final EObject ruleRealSymbol() throws RecognitionException {
2268 EObject current = null;
2269
2270 Token otherlv_0=null;
2271
2272
2273 enterRule();
2274
2275 try {
2276 // InternalSolverLanguage.g:770:2: ( (otherlv_0= 'real' () ) )
2277 // InternalSolverLanguage.g:771:2: (otherlv_0= 'real' () )
2278 {
2279 // InternalSolverLanguage.g:771:2: (otherlv_0= 'real' () )
2280 // InternalSolverLanguage.g:772:3: otherlv_0= 'real' ()
2281 {
2282 otherlv_0=(Token)match(input,24,FOLLOW_2);
2283
2284 newLeafNode(otherlv_0, grammarAccess.getRealSymbolAccess().getRealKeyword_0());
2285
2286 // InternalSolverLanguage.g:776:3: ()
2287 // InternalSolverLanguage.g:777:4:
2288 {
2289
2290 current = forceCreateModelElement(
2291 grammarAccess.getRealSymbolAccess().getRealSymbolAction_1(),
2292 current);
2293
2294
2295 }
2296
2297
2298 }
2299
2300
2301 }
2302
2303
2304 leaveRule();
2305
2306 }
2307
2308 catch (RecognitionException re) {
2309 recover(input,re);
2310 appendSkippedTokens();
2311 }
2312 finally {
2313 }
2314 return current;
2315 }
2316 // $ANTLR end "ruleRealSymbol"
2317
2318
2319 // $ANTLR start "entryRuleStringSymbol"
2320 // InternalSolverLanguage.g:787:1: entryRuleStringSymbol returns [EObject current=null] : iv_ruleStringSymbol= ruleStringSymbol EOF ;
2321 public final EObject entryRuleStringSymbol() throws RecognitionException {
2322 EObject current = null;
2323
2324 EObject iv_ruleStringSymbol = null;
2325
2326
2327 try {
2328 // InternalSolverLanguage.g:787:53: (iv_ruleStringSymbol= ruleStringSymbol EOF )
2329 // InternalSolverLanguage.g:788:2: iv_ruleStringSymbol= ruleStringSymbol EOF
2330 {
2331 newCompositeNode(grammarAccess.getStringSymbolRule());
2332 pushFollow(FOLLOW_1);
2333 iv_ruleStringSymbol=ruleStringSymbol();
2334
2335 state._fsp--;
2336
2337 current =iv_ruleStringSymbol;
2338 match(input,EOF,FOLLOW_2);
2339
2340 }
2341
2342 }
2343
2344 catch (RecognitionException re) {
2345 recover(input,re);
2346 appendSkippedTokens();
2347 }
2348 finally {
2349 }
2350 return current;
2351 }
2352 // $ANTLR end "entryRuleStringSymbol"
2353
2354
2355 // $ANTLR start "ruleStringSymbol"
2356 // InternalSolverLanguage.g:794:1: ruleStringSymbol returns [EObject current=null] : (otherlv_0= 'string' () ) ;
2357 public final EObject ruleStringSymbol() throws RecognitionException {
2358 EObject current = null;
2359
2360 Token otherlv_0=null;
2361
2362
2363 enterRule();
2364
2365 try {
2366 // InternalSolverLanguage.g:800:2: ( (otherlv_0= 'string' () ) )
2367 // InternalSolverLanguage.g:801:2: (otherlv_0= 'string' () )
2368 {
2369 // InternalSolverLanguage.g:801:2: (otherlv_0= 'string' () )
2370 // InternalSolverLanguage.g:802:3: otherlv_0= 'string' ()
2371 {
2372 otherlv_0=(Token)match(input,25,FOLLOW_2);
2373
2374 newLeafNode(otherlv_0, grammarAccess.getStringSymbolAccess().getStringKeyword_0());
2375
2376 // InternalSolverLanguage.g:806:3: ()
2377 // InternalSolverLanguage.g:807:4:
2378 {
2379
2380 current = forceCreateModelElement(
2381 grammarAccess.getStringSymbolAccess().getStringSymbolAction_1(),
2382 current);
2383
2384
2385 }
2386
2387
2388 }
2389
2390
2391 }
2392
2393
2394 leaveRule();
2395
2396 }
2397
2398 catch (RecognitionException re) {
2399 recover(input,re);
2400 appendSkippedTokens();
2401 }
2402 finally {
2403 }
2404 return current;
2405 }
2406 // $ANTLR end "ruleStringSymbol"
2407
2408
2409 // $ANTLR start "entryRuleComplexObject"
2410 // InternalSolverLanguage.g:817:1: entryRuleComplexObject returns [EObject current=null] : iv_ruleComplexObject= ruleComplexObject EOF ;
2411 public final EObject entryRuleComplexObject() throws RecognitionException {
2412 EObject current = null;
2413
2414 EObject iv_ruleComplexObject = null;
2415
2416
2417 try {
2418 // InternalSolverLanguage.g:817:54: (iv_ruleComplexObject= ruleComplexObject EOF )
2419 // InternalSolverLanguage.g:818:2: iv_ruleComplexObject= ruleComplexObject EOF
2420 {
2421 newCompositeNode(grammarAccess.getComplexObjectRule());
2422 pushFollow(FOLLOW_1);
2423 iv_ruleComplexObject=ruleComplexObject();
2424
2425 state._fsp--;
2426
2427 current =iv_ruleComplexObject;
2428 match(input,EOF,FOLLOW_2);
2429
2430 }
2431
2432 }
2433
2434 catch (RecognitionException re) {
2435 recover(input,re);
2436 appendSkippedTokens();
2437 }
2438 finally {
2439 }
2440 return current;
2441 }
2442 // $ANTLR end "entryRuleComplexObject"
2443
2444
2445 // $ANTLR start "ruleComplexObject"
2446 // InternalSolverLanguage.g:824:1: ruleComplexObject returns [EObject current=null] : (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) ;
2447 public final EObject ruleComplexObject() throws RecognitionException {
2448 EObject current = null;
2449
2450 EObject this_Object_0 = null;
2451
2452 EObject this_AllInstances_1 = null;
2453
2454 EObject this_AllObjects_2 = null;
2455
2456
2457
2458 enterRule();
2459
2460 try {
2461 // InternalSolverLanguage.g:830:2: ( (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) )
2462 // InternalSolverLanguage.g:831:2: (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects )
2463 {
2464 // InternalSolverLanguage.g:831:2: (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects )
2465 int alt12=3;
2466 switch ( input.LA(1) ) {
2467 case RULE_INT:
2468 case RULE_ID:
2469 case RULE_STRING:
2470 case 11:
2471 case 13:
2472 case 14:
2473 case 26:
2474 {
2475 alt12=1;
2476 }
2477 break;
2478 case 19:
2479 {
2480 alt12=2;
2481 }
2482 break;
2483 case 30:
2484 {
2485 alt12=3;
2486 }
2487 break;
2488 default:
2489 NoViableAltException nvae =
2490 new NoViableAltException("", 12, 0, input);
2491
2492 throw nvae;
2493 }
2494
2495 switch (alt12) {
2496 case 1 :
2497 // InternalSolverLanguage.g:832:3: this_Object_0= ruleObject
2498 {
2499
2500 newCompositeNode(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0());
2501
2502 pushFollow(FOLLOW_2);
2503 this_Object_0=ruleObject();
2504
2505 state._fsp--;
2506
2507
2508 current = this_Object_0;
2509 afterParserOrEnumRuleCall();
2510
2511
2512 }
2513 break;
2514 case 2 :
2515 // InternalSolverLanguage.g:841:3: this_AllInstances_1= ruleAllInstances
2516 {
2517
2518 newCompositeNode(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1());
2519
2520 pushFollow(FOLLOW_2);
2521 this_AllInstances_1=ruleAllInstances();
2522
2523 state._fsp--;
2524
2525
2526 current = this_AllInstances_1;
2527 afterParserOrEnumRuleCall();
2528
2529
2530 }
2531 break;
2532 case 3 :
2533 // InternalSolverLanguage.g:850:3: this_AllObjects_2= ruleAllObjects
2534 {
2535
2536 newCompositeNode(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2());
2537
2538 pushFollow(FOLLOW_2);
2539 this_AllObjects_2=ruleAllObjects();
2540
2541 state._fsp--;
2542
2543
2544 current = this_AllObjects_2;
2545 afterParserOrEnumRuleCall();
2546
2547
2548 }
2549 break;
2550
2551 }
2552
2553
2554 }
2555
2556
2557 leaveRule();
2558
2559 }
2560
2561 catch (RecognitionException re) {
2562 recover(input,re);
2563 appendSkippedTokens();
2564 }
2565 finally {
2566 }
2567 return current;
2568 }
2569 // $ANTLR end "ruleComplexObject"
2570
2571
2572 // $ANTLR start "entryRuleObject"
2573 // InternalSolverLanguage.g:862:1: entryRuleObject returns [EObject current=null] : iv_ruleObject= ruleObject EOF ;
2574 public final EObject entryRuleObject() throws RecognitionException {
2575 EObject current = null;
2576
2577 EObject iv_ruleObject = null;
2578
2579
2580 try {
2581 // InternalSolverLanguage.g:862:47: (iv_ruleObject= ruleObject EOF )
2582 // InternalSolverLanguage.g:863:2: iv_ruleObject= ruleObject EOF
2583 {
2584 newCompositeNode(grammarAccess.getObjectRule());
2585 pushFollow(FOLLOW_1);
2586 iv_ruleObject=ruleObject();
2587
2588 state._fsp--;
2589
2590 current =iv_ruleObject;
2591 match(input,EOF,FOLLOW_2);
2592
2593 }
2594
2595 }
2596
2597 catch (RecognitionException re) {
2598 recover(input,re);
2599 appendSkippedTokens();
2600 }
2601 finally {
2602 }
2603 return current;
2604 }
2605 // $ANTLR end "entryRuleObject"
2606
2607
2608 // $ANTLR start "ruleObject"
2609 // InternalSolverLanguage.g:869:1: ruleObject returns [EObject current=null] : (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) ;
2610 public final EObject ruleObject() throws RecognitionException {
2611 EObject current = null;
2612
2613 EObject this_NamedObject_0 = null;
2614
2615 EObject this_UnnamedObject_1 = null;
2616
2617 EObject this_DataObject_2 = null;
2618
2619
2620
2621 enterRule();
2622
2623 try {
2624 // InternalSolverLanguage.g:875:2: ( (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) )
2625 // InternalSolverLanguage.g:876:2: (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject )
2626 {
2627 // InternalSolverLanguage.g:876:2: (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject )
2628 int alt13=3;
2629 switch ( input.LA(1) ) {
2630 case 26:
2631 {
2632 alt13=1;
2633 }
2634 break;
2635 case RULE_ID:
2636 {
2637 alt13=2;
2638 }
2639 break;
2640 case RULE_INT:
2641 case RULE_STRING:
2642 case 11:
2643 case 13:
2644 case 14:
2645 {
2646 alt13=3;
2647 }
2648 break;
2649 default:
2650 NoViableAltException nvae =
2651 new NoViableAltException("", 13, 0, input);
2652
2653 throw nvae;
2654 }
2655
2656 switch (alt13) {
2657 case 1 :
2658 // InternalSolverLanguage.g:877:3: this_NamedObject_0= ruleNamedObject
2659 {
2660
2661 newCompositeNode(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0());
2662
2663 pushFollow(FOLLOW_2);
2664 this_NamedObject_0=ruleNamedObject();
2665
2666 state._fsp--;
2667
2668
2669 current = this_NamedObject_0;
2670 afterParserOrEnumRuleCall();
2671
2672
2673 }
2674 break;
2675 case 2 :
2676 // InternalSolverLanguage.g:886:3: this_UnnamedObject_1= ruleUnnamedObject
2677 {
2678
2679 newCompositeNode(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1());
2680
2681 pushFollow(FOLLOW_2);
2682 this_UnnamedObject_1=ruleUnnamedObject();
2683
2684 state._fsp--;
2685
2686
2687 current = this_UnnamedObject_1;
2688 afterParserOrEnumRuleCall();
2689
2690
2691 }
2692 break;
2693 case 3 :
2694 // InternalSolverLanguage.g:895:3: this_DataObject_2= ruleDataObject
2695 {
2696
2697 newCompositeNode(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2());
2698
2699 pushFollow(FOLLOW_2);
2700 this_DataObject_2=ruleDataObject();
2701
2702 state._fsp--;
2703
2704
2705 current = this_DataObject_2;
2706 afterParserOrEnumRuleCall();
2707
2708
2709 }
2710 break;
2711
2712 }
2713
2714
2715 }
2716
2717
2718 leaveRule();
2719
2720 }
2721
2722 catch (RecognitionException re) {
2723 recover(input,re);
2724 appendSkippedTokens();
2725 }
2726 finally {
2727 }
2728 return current;
2729 }
2730 // $ANTLR end "ruleObject"
2731
2732
2733 // $ANTLR start "entryRuleNamedObject"
2734 // InternalSolverLanguage.g:907:1: entryRuleNamedObject returns [EObject current=null] : iv_ruleNamedObject= ruleNamedObject EOF ;
2735 public final EObject entryRuleNamedObject() throws RecognitionException {
2736 EObject current = null;
2737
2738 EObject iv_ruleNamedObject = null;
2739
2740
2741 try {
2742 // InternalSolverLanguage.g:907:52: (iv_ruleNamedObject= ruleNamedObject EOF )
2743 // InternalSolverLanguage.g:908:2: iv_ruleNamedObject= ruleNamedObject EOF
2744 {
2745 newCompositeNode(grammarAccess.getNamedObjectRule());
2746 pushFollow(FOLLOW_1);
2747 iv_ruleNamedObject=ruleNamedObject();
2748
2749 state._fsp--;
2750
2751 current =iv_ruleNamedObject;
2752 match(input,EOF,FOLLOW_2);
2753
2754 }
2755
2756 }
2757
2758 catch (RecognitionException re) {
2759 recover(input,re);
2760 appendSkippedTokens();
2761 }
2762 finally {
2763 }
2764 return current;
2765 }
2766 // $ANTLR end "entryRuleNamedObject"
2767
2768
2769 // $ANTLR start "ruleNamedObject"
2770 // InternalSolverLanguage.g:914:1: ruleNamedObject returns [EObject current=null] : (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) ;
2771 public final EObject ruleNamedObject() throws RecognitionException {
2772 EObject current = null;
2773
2774 Token otherlv_0=null;
2775 Token lv_name_1_0=null;
2776 Token otherlv_2=null;
2777
2778
2779 enterRule();
2780
2781 try {
2782 // InternalSolverLanguage.g:920:2: ( (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) )
2783 // InternalSolverLanguage.g:921:2: (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' )
2784 {
2785 // InternalSolverLanguage.g:921:2: (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' )
2786 // InternalSolverLanguage.g:922:3: otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\''
2787 {
2788 otherlv_0=(Token)match(input,26,FOLLOW_10);
2789
2790 newLeafNode(otherlv_0, grammarAccess.getNamedObjectAccess().getApostropheKeyword_0());
2791
2792 // InternalSolverLanguage.g:926:3: ( (lv_name_1_0= RULE_ID ) )
2793 // InternalSolverLanguage.g:927:4: (lv_name_1_0= RULE_ID )
2794 {
2795 // InternalSolverLanguage.g:927:4: (lv_name_1_0= RULE_ID )
2796 // InternalSolverLanguage.g:928:5: lv_name_1_0= RULE_ID
2797 {
2798 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_11);
2799
2800 newLeafNode(lv_name_1_0, grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0());
2801
2802
2803 if (current==null) {
2804 current = createModelElement(grammarAccess.getNamedObjectRule());
2805 }
2806 setWithLastConsumed(
2807 current,
2808 "name",
2809 lv_name_1_0,
2810 "org.eclipse.xtext.common.Terminals.ID");
2811
2812
2813 }
2814
2815
2816 }
2817
2818 otherlv_2=(Token)match(input,26,FOLLOW_2);
2819
2820 newLeafNode(otherlv_2, grammarAccess.getNamedObjectAccess().getApostropheKeyword_2());
2821
2822
2823 }
2824
2825
2826 }
2827
2828
2829 leaveRule();
2830
2831 }
2832
2833 catch (RecognitionException re) {
2834 recover(input,re);
2835 appendSkippedTokens();
2836 }
2837 finally {
2838 }
2839 return current;
2840 }
2841 // $ANTLR end "ruleNamedObject"
2842
2843
2844 // $ANTLR start "entryRuleUnnamedObject"
2845 // InternalSolverLanguage.g:952:1: entryRuleUnnamedObject returns [EObject current=null] : iv_ruleUnnamedObject= ruleUnnamedObject EOF ;
2846 public final EObject entryRuleUnnamedObject() throws RecognitionException {
2847 EObject current = null;
2848
2849 EObject iv_ruleUnnamedObject = null;
2850
2851
2852 try {
2853 // InternalSolverLanguage.g:952:54: (iv_ruleUnnamedObject= ruleUnnamedObject EOF )
2854 // InternalSolverLanguage.g:953:2: iv_ruleUnnamedObject= ruleUnnamedObject EOF
2855 {
2856 newCompositeNode(grammarAccess.getUnnamedObjectRule());
2857 pushFollow(FOLLOW_1);
2858 iv_ruleUnnamedObject=ruleUnnamedObject();
2859
2860 state._fsp--;
2861
2862 current =iv_ruleUnnamedObject;
2863 match(input,EOF,FOLLOW_2);
2864
2865 }
2866
2867 }
2868
2869 catch (RecognitionException re) {
2870 recover(input,re);
2871 appendSkippedTokens();
2872 }
2873 finally {
2874 }
2875 return current;
2876 }
2877 // $ANTLR end "entryRuleUnnamedObject"
2878
2879
2880 // $ANTLR start "ruleUnnamedObject"
2881 // InternalSolverLanguage.g:959:1: ruleUnnamedObject returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ;
2882 public final EObject ruleUnnamedObject() throws RecognitionException {
2883 EObject current = null;
2884
2885 Token lv_name_0_0=null;
2886
2887
2888 enterRule();
2889
2890 try {
2891 // InternalSolverLanguage.g:965:2: ( ( (lv_name_0_0= RULE_ID ) ) )
2892 // InternalSolverLanguage.g:966:2: ( (lv_name_0_0= RULE_ID ) )
2893 {
2894 // InternalSolverLanguage.g:966:2: ( (lv_name_0_0= RULE_ID ) )
2895 // InternalSolverLanguage.g:967:3: (lv_name_0_0= RULE_ID )
2896 {
2897 // InternalSolverLanguage.g:967:3: (lv_name_0_0= RULE_ID )
2898 // InternalSolverLanguage.g:968:4: lv_name_0_0= RULE_ID
2899 {
2900 lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2);
2901
2902 newLeafNode(lv_name_0_0, grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0());
2903
2904
2905 if (current==null) {
2906 current = createModelElement(grammarAccess.getUnnamedObjectRule());
2907 }
2908 setWithLastConsumed(
2909 current,
2910 "name",
2911 lv_name_0_0,
2912 "org.eclipse.xtext.common.Terminals.ID");
2913
2914
2915 }
2916
2917
2918 }
2919
2920
2921 }
2922
2923
2924 leaveRule();
2925
2926 }
2927
2928 catch (RecognitionException re) {
2929 recover(input,re);
2930 appendSkippedTokens();
2931 }
2932 finally {
2933 }
2934 return current;
2935 }
2936 // $ANTLR end "ruleUnnamedObject"
2937
2938
2939 // $ANTLR start "entryRuleDataObject"
2940 // InternalSolverLanguage.g:987:1: entryRuleDataObject returns [EObject current=null] : iv_ruleDataObject= ruleDataObject EOF ;
2941 public final EObject entryRuleDataObject() throws RecognitionException {
2942 EObject current = null;
2943
2944 EObject iv_ruleDataObject = null;
2945
2946
2947 try {
2948 // InternalSolverLanguage.g:987:51: (iv_ruleDataObject= ruleDataObject EOF )
2949 // InternalSolverLanguage.g:988:2: iv_ruleDataObject= ruleDataObject EOF
2950 {
2951 newCompositeNode(grammarAccess.getDataObjectRule());
2952 pushFollow(FOLLOW_1);
2953 iv_ruleDataObject=ruleDataObject();
2954
2955 state._fsp--;
2956
2957 current =iv_ruleDataObject;
2958 match(input,EOF,FOLLOW_2);
2959
2960 }
2961
2962 }
2963
2964 catch (RecognitionException re) {
2965 recover(input,re);
2966 appendSkippedTokens();
2967 }
2968 finally {
2969 }
2970 return current;
2971 }
2972 // $ANTLR end "entryRuleDataObject"
2973
2974
2975 // $ANTLR start "ruleDataObject"
2976 // InternalSolverLanguage.g:994:1: ruleDataObject returns [EObject current=null] : (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) ;
2977 public final EObject ruleDataObject() throws RecognitionException {
2978 EObject current = null;
2979
2980 EObject this_BooleanObject_0 = null;
2981
2982 EObject this_IntObject_1 = null;
2983
2984 EObject this_RealObject_2 = null;
2985
2986 EObject this_StringObject_3 = null;
2987
2988
2989
2990 enterRule();
2991
2992 try {
2993 // InternalSolverLanguage.g:1000:2: ( (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) )
2994 // InternalSolverLanguage.g:1001:2: (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject )
2995 {
2996 // InternalSolverLanguage.g:1001:2: (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject )
2997 int alt14=4;
2998 switch ( input.LA(1) ) {
2999 case 13:
3000 case 14:
3001 {
3002 alt14=1;
3003 }
3004 break;
3005 case 11:
3006 {
3007 int LA14_2 = input.LA(2);
3008
3009 if ( (LA14_2==RULE_INT) ) {
3010 int LA14_3 = input.LA(3);
3011
3012 if ( (LA14_3==12) ) {
3013 alt14=3;
3014 }
3015 else if ( (LA14_3==EOF||(LA14_3>=RULE_INT && LA14_3<=RULE_STRING)||LA14_3==11||(LA14_3>=13 && LA14_3<=14)||(LA14_3>=18 && LA14_3<=19)||LA14_3==26||LA14_3==30) ) {
3016 alt14=2;
3017 }
3018 else {
3019 NoViableAltException nvae =
3020 new NoViableAltException("", 14, 3, input);
3021
3022 throw nvae;
3023 }
3024 }
3025 else {
3026 NoViableAltException nvae =
3027 new NoViableAltException("", 14, 2, input);
3028
3029 throw nvae;
3030 }
3031 }
3032 break;
3033 case RULE_INT:
3034 {
3035 int LA14_3 = input.LA(2);
3036
3037 if ( (LA14_3==12) ) {
3038 alt14=3;
3039 }
3040 else if ( (LA14_3==EOF||(LA14_3>=RULE_INT && LA14_3<=RULE_STRING)||LA14_3==11||(LA14_3>=13 && LA14_3<=14)||(LA14_3>=18 && LA14_3<=19)||LA14_3==26||LA14_3==30) ) {
3041 alt14=2;
3042 }
3043 else {
3044 NoViableAltException nvae =
3045 new NoViableAltException("", 14, 3, input);
3046
3047 throw nvae;
3048 }
3049 }
3050 break;
3051 case RULE_STRING:
3052 {
3053 alt14=4;
3054 }
3055 break;
3056 default:
3057 NoViableAltException nvae =
3058 new NoViableAltException("", 14, 0, input);
3059
3060 throw nvae;
3061 }
3062
3063 switch (alt14) {
3064 case 1 :
3065 // InternalSolverLanguage.g:1002:3: this_BooleanObject_0= ruleBooleanObject
3066 {
3067
3068 newCompositeNode(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0());
3069
3070 pushFollow(FOLLOW_2);
3071 this_BooleanObject_0=ruleBooleanObject();
3072
3073 state._fsp--;
3074
3075
3076 current = this_BooleanObject_0;
3077 afterParserOrEnumRuleCall();
3078
3079
3080 }
3081 break;
3082 case 2 :
3083 // InternalSolverLanguage.g:1011:3: this_IntObject_1= ruleIntObject
3084 {
3085
3086 newCompositeNode(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1());
3087
3088 pushFollow(FOLLOW_2);
3089 this_IntObject_1=ruleIntObject();
3090
3091 state._fsp--;
3092
3093
3094 current = this_IntObject_1;
3095 afterParserOrEnumRuleCall();
3096
3097
3098 }
3099 break;
3100 case 3 :
3101 // InternalSolverLanguage.g:1020:3: this_RealObject_2= ruleRealObject
3102 {
3103
3104 newCompositeNode(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2());
3105
3106 pushFollow(FOLLOW_2);
3107 this_RealObject_2=ruleRealObject();
3108
3109 state._fsp--;
3110
3111
3112 current = this_RealObject_2;
3113 afterParserOrEnumRuleCall();
3114
3115
3116 }
3117 break;
3118 case 4 :
3119 // InternalSolverLanguage.g:1029:3: this_StringObject_3= ruleStringObject
3120 {
3121
3122 newCompositeNode(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3());
3123
3124 pushFollow(FOLLOW_2);
3125 this_StringObject_3=ruleStringObject();
3126
3127 state._fsp--;
3128
3129
3130 current = this_StringObject_3;
3131 afterParserOrEnumRuleCall();
3132
3133
3134 }
3135 break;
3136
3137 }
3138
3139
3140 }
3141
3142
3143 leaveRule();
3144
3145 }
3146
3147 catch (RecognitionException re) {
3148 recover(input,re);
3149 appendSkippedTokens();
3150 }
3151 finally {
3152 }
3153 return current;
3154 }
3155 // $ANTLR end "ruleDataObject"
3156
3157
3158 // $ANTLR start "entryRuleBooleanObject"
3159 // InternalSolverLanguage.g:1041:1: entryRuleBooleanObject returns [EObject current=null] : iv_ruleBooleanObject= ruleBooleanObject EOF ;
3160 public final EObject entryRuleBooleanObject() throws RecognitionException {
3161 EObject current = null;
3162
3163 EObject iv_ruleBooleanObject = null;
3164
3165
3166 try {
3167 // InternalSolverLanguage.g:1041:54: (iv_ruleBooleanObject= ruleBooleanObject EOF )
3168 // InternalSolverLanguage.g:1042:2: iv_ruleBooleanObject= ruleBooleanObject EOF
3169 {
3170 newCompositeNode(grammarAccess.getBooleanObjectRule());
3171 pushFollow(FOLLOW_1);
3172 iv_ruleBooleanObject=ruleBooleanObject();
3173
3174 state._fsp--;
3175
3176 current =iv_ruleBooleanObject;
3177 match(input,EOF,FOLLOW_2);
3178
3179 }
3180
3181 }
3182
3183 catch (RecognitionException re) {
3184 recover(input,re);
3185 appendSkippedTokens();
3186 }
3187 finally {
3188 }
3189 return current;
3190 }
3191 // $ANTLR end "entryRuleBooleanObject"
3192
3193
3194 // $ANTLR start "ruleBooleanObject"
3195 // InternalSolverLanguage.g:1048:1: ruleBooleanObject returns [EObject current=null] : ( (lv_value_0_0= ruleBooleanValue ) ) ;
3196 public final EObject ruleBooleanObject() throws RecognitionException {
3197 EObject current = null;
3198
3199 EObject lv_value_0_0 = null;
3200
3201
3202
3203 enterRule();
3204
3205 try {
3206 // InternalSolverLanguage.g:1054:2: ( ( (lv_value_0_0= ruleBooleanValue ) ) )
3207 // InternalSolverLanguage.g:1055:2: ( (lv_value_0_0= ruleBooleanValue ) )
3208 {
3209 // InternalSolverLanguage.g:1055:2: ( (lv_value_0_0= ruleBooleanValue ) )
3210 // InternalSolverLanguage.g:1056:3: (lv_value_0_0= ruleBooleanValue )
3211 {
3212 // InternalSolverLanguage.g:1056:3: (lv_value_0_0= ruleBooleanValue )
3213 // InternalSolverLanguage.g:1057:4: lv_value_0_0= ruleBooleanValue
3214 {
3215
3216 newCompositeNode(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0());
3217
3218 pushFollow(FOLLOW_2);
3219 lv_value_0_0=ruleBooleanValue();
3220
3221 state._fsp--;
3222
3223
3224 if (current==null) {
3225 current = createModelElementForParent(grammarAccess.getBooleanObjectRule());
3226 }
3227 set(
3228 current,
3229 "value",
3230 lv_value_0_0,
3231 "org.eclipse.viatra.solver.language.SolverLanguage.BooleanValue");
3232 afterParserOrEnumRuleCall();
3233
3234
3235 }
3236
3237
3238 }
3239
3240
3241 }
3242
3243
3244 leaveRule();
3245
3246 }
3247
3248 catch (RecognitionException re) {
3249 recover(input,re);
3250 appendSkippedTokens();
3251 }
3252 finally {
3253 }
3254 return current;
3255 }
3256 // $ANTLR end "ruleBooleanObject"
3257
3258
3259 // $ANTLR start "entryRuleIntObject"
3260 // InternalSolverLanguage.g:1077:1: entryRuleIntObject returns [EObject current=null] : iv_ruleIntObject= ruleIntObject EOF ;
3261 public final EObject entryRuleIntObject() throws RecognitionException {
3262 EObject current = null;
3263
3264 EObject iv_ruleIntObject = null;
3265
3266
3267 try {
3268 // InternalSolverLanguage.g:1077:50: (iv_ruleIntObject= ruleIntObject EOF )
3269 // InternalSolverLanguage.g:1078:2: iv_ruleIntObject= ruleIntObject EOF
3270 {
3271 newCompositeNode(grammarAccess.getIntObjectRule());
3272 pushFollow(FOLLOW_1);
3273 iv_ruleIntObject=ruleIntObject();
3274
3275 state._fsp--;
3276
3277 current =iv_ruleIntObject;
3278 match(input,EOF,FOLLOW_2);
3279
3280 }
3281
3282 }
3283
3284 catch (RecognitionException re) {
3285 recover(input,re);
3286 appendSkippedTokens();
3287 }
3288 finally {
3289 }
3290 return current;
3291 }
3292 // $ANTLR end "entryRuleIntObject"
3293
3294
3295 // $ANTLR start "ruleIntObject"
3296 // InternalSolverLanguage.g:1084:1: ruleIntObject returns [EObject current=null] : ( (lv_value_0_0= ruleINTLiteral ) ) ;
3297 public final EObject ruleIntObject() throws RecognitionException {
3298 EObject current = null;
3299
3300 AntlrDatatypeRuleToken lv_value_0_0 = null;
3301
3302
3303
3304 enterRule();
3305
3306 try {
3307 // InternalSolverLanguage.g:1090:2: ( ( (lv_value_0_0= ruleINTLiteral ) ) )
3308 // InternalSolverLanguage.g:1091:2: ( (lv_value_0_0= ruleINTLiteral ) )
3309 {
3310 // InternalSolverLanguage.g:1091:2: ( (lv_value_0_0= ruleINTLiteral ) )
3311 // InternalSolverLanguage.g:1092:3: (lv_value_0_0= ruleINTLiteral )
3312 {
3313 // InternalSolverLanguage.g:1092:3: (lv_value_0_0= ruleINTLiteral )
3314 // InternalSolverLanguage.g:1093:4: lv_value_0_0= ruleINTLiteral
3315 {
3316
3317 newCompositeNode(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0());
3318
3319 pushFollow(FOLLOW_2);
3320 lv_value_0_0=ruleINTLiteral();
3321
3322 state._fsp--;
3323
3324
3325 if (current==null) {
3326 current = createModelElementForParent(grammarAccess.getIntObjectRule());
3327 }
3328 set(
3329 current,
3330 "value",
3331 lv_value_0_0,
3332 "org.eclipse.viatra.solver.language.SolverLanguage.INTLiteral");
3333 afterParserOrEnumRuleCall();
3334
3335
3336 }
3337
3338
3339 }
3340
3341
3342 }
3343
3344
3345 leaveRule();
3346
3347 }
3348
3349 catch (RecognitionException re) {
3350 recover(input,re);
3351 appendSkippedTokens();
3352 }
3353 finally {
3354 }
3355 return current;
3356 }
3357 // $ANTLR end "ruleIntObject"
3358
3359
3360 // $ANTLR start "entryRuleRealObject"
3361 // InternalSolverLanguage.g:1113:1: entryRuleRealObject returns [EObject current=null] : iv_ruleRealObject= ruleRealObject EOF ;
3362 public final EObject entryRuleRealObject() throws RecognitionException {
3363 EObject current = null;
3364
3365 EObject iv_ruleRealObject = null;
3366
3367
3368 try {
3369 // InternalSolverLanguage.g:1113:51: (iv_ruleRealObject= ruleRealObject EOF )
3370 // InternalSolverLanguage.g:1114:2: iv_ruleRealObject= ruleRealObject EOF
3371 {
3372 newCompositeNode(grammarAccess.getRealObjectRule());
3373 pushFollow(FOLLOW_1);
3374 iv_ruleRealObject=ruleRealObject();
3375
3376 state._fsp--;
3377
3378 current =iv_ruleRealObject;
3379 match(input,EOF,FOLLOW_2);
3380
3381 }
3382
3383 }
3384
3385 catch (RecognitionException re) {
3386 recover(input,re);
3387 appendSkippedTokens();
3388 }
3389 finally {
3390 }
3391 return current;
3392 }
3393 // $ANTLR end "entryRuleRealObject"
3394
3395
3396 // $ANTLR start "ruleRealObject"
3397 // InternalSolverLanguage.g:1120:1: ruleRealObject returns [EObject current=null] : ( (lv_value_0_0= ruleREALLiteral ) ) ;
3398 public final EObject ruleRealObject() throws RecognitionException {
3399 EObject current = null;
3400
3401 AntlrDatatypeRuleToken lv_value_0_0 = null;
3402
3403
3404
3405 enterRule();
3406
3407 try {
3408 // InternalSolverLanguage.g:1126:2: ( ( (lv_value_0_0= ruleREALLiteral ) ) )
3409 // InternalSolverLanguage.g:1127:2: ( (lv_value_0_0= ruleREALLiteral ) )
3410 {
3411 // InternalSolverLanguage.g:1127:2: ( (lv_value_0_0= ruleREALLiteral ) )
3412 // InternalSolverLanguage.g:1128:3: (lv_value_0_0= ruleREALLiteral )
3413 {
3414 // InternalSolverLanguage.g:1128:3: (lv_value_0_0= ruleREALLiteral )
3415 // InternalSolverLanguage.g:1129:4: lv_value_0_0= ruleREALLiteral
3416 {
3417
3418 newCompositeNode(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0());
3419
3420 pushFollow(FOLLOW_2);
3421 lv_value_0_0=ruleREALLiteral();
3422
3423 state._fsp--;
3424
3425
3426 if (current==null) {
3427 current = createModelElementForParent(grammarAccess.getRealObjectRule());
3428 }
3429 set(
3430 current,
3431 "value",
3432 lv_value_0_0,
3433 "org.eclipse.viatra.solver.language.SolverLanguage.REALLiteral");
3434 afterParserOrEnumRuleCall();
3435
3436
3437 }
3438
3439
3440 }
3441
3442
3443 }
3444
3445
3446 leaveRule();
3447
3448 }
3449
3450 catch (RecognitionException re) {
3451 recover(input,re);
3452 appendSkippedTokens();
3453 }
3454 finally {
3455 }
3456 return current;
3457 }
3458 // $ANTLR end "ruleRealObject"
3459
3460
3461 // $ANTLR start "entryRuleStringObject"
3462 // InternalSolverLanguage.g:1149:1: entryRuleStringObject returns [EObject current=null] : iv_ruleStringObject= ruleStringObject EOF ;
3463 public final EObject entryRuleStringObject() throws RecognitionException {
3464 EObject current = null;
3465
3466 EObject iv_ruleStringObject = null;
3467
3468
3469 try {
3470 // InternalSolverLanguage.g:1149:53: (iv_ruleStringObject= ruleStringObject EOF )
3471 // InternalSolverLanguage.g:1150:2: iv_ruleStringObject= ruleStringObject EOF
3472 {
3473 newCompositeNode(grammarAccess.getStringObjectRule());
3474 pushFollow(FOLLOW_1);
3475 iv_ruleStringObject=ruleStringObject();
3476
3477 state._fsp--;
3478
3479 current =iv_ruleStringObject;
3480 match(input,EOF,FOLLOW_2);
3481
3482 }
3483
3484 }
3485
3486 catch (RecognitionException re) {
3487 recover(input,re);
3488 appendSkippedTokens();
3489 }
3490 finally {
3491 }
3492 return current;
3493 }
3494 // $ANTLR end "entryRuleStringObject"
3495
3496
3497 // $ANTLR start "ruleStringObject"
3498 // InternalSolverLanguage.g:1156:1: ruleStringObject returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ;
3499 public final EObject ruleStringObject() throws RecognitionException {
3500 EObject current = null;
3501
3502 Token lv_value_0_0=null;
3503
3504
3505 enterRule();
3506
3507 try {
3508 // InternalSolverLanguage.g:1162:2: ( ( (lv_value_0_0= RULE_STRING ) ) )
3509 // InternalSolverLanguage.g:1163:2: ( (lv_value_0_0= RULE_STRING ) )
3510 {
3511 // InternalSolverLanguage.g:1163:2: ( (lv_value_0_0= RULE_STRING ) )
3512 // InternalSolverLanguage.g:1164:3: (lv_value_0_0= RULE_STRING )
3513 {
3514 // InternalSolverLanguage.g:1164:3: (lv_value_0_0= RULE_STRING )
3515 // InternalSolverLanguage.g:1165:4: lv_value_0_0= RULE_STRING
3516 {
3517 lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2);
3518
3519 newLeafNode(lv_value_0_0, grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0());
3520
3521
3522 if (current==null) {
3523 current = createModelElement(grammarAccess.getStringObjectRule());
3524 }
3525 setWithLastConsumed(
3526 current,
3527 "value",
3528 lv_value_0_0,
3529 "org.eclipse.viatra.solver.language.SolverLanguage.STRING");
3530
3531
3532 }
3533
3534
3535 }
3536
3537
3538 }
3539
3540
3541 leaveRule();
3542
3543 }
3544
3545 catch (RecognitionException re) {
3546 recover(input,re);
3547 appendSkippedTokens();
3548 }
3549 finally {
3550 }
3551 return current;
3552 }
3553 // $ANTLR end "ruleStringObject"
3554
3555
3556 // $ANTLR start "entryRulePredicate"
3557 // InternalSolverLanguage.g:1184:1: entryRulePredicate returns [EObject current=null] : iv_rulePredicate= rulePredicate EOF ;
3558 public final EObject entryRulePredicate() throws RecognitionException {
3559 EObject current = null;
3560
3561 EObject iv_rulePredicate = null;
3562
3563
3564 try {
3565 // InternalSolverLanguage.g:1184:50: (iv_rulePredicate= rulePredicate EOF )
3566 // InternalSolverLanguage.g:1185:2: iv_rulePredicate= rulePredicate EOF
3567 {
3568 newCompositeNode(grammarAccess.getPredicateRule());
3569 pushFollow(FOLLOW_1);
3570 iv_rulePredicate=rulePredicate();
3571
3572 state._fsp--;
3573
3574 current =iv_rulePredicate;
3575 match(input,EOF,FOLLOW_2);
3576
3577 }
3578
3579 }
3580
3581 catch (RecognitionException re) {
3582 recover(input,re);
3583 appendSkippedTokens();
3584 }
3585 finally {
3586 }
3587 return current;
3588 }
3589 // $ANTLR end "entryRulePredicate"
3590
3591
3592 // $ANTLR start "rulePredicate"
3593 // InternalSolverLanguage.g:1191:1: rulePredicate returns [EObject current=null] : (this_PredicateSymbol_0= rulePredicateSymbol | this_ErrorPredicate_1= ruleErrorPredicate ) ;
3594 public final EObject rulePredicate() throws RecognitionException {
3595 EObject current = null;
3596
3597 EObject this_PredicateSymbol_0 = null;
3598
3599 EObject this_ErrorPredicate_1 = null;
3600
3601
3602
3603 enterRule();
3604
3605 try {
3606 // InternalSolverLanguage.g:1197:2: ( (this_PredicateSymbol_0= rulePredicateSymbol | this_ErrorPredicate_1= ruleErrorPredicate ) )
3607 // InternalSolverLanguage.g:1198:2: (this_PredicateSymbol_0= rulePredicateSymbol | this_ErrorPredicate_1= ruleErrorPredicate )
3608 {
3609 // InternalSolverLanguage.g:1198:2: (this_PredicateSymbol_0= rulePredicateSymbol | this_ErrorPredicate_1= ruleErrorPredicate )
3610 int alt15=2;
3611 int LA15_0 = input.LA(1);
3612
3613 if ( (LA15_0==27) ) {
3614 alt15=1;
3615 }
3616 else if ( (LA15_0==16) ) {
3617 alt15=2;
3618 }
3619 else {
3620 NoViableAltException nvae =
3621 new NoViableAltException("", 15, 0, input);
3622
3623 throw nvae;
3624 }
3625 switch (alt15) {
3626 case 1 :
3627 // InternalSolverLanguage.g:1199:3: this_PredicateSymbol_0= rulePredicateSymbol
3628 {
3629
3630 newCompositeNode(grammarAccess.getPredicateAccess().getPredicateSymbolParserRuleCall_0());
3631
3632 pushFollow(FOLLOW_2);
3633 this_PredicateSymbol_0=rulePredicateSymbol();
3634
3635 state._fsp--;
3636
3637
3638 current = this_PredicateSymbol_0;
3639 afterParserOrEnumRuleCall();
3640
3641
3642 }
3643 break;
3644 case 2 :
3645 // InternalSolverLanguage.g:1208:3: this_ErrorPredicate_1= ruleErrorPredicate
3646 {
3647
3648 newCompositeNode(grammarAccess.getPredicateAccess().getErrorPredicateParserRuleCall_1());
3649
3650 pushFollow(FOLLOW_2);
3651 this_ErrorPredicate_1=ruleErrorPredicate();
3652
3653 state._fsp--;
3654
3655
3656 current = this_ErrorPredicate_1;
3657 afterParserOrEnumRuleCall();
3658
3659
3660 }
3661 break;
3662
3663 }
3664
3665
3666 }
3667
3668
3669 leaveRule();
3670
3671 }
3672
3673 catch (RecognitionException re) {
3674 recover(input,re);
3675 appendSkippedTokens();
3676 }
3677 finally {
3678 }
3679 return current;
3680 }
3681 // $ANTLR end "rulePredicate"
3682
3683
3684 // $ANTLR start "entryRulePredicateSymbol"
3685 // InternalSolverLanguage.g:1220:1: entryRulePredicateSymbol returns [EObject current=null] : iv_rulePredicateSymbol= rulePredicateSymbol EOF ;
3686 public final EObject entryRulePredicateSymbol() throws RecognitionException {
3687 EObject current = null;
3688
3689 EObject iv_rulePredicateSymbol = null;
3690
3691
3692 try {
3693 // InternalSolverLanguage.g:1220:56: (iv_rulePredicateSymbol= rulePredicateSymbol EOF )
3694 // InternalSolverLanguage.g:1221:2: iv_rulePredicateSymbol= rulePredicateSymbol EOF
3695 {
3696 newCompositeNode(grammarAccess.getPredicateSymbolRule());
3697 pushFollow(FOLLOW_1);
3698 iv_rulePredicateSymbol=rulePredicateSymbol();
3699
3700 state._fsp--;
3701
3702 current =iv_rulePredicateSymbol;
3703 match(input,EOF,FOLLOW_2);
3704
3705 }
3706
3707 }
3708
3709 catch (RecognitionException re) {
3710 recover(input,re);
3711 appendSkippedTokens();
3712 }
3713 finally {
3714 }
3715 return current;
3716 }
3717 // $ANTLR end "entryRulePredicateSymbol"
3718
3719
3720 // $ANTLR start "rulePredicateSymbol"
3721 // InternalSolverLanguage.g:1227:1: rulePredicateSymbol returns [EObject current=null] : (otherlv_0= 'predicate' ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= '(' ( (lv_parameters_3_0= ruleParameter ) )* otherlv_4= ')' otherlv_5= ':' (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) otherlv_10= '.' ) ;
3722 public final EObject rulePredicateSymbol() throws RecognitionException {
3723 EObject current = null;
3724
3725 Token otherlv_0=null;
3726 Token otherlv_2=null;
3727 Token otherlv_4=null;
3728 Token otherlv_5=null;
3729 Token otherlv_6=null;
3730 Token otherlv_8=null;
3731 Token otherlv_10=null;
3732 EObject lv_symbol_1_0 = null;
3733
3734 EObject lv_parameters_3_0 = null;
3735
3736 EObject lv_bodies_7_0 = null;
3737
3738 EObject lv_bodies_9_0 = null;
3739
3740
3741
3742 enterRule();
3743
3744 try {
3745 // InternalSolverLanguage.g:1233:2: ( (otherlv_0= 'predicate' ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= '(' ( (lv_parameters_3_0= ruleParameter ) )* otherlv_4= ')' otherlv_5= ':' (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) otherlv_10= '.' ) )
3746 // InternalSolverLanguage.g:1234:2: (otherlv_0= 'predicate' ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= '(' ( (lv_parameters_3_0= ruleParameter ) )* otherlv_4= ')' otherlv_5= ':' (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) otherlv_10= '.' )
3747 {
3748 // InternalSolverLanguage.g:1234:2: (otherlv_0= 'predicate' ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= '(' ( (lv_parameters_3_0= ruleParameter ) )* otherlv_4= ')' otherlv_5= ':' (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) otherlv_10= '.' )
3749 // InternalSolverLanguage.g:1235:3: otherlv_0= 'predicate' ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= '(' ( (lv_parameters_3_0= ruleParameter ) )* otherlv_4= ')' otherlv_5= ':' (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) otherlv_10= '.'
3750 {
3751 otherlv_0=(Token)match(input,27,FOLLOW_10);
3752
3753 newLeafNode(otherlv_0, grammarAccess.getPredicateSymbolAccess().getPredicateKeyword_0());
3754
3755 // InternalSolverLanguage.g:1239:3: ( (lv_symbol_1_0= ruleModelSymbol ) )
3756 // InternalSolverLanguage.g:1240:4: (lv_symbol_1_0= ruleModelSymbol )
3757 {
3758 // InternalSolverLanguage.g:1240:4: (lv_symbol_1_0= ruleModelSymbol )
3759 // InternalSolverLanguage.g:1241:5: lv_symbol_1_0= ruleModelSymbol
3760 {
3761
3762 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getSymbolModelSymbolParserRuleCall_1_0());
3763
3764 pushFollow(FOLLOW_6);
3765 lv_symbol_1_0=ruleModelSymbol();
3766
3767 state._fsp--;
3768
3769
3770 if (current==null) {
3771 current = createModelElementForParent(grammarAccess.getPredicateSymbolRule());
3772 }
3773 set(
3774 current,
3775 "symbol",
3776 lv_symbol_1_0,
3777 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
3778 afterParserOrEnumRuleCall();
3779
3780
3781 }
3782
3783
3784 }
3785
3786 otherlv_2=(Token)match(input,17,FOLLOW_12);
3787
3788 newLeafNode(otherlv_2, grammarAccess.getPredicateSymbolAccess().getLeftParenthesisKeyword_2());
3789
3790 // InternalSolverLanguage.g:1262:3: ( (lv_parameters_3_0= ruleParameter ) )*
3791 loop16:
3792 do {
3793 int alt16=2;
3794 int LA16_0 = input.LA(1);
3795
3796 if ( (LA16_0==RULE_ID) ) {
3797 alt16=1;
3798 }
3799
3800
3801 switch (alt16) {
3802 case 1 :
3803 // InternalSolverLanguage.g:1263:4: (lv_parameters_3_0= ruleParameter )
3804 {
3805 // InternalSolverLanguage.g:1263:4: (lv_parameters_3_0= ruleParameter )
3806 // InternalSolverLanguage.g:1264:5: lv_parameters_3_0= ruleParameter
3807 {
3808
3809 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getParametersParameterParserRuleCall_3_0());
3810
3811 pushFollow(FOLLOW_12);
3812 lv_parameters_3_0=ruleParameter();
3813
3814 state._fsp--;
3815
3816
3817 if (current==null) {
3818 current = createModelElementForParent(grammarAccess.getPredicateSymbolRule());
3819 }
3820 add(
3821 current,
3822 "parameters",
3823 lv_parameters_3_0,
3824 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
3825 afterParserOrEnumRuleCall();
3826
3827
3828 }
3829
3830
3831 }
3832 break;
3833
3834 default :
3835 break loop16;
3836 }
3837 } while (true);
3838
3839 otherlv_4=(Token)match(input,18,FOLLOW_8);
3840
3841 newLeafNode(otherlv_4, grammarAccess.getPredicateSymbolAccess().getRightParenthesisKeyword_4());
3842
3843 otherlv_5=(Token)match(input,19,FOLLOW_13);
3844
3845 newLeafNode(otherlv_5, grammarAccess.getPredicateSymbolAccess().getColonKeyword_5());
3846
3847 // InternalSolverLanguage.g:1289:3: (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) )
3848 int alt18=2;
3849 int LA18_0 = input.LA(1);
3850
3851 if ( (LA18_0==14) ) {
3852 alt18=1;
3853 }
3854 else if ( (LA18_0==EOF||LA18_0==RULE_ID||(LA18_0>=11 && LA18_0<=13)||(LA18_0>=28 && LA18_0<=29)) ) {
3855 alt18=2;
3856 }
3857 else {
3858 NoViableAltException nvae =
3859 new NoViableAltException("", 18, 0, input);
3860
3861 throw nvae;
3862 }
3863 switch (alt18) {
3864 case 1 :
3865 // InternalSolverLanguage.g:1290:4: otherlv_6= 'false'
3866 {
3867 otherlv_6=(Token)match(input,14,FOLLOW_5);
3868
3869 newLeafNode(otherlv_6, grammarAccess.getPredicateSymbolAccess().getFalseKeyword_6_0());
3870
3871
3872 }
3873 break;
3874 case 2 :
3875 // InternalSolverLanguage.g:1295:4: ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* )
3876 {
3877 // InternalSolverLanguage.g:1295:4: ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* )
3878 // InternalSolverLanguage.g:1296:5: ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )*
3879 {
3880 // InternalSolverLanguage.g:1296:5: ( (lv_bodies_7_0= rulePatternBody ) )
3881 // InternalSolverLanguage.g:1297:6: (lv_bodies_7_0= rulePatternBody )
3882 {
3883 // InternalSolverLanguage.g:1297:6: (lv_bodies_7_0= rulePatternBody )
3884 // InternalSolverLanguage.g:1298:7: lv_bodies_7_0= rulePatternBody
3885 {
3886
3887 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getBodiesPatternBodyParserRuleCall_6_1_0_0());
3888
3889 pushFollow(FOLLOW_14);
3890 lv_bodies_7_0=rulePatternBody();
3891
3892 state._fsp--;
3893
3894
3895 if (current==null) {
3896 current = createModelElementForParent(grammarAccess.getPredicateSymbolRule());
3897 }
3898 add(
3899 current,
3900 "bodies",
3901 lv_bodies_7_0,
3902 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
3903 afterParserOrEnumRuleCall();
3904
3905
3906 }
3907
3908
3909 }
3910
3911 // InternalSolverLanguage.g:1315:5: (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )*
3912 loop17:
3913 do {
3914 int alt17=2;
3915 int LA17_0 = input.LA(1);
3916
3917 if ( (LA17_0==28) ) {
3918 alt17=1;
3919 }
3920
3921
3922 switch (alt17) {
3923 case 1 :
3924 // InternalSolverLanguage.g:1316:6: otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) )
3925 {
3926 otherlv_8=(Token)match(input,28,FOLLOW_15);
3927
3928 newLeafNode(otherlv_8, grammarAccess.getPredicateSymbolAccess().getVerticalLineKeyword_6_1_1_0());
3929
3930 // InternalSolverLanguage.g:1320:6: ( (lv_bodies_9_0= rulePatternBody ) )
3931 // InternalSolverLanguage.g:1321:7: (lv_bodies_9_0= rulePatternBody )
3932 {
3933 // InternalSolverLanguage.g:1321:7: (lv_bodies_9_0= rulePatternBody )
3934 // InternalSolverLanguage.g:1322:8: lv_bodies_9_0= rulePatternBody
3935 {
3936
3937 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getBodiesPatternBodyParserRuleCall_6_1_1_1_0());
3938
3939 pushFollow(FOLLOW_14);
3940 lv_bodies_9_0=rulePatternBody();
3941
3942 state._fsp--;
3943
3944
3945 if (current==null) {
3946 current = createModelElementForParent(grammarAccess.getPredicateSymbolRule());
3947 }
3948 add(
3949 current,
3950 "bodies",
3951 lv_bodies_9_0,
3952 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
3953 afterParserOrEnumRuleCall();
3954
3955
3956 }
3957
3958
3959 }
3960
3961
3962 }
3963 break;
3964
3965 default :
3966 break loop17;
3967 }
3968 } while (true);
3969
3970
3971 }
3972
3973
3974 }
3975 break;
3976
3977 }
3978
3979 otherlv_10=(Token)match(input,12,FOLLOW_2);
3980
3981 newLeafNode(otherlv_10, grammarAccess.getPredicateSymbolAccess().getFullStopKeyword_7());
3982
3983
3984 }
3985
3986
3987 }
3988
3989
3990 leaveRule();
3991
3992 }
3993
3994 catch (RecognitionException re) {
3995 recover(input,re);
3996 appendSkippedTokens();
3997 }
3998 finally {
3999 }
4000 return current;
4001 }
4002 // $ANTLR end "rulePredicateSymbol"
4003
4004
4005 // $ANTLR start "entryRuleErrorPredicate"
4006 // InternalSolverLanguage.g:1350:1: entryRuleErrorPredicate returns [EObject current=null] : iv_ruleErrorPredicate= ruleErrorPredicate EOF ;
4007 public final EObject entryRuleErrorPredicate() throws RecognitionException {
4008 EObject current = null;
4009
4010 EObject iv_ruleErrorPredicate = null;
4011
4012
4013 try {
4014 // InternalSolverLanguage.g:1350:55: (iv_ruleErrorPredicate= ruleErrorPredicate EOF )
4015 // InternalSolverLanguage.g:1351:2: iv_ruleErrorPredicate= ruleErrorPredicate EOF
4016 {
4017 newCompositeNode(grammarAccess.getErrorPredicateRule());
4018 pushFollow(FOLLOW_1);
4019 iv_ruleErrorPredicate=ruleErrorPredicate();
4020
4021 state._fsp--;
4022
4023 current =iv_ruleErrorPredicate;
4024 match(input,EOF,FOLLOW_2);
4025
4026 }
4027
4028 }
4029
4030 catch (RecognitionException re) {
4031 recover(input,re);
4032 appendSkippedTokens();
4033 }
4034 finally {
4035 }
4036 return current;
4037 }
4038 // $ANTLR end "entryRuleErrorPredicate"
4039
4040
4041 // $ANTLR start "ruleErrorPredicate"
4042 // InternalSolverLanguage.g:1357:1: ruleErrorPredicate returns [EObject current=null] : ( () otherlv_1= 'error' ( (lv_name_2_0= RULE_ID ) )? (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) otherlv_6= ':' (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) otherlv_11= '.' ) ;
4043 public final EObject ruleErrorPredicate() throws RecognitionException {
4044 EObject current = null;
4045
4046 Token otherlv_1=null;
4047 Token lv_name_2_0=null;
4048 Token otherlv_3=null;
4049 Token otherlv_5=null;
4050 Token otherlv_6=null;
4051 Token otherlv_7=null;
4052 Token otherlv_9=null;
4053 Token otherlv_11=null;
4054 EObject lv_parameters_4_0 = null;
4055
4056 EObject lv_bodies_8_0 = null;
4057
4058 EObject lv_bodies_10_0 = null;
4059
4060
4061
4062 enterRule();
4063
4064 try {
4065 // InternalSolverLanguage.g:1363:2: ( ( () otherlv_1= 'error' ( (lv_name_2_0= RULE_ID ) )? (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) otherlv_6= ':' (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) otherlv_11= '.' ) )
4066 // InternalSolverLanguage.g:1364:2: ( () otherlv_1= 'error' ( (lv_name_2_0= RULE_ID ) )? (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) otherlv_6= ':' (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) otherlv_11= '.' )
4067 {
4068 // InternalSolverLanguage.g:1364:2: ( () otherlv_1= 'error' ( (lv_name_2_0= RULE_ID ) )? (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) otherlv_6= ':' (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) otherlv_11= '.' )
4069 // InternalSolverLanguage.g:1365:3: () otherlv_1= 'error' ( (lv_name_2_0= RULE_ID ) )? (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) otherlv_6= ':' (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) otherlv_11= '.'
4070 {
4071 // InternalSolverLanguage.g:1365:3: ()
4072 // InternalSolverLanguage.g:1366:4:
4073 {
4074
4075 current = forceCreateModelElement(
4076 grammarAccess.getErrorPredicateAccess().getErrorPredicateAction_0(),
4077 current);
4078
4079
4080 }
4081
4082 otherlv_1=(Token)match(input,16,FOLLOW_16);
4083
4084 newLeafNode(otherlv_1, grammarAccess.getErrorPredicateAccess().getErrorKeyword_1());
4085
4086 // InternalSolverLanguage.g:1376:3: ( (lv_name_2_0= RULE_ID ) )?
4087 int alt19=2;
4088 int LA19_0 = input.LA(1);
4089
4090 if ( (LA19_0==RULE_ID) ) {
4091 alt19=1;
4092 }
4093 switch (alt19) {
4094 case 1 :
4095 // InternalSolverLanguage.g:1377:4: (lv_name_2_0= RULE_ID )
4096 {
4097 // InternalSolverLanguage.g:1377:4: (lv_name_2_0= RULE_ID )
4098 // InternalSolverLanguage.g:1378:5: lv_name_2_0= RULE_ID
4099 {
4100 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_6);
4101
4102 newLeafNode(lv_name_2_0, grammarAccess.getErrorPredicateAccess().getNameIDTerminalRuleCall_2_0());
4103
4104
4105 if (current==null) {
4106 current = createModelElement(grammarAccess.getErrorPredicateRule());
4107 }
4108 setWithLastConsumed(
4109 current,
4110 "name",
4111 lv_name_2_0,
4112 "org.eclipse.xtext.common.Terminals.ID");
4113
4114
4115 }
4116
4117
4118 }
4119 break;
4120
4121 }
4122
4123 // InternalSolverLanguage.g:1394:3: (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' )
4124 // InternalSolverLanguage.g:1395:4: otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')'
4125 {
4126 otherlv_3=(Token)match(input,17,FOLLOW_12);
4127
4128 newLeafNode(otherlv_3, grammarAccess.getErrorPredicateAccess().getLeftParenthesisKeyword_3_0());
4129
4130 // InternalSolverLanguage.g:1399:4: ( (lv_parameters_4_0= ruleParameter ) )*
4131 loop20:
4132 do {
4133 int alt20=2;
4134 int LA20_0 = input.LA(1);
4135
4136 if ( (LA20_0==RULE_ID) ) {
4137 alt20=1;
4138 }
4139
4140
4141 switch (alt20) {
4142 case 1 :
4143 // InternalSolverLanguage.g:1400:5: (lv_parameters_4_0= ruleParameter )
4144 {
4145 // InternalSolverLanguage.g:1400:5: (lv_parameters_4_0= ruleParameter )
4146 // InternalSolverLanguage.g:1401:6: lv_parameters_4_0= ruleParameter
4147 {
4148
4149 newCompositeNode(grammarAccess.getErrorPredicateAccess().getParametersParameterParserRuleCall_3_1_0());
4150
4151 pushFollow(FOLLOW_12);
4152 lv_parameters_4_0=ruleParameter();
4153
4154 state._fsp--;
4155
4156
4157 if (current==null) {
4158 current = createModelElementForParent(grammarAccess.getErrorPredicateRule());
4159 }
4160 add(
4161 current,
4162 "parameters",
4163 lv_parameters_4_0,
4164 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
4165 afterParserOrEnumRuleCall();
4166
4167
4168 }
4169
4170
4171 }
4172 break;
4173
4174 default :
4175 break loop20;
4176 }
4177 } while (true);
4178
4179 otherlv_5=(Token)match(input,18,FOLLOW_8);
4180
4181 newLeafNode(otherlv_5, grammarAccess.getErrorPredicateAccess().getRightParenthesisKeyword_3_2());
4182
4183
4184 }
4185
4186 otherlv_6=(Token)match(input,19,FOLLOW_13);
4187
4188 newLeafNode(otherlv_6, grammarAccess.getErrorPredicateAccess().getColonKeyword_4());
4189
4190 // InternalSolverLanguage.g:1427:3: (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) )
4191 int alt22=2;
4192 int LA22_0 = input.LA(1);
4193
4194 if ( (LA22_0==14) ) {
4195 alt22=1;
4196 }
4197 else if ( (LA22_0==EOF||LA22_0==RULE_ID||(LA22_0>=11 && LA22_0<=13)||(LA22_0>=28 && LA22_0<=29)) ) {
4198 alt22=2;
4199 }
4200 else {
4201 NoViableAltException nvae =
4202 new NoViableAltException("", 22, 0, input);
4203
4204 throw nvae;
4205 }
4206 switch (alt22) {
4207 case 1 :
4208 // InternalSolverLanguage.g:1428:4: otherlv_7= 'false'
4209 {
4210 otherlv_7=(Token)match(input,14,FOLLOW_5);
4211
4212 newLeafNode(otherlv_7, grammarAccess.getErrorPredicateAccess().getFalseKeyword_5_0());
4213
4214
4215 }
4216 break;
4217 case 2 :
4218 // InternalSolverLanguage.g:1433:4: ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* )
4219 {
4220 // InternalSolverLanguage.g:1433:4: ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* )
4221 // InternalSolverLanguage.g:1434:5: ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )*
4222 {
4223 // InternalSolverLanguage.g:1434:5: ( (lv_bodies_8_0= rulePatternBody ) )
4224 // InternalSolverLanguage.g:1435:6: (lv_bodies_8_0= rulePatternBody )
4225 {
4226 // InternalSolverLanguage.g:1435:6: (lv_bodies_8_0= rulePatternBody )
4227 // InternalSolverLanguage.g:1436:7: lv_bodies_8_0= rulePatternBody
4228 {
4229
4230 newCompositeNode(grammarAccess.getErrorPredicateAccess().getBodiesPatternBodyParserRuleCall_5_1_0_0());
4231
4232 pushFollow(FOLLOW_14);
4233 lv_bodies_8_0=rulePatternBody();
4234
4235 state._fsp--;
4236
4237
4238 if (current==null) {
4239 current = createModelElementForParent(grammarAccess.getErrorPredicateRule());
4240 }
4241 add(
4242 current,
4243 "bodies",
4244 lv_bodies_8_0,
4245 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
4246 afterParserOrEnumRuleCall();
4247
4248
4249 }
4250
4251
4252 }
4253
4254 // InternalSolverLanguage.g:1453:5: (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )*
4255 loop21:
4256 do {
4257 int alt21=2;
4258 int LA21_0 = input.LA(1);
4259
4260 if ( (LA21_0==28) ) {
4261 alt21=1;
4262 }
4263
4264
4265 switch (alt21) {
4266 case 1 :
4267 // InternalSolverLanguage.g:1454:6: otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) )
4268 {
4269 otherlv_9=(Token)match(input,28,FOLLOW_15);
4270
4271 newLeafNode(otherlv_9, grammarAccess.getErrorPredicateAccess().getVerticalLineKeyword_5_1_1_0());
4272
4273 // InternalSolverLanguage.g:1458:6: ( (lv_bodies_10_0= rulePatternBody ) )
4274 // InternalSolverLanguage.g:1459:7: (lv_bodies_10_0= rulePatternBody )
4275 {
4276 // InternalSolverLanguage.g:1459:7: (lv_bodies_10_0= rulePatternBody )
4277 // InternalSolverLanguage.g:1460:8: lv_bodies_10_0= rulePatternBody
4278 {
4279
4280 newCompositeNode(grammarAccess.getErrorPredicateAccess().getBodiesPatternBodyParserRuleCall_5_1_1_1_0());
4281
4282 pushFollow(FOLLOW_14);
4283 lv_bodies_10_0=rulePatternBody();
4284
4285 state._fsp--;
4286
4287
4288 if (current==null) {
4289 current = createModelElementForParent(grammarAccess.getErrorPredicateRule());
4290 }
4291 add(
4292 current,
4293 "bodies",
4294 lv_bodies_10_0,
4295 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
4296 afterParserOrEnumRuleCall();
4297
4298
4299 }
4300
4301
4302 }
4303
4304
4305 }
4306 break;
4307
4308 default :
4309 break loop21;
4310 }
4311 } while (true);
4312
4313
4314 }
4315
4316
4317 }
4318 break;
4319
4320 }
4321
4322 otherlv_11=(Token)match(input,12,FOLLOW_2);
4323
4324 newLeafNode(otherlv_11, grammarAccess.getErrorPredicateAccess().getFullStopKeyword_6());
4325
4326
4327 }
4328
4329
4330 }
4331
4332
4333 leaveRule();
4334
4335 }
4336
4337 catch (RecognitionException re) {
4338 recover(input,re);
4339 appendSkippedTokens();
4340 }
4341 finally {
4342 }
4343 return current;
4344 }
4345 // $ANTLR end "ruleErrorPredicate"
4346
4347
4348 // $ANTLR start "entryRuleParameter"
4349 // InternalSolverLanguage.g:1488:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
4350 public final EObject entryRuleParameter() throws RecognitionException {
4351 EObject current = null;
4352
4353 EObject iv_ruleParameter = null;
4354
4355
4356 try {
4357 // InternalSolverLanguage.g:1488:50: (iv_ruleParameter= ruleParameter EOF )
4358 // InternalSolverLanguage.g:1489:2: iv_ruleParameter= ruleParameter EOF
4359 {
4360 newCompositeNode(grammarAccess.getParameterRule());
4361 pushFollow(FOLLOW_1);
4362 iv_ruleParameter=ruleParameter();
4363
4364 state._fsp--;
4365
4366 current =iv_ruleParameter;
4367 match(input,EOF,FOLLOW_2);
4368
4369 }
4370
4371 }
4372
4373 catch (RecognitionException re) {
4374 recover(input,re);
4375 appendSkippedTokens();
4376 }
4377 finally {
4378 }
4379 return current;
4380 }
4381 // $ANTLR end "entryRuleParameter"
4382
4383
4384 // $ANTLR start "ruleParameter"
4385 // InternalSolverLanguage.g:1495:1: ruleParameter returns [EObject current=null] : ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) ;
4386 public final EObject ruleParameter() throws RecognitionException {
4387 EObject current = null;
4388
4389 Token otherlv_1=null;
4390 EObject lv_variable_0_0 = null;
4391
4392 EObject lv_type_2_0 = null;
4393
4394
4395
4396 enterRule();
4397
4398 try {
4399 // InternalSolverLanguage.g:1501:2: ( ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) )
4400 // InternalSolverLanguage.g:1502:2: ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? )
4401 {
4402 // InternalSolverLanguage.g:1502:2: ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? )
4403 // InternalSolverLanguage.g:1503:3: ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )?
4404 {
4405 // InternalSolverLanguage.g:1503:3: ( (lv_variable_0_0= ruleVariable ) )
4406 // InternalSolverLanguage.g:1504:4: (lv_variable_0_0= ruleVariable )
4407 {
4408 // InternalSolverLanguage.g:1504:4: (lv_variable_0_0= ruleVariable )
4409 // InternalSolverLanguage.g:1505:5: lv_variable_0_0= ruleVariable
4410 {
4411
4412 newCompositeNode(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0());
4413
4414 pushFollow(FOLLOW_17);
4415 lv_variable_0_0=ruleVariable();
4416
4417 state._fsp--;
4418
4419
4420 if (current==null) {
4421 current = createModelElementForParent(grammarAccess.getParameterRule());
4422 }
4423 set(
4424 current,
4425 "variable",
4426 lv_variable_0_0,
4427 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
4428 afterParserOrEnumRuleCall();
4429
4430
4431 }
4432
4433
4434 }
4435
4436 // InternalSolverLanguage.g:1522:3: (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )?
4437 int alt23=2;
4438 int LA23_0 = input.LA(1);
4439
4440 if ( (LA23_0==19) ) {
4441 alt23=1;
4442 }
4443 switch (alt23) {
4444 case 1 :
4445 // InternalSolverLanguage.g:1523:4: otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) )
4446 {
4447 otherlv_1=(Token)match(input,19,FOLLOW_18);
4448
4449 newLeafNode(otherlv_1, grammarAccess.getParameterAccess().getColonKeyword_1_0());
4450
4451 // InternalSolverLanguage.g:1527:4: ( (lv_type_2_0= ruleSymbol ) )
4452 // InternalSolverLanguage.g:1528:5: (lv_type_2_0= ruleSymbol )
4453 {
4454 // InternalSolverLanguage.g:1528:5: (lv_type_2_0= ruleSymbol )
4455 // InternalSolverLanguage.g:1529:6: lv_type_2_0= ruleSymbol
4456 {
4457
4458 newCompositeNode(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0());
4459
4460 pushFollow(FOLLOW_2);
4461 lv_type_2_0=ruleSymbol();
4462
4463 state._fsp--;
4464
4465
4466 if (current==null) {
4467 current = createModelElementForParent(grammarAccess.getParameterRule());
4468 }
4469 set(
4470 current,
4471 "type",
4472 lv_type_2_0,
4473 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
4474 afterParserOrEnumRuleCall();
4475
4476
4477 }
4478
4479
4480 }
4481
4482
4483 }
4484 break;
4485
4486 }
4487
4488
4489 }
4490
4491
4492 }
4493
4494
4495 leaveRule();
4496
4497 }
4498
4499 catch (RecognitionException re) {
4500 recover(input,re);
4501 appendSkippedTokens();
4502 }
4503 finally {
4504 }
4505 return current;
4506 }
4507 // $ANTLR end "ruleParameter"
4508
4509
4510 // $ANTLR start "entryRulePatternBody"
4511 // InternalSolverLanguage.g:1551:1: entryRulePatternBody returns [EObject current=null] : iv_rulePatternBody= rulePatternBody EOF ;
4512 public final EObject entryRulePatternBody() throws RecognitionException {
4513 EObject current = null;
4514
4515 EObject iv_rulePatternBody = null;
4516
4517
4518 try {
4519 // InternalSolverLanguage.g:1551:52: (iv_rulePatternBody= rulePatternBody EOF )
4520 // InternalSolverLanguage.g:1552:2: iv_rulePatternBody= rulePatternBody EOF
4521 {
4522 newCompositeNode(grammarAccess.getPatternBodyRule());
4523 pushFollow(FOLLOW_1);
4524 iv_rulePatternBody=rulePatternBody();
4525
4526 state._fsp--;
4527
4528 current =iv_rulePatternBody;
4529 match(input,EOF,FOLLOW_2);
4530
4531 }
4532
4533 }
4534
4535 catch (RecognitionException re) {
4536 recover(input,re);
4537 appendSkippedTokens();
4538 }
4539 finally {
4540 }
4541 return current;
4542 }
4543 // $ANTLR end "entryRulePatternBody"
4544
4545
4546 // $ANTLR start "rulePatternBody"
4547 // InternalSolverLanguage.g:1558:1: rulePatternBody returns [EObject current=null] : ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) ;
4548 public final EObject rulePatternBody() throws RecognitionException {
4549 EObject current = null;
4550
4551 Token otherlv_1=null;
4552 EObject lv_constraints_2_0 = null;
4553
4554
4555
4556 enterRule();
4557
4558 try {
4559 // InternalSolverLanguage.g:1564:2: ( ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) )
4560 // InternalSolverLanguage.g:1565:2: ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) )
4561 {
4562 // InternalSolverLanguage.g:1565:2: ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) )
4563 // InternalSolverLanguage.g:1566:3: () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* )
4564 {
4565 // InternalSolverLanguage.g:1566:3: ()
4566 // InternalSolverLanguage.g:1567:4:
4567 {
4568
4569 current = forceCreateModelElement(
4570 grammarAccess.getPatternBodyAccess().getPatternBodyAction_0(),
4571 current);
4572
4573
4574 }
4575
4576 // InternalSolverLanguage.g:1573:3: (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* )
4577 int alt25=2;
4578 int LA25_0 = input.LA(1);
4579
4580 if ( (LA25_0==13) ) {
4581 alt25=1;
4582 }
4583 else if ( (LA25_0==EOF||LA25_0==RULE_ID||(LA25_0>=11 && LA25_0<=12)||(LA25_0>=28 && LA25_0<=29)) ) {
4584 alt25=2;
4585 }
4586 else {
4587 NoViableAltException nvae =
4588 new NoViableAltException("", 25, 0, input);
4589
4590 throw nvae;
4591 }
4592 switch (alt25) {
4593 case 1 :
4594 // InternalSolverLanguage.g:1574:4: otherlv_1= 'true'
4595 {
4596 otherlv_1=(Token)match(input,13,FOLLOW_2);
4597
4598 newLeafNode(otherlv_1, grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0());
4599
4600
4601 }
4602 break;
4603 case 2 :
4604 // InternalSolverLanguage.g:1579:4: ( (lv_constraints_2_0= ruleConstraint ) )*
4605 {
4606 // InternalSolverLanguage.g:1579:4: ( (lv_constraints_2_0= ruleConstraint ) )*
4607 loop24:
4608 do {
4609 int alt24=2;
4610 int LA24_0 = input.LA(1);
4611
4612 if ( (LA24_0==RULE_ID||LA24_0==11||LA24_0==29) ) {
4613 alt24=1;
4614 }
4615
4616
4617 switch (alt24) {
4618 case 1 :
4619 // InternalSolverLanguage.g:1580:5: (lv_constraints_2_0= ruleConstraint )
4620 {
4621 // InternalSolverLanguage.g:1580:5: (lv_constraints_2_0= ruleConstraint )
4622 // InternalSolverLanguage.g:1581:6: lv_constraints_2_0= ruleConstraint
4623 {
4624
4625 newCompositeNode(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0());
4626
4627 pushFollow(FOLLOW_19);
4628 lv_constraints_2_0=ruleConstraint();
4629
4630 state._fsp--;
4631
4632
4633 if (current==null) {
4634 current = createModelElementForParent(grammarAccess.getPatternBodyRule());
4635 }
4636 add(
4637 current,
4638 "constraints",
4639 lv_constraints_2_0,
4640 "org.eclipse.viatra.solver.language.SolverLanguage.Constraint");
4641 afterParserOrEnumRuleCall();
4642
4643
4644 }
4645
4646
4647 }
4648 break;
4649
4650 default :
4651 break loop24;
4652 }
4653 } while (true);
4654
4655
4656 }
4657 break;
4658
4659 }
4660
4661
4662 }
4663
4664
4665 }
4666
4667
4668 leaveRule();
4669
4670 }
4671
4672 catch (RecognitionException re) {
4673 recover(input,re);
4674 appendSkippedTokens();
4675 }
4676 finally {
4677 }
4678 return current;
4679 }
4680 // $ANTLR end "rulePatternBody"
4681
4682
4683 // $ANTLR start "entryRulePolarity"
4684 // InternalSolverLanguage.g:1603:1: entryRulePolarity returns [EObject current=null] : iv_rulePolarity= rulePolarity EOF ;
4685 public final EObject entryRulePolarity() throws RecognitionException {
4686 EObject current = null;
4687
4688 EObject iv_rulePolarity = null;
4689
4690
4691 try {
4692 // InternalSolverLanguage.g:1603:49: (iv_rulePolarity= rulePolarity EOF )
4693 // InternalSolverLanguage.g:1604:2: iv_rulePolarity= rulePolarity EOF
4694 {
4695 newCompositeNode(grammarAccess.getPolarityRule());
4696 pushFollow(FOLLOW_1);
4697 iv_rulePolarity=rulePolarity();
4698
4699 state._fsp--;
4700
4701 current =iv_rulePolarity;
4702 match(input,EOF,FOLLOW_2);
4703
4704 }
4705
4706 }
4707
4708 catch (RecognitionException re) {
4709 recover(input,re);
4710 appendSkippedTokens();
4711 }
4712 finally {
4713 }
4714 return current;
4715 }
4716 // $ANTLR end "entryRulePolarity"
4717
4718
4719 // $ANTLR start "rulePolarity"
4720 // InternalSolverLanguage.g:1610:1: rulePolarity returns [EObject current=null] : ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) ;
4721 public final EObject rulePolarity() throws RecognitionException {
4722 EObject current = null;
4723
4724 Token otherlv_1=null;
4725 Token otherlv_3=null;
4726
4727
4728 enterRule();
4729
4730 try {
4731 // InternalSolverLanguage.g:1616:2: ( ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) )
4732 // InternalSolverLanguage.g:1617:2: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) )
4733 {
4734 // InternalSolverLanguage.g:1617:2: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) )
4735 int alt26=2;
4736 int LA26_0 = input.LA(1);
4737
4738 if ( (LA26_0==29) ) {
4739 alt26=1;
4740 }
4741 else if ( (LA26_0==11) ) {
4742 alt26=2;
4743 }
4744 else {
4745 NoViableAltException nvae =
4746 new NoViableAltException("", 26, 0, input);
4747
4748 throw nvae;
4749 }
4750 switch (alt26) {
4751 case 1 :
4752 // InternalSolverLanguage.g:1618:3: ( () otherlv_1= '+' )
4753 {
4754 // InternalSolverLanguage.g:1618:3: ( () otherlv_1= '+' )
4755 // InternalSolverLanguage.g:1619:4: () otherlv_1= '+'
4756 {
4757 // InternalSolverLanguage.g:1619:4: ()
4758 // InternalSolverLanguage.g:1620:5:
4759 {
4760
4761 current = forceCreateModelElement(
4762 grammarAccess.getPolarityAccess().getPositiveAction_0_0(),
4763 current);
4764
4765
4766 }
4767
4768 otherlv_1=(Token)match(input,29,FOLLOW_2);
4769
4770 newLeafNode(otherlv_1, grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1());
4771
4772
4773 }
4774
4775
4776 }
4777 break;
4778 case 2 :
4779 // InternalSolverLanguage.g:1632:3: ( () otherlv_3= '-' )
4780 {
4781 // InternalSolverLanguage.g:1632:3: ( () otherlv_3= '-' )
4782 // InternalSolverLanguage.g:1633:4: () otherlv_3= '-'
4783 {
4784 // InternalSolverLanguage.g:1633:4: ()
4785 // InternalSolverLanguage.g:1634:5:
4786 {
4787
4788 current = forceCreateModelElement(
4789 grammarAccess.getPolarityAccess().getNegativeAction_1_0(),
4790 current);
4791
4792
4793 }
4794
4795 otherlv_3=(Token)match(input,11,FOLLOW_2);
4796
4797 newLeafNode(otherlv_3, grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1());
4798
4799
4800 }
4801
4802
4803 }
4804 break;
4805
4806 }
4807
4808
4809 }
4810
4811
4812 leaveRule();
4813
4814 }
4815
4816 catch (RecognitionException re) {
4817 recover(input,re);
4818 appendSkippedTokens();
4819 }
4820 finally {
4821 }
4822 return current;
4823 }
4824 // $ANTLR end "rulePolarity"
4825
4826
4827 // $ANTLR start "entryRuleConstraint"
4828 // InternalSolverLanguage.g:1649:1: entryRuleConstraint returns [EObject current=null] : iv_ruleConstraint= ruleConstraint EOF ;
4829 public final EObject entryRuleConstraint() throws RecognitionException {
4830 EObject current = null;
4831
4832 EObject iv_ruleConstraint = null;
4833
4834
4835 try {
4836 // InternalSolverLanguage.g:1649:51: (iv_ruleConstraint= ruleConstraint EOF )
4837 // InternalSolverLanguage.g:1650:2: iv_ruleConstraint= ruleConstraint EOF
4838 {
4839 newCompositeNode(grammarAccess.getConstraintRule());
4840 pushFollow(FOLLOW_1);
4841 iv_ruleConstraint=ruleConstraint();
4842
4843 state._fsp--;
4844
4845 current =iv_ruleConstraint;
4846 match(input,EOF,FOLLOW_2);
4847
4848 }
4849
4850 }
4851
4852 catch (RecognitionException re) {
4853 recover(input,re);
4854 appendSkippedTokens();
4855 }
4856 finally {
4857 }
4858 return current;
4859 }
4860 // $ANTLR end "entryRuleConstraint"
4861
4862
4863 // $ANTLR start "ruleConstraint"
4864 // InternalSolverLanguage.g:1656:1: ruleConstraint returns [EObject current=null] : ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) ) ;
4865 public final EObject ruleConstraint() throws RecognitionException {
4866 EObject current = null;
4867
4868 Token otherlv_2=null;
4869 Token otherlv_4=null;
4870 Token otherlv_6=null;
4871 Token otherlv_9=null;
4872 EObject lv_polarity_0_0 = null;
4873
4874 EObject lv_symbol_1_0 = null;
4875
4876 EObject lv_params_3_0 = null;
4877
4878 EObject lv_closureType_5_0 = null;
4879
4880 EObject lv_params_7_0 = null;
4881
4882 EObject lv_params_8_0 = null;
4883
4884
4885
4886 enterRule();
4887
4888 try {
4889 // InternalSolverLanguage.g:1662:2: ( ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) ) )
4890 // InternalSolverLanguage.g:1663:2: ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) )
4891 {
4892 // InternalSolverLanguage.g:1663:2: ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) )
4893 // InternalSolverLanguage.g:1664:3: ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) )
4894 {
4895 // InternalSolverLanguage.g:1664:3: ( (lv_polarity_0_0= rulePolarity ) )?
4896 int alt27=2;
4897 int LA27_0 = input.LA(1);
4898
4899 if ( (LA27_0==11||LA27_0==29) ) {
4900 alt27=1;
4901 }
4902 switch (alt27) {
4903 case 1 :
4904 // InternalSolverLanguage.g:1665:4: (lv_polarity_0_0= rulePolarity )
4905 {
4906 // InternalSolverLanguage.g:1665:4: (lv_polarity_0_0= rulePolarity )
4907 // InternalSolverLanguage.g:1666:5: lv_polarity_0_0= rulePolarity
4908 {
4909
4910 newCompositeNode(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0());
4911
4912 pushFollow(FOLLOW_10);
4913 lv_polarity_0_0=rulePolarity();
4914
4915 state._fsp--;
4916
4917
4918 if (current==null) {
4919 current = createModelElementForParent(grammarAccess.getConstraintRule());
4920 }
4921 set(
4922 current,
4923 "polarity",
4924 lv_polarity_0_0,
4925 "org.eclipse.viatra.solver.language.SolverLanguage.Polarity");
4926 afterParserOrEnumRuleCall();
4927
4928
4929 }
4930
4931
4932 }
4933 break;
4934
4935 }
4936
4937 // InternalSolverLanguage.g:1683:3: ( (lv_symbol_1_0= ruleModelSymbol ) )
4938 // InternalSolverLanguage.g:1684:4: (lv_symbol_1_0= ruleModelSymbol )
4939 {
4940 // InternalSolverLanguage.g:1684:4: (lv_symbol_1_0= ruleModelSymbol )
4941 // InternalSolverLanguage.g:1685:5: lv_symbol_1_0= ruleModelSymbol
4942 {
4943
4944 newCompositeNode(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_1_0());
4945
4946 pushFollow(FOLLOW_20);
4947 lv_symbol_1_0=ruleModelSymbol();
4948
4949 state._fsp--;
4950
4951
4952 if (current==null) {
4953 current = createModelElementForParent(grammarAccess.getConstraintRule());
4954 }
4955 set(
4956 current,
4957 "symbol",
4958 lv_symbol_1_0,
4959 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
4960 afterParserOrEnumRuleCall();
4961
4962
4963 }
4964
4965
4966 }
4967
4968 // InternalSolverLanguage.g:1702:3: ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) )
4969 int alt29=2;
4970 int LA29_0 = input.LA(1);
4971
4972 if ( (LA29_0==17) ) {
4973 alt29=1;
4974 }
4975 else if ( ((LA29_0>=29 && LA29_0<=30)) ) {
4976 alt29=2;
4977 }
4978 else {
4979 NoViableAltException nvae =
4980 new NoViableAltException("", 29, 0, input);
4981
4982 throw nvae;
4983 }
4984 switch (alt29) {
4985 case 1 :
4986 // InternalSolverLanguage.g:1703:4: (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' )
4987 {
4988 // InternalSolverLanguage.g:1703:4: (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' )
4989 // InternalSolverLanguage.g:1704:5: otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')'
4990 {
4991 otherlv_2=(Token)match(input,17,FOLLOW_21);
4992
4993 newLeafNode(otherlv_2, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_2_0_0());
4994
4995 // InternalSolverLanguage.g:1708:5: ( (lv_params_3_0= ruleLiteral ) )*
4996 loop28:
4997 do {
4998 int alt28=2;
4999 int LA28_0 = input.LA(1);
5000
5001 if ( ((LA28_0>=RULE_INT && LA28_0<=RULE_STRING)||LA28_0==11||(LA28_0>=13 && LA28_0<=14)) ) {
5002 alt28=1;
5003 }
5004
5005
5006 switch (alt28) {
5007 case 1 :
5008 // InternalSolverLanguage.g:1709:6: (lv_params_3_0= ruleLiteral )
5009 {
5010 // InternalSolverLanguage.g:1709:6: (lv_params_3_0= ruleLiteral )
5011 // InternalSolverLanguage.g:1710:7: lv_params_3_0= ruleLiteral
5012 {
5013
5014 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_0_1_0());
5015
5016 pushFollow(FOLLOW_21);
5017 lv_params_3_0=ruleLiteral();
5018
5019 state._fsp--;
5020
5021
5022 if (current==null) {
5023 current = createModelElementForParent(grammarAccess.getConstraintRule());
5024 }
5025 add(
5026 current,
5027 "params",
5028 lv_params_3_0,
5029 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
5030 afterParserOrEnumRuleCall();
5031
5032
5033 }
5034
5035
5036 }
5037 break;
5038
5039 default :
5040 break loop28;
5041 }
5042 } while (true);
5043
5044 otherlv_4=(Token)match(input,18,FOLLOW_2);
5045
5046 newLeafNode(otherlv_4, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_2_0_2());
5047
5048
5049 }
5050
5051
5052 }
5053 break;
5054 case 2 :
5055 // InternalSolverLanguage.g:1733:4: ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' )
5056 {
5057 // InternalSolverLanguage.g:1733:4: ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' )
5058 // InternalSolverLanguage.g:1734:5: ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')'
5059 {
5060 // InternalSolverLanguage.g:1734:5: ( (lv_closureType_5_0= ruleClosureType ) )
5061 // InternalSolverLanguage.g:1735:6: (lv_closureType_5_0= ruleClosureType )
5062 {
5063 // InternalSolverLanguage.g:1735:6: (lv_closureType_5_0= ruleClosureType )
5064 // InternalSolverLanguage.g:1736:7: lv_closureType_5_0= ruleClosureType
5065 {
5066
5067 newCompositeNode(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_2_1_0_0());
5068
5069 pushFollow(FOLLOW_6);
5070 lv_closureType_5_0=ruleClosureType();
5071
5072 state._fsp--;
5073
5074
5075 if (current==null) {
5076 current = createModelElementForParent(grammarAccess.getConstraintRule());
5077 }
5078 set(
5079 current,
5080 "closureType",
5081 lv_closureType_5_0,
5082 "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType");
5083 afterParserOrEnumRuleCall();
5084
5085
5086 }
5087
5088
5089 }
5090
5091 otherlv_6=(Token)match(input,17,FOLLOW_22);
5092
5093 newLeafNode(otherlv_6, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_2_1_1());
5094
5095 // InternalSolverLanguage.g:1757:5: ( (lv_params_7_0= ruleLiteral ) )
5096 // InternalSolverLanguage.g:1758:6: (lv_params_7_0= ruleLiteral )
5097 {
5098 // InternalSolverLanguage.g:1758:6: (lv_params_7_0= ruleLiteral )
5099 // InternalSolverLanguage.g:1759:7: lv_params_7_0= ruleLiteral
5100 {
5101
5102 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_1_2_0());
5103
5104 pushFollow(FOLLOW_22);
5105 lv_params_7_0=ruleLiteral();
5106
5107 state._fsp--;
5108
5109
5110 if (current==null) {
5111 current = createModelElementForParent(grammarAccess.getConstraintRule());
5112 }
5113 add(
5114 current,
5115 "params",
5116 lv_params_7_0,
5117 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
5118 afterParserOrEnumRuleCall();
5119
5120
5121 }
5122
5123
5124 }
5125
5126 // InternalSolverLanguage.g:1776:5: ( (lv_params_8_0= ruleLiteral ) )
5127 // InternalSolverLanguage.g:1777:6: (lv_params_8_0= ruleLiteral )
5128 {
5129 // InternalSolverLanguage.g:1777:6: (lv_params_8_0= ruleLiteral )
5130 // InternalSolverLanguage.g:1778:7: lv_params_8_0= ruleLiteral
5131 {
5132
5133 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_1_3_0());
5134
5135 pushFollow(FOLLOW_23);
5136 lv_params_8_0=ruleLiteral();
5137
5138 state._fsp--;
5139
5140
5141 if (current==null) {
5142 current = createModelElementForParent(grammarAccess.getConstraintRule());
5143 }
5144 add(
5145 current,
5146 "params",
5147 lv_params_8_0,
5148 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
5149 afterParserOrEnumRuleCall();
5150
5151
5152 }
5153
5154
5155 }
5156
5157 otherlv_9=(Token)match(input,18,FOLLOW_2);
5158
5159 newLeafNode(otherlv_9, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_2_1_4());
5160
5161
5162 }
5163
5164
5165 }
5166 break;
5167
5168 }
5169
5170
5171 }
5172
5173
5174 }
5175
5176
5177 leaveRule();
5178
5179 }
5180
5181 catch (RecognitionException re) {
5182 recover(input,re);
5183 appendSkippedTokens();
5184 }
5185 finally {
5186 }
5187 return current;
5188 }
5189 // $ANTLR end "ruleConstraint"
5190
5191
5192 // $ANTLR start "entryRuleClosureType"
5193 // InternalSolverLanguage.g:1805:1: entryRuleClosureType returns [EObject current=null] : iv_ruleClosureType= ruleClosureType EOF ;
5194 public final EObject entryRuleClosureType() throws RecognitionException {
5195 EObject current = null;
5196
5197 EObject iv_ruleClosureType = null;
5198
5199
5200 try {
5201 // InternalSolverLanguage.g:1805:52: (iv_ruleClosureType= ruleClosureType EOF )
5202 // InternalSolverLanguage.g:1806:2: iv_ruleClosureType= ruleClosureType EOF
5203 {
5204 newCompositeNode(grammarAccess.getClosureTypeRule());
5205 pushFollow(FOLLOW_1);
5206 iv_ruleClosureType=ruleClosureType();
5207
5208 state._fsp--;
5209
5210 current =iv_ruleClosureType;
5211 match(input,EOF,FOLLOW_2);
5212
5213 }
5214
5215 }
5216
5217 catch (RecognitionException re) {
5218 recover(input,re);
5219 appendSkippedTokens();
5220 }
5221 finally {
5222 }
5223 return current;
5224 }
5225 // $ANTLR end "entryRuleClosureType"
5226
5227
5228 // $ANTLR start "ruleClosureType"
5229 // InternalSolverLanguage.g:1812:1: ruleClosureType returns [EObject current=null] : ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) ;
5230 public final EObject ruleClosureType() throws RecognitionException {
5231 EObject current = null;
5232
5233 Token otherlv_1=null;
5234 Token otherlv_3=null;
5235
5236
5237 enterRule();
5238
5239 try {
5240 // InternalSolverLanguage.g:1818:2: ( ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) )
5241 // InternalSolverLanguage.g:1819:2: ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) )
5242 {
5243 // InternalSolverLanguage.g:1819:2: ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) )
5244 int alt30=2;
5245 int LA30_0 = input.LA(1);
5246
5247 if ( (LA30_0==30) ) {
5248 alt30=1;
5249 }
5250 else if ( (LA30_0==29) ) {
5251 alt30=2;
5252 }
5253 else {
5254 NoViableAltException nvae =
5255 new NoViableAltException("", 30, 0, input);
5256
5257 throw nvae;
5258 }
5259 switch (alt30) {
5260 case 1 :
5261 // InternalSolverLanguage.g:1820:3: ( () otherlv_1= '*' )
5262 {
5263 // InternalSolverLanguage.g:1820:3: ( () otherlv_1= '*' )
5264 // InternalSolverLanguage.g:1821:4: () otherlv_1= '*'
5265 {
5266 // InternalSolverLanguage.g:1821:4: ()
5267 // InternalSolverLanguage.g:1822:5:
5268 {
5269
5270 current = forceCreateModelElement(
5271 grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0(),
5272 current);
5273
5274
5275 }
5276
5277 otherlv_1=(Token)match(input,30,FOLLOW_2);
5278
5279 newLeafNode(otherlv_1, grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1());
5280
5281
5282 }
5283
5284
5285 }
5286 break;
5287 case 2 :
5288 // InternalSolverLanguage.g:1834:3: ( () otherlv_3= '+' )
5289 {
5290 // InternalSolverLanguage.g:1834:3: ( () otherlv_3= '+' )
5291 // InternalSolverLanguage.g:1835:4: () otherlv_3= '+'
5292 {
5293 // InternalSolverLanguage.g:1835:4: ()
5294 // InternalSolverLanguage.g:1836:5:
5295 {
5296
5297 current = forceCreateModelElement(
5298 grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0(),
5299 current);
5300
5301
5302 }
5303
5304 otherlv_3=(Token)match(input,29,FOLLOW_2);
5305
5306 newLeafNode(otherlv_3, grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1());
5307
5308
5309 }
5310
5311
5312 }
5313 break;
5314
5315 }
5316
5317
5318 }
5319
5320
5321 leaveRule();
5322
5323 }
5324
5325 catch (RecognitionException re) {
5326 recover(input,re);
5327 appendSkippedTokens();
5328 }
5329 finally {
5330 }
5331 return current;
5332 }
5333 // $ANTLR end "ruleClosureType"
5334
5335
5336 // $ANTLR start "entryRuleLiteral"
5337 // InternalSolverLanguage.g:1851:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
5338 public final EObject entryRuleLiteral() throws RecognitionException {
5339 EObject current = null;
5340
5341 EObject iv_ruleLiteral = null;
5342
5343
5344 try {
5345 // InternalSolverLanguage.g:1851:48: (iv_ruleLiteral= ruleLiteral EOF )
5346 // InternalSolverLanguage.g:1852:2: iv_ruleLiteral= ruleLiteral EOF
5347 {
5348 newCompositeNode(grammarAccess.getLiteralRule());
5349 pushFollow(FOLLOW_1);
5350 iv_ruleLiteral=ruleLiteral();
5351
5352 state._fsp--;
5353
5354 current =iv_ruleLiteral;
5355 match(input,EOF,FOLLOW_2);
5356
5357 }
5358
5359 }
5360
5361 catch (RecognitionException re) {
5362 recover(input,re);
5363 appendSkippedTokens();
5364 }
5365 finally {
5366 }
5367 return current;
5368 }
5369 // $ANTLR end "entryRuleLiteral"
5370
5371
5372 // $ANTLR start "ruleLiteral"
5373 // InternalSolverLanguage.g:1858:1: ruleLiteral returns [EObject current=null] : (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject ) ;
5374 public final EObject ruleLiteral() throws RecognitionException {
5375 EObject current = null;
5376
5377 EObject this_Variable_0 = null;
5378
5379 EObject this_DataObject_1 = null;
5380
5381
5382
5383 enterRule();
5384
5385 try {
5386 // InternalSolverLanguage.g:1864:2: ( (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject ) )
5387 // InternalSolverLanguage.g:1865:2: (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject )
5388 {
5389 // InternalSolverLanguage.g:1865:2: (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject )
5390 int alt31=2;
5391 int LA31_0 = input.LA(1);
5392
5393 if ( (LA31_0==RULE_ID) ) {
5394 alt31=1;
5395 }
5396 else if ( (LA31_0==RULE_INT||LA31_0==RULE_STRING||LA31_0==11||(LA31_0>=13 && LA31_0<=14)) ) {
5397 alt31=2;
5398 }
5399 else {
5400 NoViableAltException nvae =
5401 new NoViableAltException("", 31, 0, input);
5402
5403 throw nvae;
5404 }
5405 switch (alt31) {
5406 case 1 :
5407 // InternalSolverLanguage.g:1866:3: this_Variable_0= ruleVariable
5408 {
5409
5410 newCompositeNode(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0());
5411
5412 pushFollow(FOLLOW_2);
5413 this_Variable_0=ruleVariable();
5414
5415 state._fsp--;
5416
5417
5418 current = this_Variable_0;
5419 afterParserOrEnumRuleCall();
5420
5421
5422 }
5423 break;
5424 case 2 :
5425 // InternalSolverLanguage.g:1875:3: this_DataObject_1= ruleDataObject
5426 {
5427
5428 newCompositeNode(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1());
5429
5430 pushFollow(FOLLOW_2);
5431 this_DataObject_1=ruleDataObject();
5432
5433 state._fsp--;
5434
5435
5436 current = this_DataObject_1;
5437 afterParserOrEnumRuleCall();
5438
5439
5440 }
5441 break;
5442
5443 }
5444
5445
5446 }
5447
5448
5449 leaveRule();
5450
5451 }
5452
5453 catch (RecognitionException re) {
5454 recover(input,re);
5455 appendSkippedTokens();
5456 }
5457 finally {
5458 }
5459 return current;
5460 }
5461 // $ANTLR end "ruleLiteral"
5462
5463
5464 // $ANTLR start "entryRuleVariable"
5465 // InternalSolverLanguage.g:1887:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ;
5466 public final EObject entryRuleVariable() throws RecognitionException {
5467 EObject current = null;
5468
5469 EObject iv_ruleVariable = null;
5470
5471
5472 try {
5473 // InternalSolverLanguage.g:1887:49: (iv_ruleVariable= ruleVariable EOF )
5474 // InternalSolverLanguage.g:1888:2: iv_ruleVariable= ruleVariable EOF
5475 {
5476 newCompositeNode(grammarAccess.getVariableRule());
5477 pushFollow(FOLLOW_1);
5478 iv_ruleVariable=ruleVariable();
5479
5480 state._fsp--;
5481
5482 current =iv_ruleVariable;
5483 match(input,EOF,FOLLOW_2);
5484
5485 }
5486
5487 }
5488
5489 catch (RecognitionException re) {
5490 recover(input,re);
5491 appendSkippedTokens();
5492 }
5493 finally {
5494 }
5495 return current;
5496 }
5497 // $ANTLR end "entryRuleVariable"
5498
5499
5500 // $ANTLR start "ruleVariable"
5501 // InternalSolverLanguage.g:1894:1: ruleVariable returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ;
5502 public final EObject ruleVariable() throws RecognitionException {
5503 EObject current = null;
5504
5505 Token lv_name_0_0=null;
5506
5507
5508 enterRule();
5509
5510 try {
5511 // InternalSolverLanguage.g:1900:2: ( ( (lv_name_0_0= RULE_ID ) ) )
5512 // InternalSolverLanguage.g:1901:2: ( (lv_name_0_0= RULE_ID ) )
5513 {
5514 // InternalSolverLanguage.g:1901:2: ( (lv_name_0_0= RULE_ID ) )
5515 // InternalSolverLanguage.g:1902:3: (lv_name_0_0= RULE_ID )
5516 {
5517 // InternalSolverLanguage.g:1902:3: (lv_name_0_0= RULE_ID )
5518 // InternalSolverLanguage.g:1903:4: lv_name_0_0= RULE_ID
5519 {
5520 lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2);
5521
5522 newLeafNode(lv_name_0_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0());
5523
5524
5525 if (current==null) {
5526 current = createModelElement(grammarAccess.getVariableRule());
5527 }
5528 setWithLastConsumed(
5529 current,
5530 "name",
5531 lv_name_0_0,
5532 "org.eclipse.xtext.common.Terminals.ID");
5533
5534
5535 }
5536
5537
5538 }
5539
5540
5541 }
5542
5543
5544 leaveRule();
5545
5546 }
5547
5548 catch (RecognitionException re) {
5549 recover(input,re);
5550 appendSkippedTokens();
5551 }
5552 finally {
5553 }
5554 return current;
5555 }
5556 // $ANTLR end "ruleVariable"
5557
5558
5559 // $ANTLR start "entryRuleAllInstances"
5560 // InternalSolverLanguage.g:1922:1: entryRuleAllInstances returns [EObject current=null] : iv_ruleAllInstances= ruleAllInstances EOF ;
5561 public final EObject entryRuleAllInstances() throws RecognitionException {
5562 EObject current = null;
5563
5564 EObject iv_ruleAllInstances = null;
5565
5566
5567 try {
5568 // InternalSolverLanguage.g:1922:53: (iv_ruleAllInstances= ruleAllInstances EOF )
5569 // InternalSolverLanguage.g:1923:2: iv_ruleAllInstances= ruleAllInstances EOF
5570 {
5571 newCompositeNode(grammarAccess.getAllInstancesRule());
5572 pushFollow(FOLLOW_1);
5573 iv_ruleAllInstances=ruleAllInstances();
5574
5575 state._fsp--;
5576
5577 current =iv_ruleAllInstances;
5578 match(input,EOF,FOLLOW_2);
5579
5580 }
5581
5582 }
5583
5584 catch (RecognitionException re) {
5585 recover(input,re);
5586 appendSkippedTokens();
5587 }
5588 finally {
5589 }
5590 return current;
5591 }
5592 // $ANTLR end "entryRuleAllInstances"
5593
5594
5595 // $ANTLR start "ruleAllInstances"
5596 // InternalSolverLanguage.g:1929:1: ruleAllInstances returns [EObject current=null] : (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) ;
5597 public final EObject ruleAllInstances() throws RecognitionException {
5598 EObject current = null;
5599
5600 Token otherlv_0=null;
5601 EObject lv_symbol_1_0 = null;
5602
5603
5604
5605 enterRule();
5606
5607 try {
5608 // InternalSolverLanguage.g:1935:2: ( (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) )
5609 // InternalSolverLanguage.g:1936:2: (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) )
5610 {
5611 // InternalSolverLanguage.g:1936:2: (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) )
5612 // InternalSolverLanguage.g:1937:3: otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) )
5613 {
5614 otherlv_0=(Token)match(input,19,FOLLOW_18);
5615
5616 newLeafNode(otherlv_0, grammarAccess.getAllInstancesAccess().getColonKeyword_0());
5617
5618 // InternalSolverLanguage.g:1941:3: ( (lv_symbol_1_0= ruleSymbol ) )
5619 // InternalSolverLanguage.g:1942:4: (lv_symbol_1_0= ruleSymbol )
5620 {
5621 // InternalSolverLanguage.g:1942:4: (lv_symbol_1_0= ruleSymbol )
5622 // InternalSolverLanguage.g:1943:5: lv_symbol_1_0= ruleSymbol
5623 {
5624
5625 newCompositeNode(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0());
5626
5627 pushFollow(FOLLOW_2);
5628 lv_symbol_1_0=ruleSymbol();
5629
5630 state._fsp--;
5631
5632
5633 if (current==null) {
5634 current = createModelElementForParent(grammarAccess.getAllInstancesRule());
5635 }
5636 set(
5637 current,
5638 "symbol",
5639 lv_symbol_1_0,
5640 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
5641 afterParserOrEnumRuleCall();
5642
5643
5644 }
5645
5646
5647 }
5648
5649
5650 }
5651
5652
5653 }
5654
5655
5656 leaveRule();
5657
5658 }
5659
5660 catch (RecognitionException re) {
5661 recover(input,re);
5662 appendSkippedTokens();
5663 }
5664 finally {
5665 }
5666 return current;
5667 }
5668 // $ANTLR end "ruleAllInstances"
5669
5670
5671 // $ANTLR start "entryRuleAllObjects"
5672 // InternalSolverLanguage.g:1964:1: entryRuleAllObjects returns [EObject current=null] : iv_ruleAllObjects= ruleAllObjects EOF ;
5673 public final EObject entryRuleAllObjects() throws RecognitionException {
5674 EObject current = null;
5675
5676 EObject iv_ruleAllObjects = null;
5677
5678
5679 try {
5680 // InternalSolverLanguage.g:1964:51: (iv_ruleAllObjects= ruleAllObjects EOF )
5681 // InternalSolverLanguage.g:1965:2: iv_ruleAllObjects= ruleAllObjects EOF
5682 {
5683 newCompositeNode(grammarAccess.getAllObjectsRule());
5684 pushFollow(FOLLOW_1);
5685 iv_ruleAllObjects=ruleAllObjects();
5686
5687 state._fsp--;
5688
5689 current =iv_ruleAllObjects;
5690 match(input,EOF,FOLLOW_2);
5691
5692 }
5693
5694 }
5695
5696 catch (RecognitionException re) {
5697 recover(input,re);
5698 appendSkippedTokens();
5699 }
5700 finally {
5701 }
5702 return current;
5703 }
5704 // $ANTLR end "entryRuleAllObjects"
5705
5706
5707 // $ANTLR start "ruleAllObjects"
5708 // InternalSolverLanguage.g:1971:1: ruleAllObjects returns [EObject current=null] : ( () otherlv_1= '*' ) ;
5709 public final EObject ruleAllObjects() throws RecognitionException {
5710 EObject current = null;
5711
5712 Token otherlv_1=null;
5713
5714
5715 enterRule();
5716
5717 try {
5718 // InternalSolverLanguage.g:1977:2: ( ( () otherlv_1= '*' ) )
5719 // InternalSolverLanguage.g:1978:2: ( () otherlv_1= '*' )
5720 {
5721 // InternalSolverLanguage.g:1978:2: ( () otherlv_1= '*' )
5722 // InternalSolverLanguage.g:1979:3: () otherlv_1= '*'
5723 {
5724 // InternalSolverLanguage.g:1979:3: ()
5725 // InternalSolverLanguage.g:1980:4:
5726 {
5727
5728 current = forceCreateModelElement(
5729 grammarAccess.getAllObjectsAccess().getAllObjectsAction_0(),
5730 current);
5731
5732
5733 }
5734
5735 otherlv_1=(Token)match(input,30,FOLLOW_2);
5736
5737 newLeafNode(otherlv_1, grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1());
5738
5739
5740 }
5741
5742
5743 }
5744
5745
5746 leaveRule();
5747
5748 }
5749
5750 catch (RecognitionException re) {
5751 recover(input,re);
5752 appendSkippedTokens();
5753 }
5754 finally {
5755 }
5756 return current;
5757 }
5758 // $ANTLR end "ruleAllObjects"
5759
5760
5761 // $ANTLR start "entryRuleDefaultInterpretation"
5762 // InternalSolverLanguage.g:1994:1: entryRuleDefaultInterpretation returns [EObject current=null] : iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF ;
5763 public final EObject entryRuleDefaultInterpretation() throws RecognitionException {
5764 EObject current = null;
5765
5766 EObject iv_ruleDefaultInterpretation = null;
5767
5768
5769 try {
5770 // InternalSolverLanguage.g:1994:62: (iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF )
5771 // InternalSolverLanguage.g:1995:2: iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF
5772 {
5773 newCompositeNode(grammarAccess.getDefaultInterpretationRule());
5774 pushFollow(FOLLOW_1);
5775 iv_ruleDefaultInterpretation=ruleDefaultInterpretation();
5776
5777 state._fsp--;
5778
5779 current =iv_ruleDefaultInterpretation;
5780 match(input,EOF,FOLLOW_2);
5781
5782 }
5783
5784 }
5785
5786 catch (RecognitionException re) {
5787 recover(input,re);
5788 appendSkippedTokens();
5789 }
5790 finally {
5791 }
5792 return current;
5793 }
5794 // $ANTLR end "entryRuleDefaultInterpretation"
5795
5796
5797 // $ANTLR start "ruleDefaultInterpretation"
5798 // InternalSolverLanguage.g:2001:1: ruleDefaultInterpretation returns [EObject current=null] : (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) ;
5799 public final EObject ruleDefaultInterpretation() throws RecognitionException {
5800 EObject current = null;
5801
5802 Token otherlv_0=null;
5803 EObject lv_interpretation_1_0 = null;
5804
5805
5806
5807 enterRule();
5808
5809 try {
5810 // InternalSolverLanguage.g:2007:2: ( (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) )
5811 // InternalSolverLanguage.g:2008:2: (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) )
5812 {
5813 // InternalSolverLanguage.g:2008:2: (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) )
5814 // InternalSolverLanguage.g:2009:3: otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) )
5815 {
5816 otherlv_0=(Token)match(input,31,FOLLOW_18);
5817
5818 newLeafNode(otherlv_0, grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0());
5819
5820 // InternalSolverLanguage.g:2013:3: ( (lv_interpretation_1_0= ruleBasicInterpretation ) )
5821 // InternalSolverLanguage.g:2014:4: (lv_interpretation_1_0= ruleBasicInterpretation )
5822 {
5823 // InternalSolverLanguage.g:2014:4: (lv_interpretation_1_0= ruleBasicInterpretation )
5824 // InternalSolverLanguage.g:2015:5: lv_interpretation_1_0= ruleBasicInterpretation
5825 {
5826
5827 newCompositeNode(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0());
5828
5829 pushFollow(FOLLOW_2);
5830 lv_interpretation_1_0=ruleBasicInterpretation();
5831
5832 state._fsp--;
5833
5834
5835 if (current==null) {
5836 current = createModelElementForParent(grammarAccess.getDefaultInterpretationRule());
5837 }
5838 set(
5839 current,
5840 "interpretation",
5841 lv_interpretation_1_0,
5842 "org.eclipse.viatra.solver.language.SolverLanguage.BasicInterpretation");
5843 afterParserOrEnumRuleCall();
5844
5845
5846 }
5847
5848
5849 }
5850
5851
5852 }
5853
5854
5855 }
5856
5857
5858 leaveRule();
5859
5860 }
5861
5862 catch (RecognitionException re) {
5863 recover(input,re);
5864 appendSkippedTokens();
5865 }
5866 finally {
5867 }
5868 return current;
5869 }
5870 // $ANTLR end "ruleDefaultInterpretation"
5871
5872
5873 // $ANTLR start "entryRuleCDInterpretation"
5874 // InternalSolverLanguage.g:2036:1: entryRuleCDInterpretation returns [EObject current=null] : iv_ruleCDInterpretation= ruleCDInterpretation EOF ;
5875 public final EObject entryRuleCDInterpretation() throws RecognitionException {
5876 EObject current = null;
5877
5878 EObject iv_ruleCDInterpretation = null;
5879
5880
5881 try {
5882 // InternalSolverLanguage.g:2036:57: (iv_ruleCDInterpretation= ruleCDInterpretation EOF )
5883 // InternalSolverLanguage.g:2037:2: iv_ruleCDInterpretation= ruleCDInterpretation EOF
5884 {
5885 newCompositeNode(grammarAccess.getCDInterpretationRule());
5886 pushFollow(FOLLOW_1);
5887 iv_ruleCDInterpretation=ruleCDInterpretation();
5888
5889 state._fsp--;
5890
5891 current =iv_ruleCDInterpretation;
5892 match(input,EOF,FOLLOW_2);
5893
5894 }
5895
5896 }
5897
5898 catch (RecognitionException re) {
5899 recover(input,re);
5900 appendSkippedTokens();
5901 }
5902 finally {
5903 }
5904 return current;
5905 }
5906 // $ANTLR end "entryRuleCDInterpretation"
5907
5908
5909 // $ANTLR start "ruleCDInterpretation"
5910 // InternalSolverLanguage.g:2043:1: ruleCDInterpretation returns [EObject current=null] : (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) ;
5911 public final EObject ruleCDInterpretation() throws RecognitionException {
5912 EObject current = null;
5913
5914 EObject this_ClassInterpretation_0 = null;
5915
5916 EObject this_EnumInterpretation_1 = null;
5917
5918 EObject this_GlobalRelationInterpretation_2 = null;
5919
5920
5921
5922 enterRule();
5923
5924 try {
5925 // InternalSolverLanguage.g:2049:2: ( (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) )
5926 // InternalSolverLanguage.g:2050:2: (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation )
5927 {
5928 // InternalSolverLanguage.g:2050:2: (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation )
5929 int alt32=3;
5930 switch ( input.LA(1) ) {
5931 case 32:
5932 {
5933 alt32=1;
5934 }
5935 break;
5936 case 37:
5937 {
5938 alt32=2;
5939 }
5940 break;
5941 case 38:
5942 {
5943 alt32=3;
5944 }
5945 break;
5946 default:
5947 NoViableAltException nvae =
5948 new NoViableAltException("", 32, 0, input);
5949
5950 throw nvae;
5951 }
5952
5953 switch (alt32) {
5954 case 1 :
5955 // InternalSolverLanguage.g:2051:3: this_ClassInterpretation_0= ruleClassInterpretation
5956 {
5957
5958 newCompositeNode(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0());
5959
5960 pushFollow(FOLLOW_2);
5961 this_ClassInterpretation_0=ruleClassInterpretation();
5962
5963 state._fsp--;
5964
5965
5966 current = this_ClassInterpretation_0;
5967 afterParserOrEnumRuleCall();
5968
5969
5970 }
5971 break;
5972 case 2 :
5973 // InternalSolverLanguage.g:2060:3: this_EnumInterpretation_1= ruleEnumInterpretation
5974 {
5975
5976 newCompositeNode(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1());
5977
5978 pushFollow(FOLLOW_2);
5979 this_EnumInterpretation_1=ruleEnumInterpretation();
5980
5981 state._fsp--;
5982
5983
5984 current = this_EnumInterpretation_1;
5985 afterParserOrEnumRuleCall();
5986
5987
5988 }
5989 break;
5990 case 3 :
5991 // InternalSolverLanguage.g:2069:3: this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation
5992 {
5993
5994 newCompositeNode(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2());
5995
5996 pushFollow(FOLLOW_2);
5997 this_GlobalRelationInterpretation_2=ruleGlobalRelationInterpretation();
5998
5999 state._fsp--;
6000
6001
6002 current = this_GlobalRelationInterpretation_2;
6003 afterParserOrEnumRuleCall();
6004
6005
6006 }
6007 break;
6008
6009 }
6010
6011
6012 }
6013
6014
6015 leaveRule();
6016
6017 }
6018
6019 catch (RecognitionException re) {
6020 recover(input,re);
6021 appendSkippedTokens();
6022 }
6023 finally {
6024 }
6025 return current;
6026 }
6027 // $ANTLR end "ruleCDInterpretation"
6028
6029
6030 // $ANTLR start "entryRuleClassInterpretation"
6031 // InternalSolverLanguage.g:2081:1: entryRuleClassInterpretation returns [EObject current=null] : iv_ruleClassInterpretation= ruleClassInterpretation EOF ;
6032 public final EObject entryRuleClassInterpretation() throws RecognitionException {
6033 EObject current = null;
6034
6035 EObject iv_ruleClassInterpretation = null;
6036
6037
6038 try {
6039 // InternalSolverLanguage.g:2081:60: (iv_ruleClassInterpretation= ruleClassInterpretation EOF )
6040 // InternalSolverLanguage.g:2082:2: iv_ruleClassInterpretation= ruleClassInterpretation EOF
6041 {
6042 newCompositeNode(grammarAccess.getClassInterpretationRule());
6043 pushFollow(FOLLOW_1);
6044 iv_ruleClassInterpretation=ruleClassInterpretation();
6045
6046 state._fsp--;
6047
6048 current =iv_ruleClassInterpretation;
6049 match(input,EOF,FOLLOW_2);
6050
6051 }
6052
6053 }
6054
6055 catch (RecognitionException re) {
6056 recover(input,re);
6057 appendSkippedTokens();
6058 }
6059 finally {
6060 }
6061 return current;
6062 }
6063 // $ANTLR end "entryRuleClassInterpretation"
6064
6065
6066 // $ANTLR start "ruleClassInterpretation"
6067 // InternalSolverLanguage.g:2088:1: ruleClassInterpretation returns [EObject current=null] : ( ( (lv_abstract_0_0= 'abstract' ) ) otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) ;
6068 public final EObject ruleClassInterpretation() throws RecognitionException {
6069 EObject current = null;
6070
6071 Token lv_abstract_0_0=null;
6072 Token otherlv_1=null;
6073 Token otherlv_3=null;
6074 Token otherlv_5=null;
6075 Token otherlv_7=null;
6076 EObject lv_symbol_2_0 = null;
6077
6078 EObject lv_supertypes_4_0 = null;
6079
6080 EObject lv_fielt_6_0 = null;
6081
6082
6083
6084 enterRule();
6085
6086 try {
6087 // InternalSolverLanguage.g:2094:2: ( ( ( (lv_abstract_0_0= 'abstract' ) ) otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) )
6088 // InternalSolverLanguage.g:2095:2: ( ( (lv_abstract_0_0= 'abstract' ) ) otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' )
6089 {
6090 // InternalSolverLanguage.g:2095:2: ( ( (lv_abstract_0_0= 'abstract' ) ) otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' )
6091 // InternalSolverLanguage.g:2096:3: ( (lv_abstract_0_0= 'abstract' ) ) otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}'
6092 {
6093 // InternalSolverLanguage.g:2096:3: ( (lv_abstract_0_0= 'abstract' ) )
6094 // InternalSolverLanguage.g:2097:4: (lv_abstract_0_0= 'abstract' )
6095 {
6096 // InternalSolverLanguage.g:2097:4: (lv_abstract_0_0= 'abstract' )
6097 // InternalSolverLanguage.g:2098:5: lv_abstract_0_0= 'abstract'
6098 {
6099 lv_abstract_0_0=(Token)match(input,32,FOLLOW_24);
6100
6101 newLeafNode(lv_abstract_0_0, grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0());
6102
6103
6104 if (current==null) {
6105 current = createModelElement(grammarAccess.getClassInterpretationRule());
6106 }
6107 setWithLastConsumed(current, "abstract", true, "abstract");
6108
6109
6110 }
6111
6112
6113 }
6114
6115 otherlv_1=(Token)match(input,33,FOLLOW_10);
6116
6117 newLeafNode(otherlv_1, grammarAccess.getClassInterpretationAccess().getClassKeyword_1());
6118
6119 // InternalSolverLanguage.g:2114:3: ( (lv_symbol_2_0= ruleModelSymbol ) )
6120 // InternalSolverLanguage.g:2115:4: (lv_symbol_2_0= ruleModelSymbol )
6121 {
6122 // InternalSolverLanguage.g:2115:4: (lv_symbol_2_0= ruleModelSymbol )
6123 // InternalSolverLanguage.g:2116:5: lv_symbol_2_0= ruleModelSymbol
6124 {
6125
6126 newCompositeNode(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0());
6127
6128 pushFollow(FOLLOW_25);
6129 lv_symbol_2_0=ruleModelSymbol();
6130
6131 state._fsp--;
6132
6133
6134 if (current==null) {
6135 current = createModelElementForParent(grammarAccess.getClassInterpretationRule());
6136 }
6137 set(
6138 current,
6139 "symbol",
6140 lv_symbol_2_0,
6141 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
6142 afterParserOrEnumRuleCall();
6143
6144
6145 }
6146
6147
6148 }
6149
6150 // InternalSolverLanguage.g:2133:3: (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )?
6151 int alt34=2;
6152 int LA34_0 = input.LA(1);
6153
6154 if ( (LA34_0==34) ) {
6155 alt34=1;
6156 }
6157 switch (alt34) {
6158 case 1 :
6159 // InternalSolverLanguage.g:2134:4: otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+
6160 {
6161 otherlv_3=(Token)match(input,34,FOLLOW_10);
6162
6163 newLeafNode(otherlv_3, grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0());
6164
6165 // InternalSolverLanguage.g:2138:4: ( (lv_supertypes_4_0= ruleModelSymbol ) )+
6166 int cnt33=0;
6167 loop33:
6168 do {
6169 int alt33=2;
6170 int LA33_0 = input.LA(1);
6171
6172 if ( (LA33_0==RULE_ID) ) {
6173 alt33=1;
6174 }
6175
6176
6177 switch (alt33) {
6178 case 1 :
6179 // InternalSolverLanguage.g:2139:5: (lv_supertypes_4_0= ruleModelSymbol )
6180 {
6181 // InternalSolverLanguage.g:2139:5: (lv_supertypes_4_0= ruleModelSymbol )
6182 // InternalSolverLanguage.g:2140:6: lv_supertypes_4_0= ruleModelSymbol
6183 {
6184
6185 newCompositeNode(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0());
6186
6187 pushFollow(FOLLOW_26);
6188 lv_supertypes_4_0=ruleModelSymbol();
6189
6190 state._fsp--;
6191
6192
6193 if (current==null) {
6194 current = createModelElementForParent(grammarAccess.getClassInterpretationRule());
6195 }
6196 add(
6197 current,
6198 "supertypes",
6199 lv_supertypes_4_0,
6200 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
6201 afterParserOrEnumRuleCall();
6202
6203
6204 }
6205
6206
6207 }
6208 break;
6209
6210 default :
6211 if ( cnt33 >= 1 ) break loop33;
6212 EarlyExitException eee =
6213 new EarlyExitException(33, input);
6214 throw eee;
6215 }
6216 cnt33++;
6217 } while (true);
6218
6219
6220 }
6221 break;
6222
6223 }
6224
6225 otherlv_5=(Token)match(input,35,FOLLOW_27);
6226
6227 newLeafNode(otherlv_5, grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4());
6228
6229 // InternalSolverLanguage.g:2162:3: ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )*
6230 loop35:
6231 do {
6232 int alt35=2;
6233 int LA35_0 = input.LA(1);
6234
6235 if ( (LA35_0==38) ) {
6236 alt35=1;
6237 }
6238
6239
6240 switch (alt35) {
6241 case 1 :
6242 // InternalSolverLanguage.g:2163:4: (lv_fielt_6_0= ruleFieldRelationInterpretation )
6243 {
6244 // InternalSolverLanguage.g:2163:4: (lv_fielt_6_0= ruleFieldRelationInterpretation )
6245 // InternalSolverLanguage.g:2164:5: lv_fielt_6_0= ruleFieldRelationInterpretation
6246 {
6247
6248 newCompositeNode(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0());
6249
6250 pushFollow(FOLLOW_27);
6251 lv_fielt_6_0=ruleFieldRelationInterpretation();
6252
6253 state._fsp--;
6254
6255
6256 if (current==null) {
6257 current = createModelElementForParent(grammarAccess.getClassInterpretationRule());
6258 }
6259 add(
6260 current,
6261 "fielt",
6262 lv_fielt_6_0,
6263 "org.eclipse.viatra.solver.language.SolverLanguage.FieldRelationInterpretation");
6264 afterParserOrEnumRuleCall();
6265
6266
6267 }
6268
6269
6270 }
6271 break;
6272
6273 default :
6274 break loop35;
6275 }
6276 } while (true);
6277
6278 otherlv_7=(Token)match(input,36,FOLLOW_2);
6279
6280 newLeafNode(otherlv_7, grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6());
6281
6282
6283 }
6284
6285
6286 }
6287
6288
6289 leaveRule();
6290
6291 }
6292
6293 catch (RecognitionException re) {
6294 recover(input,re);
6295 appendSkippedTokens();
6296 }
6297 finally {
6298 }
6299 return current;
6300 }
6301 // $ANTLR end "ruleClassInterpretation"
6302
6303
6304 // $ANTLR start "entryRuleEnumInterpretation"
6305 // InternalSolverLanguage.g:2189:1: entryRuleEnumInterpretation returns [EObject current=null] : iv_ruleEnumInterpretation= ruleEnumInterpretation EOF ;
6306 public final EObject entryRuleEnumInterpretation() throws RecognitionException {
6307 EObject current = null;
6308
6309 EObject iv_ruleEnumInterpretation = null;
6310
6311
6312 try {
6313 // InternalSolverLanguage.g:2189:59: (iv_ruleEnumInterpretation= ruleEnumInterpretation EOF )
6314 // InternalSolverLanguage.g:2190:2: iv_ruleEnumInterpretation= ruleEnumInterpretation EOF
6315 {
6316 newCompositeNode(grammarAccess.getEnumInterpretationRule());
6317 pushFollow(FOLLOW_1);
6318 iv_ruleEnumInterpretation=ruleEnumInterpretation();
6319
6320 state._fsp--;
6321
6322 current =iv_ruleEnumInterpretation;
6323 match(input,EOF,FOLLOW_2);
6324
6325 }
6326
6327 }
6328
6329 catch (RecognitionException re) {
6330 recover(input,re);
6331 appendSkippedTokens();
6332 }
6333 finally {
6334 }
6335 return current;
6336 }
6337 // $ANTLR end "entryRuleEnumInterpretation"
6338
6339
6340 // $ANTLR start "ruleEnumInterpretation"
6341 // InternalSolverLanguage.g:2196:1: ruleEnumInterpretation returns [EObject current=null] : (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) ;
6342 public final EObject ruleEnumInterpretation() throws RecognitionException {
6343 EObject current = null;
6344
6345 Token otherlv_0=null;
6346 Token otherlv_2=null;
6347 Token otherlv_4=null;
6348 EObject lv_Symbol_1_0 = null;
6349
6350 EObject lv_objects_3_0 = null;
6351
6352
6353
6354 enterRule();
6355
6356 try {
6357 // InternalSolverLanguage.g:2202:2: ( (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) )
6358 // InternalSolverLanguage.g:2203:2: (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' )
6359 {
6360 // InternalSolverLanguage.g:2203:2: (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' )
6361 // InternalSolverLanguage.g:2204:3: otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}'
6362 {
6363 otherlv_0=(Token)match(input,37,FOLLOW_10);
6364
6365 newLeafNode(otherlv_0, grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0());
6366
6367 // InternalSolverLanguage.g:2208:3: ( (lv_Symbol_1_0= ruleModelSymbol ) )
6368 // InternalSolverLanguage.g:2209:4: (lv_Symbol_1_0= ruleModelSymbol )
6369 {
6370 // InternalSolverLanguage.g:2209:4: (lv_Symbol_1_0= ruleModelSymbol )
6371 // InternalSolverLanguage.g:2210:5: lv_Symbol_1_0= ruleModelSymbol
6372 {
6373
6374 newCompositeNode(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0());
6375
6376 pushFollow(FOLLOW_28);
6377 lv_Symbol_1_0=ruleModelSymbol();
6378
6379 state._fsp--;
6380
6381
6382 if (current==null) {
6383 current = createModelElementForParent(grammarAccess.getEnumInterpretationRule());
6384 }
6385 set(
6386 current,
6387 "Symbol",
6388 lv_Symbol_1_0,
6389 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
6390 afterParserOrEnumRuleCall();
6391
6392
6393 }
6394
6395
6396 }
6397
6398 otherlv_2=(Token)match(input,35,FOLLOW_11);
6399
6400 newLeafNode(otherlv_2, grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2());
6401
6402 // InternalSolverLanguage.g:2231:3: ( (lv_objects_3_0= ruleNamedObject ) )+
6403 int cnt36=0;
6404 loop36:
6405 do {
6406 int alt36=2;
6407 int LA36_0 = input.LA(1);
6408
6409 if ( (LA36_0==26) ) {
6410 alt36=1;
6411 }
6412
6413
6414 switch (alt36) {
6415 case 1 :
6416 // InternalSolverLanguage.g:2232:4: (lv_objects_3_0= ruleNamedObject )
6417 {
6418 // InternalSolverLanguage.g:2232:4: (lv_objects_3_0= ruleNamedObject )
6419 // InternalSolverLanguage.g:2233:5: lv_objects_3_0= ruleNamedObject
6420 {
6421
6422 newCompositeNode(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0());
6423
6424 pushFollow(FOLLOW_29);
6425 lv_objects_3_0=ruleNamedObject();
6426
6427 state._fsp--;
6428
6429
6430 if (current==null) {
6431 current = createModelElementForParent(grammarAccess.getEnumInterpretationRule());
6432 }
6433 add(
6434 current,
6435 "objects",
6436 lv_objects_3_0,
6437 "org.eclipse.viatra.solver.language.SolverLanguage.NamedObject");
6438 afterParserOrEnumRuleCall();
6439
6440
6441 }
6442
6443
6444 }
6445 break;
6446
6447 default :
6448 if ( cnt36 >= 1 ) break loop36;
6449 EarlyExitException eee =
6450 new EarlyExitException(36, input);
6451 throw eee;
6452 }
6453 cnt36++;
6454 } while (true);
6455
6456 otherlv_4=(Token)match(input,36,FOLLOW_2);
6457
6458 newLeafNode(otherlv_4, grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4());
6459
6460
6461 }
6462
6463
6464 }
6465
6466
6467 leaveRule();
6468
6469 }
6470
6471 catch (RecognitionException re) {
6472 recover(input,re);
6473 appendSkippedTokens();
6474 }
6475 finally {
6476 }
6477 return current;
6478 }
6479 // $ANTLR end "ruleEnumInterpretation"
6480
6481
6482 // $ANTLR start "entryRuleFieldRelationInterpretation"
6483 // InternalSolverLanguage.g:2258:1: entryRuleFieldRelationInterpretation returns [EObject current=null] : iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF ;
6484 public final EObject entryRuleFieldRelationInterpretation() throws RecognitionException {
6485 EObject current = null;
6486
6487 EObject iv_ruleFieldRelationInterpretation = null;
6488
6489
6490 try {
6491 // InternalSolverLanguage.g:2258:68: (iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF )
6492 // InternalSolverLanguage.g:2259:2: iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF
6493 {
6494 newCompositeNode(grammarAccess.getFieldRelationInterpretationRule());
6495 pushFollow(FOLLOW_1);
6496 iv_ruleFieldRelationInterpretation=ruleFieldRelationInterpretation();
6497
6498 state._fsp--;
6499
6500 current =iv_ruleFieldRelationInterpretation;
6501 match(input,EOF,FOLLOW_2);
6502
6503 }
6504
6505 }
6506
6507 catch (RecognitionException re) {
6508 recover(input,re);
6509 appendSkippedTokens();
6510 }
6511 finally {
6512 }
6513 return current;
6514 }
6515 // $ANTLR end "entryRuleFieldRelationInterpretation"
6516
6517
6518 // $ANTLR start "ruleFieldRelationInterpretation"
6519 // InternalSolverLanguage.g:2265:1: ruleFieldRelationInterpretation returns [EObject current=null] : ( ( (lv_containment_0_0= 'containment' ) ) ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) ;
6520 public final EObject ruleFieldRelationInterpretation() throws RecognitionException {
6521 EObject current = null;
6522
6523 Token lv_containment_0_0=null;
6524 Token otherlv_2=null;
6525 EObject lv_symbol_1_0 = null;
6526
6527 EObject lv_multiplicity_3_0 = null;
6528
6529 EObject lv_target_4_0 = null;
6530
6531
6532
6533 enterRule();
6534
6535 try {
6536 // InternalSolverLanguage.g:2271:2: ( ( ( (lv_containment_0_0= 'containment' ) ) ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) )
6537 // InternalSolverLanguage.g:2272:2: ( ( (lv_containment_0_0= 'containment' ) ) ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) )
6538 {
6539 // InternalSolverLanguage.g:2272:2: ( ( (lv_containment_0_0= 'containment' ) ) ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) )
6540 // InternalSolverLanguage.g:2273:3: ( (lv_containment_0_0= 'containment' ) ) ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) )
6541 {
6542 // InternalSolverLanguage.g:2273:3: ( (lv_containment_0_0= 'containment' ) )
6543 // InternalSolverLanguage.g:2274:4: (lv_containment_0_0= 'containment' )
6544 {
6545 // InternalSolverLanguage.g:2274:4: (lv_containment_0_0= 'containment' )
6546 // InternalSolverLanguage.g:2275:5: lv_containment_0_0= 'containment'
6547 {
6548 lv_containment_0_0=(Token)match(input,38,FOLLOW_10);
6549
6550 newLeafNode(lv_containment_0_0, grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0());
6551
6552
6553 if (current==null) {
6554 current = createModelElement(grammarAccess.getFieldRelationInterpretationRule());
6555 }
6556 setWithLastConsumed(current, "containment", true, "containment");
6557
6558
6559 }
6560
6561
6562 }
6563
6564 // InternalSolverLanguage.g:2287:3: ( (lv_symbol_1_0= ruleModelSymbol ) )
6565 // InternalSolverLanguage.g:2288:4: (lv_symbol_1_0= ruleModelSymbol )
6566 {
6567 // InternalSolverLanguage.g:2288:4: (lv_symbol_1_0= ruleModelSymbol )
6568 // InternalSolverLanguage.g:2289:5: lv_symbol_1_0= ruleModelSymbol
6569 {
6570
6571 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0());
6572
6573 pushFollow(FOLLOW_8);
6574 lv_symbol_1_0=ruleModelSymbol();
6575
6576 state._fsp--;
6577
6578
6579 if (current==null) {
6580 current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule());
6581 }
6582 set(
6583 current,
6584 "symbol",
6585 lv_symbol_1_0,
6586 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
6587 afterParserOrEnumRuleCall();
6588
6589
6590 }
6591
6592
6593 }
6594
6595 otherlv_2=(Token)match(input,19,FOLLOW_30);
6596
6597 newLeafNode(otherlv_2, grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2());
6598
6599 // InternalSolverLanguage.g:2310:3: ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )?
6600 int alt37=2;
6601 int LA37_0 = input.LA(1);
6602
6603 if ( (LA37_0==RULE_INT) ) {
6604 alt37=1;
6605 }
6606 switch (alt37) {
6607 case 1 :
6608 // InternalSolverLanguage.g:2311:4: (lv_multiplicity_3_0= ruleMultiplicityDefinition )
6609 {
6610 // InternalSolverLanguage.g:2311:4: (lv_multiplicity_3_0= ruleMultiplicityDefinition )
6611 // InternalSolverLanguage.g:2312:5: lv_multiplicity_3_0= ruleMultiplicityDefinition
6612 {
6613
6614 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0());
6615
6616 pushFollow(FOLLOW_18);
6617 lv_multiplicity_3_0=ruleMultiplicityDefinition();
6618
6619 state._fsp--;
6620
6621
6622 if (current==null) {
6623 current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule());
6624 }
6625 set(
6626 current,
6627 "multiplicity",
6628 lv_multiplicity_3_0,
6629 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition");
6630 afterParserOrEnumRuleCall();
6631
6632
6633 }
6634
6635
6636 }
6637 break;
6638
6639 }
6640
6641 // InternalSolverLanguage.g:2329:3: ( (lv_target_4_0= ruleSymbol ) )
6642 // InternalSolverLanguage.g:2330:4: (lv_target_4_0= ruleSymbol )
6643 {
6644 // InternalSolverLanguage.g:2330:4: (lv_target_4_0= ruleSymbol )
6645 // InternalSolverLanguage.g:2331:5: lv_target_4_0= ruleSymbol
6646 {
6647
6648 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0());
6649
6650 pushFollow(FOLLOW_2);
6651 lv_target_4_0=ruleSymbol();
6652
6653 state._fsp--;
6654
6655
6656 if (current==null) {
6657 current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule());
6658 }
6659 set(
6660 current,
6661 "target",
6662 lv_target_4_0,
6663 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
6664 afterParserOrEnumRuleCall();
6665
6666
6667 }
6668
6669
6670 }
6671
6672
6673 }
6674
6675
6676 }
6677
6678
6679 leaveRule();
6680
6681 }
6682
6683 catch (RecognitionException re) {
6684 recover(input,re);
6685 appendSkippedTokens();
6686 }
6687 finally {
6688 }
6689 return current;
6690 }
6691 // $ANTLR end "ruleFieldRelationInterpretation"
6692
6693
6694 // $ANTLR start "entryRuleGlobalRelationInterpretation"
6695 // InternalSolverLanguage.g:2352:1: entryRuleGlobalRelationInterpretation returns [EObject current=null] : iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF ;
6696 public final EObject entryRuleGlobalRelationInterpretation() throws RecognitionException {
6697 EObject current = null;
6698
6699 EObject iv_ruleGlobalRelationInterpretation = null;
6700
6701
6702 try {
6703 // InternalSolverLanguage.g:2352:69: (iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF )
6704 // InternalSolverLanguage.g:2353:2: iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF
6705 {
6706 newCompositeNode(grammarAccess.getGlobalRelationInterpretationRule());
6707 pushFollow(FOLLOW_1);
6708 iv_ruleGlobalRelationInterpretation=ruleGlobalRelationInterpretation();
6709
6710 state._fsp--;
6711
6712 current =iv_ruleGlobalRelationInterpretation;
6713 match(input,EOF,FOLLOW_2);
6714
6715 }
6716
6717 }
6718
6719 catch (RecognitionException re) {
6720 recover(input,re);
6721 appendSkippedTokens();
6722 }
6723 finally {
6724 }
6725 return current;
6726 }
6727 // $ANTLR end "entryRuleGlobalRelationInterpretation"
6728
6729
6730 // $ANTLR start "ruleGlobalRelationInterpretation"
6731 // InternalSolverLanguage.g:2359:1: ruleGlobalRelationInterpretation returns [EObject current=null] : ( ( (lv_containment_0_0= 'containment' ) ) otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) ;
6732 public final EObject ruleGlobalRelationInterpretation() throws RecognitionException {
6733 EObject current = null;
6734
6735 Token lv_containment_0_0=null;
6736 Token otherlv_1=null;
6737 Token otherlv_3=null;
6738 EObject lv_symbol_2_0 = null;
6739
6740 EObject lv_sourceMultiplicity_4_0 = null;
6741
6742 EObject lv_source_5_0 = null;
6743
6744 EObject lv_targetMultiplicity_6_0 = null;
6745
6746 EObject lv_target_7_0 = null;
6747
6748
6749
6750 enterRule();
6751
6752 try {
6753 // InternalSolverLanguage.g:2365:2: ( ( ( (lv_containment_0_0= 'containment' ) ) otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) )
6754 // InternalSolverLanguage.g:2366:2: ( ( (lv_containment_0_0= 'containment' ) ) otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) )
6755 {
6756 // InternalSolverLanguage.g:2366:2: ( ( (lv_containment_0_0= 'containment' ) ) otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) )
6757 // InternalSolverLanguage.g:2367:3: ( (lv_containment_0_0= 'containment' ) ) otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) )
6758 {
6759 // InternalSolverLanguage.g:2367:3: ( (lv_containment_0_0= 'containment' ) )
6760 // InternalSolverLanguage.g:2368:4: (lv_containment_0_0= 'containment' )
6761 {
6762 // InternalSolverLanguage.g:2368:4: (lv_containment_0_0= 'containment' )
6763 // InternalSolverLanguage.g:2369:5: lv_containment_0_0= 'containment'
6764 {
6765 lv_containment_0_0=(Token)match(input,38,FOLLOW_31);
6766
6767 newLeafNode(lv_containment_0_0, grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0());
6768
6769
6770 if (current==null) {
6771 current = createModelElement(grammarAccess.getGlobalRelationInterpretationRule());
6772 }
6773 setWithLastConsumed(current, "containment", true, "containment");
6774
6775
6776 }
6777
6778
6779 }
6780
6781 otherlv_1=(Token)match(input,39,FOLLOW_10);
6782
6783 newLeafNode(otherlv_1, grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1());
6784
6785 // InternalSolverLanguage.g:2385:3: ( (lv_symbol_2_0= ruleModelSymbol ) )
6786 // InternalSolverLanguage.g:2386:4: (lv_symbol_2_0= ruleModelSymbol )
6787 {
6788 // InternalSolverLanguage.g:2386:4: (lv_symbol_2_0= ruleModelSymbol )
6789 // InternalSolverLanguage.g:2387:5: lv_symbol_2_0= ruleModelSymbol
6790 {
6791
6792 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0());
6793
6794 pushFollow(FOLLOW_8);
6795 lv_symbol_2_0=ruleModelSymbol();
6796
6797 state._fsp--;
6798
6799
6800 if (current==null) {
6801 current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
6802 }
6803 set(
6804 current,
6805 "symbol",
6806 lv_symbol_2_0,
6807 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
6808 afterParserOrEnumRuleCall();
6809
6810
6811 }
6812
6813
6814 }
6815
6816 otherlv_3=(Token)match(input,19,FOLLOW_30);
6817
6818 newLeafNode(otherlv_3, grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3());
6819
6820 // InternalSolverLanguage.g:2408:3: ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )?
6821 int alt38=2;
6822 int LA38_0 = input.LA(1);
6823
6824 if ( (LA38_0==RULE_INT) ) {
6825 alt38=1;
6826 }
6827 switch (alt38) {
6828 case 1 :
6829 // InternalSolverLanguage.g:2409:4: (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition )
6830 {
6831 // InternalSolverLanguage.g:2409:4: (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition )
6832 // InternalSolverLanguage.g:2410:5: lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition
6833 {
6834
6835 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0());
6836
6837 pushFollow(FOLLOW_18);
6838 lv_sourceMultiplicity_4_0=ruleMultiplicityDefinition();
6839
6840 state._fsp--;
6841
6842
6843 if (current==null) {
6844 current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
6845 }
6846 set(
6847 current,
6848 "sourceMultiplicity",
6849 lv_sourceMultiplicity_4_0,
6850 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition");
6851 afterParserOrEnumRuleCall();
6852
6853
6854 }
6855
6856
6857 }
6858 break;
6859
6860 }
6861
6862 // InternalSolverLanguage.g:2427:3: ( (lv_source_5_0= ruleSymbol ) )
6863 // InternalSolverLanguage.g:2428:4: (lv_source_5_0= ruleSymbol )
6864 {
6865 // InternalSolverLanguage.g:2428:4: (lv_source_5_0= ruleSymbol )
6866 // InternalSolverLanguage.g:2429:5: lv_source_5_0= ruleSymbol
6867 {
6868
6869 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0());
6870
6871 pushFollow(FOLLOW_30);
6872 lv_source_5_0=ruleSymbol();
6873
6874 state._fsp--;
6875
6876
6877 if (current==null) {
6878 current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
6879 }
6880 set(
6881 current,
6882 "source",
6883 lv_source_5_0,
6884 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
6885 afterParserOrEnumRuleCall();
6886
6887
6888 }
6889
6890
6891 }
6892
6893 // InternalSolverLanguage.g:2446:3: ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )?
6894 int alt39=2;
6895 int LA39_0 = input.LA(1);
6896
6897 if ( (LA39_0==RULE_INT) ) {
6898 alt39=1;
6899 }
6900 switch (alt39) {
6901 case 1 :
6902 // InternalSolverLanguage.g:2447:4: (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition )
6903 {
6904 // InternalSolverLanguage.g:2447:4: (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition )
6905 // InternalSolverLanguage.g:2448:5: lv_targetMultiplicity_6_0= ruleMultiplicityDefinition
6906 {
6907
6908 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0());
6909
6910 pushFollow(FOLLOW_18);
6911 lv_targetMultiplicity_6_0=ruleMultiplicityDefinition();
6912
6913 state._fsp--;
6914
6915
6916 if (current==null) {
6917 current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
6918 }
6919 set(
6920 current,
6921 "targetMultiplicity",
6922 lv_targetMultiplicity_6_0,
6923 "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition");
6924 afterParserOrEnumRuleCall();
6925
6926
6927 }
6928
6929
6930 }
6931 break;
6932
6933 }
6934
6935 // InternalSolverLanguage.g:2465:3: ( (lv_target_7_0= ruleSymbol ) )
6936 // InternalSolverLanguage.g:2466:4: (lv_target_7_0= ruleSymbol )
6937 {
6938 // InternalSolverLanguage.g:2466:4: (lv_target_7_0= ruleSymbol )
6939 // InternalSolverLanguage.g:2467:5: lv_target_7_0= ruleSymbol
6940 {
6941
6942 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0());
6943
6944 pushFollow(FOLLOW_2);
6945 lv_target_7_0=ruleSymbol();
6946
6947 state._fsp--;
6948
6949
6950 if (current==null) {
6951 current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule());
6952 }
6953 set(
6954 current,
6955 "target",
6956 lv_target_7_0,
6957 "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
6958 afterParserOrEnumRuleCall();
6959
6960
6961 }
6962
6963
6964 }
6965
6966
6967 }
6968
6969
6970 }
6971
6972
6973 leaveRule();
6974
6975 }
6976
6977 catch (RecognitionException re) {
6978 recover(input,re);
6979 appendSkippedTokens();
6980 }
6981 finally {
6982 }
6983 return current;
6984 }
6985 // $ANTLR end "ruleGlobalRelationInterpretation"
6986
6987
6988 // $ANTLR start "entryRuleMultiplicityDefinition"
6989 // InternalSolverLanguage.g:2488:1: entryRuleMultiplicityDefinition returns [EObject current=null] : iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF ;
6990 public final EObject entryRuleMultiplicityDefinition() throws RecognitionException {
6991 EObject current = null;
6992
6993 EObject iv_ruleMultiplicityDefinition = null;
6994
6995
6996 try {
6997 // InternalSolverLanguage.g:2488:63: (iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF )
6998 // InternalSolverLanguage.g:2489:2: iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF
6999 {
7000 newCompositeNode(grammarAccess.getMultiplicityDefinitionRule());
7001 pushFollow(FOLLOW_1);
7002 iv_ruleMultiplicityDefinition=ruleMultiplicityDefinition();
7003
7004 state._fsp--;
7005
7006 current =iv_ruleMultiplicityDefinition;
7007 match(input,EOF,FOLLOW_2);
7008
7009 }
7010
7011 }
7012
7013 catch (RecognitionException re) {
7014 recover(input,re);
7015 appendSkippedTokens();
7016 }
7017 finally {
7018 }
7019 return current;
7020 }
7021 // $ANTLR end "entryRuleMultiplicityDefinition"
7022
7023
7024 // $ANTLR start "ruleMultiplicityDefinition"
7025 // InternalSolverLanguage.g:2495:1: ruleMultiplicityDefinition returns [EObject current=null] : ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) ;
7026 public final EObject ruleMultiplicityDefinition() throws RecognitionException {
7027 EObject current = null;
7028
7029 Token lv_lower_0_0=null;
7030 Token otherlv_1=null;
7031 Token lv_upper_2_0=null;
7032 Token lv_unlimitedUpper_3_0=null;
7033
7034
7035 enterRule();
7036
7037 try {
7038 // InternalSolverLanguage.g:2501:2: ( ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) )
7039 // InternalSolverLanguage.g:2502:2: ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) )
7040 {
7041 // InternalSolverLanguage.g:2502:2: ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) )
7042 // InternalSolverLanguage.g:2503:3: ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) )
7043 {
7044 // InternalSolverLanguage.g:2503:3: ( (lv_lower_0_0= RULE_INT ) )
7045 // InternalSolverLanguage.g:2504:4: (lv_lower_0_0= RULE_INT )
7046 {
7047 // InternalSolverLanguage.g:2504:4: (lv_lower_0_0= RULE_INT )
7048 // InternalSolverLanguage.g:2505:5: lv_lower_0_0= RULE_INT
7049 {
7050 lv_lower_0_0=(Token)match(input,RULE_INT,FOLLOW_32);
7051
7052 newLeafNode(lv_lower_0_0, grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0());
7053
7054
7055 if (current==null) {
7056 current = createModelElement(grammarAccess.getMultiplicityDefinitionRule());
7057 }
7058 setWithLastConsumed(
7059 current,
7060 "lower",
7061 lv_lower_0_0,
7062 "org.eclipse.xtext.common.Terminals.INT");
7063
7064
7065 }
7066
7067
7068 }
7069
7070 otherlv_1=(Token)match(input,40,FOLLOW_33);
7071
7072 newLeafNode(otherlv_1, grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1());
7073
7074 // InternalSolverLanguage.g:2525:3: ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) )
7075 int alt40=2;
7076 int LA40_0 = input.LA(1);
7077
7078 if ( (LA40_0==RULE_INT) ) {
7079 alt40=1;
7080 }
7081 else if ( (LA40_0==30) ) {
7082 alt40=2;
7083 }
7084 else {
7085 NoViableAltException nvae =
7086 new NoViableAltException("", 40, 0, input);
7087
7088 throw nvae;
7089 }
7090 switch (alt40) {
7091 case 1 :
7092 // InternalSolverLanguage.g:2526:4: ( (lv_upper_2_0= RULE_INT ) )
7093 {
7094 // InternalSolverLanguage.g:2526:4: ( (lv_upper_2_0= RULE_INT ) )
7095 // InternalSolverLanguage.g:2527:5: (lv_upper_2_0= RULE_INT )
7096 {
7097 // InternalSolverLanguage.g:2527:5: (lv_upper_2_0= RULE_INT )
7098 // InternalSolverLanguage.g:2528:6: lv_upper_2_0= RULE_INT
7099 {
7100 lv_upper_2_0=(Token)match(input,RULE_INT,FOLLOW_2);
7101
7102 newLeafNode(lv_upper_2_0, grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0());
7103
7104
7105 if (current==null) {
7106 current = createModelElement(grammarAccess.getMultiplicityDefinitionRule());
7107 }
7108 setWithLastConsumed(
7109 current,
7110 "upper",
7111 lv_upper_2_0,
7112 "org.eclipse.xtext.common.Terminals.INT");
7113
7114
7115 }
7116
7117
7118 }
7119
7120
7121 }
7122 break;
7123 case 2 :
7124 // InternalSolverLanguage.g:2545:4: ( (lv_unlimitedUpper_3_0= '*' ) )
7125 {
7126 // InternalSolverLanguage.g:2545:4: ( (lv_unlimitedUpper_3_0= '*' ) )
7127 // InternalSolverLanguage.g:2546:5: (lv_unlimitedUpper_3_0= '*' )
7128 {
7129 // InternalSolverLanguage.g:2546:5: (lv_unlimitedUpper_3_0= '*' )
7130 // InternalSolverLanguage.g:2547:6: lv_unlimitedUpper_3_0= '*'
7131 {
7132 lv_unlimitedUpper_3_0=(Token)match(input,30,FOLLOW_2);
7133
7134 newLeafNode(lv_unlimitedUpper_3_0, grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0());
7135
7136
7137 if (current==null) {
7138 current = createModelElement(grammarAccess.getMultiplicityDefinitionRule());
7139 }
7140 setWithLastConsumed(current, "unlimitedUpper", true, "*");
7141
7142
7143 }
7144
7145
7146 }
7147
7148
7149 }
7150 break;
7151
7152 }
7153
7154
7155 }
7156
7157
7158 }
7159
7160
7161 leaveRule();
7162
7163 }
7164
7165 catch (RecognitionException re) {
7166 recover(input,re);
7167 appendSkippedTokens();
7168 }
7169 finally {
7170 }
7171 return current;
7172 }
7173 // $ANTLR end "ruleMultiplicityDefinition"
7174
7175 // Delegated rules
7176
7177
7178
7179
7180 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
7181 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
7182 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x000000618BF10022L});
7183 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L});
7184 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000001000L});
7185 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000020000L});
7186 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x00000000440C6870L});
7187 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000080000L});
7188 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x000000000001E000L});
7189 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000020L});
7190 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000004000000L});
7191 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000040020L});
7192 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000030007820L});
7193 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000010001000L});
7194 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000030003820L});
7195 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000020020L});
7196 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000080002L});
7197 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000003F00020L});
7198 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000020000822L});
7199 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000060020000L});
7200 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000004046870L});
7201 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000004006870L});
7202 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000040000L});
7203 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000200000000L});
7204 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000C00000000L});
7205 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000800000020L});
7206 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000005000000000L});
7207 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000800000000L});
7208 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001004000000L});
7209 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000003F00030L});
7210 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000008000000000L});
7211 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000010000000000L});
7212 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000040000010L});
7213
7214} \ No newline at end of file
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/scoping/AbstractSolverLanguageScopeProvider.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/scoping/AbstractSolverLanguageScopeProvider.java
new file mode 100644
index 00000000..52cb01b5
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/scoping/AbstractSolverLanguageScopeProvider.java
@@ -0,0 +1,9 @@
1/*
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.scoping;
5
6import org.eclipse.xtext.scoping.impl.DelegatingScopeProvider;
7
8public abstract class AbstractSolverLanguageScopeProvider extends DelegatingScopeProvider {
9}
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
new file mode 100644
index 00000000..80f9a02e
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java
@@ -0,0 +1,781 @@
1/*
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.serializer;
5
6import com.google.inject.Inject;
7import java.util.Set;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess;
11import org.eclipse.viatra.solver.language.solverLanguage.AllInstances;
12import org.eclipse.viatra.solver.language.solverLanguage.AllObjects;
13import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation;
14import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse;
15import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject;
16import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol;
17import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue;
18import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation;
19import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
20import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
21import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
22import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
23import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate;
24import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
25import org.eclipse.viatra.solver.language.solverLanguage.False;
26import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
27import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation;
28import org.eclipse.viatra.solver.language.solverLanguage.IntObject;
29import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol;
30import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure;
31import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
32import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
33import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
34import org.eclipse.viatra.solver.language.solverLanguage.Negative;
35import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
36import org.eclipse.viatra.solver.language.solverLanguage.Positive;
37import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol;
38import org.eclipse.viatra.solver.language.solverLanguage.Problem;
39import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
40import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
41import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
42import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
43import org.eclipse.viatra.solver.language.solverLanguage.StringObject;
44import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol;
45import org.eclipse.viatra.solver.language.solverLanguage.True;
46import org.eclipse.viatra.solver.language.solverLanguage.Unknown;
47import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject;
48import org.eclipse.viatra.solver.language.solverLanguage.Variable;
49import org.eclipse.xtext.Action;
50import org.eclipse.xtext.Parameter;
51import org.eclipse.xtext.ParserRule;
52import org.eclipse.xtext.serializer.ISerializationContext;
53import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
54import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
55import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
56
57@SuppressWarnings("all")
58public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticSequencer {
59
60 @Inject
61 private SolverLanguageGrammarAccess grammarAccess;
62
63 @Override
64 public void sequence(ISerializationContext context, EObject semanticObject) {
65 EPackage epackage = semanticObject.eClass().getEPackage();
66 ParserRule rule = context.getParserRule();
67 Action action = context.getAssignedAction();
68 Set<Parameter> parameters = context.getEnabledBooleanParameters();
69 if (epackage == SolverLanguagePackage.eINSTANCE)
70 switch (semanticObject.eClass().getClassifierID()) {
71 case SolverLanguagePackage.ALL_INSTANCES:
72 sequence_AllInstances(context, (AllInstances) semanticObject);
73 return;
74 case SolverLanguagePackage.ALL_OBJECTS:
75 sequence_AllObjects(context, (AllObjects) semanticObject);
76 return;
77 case SolverLanguagePackage.BASIC_INTERPRETATION:
78 sequence_BasicInterpretation(context, (BasicInterpretation) semanticObject);
79 return;
80 case SolverLanguagePackage.BOOLEAN_FALSE:
81 sequence_BooleanValue(context, (BooleanFalse) semanticObject);
82 return;
83 case SolverLanguagePackage.BOOLEAN_OBJECT:
84 sequence_BooleanObject(context, (BooleanObject) semanticObject);
85 return;
86 case SolverLanguagePackage.BOOLEAN_SYMBOL:
87 sequence_BooleanSymbol(context, (BooleanSymbol) semanticObject);
88 return;
89 case SolverLanguagePackage.BOOLEAN_TRUE:
90 sequence_BooleanValue(context, (BooleanTrue) semanticObject);
91 return;
92 case SolverLanguagePackage.CLASS_INTERPRETATION:
93 sequence_ClassInterpretation(context, (ClassInterpretation) semanticObject);
94 return;
95 case SolverLanguagePackage.CONSTRAINT:
96 sequence_Constraint(context, (Constraint) semanticObject);
97 return;
98 case SolverLanguagePackage.DEFAULT_INTERPRETATION:
99 sequence_DefaultInterpretation(context, (DefaultInterpretation) semanticObject);
100 return;
101 case SolverLanguagePackage.ENUM_INTERPRETATION:
102 sequence_EnumInterpretation(context, (EnumInterpretation) semanticObject);
103 return;
104 case SolverLanguagePackage.EQUALS_SYMBOL:
105 sequence_EqualsSymbol(context, (EqualsSymbol) semanticObject);
106 return;
107 case SolverLanguagePackage.ERROR:
108 sequence_TruthValue(context, (org.eclipse.viatra.solver.language.solverLanguage.Error) semanticObject);
109 return;
110 case SolverLanguagePackage.ERROR_PREDICATE:
111 sequence_ErrorPredicate(context, (ErrorPredicate) semanticObject);
112 return;
113 case SolverLanguagePackage.EXIST_SYMBOL:
114 sequence_ExistSymbol(context, (ExistSymbol) semanticObject);
115 return;
116 case SolverLanguagePackage.FALSE:
117 sequence_TruthValue(context, (False) semanticObject);
118 return;
119 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION:
120 sequence_FieldRelationInterpretation(context, (FieldRelationInterpretation) semanticObject);
121 return;
122 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION:
123 sequence_GlobalRelationInterpretation(context, (GlobalRelationInterpretation) semanticObject);
124 return;
125 case SolverLanguagePackage.INT_OBJECT:
126 sequence_IntObject(context, (IntObject) semanticObject);
127 return;
128 case SolverLanguagePackage.INTEGER_SYMBOL:
129 sequence_IntegerSymbol(context, (IntegerSymbol) semanticObject);
130 return;
131 case SolverLanguagePackage.IRREFLEXIVE_CLOSURE:
132 sequence_ClosureType(context, (IrreflexiveClosure) semanticObject);
133 return;
134 case SolverLanguagePackage.MODEL_SYMBOL:
135 sequence_ModelSymbol(context, (ModelSymbol) semanticObject);
136 return;
137 case SolverLanguagePackage.MULTIPLICITY_DEFINITION:
138 sequence_MultiplicityDefinition(context, (MultiplicityDefinition) semanticObject);
139 return;
140 case SolverLanguagePackage.NAMED_OBJECT:
141 sequence_NamedObject(context, (NamedObject) semanticObject);
142 return;
143 case SolverLanguagePackage.NEGATIVE:
144 sequence_Polarity(context, (Negative) semanticObject);
145 return;
146 case SolverLanguagePackage.PARAMETER:
147 sequence_Parameter(context, (org.eclipse.viatra.solver.language.solverLanguage.Parameter) semanticObject);
148 return;
149 case SolverLanguagePackage.PATTERN_BODY:
150 sequence_PatternBody(context, (PatternBody) semanticObject);
151 return;
152 case SolverLanguagePackage.POSITIVE:
153 sequence_Polarity(context, (Positive) semanticObject);
154 return;
155 case SolverLanguagePackage.PREDICATE_SYMBOL:
156 sequence_PredicateSymbol(context, (PredicateSymbol) semanticObject);
157 return;
158 case SolverLanguagePackage.PROBLEM:
159 sequence_Problem(context, (Problem) semanticObject);
160 return;
161 case SolverLanguagePackage.REAL_OBJECT:
162 sequence_RealObject(context, (RealObject) semanticObject);
163 return;
164 case SolverLanguagePackage.REAL_SYMBOL:
165 sequence_RealSymbol(context, (RealSymbol) semanticObject);
166 return;
167 case SolverLanguagePackage.REFLEXIVE_CLOSURE:
168 sequence_ClosureType(context, (ReflexiveClosure) semanticObject);
169 return;
170 case SolverLanguagePackage.STRING_OBJECT:
171 sequence_StringObject(context, (StringObject) semanticObject);
172 return;
173 case SolverLanguagePackage.STRING_SYMBOL:
174 sequence_StringSymbol(context, (StringSymbol) semanticObject);
175 return;
176 case SolverLanguagePackage.TRUE:
177 sequence_TruthValue(context, (True) semanticObject);
178 return;
179 case SolverLanguagePackage.UNKNOWN:
180 sequence_TruthValue(context, (Unknown) semanticObject);
181 return;
182 case SolverLanguagePackage.UNNAMED_OBJECT:
183 sequence_UnnamedObject(context, (UnnamedObject) semanticObject);
184 return;
185 case SolverLanguagePackage.VARIABLE:
186 sequence_Variable(context, (Variable) semanticObject);
187 return;
188 }
189 if (errorAcceptor != null)
190 errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
191 }
192
193 /**
194 * Contexts:
195 * ComplexObject returns AllInstances
196 * AllInstances returns AllInstances
197 *
198 * Constraint:
199 * symbol=Symbol
200 */
201 protected void sequence_AllInstances(ISerializationContext context, AllInstances semanticObject) {
202 if (errorAcceptor != null) {
203 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.ALL_INSTANCES__SYMBOL) == ValueTransient.YES)
204 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.ALL_INSTANCES__SYMBOL));
205 }
206 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
207 feeder.accept(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0(), semanticObject.getSymbol());
208 feeder.finish();
209 }
210
211
212 /**
213 * Contexts:
214 * ComplexObject returns AllObjects
215 * AllObjects returns AllObjects
216 *
217 * Constraint:
218 * {AllObjects}
219 */
220 protected void sequence_AllObjects(ISerializationContext context, AllObjects semanticObject) {
221 genericSequencer.createSequence(context, semanticObject);
222 }
223
224
225 /**
226 * Contexts:
227 * Statement returns BasicInterpretation
228 * Interpretation returns BasicInterpretation
229 * BasicInterpretation returns BasicInterpretation
230 *
231 * Constraint:
232 * (symbol=Symbol objects+=ComplexObject* value=TruthValue)
233 */
234 protected void sequence_BasicInterpretation(ISerializationContext context, BasicInterpretation semanticObject) {
235 genericSequencer.createSequence(context, semanticObject);
236 }
237
238
239 /**
240 * Contexts:
241 * ComplexObject returns BooleanObject
242 * Object returns BooleanObject
243 * DataObject returns BooleanObject
244 * BooleanObject returns BooleanObject
245 * Literal returns BooleanObject
246 *
247 * Constraint:
248 * value=BooleanValue
249 */
250 protected void sequence_BooleanObject(ISerializationContext context, BooleanObject semanticObject) {
251 if (errorAcceptor != null) {
252 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.BOOLEAN_OBJECT__VALUE) == ValueTransient.YES)
253 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.BOOLEAN_OBJECT__VALUE));
254 }
255 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
256 feeder.accept(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0(), semanticObject.getValue());
257 feeder.finish();
258 }
259
260
261 /**
262 * Contexts:
263 * Symbol returns BooleanSymbol
264 * DataSymbol returns BooleanSymbol
265 * BooleanSymbol returns BooleanSymbol
266 *
267 * Constraint:
268 * {BooleanSymbol}
269 */
270 protected void sequence_BooleanSymbol(ISerializationContext context, BooleanSymbol semanticObject) {
271 genericSequencer.createSequence(context, semanticObject);
272 }
273
274
275 /**
276 * Contexts:
277 * BooleanValue returns BooleanFalse
278 *
279 * Constraint:
280 * {BooleanFalse}
281 */
282 protected void sequence_BooleanValue(ISerializationContext context, BooleanFalse semanticObject) {
283 genericSequencer.createSequence(context, semanticObject);
284 }
285
286
287 /**
288 * Contexts:
289 * BooleanValue returns BooleanTrue
290 *
291 * Constraint:
292 * {BooleanTrue}
293 */
294 protected void sequence_BooleanValue(ISerializationContext context, BooleanTrue semanticObject) {
295 genericSequencer.createSequence(context, semanticObject);
296 }
297
298
299 /**
300 * Contexts:
301 * Statement returns ClassInterpretation
302 * Interpretation returns ClassInterpretation
303 * CDInterpretation returns ClassInterpretation
304 * ClassInterpretation returns ClassInterpretation
305 *
306 * Constraint:
307 * (abstract?='abstract' symbol=ModelSymbol supertypes+=ModelSymbol* fielt+=FieldRelationInterpretation*)
308 */
309 protected void sequence_ClassInterpretation(ISerializationContext context, ClassInterpretation semanticObject) {
310 genericSequencer.createSequence(context, semanticObject);
311 }
312
313
314 /**
315 * Contexts:
316 * ClosureType returns IrreflexiveClosure
317 *
318 * Constraint:
319 * {IrreflexiveClosure}
320 */
321 protected void sequence_ClosureType(ISerializationContext context, IrreflexiveClosure semanticObject) {
322 genericSequencer.createSequence(context, semanticObject);
323 }
324
325
326 /**
327 * Contexts:
328 * ClosureType returns ReflexiveClosure
329 *
330 * Constraint:
331 * {ReflexiveClosure}
332 */
333 protected void sequence_ClosureType(ISerializationContext context, ReflexiveClosure semanticObject) {
334 genericSequencer.createSequence(context, semanticObject);
335 }
336
337
338 /**
339 * Contexts:
340 * Constraint returns Constraint
341 *
342 * Constraint:
343 * (polarity=Polarity? symbol=ModelSymbol (params+=Literal+ | (closureType=ClosureType params+=Literal params+=Literal))?)
344 */
345 protected void sequence_Constraint(ISerializationContext context, Constraint semanticObject) {
346 genericSequencer.createSequence(context, semanticObject);
347 }
348
349
350 /**
351 * Contexts:
352 * Statement returns DefaultInterpretation
353 * Interpretation returns DefaultInterpretation
354 * DefaultInterpretation returns DefaultInterpretation
355 *
356 * Constraint:
357 * interpretation=BasicInterpretation
358 */
359 protected void sequence_DefaultInterpretation(ISerializationContext context, DefaultInterpretation semanticObject) {
360 if (errorAcceptor != null) {
361 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.DEFAULT_INTERPRETATION__INTERPRETATION) == ValueTransient.YES)
362 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.DEFAULT_INTERPRETATION__INTERPRETATION));
363 }
364 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
365 feeder.accept(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0(), semanticObject.getInterpretation());
366 feeder.finish();
367 }
368
369
370 /**
371 * Contexts:
372 * Statement returns EnumInterpretation
373 * Interpretation returns EnumInterpretation
374 * CDInterpretation returns EnumInterpretation
375 * EnumInterpretation returns EnumInterpretation
376 *
377 * Constraint:
378 * (Symbol=ModelSymbol objects+=NamedObject+)
379 */
380 protected void sequence_EnumInterpretation(ISerializationContext context, EnumInterpretation semanticObject) {
381 genericSequencer.createSequence(context, semanticObject);
382 }
383
384
385 /**
386 * Contexts:
387 * Symbol returns EqualsSymbol
388 * PartialitySymbol returns EqualsSymbol
389 * EqualsSymbol returns EqualsSymbol
390 *
391 * Constraint:
392 * {EqualsSymbol}
393 */
394 protected void sequence_EqualsSymbol(ISerializationContext context, EqualsSymbol semanticObject) {
395 genericSequencer.createSequence(context, semanticObject);
396 }
397
398
399 /**
400 * Contexts:
401 * Statement returns ErrorPredicate
402 * Predicate returns ErrorPredicate
403 * ErrorPredicate returns ErrorPredicate
404 *
405 * Constraint:
406 * (name=ID? parameters+=Parameter* (bodies+=PatternBody bodies+=PatternBody*)?)
407 */
408 protected void sequence_ErrorPredicate(ISerializationContext context, ErrorPredicate semanticObject) {
409 genericSequencer.createSequence(context, semanticObject);
410 }
411
412
413 /**
414 * Contexts:
415 * Symbol returns ExistSymbol
416 * PartialitySymbol returns ExistSymbol
417 * ExistSymbol returns ExistSymbol
418 *
419 * Constraint:
420 * {ExistSymbol}
421 */
422 protected void sequence_ExistSymbol(ISerializationContext context, ExistSymbol semanticObject) {
423 genericSequencer.createSequence(context, semanticObject);
424 }
425
426
427 /**
428 * Contexts:
429 * FieldRelationInterpretation returns FieldRelationInterpretation
430 *
431 * Constraint:
432 * (containment?='containment' symbol=ModelSymbol multiplicity=MultiplicityDefinition? target=Symbol)
433 */
434 protected void sequence_FieldRelationInterpretation(ISerializationContext context, FieldRelationInterpretation semanticObject) {
435 genericSequencer.createSequence(context, semanticObject);
436 }
437
438
439 /**
440 * Contexts:
441 * Statement returns GlobalRelationInterpretation
442 * Interpretation returns GlobalRelationInterpretation
443 * CDInterpretation returns GlobalRelationInterpretation
444 * GlobalRelationInterpretation returns GlobalRelationInterpretation
445 *
446 * Constraint:
447 * (
448 * containment?='containment'
449 * symbol=ModelSymbol
450 * sourceMultiplicity=MultiplicityDefinition?
451 * source=Symbol
452 * targetMultiplicity=MultiplicityDefinition?
453 * target=Symbol
454 * )
455 */
456 protected void sequence_GlobalRelationInterpretation(ISerializationContext context, GlobalRelationInterpretation semanticObject) {
457 genericSequencer.createSequence(context, semanticObject);
458 }
459
460
461 /**
462 * Contexts:
463 * ComplexObject returns IntObject
464 * Object returns IntObject
465 * DataObject returns IntObject
466 * IntObject returns IntObject
467 * Literal returns IntObject
468 *
469 * Constraint:
470 * value=INTLiteral
471 */
472 protected void sequence_IntObject(ISerializationContext context, IntObject semanticObject) {
473 if (errorAcceptor != null) {
474 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.INT_OBJECT__VALUE) == ValueTransient.YES)
475 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INT_OBJECT__VALUE));
476 }
477 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
478 feeder.accept(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0(), semanticObject.getValue());
479 feeder.finish();
480 }
481
482
483 /**
484 * Contexts:
485 * Symbol returns IntegerSymbol
486 * DataSymbol returns IntegerSymbol
487 * IntegerSymbol returns IntegerSymbol
488 *
489 * Constraint:
490 * {IntegerSymbol}
491 */
492 protected void sequence_IntegerSymbol(ISerializationContext context, IntegerSymbol semanticObject) {
493 genericSequencer.createSequence(context, semanticObject);
494 }
495
496
497 /**
498 * Contexts:
499 * Symbol returns ModelSymbol
500 * ModelSymbol returns ModelSymbol
501 *
502 * Constraint:
503 * name=ID
504 */
505 protected void sequence_ModelSymbol(ISerializationContext context, ModelSymbol semanticObject) {
506 if (errorAcceptor != null) {
507 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.MODEL_SYMBOL__NAME) == ValueTransient.YES)
508 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.MODEL_SYMBOL__NAME));
509 }
510 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
511 feeder.accept(grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName());
512 feeder.finish();
513 }
514
515
516 /**
517 * Contexts:
518 * MultiplicityDefinition returns MultiplicityDefinition
519 *
520 * Constraint:
521 * (lower=INT (upper=INT | unlimitedUpper?='*'))
522 */
523 protected void sequence_MultiplicityDefinition(ISerializationContext context, MultiplicityDefinition semanticObject) {
524 genericSequencer.createSequence(context, semanticObject);
525 }
526
527
528 /**
529 * Contexts:
530 * ComplexObject returns NamedObject
531 * Object returns NamedObject
532 * NamedObject returns NamedObject
533 *
534 * Constraint:
535 * name=ID
536 */
537 protected void sequence_NamedObject(ISerializationContext context, NamedObject semanticObject) {
538 if (errorAcceptor != null) {
539 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.NAMED_OBJECT__NAME) == ValueTransient.YES)
540 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.NAMED_OBJECT__NAME));
541 }
542 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
543 feeder.accept(grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName());
544 feeder.finish();
545 }
546
547
548 /**
549 * Contexts:
550 * Parameter returns Parameter
551 *
552 * Constraint:
553 * (variable=Variable type=Symbol?)
554 */
555 protected void sequence_Parameter(ISerializationContext context, org.eclipse.viatra.solver.language.solverLanguage.Parameter semanticObject) {
556 genericSequencer.createSequence(context, semanticObject);
557 }
558
559
560 /**
561 * Contexts:
562 * PatternBody returns PatternBody
563 *
564 * Constraint:
565 * constraints+=Constraint*
566 */
567 protected void sequence_PatternBody(ISerializationContext context, PatternBody semanticObject) {
568 genericSequencer.createSequence(context, semanticObject);
569 }
570
571
572 /**
573 * Contexts:
574 * Polarity returns Negative
575 *
576 * Constraint:
577 * {Negative}
578 */
579 protected void sequence_Polarity(ISerializationContext context, Negative semanticObject) {
580 genericSequencer.createSequence(context, semanticObject);
581 }
582
583
584 /**
585 * Contexts:
586 * Polarity returns Positive
587 *
588 * Constraint:
589 * {Positive}
590 */
591 protected void sequence_Polarity(ISerializationContext context, Positive semanticObject) {
592 genericSequencer.createSequence(context, semanticObject);
593 }
594
595
596 /**
597 * Contexts:
598 * Statement returns PredicateSymbol
599 * Predicate returns PredicateSymbol
600 * PredicateSymbol returns PredicateSymbol
601 *
602 * Constraint:
603 * (symbol=ModelSymbol parameters+=Parameter* (bodies+=PatternBody bodies+=PatternBody*)?)
604 */
605 protected void sequence_PredicateSymbol(ISerializationContext context, PredicateSymbol semanticObject) {
606 genericSequencer.createSequence(context, semanticObject);
607 }
608
609
610 /**
611 * Contexts:
612 * Problem returns Problem
613 *
614 * Constraint:
615 * statements+=Statement+
616 */
617 protected void sequence_Problem(ISerializationContext context, Problem semanticObject) {
618 genericSequencer.createSequence(context, semanticObject);
619 }
620
621
622 /**
623 * Contexts:
624 * ComplexObject returns RealObject
625 * Object returns RealObject
626 * DataObject returns RealObject
627 * RealObject returns RealObject
628 * Literal returns RealObject
629 *
630 * Constraint:
631 * value=REALLiteral
632 */
633 protected void sequence_RealObject(ISerializationContext context, RealObject semanticObject) {
634 if (errorAcceptor != null) {
635 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.REAL_OBJECT__VALUE) == ValueTransient.YES)
636 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.REAL_OBJECT__VALUE));
637 }
638 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
639 feeder.accept(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0(), semanticObject.getValue());
640 feeder.finish();
641 }
642
643
644 /**
645 * Contexts:
646 * Symbol returns RealSymbol
647 * DataSymbol returns RealSymbol
648 * RealSymbol returns RealSymbol
649 *
650 * Constraint:
651 * {RealSymbol}
652 */
653 protected void sequence_RealSymbol(ISerializationContext context, RealSymbol semanticObject) {
654 genericSequencer.createSequence(context, semanticObject);
655 }
656
657
658 /**
659 * Contexts:
660 * ComplexObject returns StringObject
661 * Object returns StringObject
662 * DataObject returns StringObject
663 * StringObject returns StringObject
664 * Literal returns StringObject
665 *
666 * Constraint:
667 * value=STRING
668 */
669 protected void sequence_StringObject(ISerializationContext context, StringObject semanticObject) {
670 if (errorAcceptor != null) {
671 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.STRING_OBJECT__VALUE) == ValueTransient.YES)
672 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.STRING_OBJECT__VALUE));
673 }
674 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
675 feeder.accept(grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0(), semanticObject.getValue());
676 feeder.finish();
677 }
678
679
680 /**
681 * Contexts:
682 * Symbol returns StringSymbol
683 * DataSymbol returns StringSymbol
684 * StringSymbol returns StringSymbol
685 *
686 * Constraint:
687 * {StringSymbol}
688 */
689 protected void sequence_StringSymbol(ISerializationContext context, StringSymbol semanticObject) {
690 genericSequencer.createSequence(context, semanticObject);
691 }
692
693
694 /**
695 * Contexts:
696 * TruthValue returns Error
697 *
698 * Constraint:
699 * {Error}
700 */
701 protected void sequence_TruthValue(ISerializationContext context, org.eclipse.viatra.solver.language.solverLanguage.Error semanticObject) {
702 genericSequencer.createSequence(context, semanticObject);
703 }
704
705
706 /**
707 * Contexts:
708 * TruthValue returns False
709 *
710 * Constraint:
711 * {False}
712 */
713 protected void sequence_TruthValue(ISerializationContext context, False semanticObject) {
714 genericSequencer.createSequence(context, semanticObject);
715 }
716
717
718 /**
719 * Contexts:
720 * TruthValue returns True
721 *
722 * Constraint:
723 * {True}
724 */
725 protected void sequence_TruthValue(ISerializationContext context, True semanticObject) {
726 genericSequencer.createSequence(context, semanticObject);
727 }
728
729
730 /**
731 * Contexts:
732 * TruthValue returns Unknown
733 *
734 * Constraint:
735 * {Unknown}
736 */
737 protected void sequence_TruthValue(ISerializationContext context, Unknown semanticObject) {
738 genericSequencer.createSequence(context, semanticObject);
739 }
740
741
742 /**
743 * Contexts:
744 * ComplexObject returns UnnamedObject
745 * Object returns UnnamedObject
746 * UnnamedObject returns UnnamedObject
747 *
748 * Constraint:
749 * name=ID
750 */
751 protected void sequence_UnnamedObject(ISerializationContext context, UnnamedObject semanticObject) {
752 if (errorAcceptor != null) {
753 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.UNNAMED_OBJECT__NAME) == ValueTransient.YES)
754 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.UNNAMED_OBJECT__NAME));
755 }
756 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
757 feeder.accept(grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName());
758 feeder.finish();
759 }
760
761
762 /**
763 * Contexts:
764 * Literal returns Variable
765 * Variable returns Variable
766 *
767 * Constraint:
768 * name=ID
769 */
770 protected void sequence_Variable(ISerializationContext context, Variable semanticObject) {
771 if (errorAcceptor != null) {
772 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.VARIABLE__NAME) == ValueTransient.YES)
773 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.VARIABLE__NAME));
774 }
775 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
776 feeder.accept(grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName());
777 feeder.finish();
778 }
779
780
781}
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
new file mode 100644
index 00000000..5145bfac
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java
@@ -0,0 +1,60 @@
1/*
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.serializer;
5
6import com.google.inject.Inject;
7import java.util.List;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess;
10import org.eclipse.xtext.IGrammarAccess;
11import org.eclipse.xtext.RuleCall;
12import org.eclipse.xtext.nodemodel.INode;
13import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
14import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
15import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
16import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
17import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
18
19@SuppressWarnings("all")
20public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer {
21
22 protected SolverLanguageGrammarAccess grammarAccess;
23 protected AbstractElementAlias match_PatternBody_TrueKeyword_1_0_q;
24
25 @Inject
26 protected void init(IGrammarAccess access) {
27 grammarAccess = (SolverLanguageGrammarAccess) access;
28 match_PatternBody_TrueKeyword_1_0_q = new TokenAlias(false, true, grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0());
29 }
30
31 @Override
32 protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
33 return "";
34 }
35
36
37 @Override
38 protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
39 if (transition.getAmbiguousSyntaxes().isEmpty()) return;
40 List<INode> transitionNodes = collectNodes(fromNode, toNode);
41 for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
42 List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
43 if (match_PatternBody_TrueKeyword_1_0_q.equals(syntax))
44 emit_PatternBody_TrueKeyword_1_0_q(semanticObject, getLastNavigableState(), syntaxNodes);
45 else acceptNodes(getLastNavigableState(), syntaxNodes);
46 }
47 }
48
49 /**
50 * Ambiguous syntax:
51 * 'true'?
52 *
53 * This ambiguous syntax occurs at:
54 * (rule start) (ambiguity) (rule start)
55 */
56 protected void emit_PatternBody_TrueKeyword_1_0_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
57 acceptNodes(transition, nodes);
58 }
59
60}
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
new file mode 100644
index 00000000..fb5ea124
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java
@@ -0,0 +1,2124 @@
1/*
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.services;
5
6import com.google.inject.Inject;
7import com.google.inject.Singleton;
8import java.util.List;
9import org.eclipse.xtext.Action;
10import org.eclipse.xtext.Alternatives;
11import org.eclipse.xtext.Assignment;
12import org.eclipse.xtext.Grammar;
13import org.eclipse.xtext.GrammarUtil;
14import org.eclipse.xtext.Group;
15import org.eclipse.xtext.Keyword;
16import org.eclipse.xtext.ParserRule;
17import org.eclipse.xtext.RuleCall;
18import org.eclipse.xtext.TerminalRule;
19import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
20import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder;
21import org.eclipse.xtext.service.GrammarProvider;
22
23@Singleton
24public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
25
26 public class ProblemElements extends AbstractParserRuleElementFinder {
27 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Problem");
28 private final Assignment cStatementsAssignment = (Assignment)rule.eContents().get(1);
29 private final RuleCall cStatementsStatementParserRuleCall_0 = (RuleCall)cStatementsAssignment.eContents().get(0);
30
31 //Problem:
32 // statements+=Statement*;
33 @Override public ParserRule getRule() { return rule; }
34
35 //statements+=Statement*
36 public Assignment getStatementsAssignment() { return cStatementsAssignment; }
37
38 //Statement
39 public RuleCall getStatementsStatementParserRuleCall_0() { return cStatementsStatementParserRuleCall_0; }
40 }
41 public class StatementElements extends AbstractParserRuleElementFinder {
42 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Statement");
43 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
44 private final RuleCall cInterpretationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
45 private final RuleCall cPredicateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
46
47 //Statement:
48 // Interpretation | Predicate;
49 @Override public ParserRule getRule() { return rule; }
50
51 //Interpretation | Predicate
52 public Alternatives getAlternatives() { return cAlternatives; }
53
54 //Interpretation
55 public RuleCall getInterpretationParserRuleCall_0() { return cInterpretationParserRuleCall_0; }
56
57 //Predicate
58 public RuleCall getPredicateParserRuleCall_1() { return cPredicateParserRuleCall_1; }
59 }
60 public class REALLiteralElements extends AbstractParserRuleElementFinder {
61 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.REALLiteral");
62 private final Group cGroup = (Group)rule.eContents().get(1);
63 private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0);
64 private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
65 private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
66 private final RuleCall cINTTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
67
68 //REALLiteral ecore::EBigDecimal:
69 // '-'? INT '.' INT;
70 @Override public ParserRule getRule() { return rule; }
71
72 //'-'? INT '.' INT
73 public Group getGroup() { return cGroup; }
74
75 //'-'?
76 public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; }
77
78 //INT
79 public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
80
81 //'.'
82 public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; }
83
84 //INT
85 public RuleCall getINTTerminalRuleCall_3() { return cINTTerminalRuleCall_3; }
86 }
87 public class INTLiteralElements extends AbstractParserRuleElementFinder {
88 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.INTLiteral");
89 private final Group cGroup = (Group)rule.eContents().get(1);
90 private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0);
91 private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
92
93 //INTLiteral ecore::EInt:
94 // '-'? INT;
95 @Override public ParserRule getRule() { return rule; }
96
97 //'-'? INT
98 public Group getGroup() { return cGroup; }
99
100 //'-'?
101 public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; }
102
103 //INT
104 public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
105 }
106 public class BooleanValueElements extends AbstractParserRuleElementFinder {
107 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BooleanValue");
108 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
109 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
110 private final Action cBooleanTrueAction_0_0 = (Action)cGroup_0.eContents().get(0);
111 private final Keyword cTrueKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1);
112 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
113 private final Keyword cFalseKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
114 private final Action cBooleanFalseAction_1_1 = (Action)cGroup_1.eContents().get(1);
115
116 //BooleanValue:
117 // {BooleanTrue} 'true' | 'false' {BooleanFalse};
118 @Override public ParserRule getRule() { return rule; }
119
120 //{BooleanTrue} 'true' | 'false' {BooleanFalse}
121 public Alternatives getAlternatives() { return cAlternatives; }
122
123 //{BooleanTrue} 'true'
124 public Group getGroup_0() { return cGroup_0; }
125
126 //{BooleanTrue}
127 public Action getBooleanTrueAction_0_0() { return cBooleanTrueAction_0_0; }
128
129 //'true'
130 public Keyword getTrueKeyword_0_1() { return cTrueKeyword_0_1; }
131
132 //'false' {BooleanFalse}
133 public Group getGroup_1() { return cGroup_1; }
134
135 //'false'
136 public Keyword getFalseKeyword_1_0() { return cFalseKeyword_1_0; }
137
138 //{BooleanFalse}
139 public Action getBooleanFalseAction_1_1() { return cBooleanFalseAction_1_1; }
140 }
141 public class TruthValueElements extends AbstractParserRuleElementFinder {
142 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue");
143 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
144 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
145 private final Action cTrueAction_0_0 = (Action)cGroup_0.eContents().get(0);
146 private final Keyword cTrueKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1);
147 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
148 private final Action cFalseAction_1_0 = (Action)cGroup_1.eContents().get(0);
149 private final Keyword cFalseKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
150 private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2);
151 private final Action cUnknownAction_2_0 = (Action)cGroup_2.eContents().get(0);
152 private final Keyword cUnknownKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
153 private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3);
154 private final Action cErrorAction_3_0 = (Action)cGroup_3.eContents().get(0);
155 private final Keyword cErrorKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
156
157 //TruthValue:
158 // {True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} 'error';
159 @Override public ParserRule getRule() { return rule; }
160
161 //{True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} 'error'
162 public Alternatives getAlternatives() { return cAlternatives; }
163
164 //{True} 'true'
165 public Group getGroup_0() { return cGroup_0; }
166
167 //{True}
168 public Action getTrueAction_0_0() { return cTrueAction_0_0; }
169
170 //'true'
171 public Keyword getTrueKeyword_0_1() { return cTrueKeyword_0_1; }
172
173 //{False} 'false'
174 public Group getGroup_1() { return cGroup_1; }
175
176 //{False}
177 public Action getFalseAction_1_0() { return cFalseAction_1_0; }
178
179 //'false'
180 public Keyword getFalseKeyword_1_1() { return cFalseKeyword_1_1; }
181
182 //{Unknown} 'unknown'
183 public Group getGroup_2() { return cGroup_2; }
184
185 //{Unknown}
186 public Action getUnknownAction_2_0() { return cUnknownAction_2_0; }
187
188 //'unknown'
189 public Keyword getUnknownKeyword_2_1() { return cUnknownKeyword_2_1; }
190
191 //{Error} 'error'
192 public Group getGroup_3() { return cGroup_3; }
193
194 //{Error}
195 public Action getErrorAction_3_0() { return cErrorAction_3_0; }
196
197 //'error'
198 public Keyword getErrorKeyword_3_1() { return cErrorKeyword_3_1; }
199 }
200 public class InterpretationElements extends AbstractParserRuleElementFinder {
201 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Interpretation");
202 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
203 private final RuleCall cBasicInterpretationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
204 private final RuleCall cDefaultInterpretationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
205 private final RuleCall cCDInterpretationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
206
207 /////////////////////
208 //// Core grammar
209 // ///////////////////
210 //Interpretation:
211 // BasicInterpretation | DefaultInterpretation | CDInterpretation;
212 @Override public ParserRule getRule() { return rule; }
213
214 //BasicInterpretation | DefaultInterpretation | CDInterpretation
215 public Alternatives getAlternatives() { return cAlternatives; }
216
217 //BasicInterpretation
218 public RuleCall getBasicInterpretationParserRuleCall_0() { return cBasicInterpretationParserRuleCall_0; }
219
220 //DefaultInterpretation
221 public RuleCall getDefaultInterpretationParserRuleCall_1() { return cDefaultInterpretationParserRuleCall_1; }
222
223 //CDInterpretation
224 public RuleCall getCDInterpretationParserRuleCall_2() { return cCDInterpretationParserRuleCall_2; }
225 }
226 public class BasicInterpretationElements extends AbstractParserRuleElementFinder {
227 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BasicInterpretation");
228 private final Group cGroup = (Group)rule.eContents().get(1);
229 private final Assignment cSymbolAssignment_0 = (Assignment)cGroup.eContents().get(0);
230 private final RuleCall cSymbolSymbolParserRuleCall_0_0 = (RuleCall)cSymbolAssignment_0.eContents().get(0);
231 private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
232 private final Assignment cObjectsAssignment_2 = (Assignment)cGroup.eContents().get(2);
233 private final RuleCall cObjectsComplexObjectParserRuleCall_2_0 = (RuleCall)cObjectsAssignment_2.eContents().get(0);
234 private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
235 private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4);
236 private final Assignment cValueAssignment_5 = (Assignment)cGroup.eContents().get(5);
237 private final RuleCall cValueTruthValueParserRuleCall_5_0 = (RuleCall)cValueAssignment_5.eContents().get(0);
238
239 //BasicInterpretation:
240 // symbol=Symbol '(' objects+=ComplexObject* ')' ':' value=TruthValue;
241 @Override public ParserRule getRule() { return rule; }
242
243 //symbol=Symbol '(' objects+=ComplexObject* ')' ':' value=TruthValue
244 public Group getGroup() { return cGroup; }
245
246 //symbol=Symbol
247 public Assignment getSymbolAssignment_0() { return cSymbolAssignment_0; }
248
249 //Symbol
250 public RuleCall getSymbolSymbolParserRuleCall_0_0() { return cSymbolSymbolParserRuleCall_0_0; }
251
252 //'('
253 public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
254
255 //objects+=ComplexObject*
256 public Assignment getObjectsAssignment_2() { return cObjectsAssignment_2; }
257
258 //ComplexObject
259 public RuleCall getObjectsComplexObjectParserRuleCall_2_0() { return cObjectsComplexObjectParserRuleCall_2_0; }
260
261 //')'
262 public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
263
264 //':'
265 public Keyword getColonKeyword_4() { return cColonKeyword_4; }
266
267 //value=TruthValue
268 public Assignment getValueAssignment_5() { return cValueAssignment_5; }
269
270 //TruthValue
271 public RuleCall getValueTruthValueParserRuleCall_5_0() { return cValueTruthValueParserRuleCall_5_0; }
272 }
273 public class SymbolElements extends AbstractParserRuleElementFinder {
274 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
275 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
276 private final RuleCall cModelSymbolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
277 private final RuleCall cPartialitySymbolParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
278 private final RuleCall cDataSymbolParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
279
280 //Symbol:
281 // ModelSymbol | PartialitySymbol | DataSymbol;
282 @Override public ParserRule getRule() { return rule; }
283
284 //ModelSymbol | PartialitySymbol | DataSymbol
285 public Alternatives getAlternatives() { return cAlternatives; }
286
287 //ModelSymbol
288 public RuleCall getModelSymbolParserRuleCall_0() { return cModelSymbolParserRuleCall_0; }
289
290 //PartialitySymbol
291 public RuleCall getPartialitySymbolParserRuleCall_1() { return cPartialitySymbolParserRuleCall_1; }
292
293 //DataSymbol
294 public RuleCall getDataSymbolParserRuleCall_2() { return cDataSymbolParserRuleCall_2; }
295 }
296 public class ModelSymbolElements extends AbstractParserRuleElementFinder {
297 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
298 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
299 private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
300
301 //ModelSymbol:
302 // name=ID;
303 @Override public ParserRule getRule() { return rule; }
304
305 //name=ID
306 public Assignment getNameAssignment() { return cNameAssignment; }
307
308 //ID
309 public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; }
310 }
311 public class PartialitySymbolElements extends AbstractParserRuleElementFinder {
312 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PartialitySymbol");
313 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
314 private final RuleCall cExistSymbolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
315 private final RuleCall cEqualsSymbolParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
316
317 //PartialitySymbol:
318 // ExistSymbol | EqualsSymbol;
319 @Override public ParserRule getRule() { return rule; }
320
321 //ExistSymbol | EqualsSymbol
322 public Alternatives getAlternatives() { return cAlternatives; }
323
324 //ExistSymbol
325 public RuleCall getExistSymbolParserRuleCall_0() { return cExistSymbolParserRuleCall_0; }
326
327 //EqualsSymbol
328 public RuleCall getEqualsSymbolParserRuleCall_1() { return cEqualsSymbolParserRuleCall_1; }
329 }
330 public class ExistSymbolElements extends AbstractParserRuleElementFinder {
331 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExistSymbol");
332 private final Group cGroup = (Group)rule.eContents().get(1);
333 private final Keyword cExistsKeyword_0 = (Keyword)cGroup.eContents().get(0);
334 private final Action cExistSymbolAction_1 = (Action)cGroup.eContents().get(1);
335
336 //ExistSymbol:
337 // 'exists' {ExistSymbol};
338 @Override public ParserRule getRule() { return rule; }
339
340 //'exists' {ExistSymbol}
341 public Group getGroup() { return cGroup; }
342
343 //'exists'
344 public Keyword getExistsKeyword_0() { return cExistsKeyword_0; }
345
346 //{ExistSymbol}
347 public Action getExistSymbolAction_1() { return cExistSymbolAction_1; }
348 }
349 public class EqualsSymbolElements extends AbstractParserRuleElementFinder {
350 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EqualsSymbol");
351 private final Group cGroup = (Group)rule.eContents().get(1);
352 private final Keyword cEqualsKeyword_0 = (Keyword)cGroup.eContents().get(0);
353 private final Action cEqualsSymbolAction_1 = (Action)cGroup.eContents().get(1);
354
355 //EqualsSymbol:
356 // 'equals' {EqualsSymbol};
357 @Override public ParserRule getRule() { return rule; }
358
359 //'equals' {EqualsSymbol}
360 public Group getGroup() { return cGroup; }
361
362 //'equals'
363 public Keyword getEqualsKeyword_0() { return cEqualsKeyword_0; }
364
365 //{EqualsSymbol}
366 public Action getEqualsSymbolAction_1() { return cEqualsSymbolAction_1; }
367 }
368 public class DataSymbolElements extends AbstractParserRuleElementFinder {
369 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DataSymbol");
370 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
371 private final RuleCall cBooleanSymbolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
372 private final RuleCall cIntegerSymbolParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
373 private final RuleCall cRealSymbolParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
374 private final RuleCall cStringSymbolParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
375
376 //DataSymbol:
377 // BooleanSymbol | IntegerSymbol | RealSymbol | StringSymbol;
378 @Override public ParserRule getRule() { return rule; }
379
380 //BooleanSymbol | IntegerSymbol | RealSymbol | StringSymbol
381 public Alternatives getAlternatives() { return cAlternatives; }
382
383 //BooleanSymbol
384 public RuleCall getBooleanSymbolParserRuleCall_0() { return cBooleanSymbolParserRuleCall_0; }
385
386 //IntegerSymbol
387 public RuleCall getIntegerSymbolParserRuleCall_1() { return cIntegerSymbolParserRuleCall_1; }
388
389 //RealSymbol
390 public RuleCall getRealSymbolParserRuleCall_2() { return cRealSymbolParserRuleCall_2; }
391
392 //StringSymbol
393 public RuleCall getStringSymbolParserRuleCall_3() { return cStringSymbolParserRuleCall_3; }
394 }
395 public class BooleanSymbolElements extends AbstractParserRuleElementFinder {
396 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BooleanSymbol");
397 private final Group cGroup = (Group)rule.eContents().get(1);
398 private final Keyword cBoolKeyword_0 = (Keyword)cGroup.eContents().get(0);
399 private final Action cBooleanSymbolAction_1 = (Action)cGroup.eContents().get(1);
400
401 //BooleanSymbol:
402 // 'bool' {BooleanSymbol};
403 @Override public ParserRule getRule() { return rule; }
404
405 //'bool' {BooleanSymbol}
406 public Group getGroup() { return cGroup; }
407
408 //'bool'
409 public Keyword getBoolKeyword_0() { return cBoolKeyword_0; }
410
411 //{BooleanSymbol}
412 public Action getBooleanSymbolAction_1() { return cBooleanSymbolAction_1; }
413 }
414 public class IntegerSymbolElements extends AbstractParserRuleElementFinder {
415 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IntegerSymbol");
416 private final Group cGroup = (Group)rule.eContents().get(1);
417 private final Keyword cIntKeyword_0 = (Keyword)cGroup.eContents().get(0);
418 private final Action cIntegerSymbolAction_1 = (Action)cGroup.eContents().get(1);
419
420 //IntegerSymbol:
421 // 'int' {IntegerSymbol};
422 @Override public ParserRule getRule() { return rule; }
423
424 //'int' {IntegerSymbol}
425 public Group getGroup() { return cGroup; }
426
427 //'int'
428 public Keyword getIntKeyword_0() { return cIntKeyword_0; }
429
430 //{IntegerSymbol}
431 public Action getIntegerSymbolAction_1() { return cIntegerSymbolAction_1; }
432 }
433 public class RealSymbolElements extends AbstractParserRuleElementFinder {
434 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.RealSymbol");
435 private final Group cGroup = (Group)rule.eContents().get(1);
436 private final Keyword cRealKeyword_0 = (Keyword)cGroup.eContents().get(0);
437 private final Action cRealSymbolAction_1 = (Action)cGroup.eContents().get(1);
438
439 //RealSymbol:
440 // 'real' {RealSymbol};
441 @Override public ParserRule getRule() { return rule; }
442
443 //'real' {RealSymbol}
444 public Group getGroup() { return cGroup; }
445
446 //'real'
447 public Keyword getRealKeyword_0() { return cRealKeyword_0; }
448
449 //{RealSymbol}
450 public Action getRealSymbolAction_1() { return cRealSymbolAction_1; }
451 }
452 public class StringSymbolElements extends AbstractParserRuleElementFinder {
453 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StringSymbol");
454 private final Group cGroup = (Group)rule.eContents().get(1);
455 private final Keyword cStringKeyword_0 = (Keyword)cGroup.eContents().get(0);
456 private final Action cStringSymbolAction_1 = (Action)cGroup.eContents().get(1);
457
458 //StringSymbol:
459 // 'string' {StringSymbol};
460 @Override public ParserRule getRule() { return rule; }
461
462 //'string' {StringSymbol}
463 public Group getGroup() { return cGroup; }
464
465 //'string'
466 public Keyword getStringKeyword_0() { return cStringKeyword_0; }
467
468 //{StringSymbol}
469 public Action getStringSymbolAction_1() { return cStringSymbolAction_1; }
470 }
471 public class ComplexObjectElements extends AbstractParserRuleElementFinder {
472 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject");
473 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
474 private final RuleCall cObjectParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
475 private final RuleCall cAllInstancesParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
476 private final RuleCall cAllObjectsParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
477
478 //ComplexObject:
479 // Object | AllInstances | AllObjects;
480 @Override public ParserRule getRule() { return rule; }
481
482 //Object | AllInstances | AllObjects
483 public Alternatives getAlternatives() { return cAlternatives; }
484
485 //Object
486 public RuleCall getObjectParserRuleCall_0() { return cObjectParserRuleCall_0; }
487
488 //AllInstances
489 public RuleCall getAllInstancesParserRuleCall_1() { return cAllInstancesParserRuleCall_1; }
490
491 //AllObjects
492 public RuleCall getAllObjectsParserRuleCall_2() { return cAllObjectsParserRuleCall_2; }
493 }
494 public class ObjectElements extends AbstractParserRuleElementFinder {
495 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Object");
496 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
497 private final RuleCall cNamedObjectParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
498 private final RuleCall cUnnamedObjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
499 private final RuleCall cDataObjectParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
500
501 //Object:
502 // NamedObject | UnnamedObject | DataObject;
503 @Override public ParserRule getRule() { return rule; }
504
505 //NamedObject | UnnamedObject | DataObject
506 public Alternatives getAlternatives() { return cAlternatives; }
507
508 //NamedObject
509 public RuleCall getNamedObjectParserRuleCall_0() { return cNamedObjectParserRuleCall_0; }
510
511 //UnnamedObject
512 public RuleCall getUnnamedObjectParserRuleCall_1() { return cUnnamedObjectParserRuleCall_1; }
513
514 //DataObject
515 public RuleCall getDataObjectParserRuleCall_2() { return cDataObjectParserRuleCall_2; }
516 }
517 public class NamedObjectElements extends AbstractParserRuleElementFinder {
518 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NamedObject");
519 private final Group cGroup = (Group)rule.eContents().get(1);
520 private final Keyword cApostropheKeyword_0 = (Keyword)cGroup.eContents().get(0);
521 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
522 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
523 private final Keyword cApostropheKeyword_2 = (Keyword)cGroup.eContents().get(2);
524
525 //NamedObject:
526 // "'" name=ID "'";
527 @Override public ParserRule getRule() { return rule; }
528
529 //"'" name=ID "'"
530 public Group getGroup() { return cGroup; }
531
532 //"'"
533 public Keyword getApostropheKeyword_0() { return cApostropheKeyword_0; }
534
535 //name=ID
536 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
537
538 //ID
539 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
540
541 //"'"
542 public Keyword getApostropheKeyword_2() { return cApostropheKeyword_2; }
543 }
544 public class UnnamedObjectElements extends AbstractParserRuleElementFinder {
545 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnnamedObject");
546 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
547 private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
548
549 //UnnamedObject:
550 // name=ID;
551 @Override public ParserRule getRule() { return rule; }
552
553 //name=ID
554 public Assignment getNameAssignment() { return cNameAssignment; }
555
556 //ID
557 public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; }
558 }
559 public class DataObjectElements extends AbstractParserRuleElementFinder {
560 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DataObject");
561 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
562 private final RuleCall cBooleanObjectParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
563 private final RuleCall cIntObjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
564 private final RuleCall cRealObjectParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
565 private final RuleCall cStringObjectParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
566
567 //DataObject:
568 // BooleanObject | IntObject | RealObject | StringObject;
569 @Override public ParserRule getRule() { return rule; }
570
571 //BooleanObject | IntObject | RealObject | StringObject
572 public Alternatives getAlternatives() { return cAlternatives; }
573
574 //BooleanObject
575 public RuleCall getBooleanObjectParserRuleCall_0() { return cBooleanObjectParserRuleCall_0; }
576
577 //IntObject
578 public RuleCall getIntObjectParserRuleCall_1() { return cIntObjectParserRuleCall_1; }
579
580 //RealObject
581 public RuleCall getRealObjectParserRuleCall_2() { return cRealObjectParserRuleCall_2; }
582
583 //StringObject
584 public RuleCall getStringObjectParserRuleCall_3() { return cStringObjectParserRuleCall_3; }
585 }
586 public class BooleanObjectElements extends AbstractParserRuleElementFinder {
587 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BooleanObject");
588 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
589 private final RuleCall cValueBooleanValueParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
590
591 //BooleanObject:
592 // value=BooleanValue;
593 @Override public ParserRule getRule() { return rule; }
594
595 //value=BooleanValue
596 public Assignment getValueAssignment() { return cValueAssignment; }
597
598 //BooleanValue
599 public RuleCall getValueBooleanValueParserRuleCall_0() { return cValueBooleanValueParserRuleCall_0; }
600 }
601 public class IntObjectElements extends AbstractParserRuleElementFinder {
602 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IntObject");
603 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
604 private final RuleCall cValueINTLiteralParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
605
606 //IntObject:
607 // value=INTLiteral;
608 @Override public ParserRule getRule() { return rule; }
609
610 //value=INTLiteral
611 public Assignment getValueAssignment() { return cValueAssignment; }
612
613 //INTLiteral
614 public RuleCall getValueINTLiteralParserRuleCall_0() { return cValueINTLiteralParserRuleCall_0; }
615 }
616 public class RealObjectElements extends AbstractParserRuleElementFinder {
617 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.RealObject");
618 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
619 private final RuleCall cValueREALLiteralParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
620
621 //RealObject:
622 // value=REALLiteral;
623 @Override public ParserRule getRule() { return rule; }
624
625 //value=REALLiteral
626 public Assignment getValueAssignment() { return cValueAssignment; }
627
628 //REALLiteral
629 public RuleCall getValueREALLiteralParserRuleCall_0() { return cValueREALLiteralParserRuleCall_0; }
630 }
631 public class StringObjectElements extends AbstractParserRuleElementFinder {
632 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.StringObject");
633 private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
634 private final RuleCall cValueSTRINGTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
635
636 //StringObject:
637 // value=STRING;
638 @Override public ParserRule getRule() { return rule; }
639
640 //value=STRING
641 public Assignment getValueAssignment() { return cValueAssignment; }
642
643 //STRING
644 public RuleCall getValueSTRINGTerminalRuleCall_0() { return cValueSTRINGTerminalRuleCall_0; }
645 }
646 public class PredicateElements extends AbstractParserRuleElementFinder {
647 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Predicate");
648 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
649 private final RuleCall cPredicateSymbolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
650 private final RuleCall cErrorPredicateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
651
652 /////////////////////
653 //// Predicte grammar
654 /////////////////////
655 //Predicate:
656 // PredicateSymbol | ErrorPredicate;
657 @Override public ParserRule getRule() { return rule; }
658
659 //PredicateSymbol | ErrorPredicate
660 public Alternatives getAlternatives() { return cAlternatives; }
661
662 //PredicateSymbol
663 public RuleCall getPredicateSymbolParserRuleCall_0() { return cPredicateSymbolParserRuleCall_0; }
664
665 //ErrorPredicate
666 public RuleCall getErrorPredicateParserRuleCall_1() { return cErrorPredicateParserRuleCall_1; }
667 }
668 public class PredicateSymbolElements extends AbstractParserRuleElementFinder {
669 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PredicateSymbol");
670 private final Group cGroup = (Group)rule.eContents().get(1);
671 private final Keyword cPredicateKeyword_0 = (Keyword)cGroup.eContents().get(0);
672 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1);
673 private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0);
674 private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
675 private final Assignment cParametersAssignment_3 = (Assignment)cGroup.eContents().get(3);
676 private final RuleCall cParametersParameterParserRuleCall_3_0 = (RuleCall)cParametersAssignment_3.eContents().get(0);
677 private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
678 private final Keyword cColonKeyword_5 = (Keyword)cGroup.eContents().get(5);
679 private final Alternatives cAlternatives_6 = (Alternatives)cGroup.eContents().get(6);
680 private final Keyword cFalseKeyword_6_0 = (Keyword)cAlternatives_6.eContents().get(0);
681 private final Group cGroup_6_1 = (Group)cAlternatives_6.eContents().get(1);
682 private final Assignment cBodiesAssignment_6_1_0 = (Assignment)cGroup_6_1.eContents().get(0);
683 private final RuleCall cBodiesPatternBodyParserRuleCall_6_1_0_0 = (RuleCall)cBodiesAssignment_6_1_0.eContents().get(0);
684 private final Group cGroup_6_1_1 = (Group)cGroup_6_1.eContents().get(1);
685 private final Keyword cVerticalLineKeyword_6_1_1_0 = (Keyword)cGroup_6_1_1.eContents().get(0);
686 private final Assignment cBodiesAssignment_6_1_1_1 = (Assignment)cGroup_6_1_1.eContents().get(1);
687 private final RuleCall cBodiesPatternBodyParserRuleCall_6_1_1_1_0 = (RuleCall)cBodiesAssignment_6_1_1_1.eContents().get(0);
688 private final Keyword cFullStopKeyword_7 = (Keyword)cGroup.eContents().get(7);
689
690 //PredicateSymbol:
691 // 'predicate' symbol=ModelSymbol '(' parameters+=Parameter* ')' ':' ('false' | bodies+=PatternBody ('|'
692 // bodies+=PatternBody)*) '.';
693 @Override public ParserRule getRule() { return rule; }
694
695 //'predicate' symbol=ModelSymbol '(' parameters+=Parameter* ')' ':' ('false' | bodies+=PatternBody ('|'
696 //bodies+=PatternBody)*) '.'
697 public Group getGroup() { return cGroup; }
698
699 //'predicate'
700 public Keyword getPredicateKeyword_0() { return cPredicateKeyword_0; }
701
702 //symbol=ModelSymbol
703 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; }
704
705 //ModelSymbol
706 public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; }
707
708 //'('
709 public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
710
711 //parameters+=Parameter*
712 public Assignment getParametersAssignment_3() { return cParametersAssignment_3; }
713
714 //Parameter
715 public RuleCall getParametersParameterParserRuleCall_3_0() { return cParametersParameterParserRuleCall_3_0; }
716
717 //')'
718 public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
719
720 //':'
721 public Keyword getColonKeyword_5() { return cColonKeyword_5; }
722
723 //'false' | bodies+=PatternBody ('|' bodies+=PatternBody)*
724 public Alternatives getAlternatives_6() { return cAlternatives_6; }
725
726 //'false'
727 public Keyword getFalseKeyword_6_0() { return cFalseKeyword_6_0; }
728
729 //bodies+=PatternBody ('|' bodies+=PatternBody)*
730 public Group getGroup_6_1() { return cGroup_6_1; }
731
732 //bodies+=PatternBody
733 public Assignment getBodiesAssignment_6_1_0() { return cBodiesAssignment_6_1_0; }
734
735 //PatternBody
736 public RuleCall getBodiesPatternBodyParserRuleCall_6_1_0_0() { return cBodiesPatternBodyParserRuleCall_6_1_0_0; }
737
738 //('|' bodies+=PatternBody)*
739 public Group getGroup_6_1_1() { return cGroup_6_1_1; }
740
741 //'|'
742 public Keyword getVerticalLineKeyword_6_1_1_0() { return cVerticalLineKeyword_6_1_1_0; }
743
744 //bodies+=PatternBody
745 public Assignment getBodiesAssignment_6_1_1_1() { return cBodiesAssignment_6_1_1_1; }
746
747 //PatternBody
748 public RuleCall getBodiesPatternBodyParserRuleCall_6_1_1_1_0() { return cBodiesPatternBodyParserRuleCall_6_1_1_1_0; }
749
750 //'.'
751 public Keyword getFullStopKeyword_7() { return cFullStopKeyword_7; }
752 }
753 public class ErrorPredicateElements extends AbstractParserRuleElementFinder {
754 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ErrorPredicate");
755 private final Group cGroup = (Group)rule.eContents().get(1);
756 private final Action cErrorPredicateAction_0 = (Action)cGroup.eContents().get(0);
757 private final Keyword cErrorKeyword_1 = (Keyword)cGroup.eContents().get(1);
758 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
759 private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
760 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
761 private final Keyword cLeftParenthesisKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
762 private final Assignment cParametersAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
763 private final RuleCall cParametersParameterParserRuleCall_3_1_0 = (RuleCall)cParametersAssignment_3_1.eContents().get(0);
764 private final Keyword cRightParenthesisKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
765 private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4);
766 private final Alternatives cAlternatives_5 = (Alternatives)cGroup.eContents().get(5);
767 private final Keyword cFalseKeyword_5_0 = (Keyword)cAlternatives_5.eContents().get(0);
768 private final Group cGroup_5_1 = (Group)cAlternatives_5.eContents().get(1);
769 private final Assignment cBodiesAssignment_5_1_0 = (Assignment)cGroup_5_1.eContents().get(0);
770 private final RuleCall cBodiesPatternBodyParserRuleCall_5_1_0_0 = (RuleCall)cBodiesAssignment_5_1_0.eContents().get(0);
771 private final Group cGroup_5_1_1 = (Group)cGroup_5_1.eContents().get(1);
772 private final Keyword cVerticalLineKeyword_5_1_1_0 = (Keyword)cGroup_5_1_1.eContents().get(0);
773 private final Assignment cBodiesAssignment_5_1_1_1 = (Assignment)cGroup_5_1_1.eContents().get(1);
774 private final RuleCall cBodiesPatternBodyParserRuleCall_5_1_1_1_0 = (RuleCall)cBodiesAssignment_5_1_1_1.eContents().get(0);
775 private final Keyword cFullStopKeyword_6 = (Keyword)cGroup.eContents().get(6);
776
777 //ErrorPredicate:
778 // {ErrorPredicate} 'error' name=ID? ('(' parameters+=Parameter* ')') ':' ('false' | bodies+=PatternBody ('|'
779 // bodies+=PatternBody)*) '.';
780 @Override public ParserRule getRule() { return rule; }
781
782 //{ErrorPredicate} 'error' name=ID? ('(' parameters+=Parameter* ')') ':' ('false' | bodies+=PatternBody ('|'
783 //bodies+=PatternBody)*) '.'
784 public Group getGroup() { return cGroup; }
785
786 //{ErrorPredicate}
787 public Action getErrorPredicateAction_0() { return cErrorPredicateAction_0; }
788
789 //'error'
790 public Keyword getErrorKeyword_1() { return cErrorKeyword_1; }
791
792 //name=ID?
793 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
794
795 //ID
796 public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
797
798 //'(' parameters+=Parameter* ')'
799 public Group getGroup_3() { return cGroup_3; }
800
801 //'('
802 public Keyword getLeftParenthesisKeyword_3_0() { return cLeftParenthesisKeyword_3_0; }
803
804 //parameters+=Parameter*
805 public Assignment getParametersAssignment_3_1() { return cParametersAssignment_3_1; }
806
807 //Parameter
808 public RuleCall getParametersParameterParserRuleCall_3_1_0() { return cParametersParameterParserRuleCall_3_1_0; }
809
810 //')'
811 public Keyword getRightParenthesisKeyword_3_2() { return cRightParenthesisKeyword_3_2; }
812
813 //':'
814 public Keyword getColonKeyword_4() { return cColonKeyword_4; }
815
816 //'false' | bodies+=PatternBody ('|' bodies+=PatternBody)*
817 public Alternatives getAlternatives_5() { return cAlternatives_5; }
818
819 //'false'
820 public Keyword getFalseKeyword_5_0() { return cFalseKeyword_5_0; }
821
822 //bodies+=PatternBody ('|' bodies+=PatternBody)*
823 public Group getGroup_5_1() { return cGroup_5_1; }
824
825 //bodies+=PatternBody
826 public Assignment getBodiesAssignment_5_1_0() { return cBodiesAssignment_5_1_0; }
827
828 //PatternBody
829 public RuleCall getBodiesPatternBodyParserRuleCall_5_1_0_0() { return cBodiesPatternBodyParserRuleCall_5_1_0_0; }
830
831 //('|' bodies+=PatternBody)*
832 public Group getGroup_5_1_1() { return cGroup_5_1_1; }
833
834 //'|'
835 public Keyword getVerticalLineKeyword_5_1_1_0() { return cVerticalLineKeyword_5_1_1_0; }
836
837 //bodies+=PatternBody
838 public Assignment getBodiesAssignment_5_1_1_1() { return cBodiesAssignment_5_1_1_1; }
839
840 //PatternBody
841 public RuleCall getBodiesPatternBodyParserRuleCall_5_1_1_1_0() { return cBodiesPatternBodyParserRuleCall_5_1_1_1_0; }
842
843 //'.'
844 public Keyword getFullStopKeyword_6() { return cFullStopKeyword_6; }
845 }
846 public class ParameterElements extends AbstractParserRuleElementFinder {
847 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
848 private final Group cGroup = (Group)rule.eContents().get(1);
849 private final Assignment cVariableAssignment_0 = (Assignment)cGroup.eContents().get(0);
850 private final RuleCall cVariableVariableParserRuleCall_0_0 = (RuleCall)cVariableAssignment_0.eContents().get(0);
851 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
852 private final Keyword cColonKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
853 private final Assignment cTypeAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
854 private final RuleCall cTypeSymbolParserRuleCall_1_1_0 = (RuleCall)cTypeAssignment_1_1.eContents().get(0);
855
856 //Parameter:
857 // variable=Variable (':' type=Symbol)?;
858 @Override public ParserRule getRule() { return rule; }
859
860 //variable=Variable (':' type=Symbol)?
861 public Group getGroup() { return cGroup; }
862
863 //variable=Variable
864 public Assignment getVariableAssignment_0() { return cVariableAssignment_0; }
865
866 //Variable
867 public RuleCall getVariableVariableParserRuleCall_0_0() { return cVariableVariableParserRuleCall_0_0; }
868
869 //(':' type=Symbol)?
870 public Group getGroup_1() { return cGroup_1; }
871
872 //':'
873 public Keyword getColonKeyword_1_0() { return cColonKeyword_1_0; }
874
875 //type=Symbol
876 public Assignment getTypeAssignment_1_1() { return cTypeAssignment_1_1; }
877
878 //Symbol
879 public RuleCall getTypeSymbolParserRuleCall_1_1_0() { return cTypeSymbolParserRuleCall_1_1_0; }
880 }
881 public class PatternBodyElements extends AbstractParserRuleElementFinder {
882 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
883 private final Group cGroup = (Group)rule.eContents().get(1);
884 private final Action cPatternBodyAction_0 = (Action)cGroup.eContents().get(0);
885 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
886 private final Keyword cTrueKeyword_1_0 = (Keyword)cAlternatives_1.eContents().get(0);
887 private final Assignment cConstraintsAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1);
888 private final RuleCall cConstraintsConstraintParserRuleCall_1_1_0 = (RuleCall)cConstraintsAssignment_1_1.eContents().get(0);
889
890 //PatternBody:
891 // {PatternBody} ('true' | constraints+=Constraint*);
892 @Override public ParserRule getRule() { return rule; }
893
894 //{PatternBody} ('true' | constraints+=Constraint*)
895 public Group getGroup() { return cGroup; }
896
897 //{PatternBody}
898 public Action getPatternBodyAction_0() { return cPatternBodyAction_0; }
899
900 //'true' | constraints+=Constraint*
901 public Alternatives getAlternatives_1() { return cAlternatives_1; }
902
903 //'true'
904 public Keyword getTrueKeyword_1_0() { return cTrueKeyword_1_0; }
905
906 //constraints+=Constraint*
907 public Assignment getConstraintsAssignment_1_1() { return cConstraintsAssignment_1_1; }
908
909 //Constraint
910 public RuleCall getConstraintsConstraintParserRuleCall_1_1_0() { return cConstraintsConstraintParserRuleCall_1_1_0; }
911 }
912 public class PolarityElements extends AbstractParserRuleElementFinder {
913 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Polarity");
914 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
915 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
916 private final Action cPositiveAction_0_0 = (Action)cGroup_0.eContents().get(0);
917 private final Keyword cPlusSignKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1);
918 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
919 private final Action cNegativeAction_1_0 = (Action)cGroup_1.eContents().get(0);
920 private final Keyword cHyphenMinusKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
921
922 //Polarity:
923 // {Positive} '+' | {Negative} '-';
924 @Override public ParserRule getRule() { return rule; }
925
926 //{Positive} '+' | {Negative} '-'
927 public Alternatives getAlternatives() { return cAlternatives; }
928
929 //{Positive} '+'
930 public Group getGroup_0() { return cGroup_0; }
931
932 //{Positive}
933 public Action getPositiveAction_0_0() { return cPositiveAction_0_0; }
934
935 //'+'
936 public Keyword getPlusSignKeyword_0_1() { return cPlusSignKeyword_0_1; }
937
938 //{Negative} '-'
939 public Group getGroup_1() { return cGroup_1; }
940
941 //{Negative}
942 public Action getNegativeAction_1_0() { return cNegativeAction_1_0; }
943
944 //'-'
945 public Keyword getHyphenMinusKeyword_1_1() { return cHyphenMinusKeyword_1_1; }
946 }
947 public class ConstraintElements extends AbstractParserRuleElementFinder {
948 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Constraint");
949 private final Group cGroup = (Group)rule.eContents().get(1);
950 private final Assignment cPolarityAssignment_0 = (Assignment)cGroup.eContents().get(0);
951 private final RuleCall cPolarityPolarityParserRuleCall_0_0 = (RuleCall)cPolarityAssignment_0.eContents().get(0);
952 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1);
953 private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0);
954 private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
955 private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0);
956 private final Keyword cLeftParenthesisKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0);
957 private final Assignment cParamsAssignment_2_0_1 = (Assignment)cGroup_2_0.eContents().get(1);
958 private final RuleCall cParamsLiteralParserRuleCall_2_0_1_0 = (RuleCall)cParamsAssignment_2_0_1.eContents().get(0);
959 private final Keyword cRightParenthesisKeyword_2_0_2 = (Keyword)cGroup_2_0.eContents().get(2);
960 private final Group cGroup_2_1 = (Group)cAlternatives_2.eContents().get(1);
961 private final Assignment cClosureTypeAssignment_2_1_0 = (Assignment)cGroup_2_1.eContents().get(0);
962 private final RuleCall cClosureTypeClosureTypeParserRuleCall_2_1_0_0 = (RuleCall)cClosureTypeAssignment_2_1_0.eContents().get(0);
963 private final Keyword cLeftParenthesisKeyword_2_1_1 = (Keyword)cGroup_2_1.eContents().get(1);
964 private final Assignment cParamsAssignment_2_1_2 = (Assignment)cGroup_2_1.eContents().get(2);
965 private final RuleCall cParamsLiteralParserRuleCall_2_1_2_0 = (RuleCall)cParamsAssignment_2_1_2.eContents().get(0);
966 private final Assignment cParamsAssignment_2_1_3 = (Assignment)cGroup_2_1.eContents().get(3);
967 private final RuleCall cParamsLiteralParserRuleCall_2_1_3_0 = (RuleCall)cParamsAssignment_2_1_3.eContents().get(0);
968 private final Keyword cRightParenthesisKeyword_2_1_4 = (Keyword)cGroup_2_1.eContents().get(4);
969
970 //Constraint:
971 // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal* ')' | closureType=ClosureType '(' params+=Literal
972 // params+=Literal ')');
973 @Override public ParserRule getRule() { return rule; }
974
975 //polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal* ')' | closureType=ClosureType '(' params+=Literal
976 //params+=Literal ')')
977 public Group getGroup() { return cGroup; }
978
979 //polarity=Polarity?
980 public Assignment getPolarityAssignment_0() { return cPolarityAssignment_0; }
981
982 //Polarity
983 public RuleCall getPolarityPolarityParserRuleCall_0_0() { return cPolarityPolarityParserRuleCall_0_0; }
984
985 //symbol=ModelSymbol
986 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; }
987
988 //ModelSymbol
989 public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; }
990
991 //'(' params+=Literal* ')' | closureType=ClosureType '(' params+=Literal params+=Literal ')'
992 public Alternatives getAlternatives_2() { return cAlternatives_2; }
993
994 //'(' params+=Literal* ')'
995 public Group getGroup_2_0() { return cGroup_2_0; }
996
997 //'('
998 public Keyword getLeftParenthesisKeyword_2_0_0() { return cLeftParenthesisKeyword_2_0_0; }
999
1000 //params+=Literal*
1001 public Assignment getParamsAssignment_2_0_1() { return cParamsAssignment_2_0_1; }
1002
1003 //Literal
1004 public RuleCall getParamsLiteralParserRuleCall_2_0_1_0() { return cParamsLiteralParserRuleCall_2_0_1_0; }
1005
1006 //')'
1007 public Keyword getRightParenthesisKeyword_2_0_2() { return cRightParenthesisKeyword_2_0_2; }
1008
1009 //closureType=ClosureType '(' params+=Literal params+=Literal ')'
1010 public Group getGroup_2_1() { return cGroup_2_1; }
1011
1012 //closureType=ClosureType
1013 public Assignment getClosureTypeAssignment_2_1_0() { return cClosureTypeAssignment_2_1_0; }
1014
1015 //ClosureType
1016 public RuleCall getClosureTypeClosureTypeParserRuleCall_2_1_0_0() { return cClosureTypeClosureTypeParserRuleCall_2_1_0_0; }
1017
1018 //'('
1019 public Keyword getLeftParenthesisKeyword_2_1_1() { return cLeftParenthesisKeyword_2_1_1; }
1020
1021 //params+=Literal
1022 public Assignment getParamsAssignment_2_1_2() { return cParamsAssignment_2_1_2; }
1023
1024 //Literal
1025 public RuleCall getParamsLiteralParserRuleCall_2_1_2_0() { return cParamsLiteralParserRuleCall_2_1_2_0; }
1026
1027 //params+=Literal
1028 public Assignment getParamsAssignment_2_1_3() { return cParamsAssignment_2_1_3; }
1029
1030 //Literal
1031 public RuleCall getParamsLiteralParserRuleCall_2_1_3_0() { return cParamsLiteralParserRuleCall_2_1_3_0; }
1032
1033 //')'
1034 public Keyword getRightParenthesisKeyword_2_1_4() { return cRightParenthesisKeyword_2_1_4; }
1035 }
1036 public class ClosureTypeElements extends AbstractParserRuleElementFinder {
1037 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType");
1038 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1039 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
1040 private final Action cReflexiveClosureAction_0_0 = (Action)cGroup_0.eContents().get(0);
1041 private final Keyword cAsteriskKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1);
1042 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
1043 private final Action cIrreflexiveClosureAction_1_0 = (Action)cGroup_1.eContents().get(0);
1044 private final Keyword cPlusSignKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
1045
1046 //ClosureType:
1047 // {ReflexiveClosure} '*' | {IrreflexiveClosure} '+';
1048 @Override public ParserRule getRule() { return rule; }
1049
1050 //{ReflexiveClosure} '*' | {IrreflexiveClosure} '+'
1051 public Alternatives getAlternatives() { return cAlternatives; }
1052
1053 //{ReflexiveClosure} '*'
1054 public Group getGroup_0() { return cGroup_0; }
1055
1056 //{ReflexiveClosure}
1057 public Action getReflexiveClosureAction_0_0() { return cReflexiveClosureAction_0_0; }
1058
1059 //'*'
1060 public Keyword getAsteriskKeyword_0_1() { return cAsteriskKeyword_0_1; }
1061
1062 //{IrreflexiveClosure} '+'
1063 public Group getGroup_1() { return cGroup_1; }
1064
1065 //{IrreflexiveClosure}
1066 public Action getIrreflexiveClosureAction_1_0() { return cIrreflexiveClosureAction_1_0; }
1067
1068 //'+'
1069 public Keyword getPlusSignKeyword_1_1() { return cPlusSignKeyword_1_1; }
1070 }
1071 public class LiteralElements extends AbstractParserRuleElementFinder {
1072 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
1073 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1074 private final RuleCall cVariableParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1075 private final RuleCall cDataObjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1076
1077 //Literal:
1078 // Variable | DataObject;
1079 @Override public ParserRule getRule() { return rule; }
1080
1081 //Variable | DataObject
1082 public Alternatives getAlternatives() { return cAlternatives; }
1083
1084 //Variable
1085 public RuleCall getVariableParserRuleCall_0() { return cVariableParserRuleCall_0; }
1086
1087 //DataObject
1088 public RuleCall getDataObjectParserRuleCall_1() { return cDataObjectParserRuleCall_1; }
1089 }
1090 public class VariableElements extends AbstractParserRuleElementFinder {
1091 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
1092 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
1093 private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
1094
1095 //Variable:
1096 // name=ID;
1097 @Override public ParserRule getRule() { return rule; }
1098
1099 //name=ID
1100 public Assignment getNameAssignment() { return cNameAssignment; }
1101
1102 //ID
1103 public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; }
1104 }
1105 public class AllInstancesElements extends AbstractParserRuleElementFinder {
1106 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AllInstances");
1107 private final Group cGroup = (Group)rule.eContents().get(1);
1108 private final Keyword cColonKeyword_0 = (Keyword)cGroup.eContents().get(0);
1109 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1);
1110 private final RuleCall cSymbolSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0);
1111
1112 /////////////////////
1113 //// Complex Interpretation grammar
1114 /////////////////////
1115 //AllInstances:
1116 // ':' symbol=Symbol;
1117 @Override public ParserRule getRule() { return rule; }
1118
1119 //':' symbol=Symbol
1120 public Group getGroup() { return cGroup; }
1121
1122 //':'
1123 public Keyword getColonKeyword_0() { return cColonKeyword_0; }
1124
1125 //symbol=Symbol
1126 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; }
1127
1128 //Symbol
1129 public RuleCall getSymbolSymbolParserRuleCall_1_0() { return cSymbolSymbolParserRuleCall_1_0; }
1130 }
1131 public class AllObjectsElements extends AbstractParserRuleElementFinder {
1132 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AllObjects");
1133 private final Group cGroup = (Group)rule.eContents().get(1);
1134 private final Action cAllObjectsAction_0 = (Action)cGroup.eContents().get(0);
1135 private final Keyword cAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1);
1136
1137 //AllObjects:
1138 // {AllObjects} '*';
1139 @Override public ParserRule getRule() { return rule; }
1140
1141 //{AllObjects} '*'
1142 public Group getGroup() { return cGroup; }
1143
1144 //{AllObjects}
1145 public Action getAllObjectsAction_0() { return cAllObjectsAction_0; }
1146
1147 //'*'
1148 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; }
1149 }
1150 public class DefaultInterpretationElements extends AbstractParserRuleElementFinder {
1151 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DefaultInterpretation");
1152 private final Group cGroup = (Group)rule.eContents().get(1);
1153 private final Keyword cDefaultKeyword_0 = (Keyword)cGroup.eContents().get(0);
1154 private final Assignment cInterpretationAssignment_1 = (Assignment)cGroup.eContents().get(1);
1155 private final RuleCall cInterpretationBasicInterpretationParserRuleCall_1_0 = (RuleCall)cInterpretationAssignment_1.eContents().get(0);
1156
1157 /////////////////////
1158 //// Defaul Interpretation grammar
1159 /////////////////////
1160 //DefaultInterpretation:
1161 // 'default' interpretation=BasicInterpretation;
1162 @Override public ParserRule getRule() { return rule; }
1163
1164 //'default' interpretation=BasicInterpretation
1165 public Group getGroup() { return cGroup; }
1166
1167 //'default'
1168 public Keyword getDefaultKeyword_0() { return cDefaultKeyword_0; }
1169
1170 //interpretation=BasicInterpretation
1171 public Assignment getInterpretationAssignment_1() { return cInterpretationAssignment_1; }
1172
1173 //BasicInterpretation
1174 public RuleCall getInterpretationBasicInterpretationParserRuleCall_1_0() { return cInterpretationBasicInterpretationParserRuleCall_1_0; }
1175 }
1176 public class CDInterpretationElements extends AbstractParserRuleElementFinder {
1177 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.CDInterpretation");
1178 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1179 private final RuleCall cClassInterpretationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1180 private final RuleCall cEnumInterpretationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1181 private final RuleCall cGlobalRelationInterpretationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1182
1183 /////////////////////
1184 //// Advanced Class-Diagram interpretations
1185 /////////////////////
1186 //CDInterpretation:
1187 // ClassInterpretation | EnumInterpretation | GlobalRelationInterpretation;
1188 @Override public ParserRule getRule() { return rule; }
1189
1190 //ClassInterpretation | EnumInterpretation | GlobalRelationInterpretation
1191 public Alternatives getAlternatives() { return cAlternatives; }
1192
1193 //ClassInterpretation
1194 public RuleCall getClassInterpretationParserRuleCall_0() { return cClassInterpretationParserRuleCall_0; }
1195
1196 //EnumInterpretation
1197 public RuleCall getEnumInterpretationParserRuleCall_1() { return cEnumInterpretationParserRuleCall_1; }
1198
1199 //GlobalRelationInterpretation
1200 public RuleCall getGlobalRelationInterpretationParserRuleCall_2() { return cGlobalRelationInterpretationParserRuleCall_2; }
1201 }
1202 public class ClassInterpretationElements extends AbstractParserRuleElementFinder {
1203 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClassInterpretation");
1204 private final Group cGroup = (Group)rule.eContents().get(1);
1205 private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0);
1206 private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0);
1207 private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1);
1208 private final Assignment cSymbolAssignment_2 = (Assignment)cGroup.eContents().get(2);
1209 private final RuleCall cSymbolModelSymbolParserRuleCall_2_0 = (RuleCall)cSymbolAssignment_2.eContents().get(0);
1210 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
1211 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
1212 private final Assignment cSupertypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
1213 private final RuleCall cSupertypesModelSymbolParserRuleCall_3_1_0 = (RuleCall)cSupertypesAssignment_3_1.eContents().get(0);
1214 private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
1215 private final Assignment cFieltAssignment_5 = (Assignment)cGroup.eContents().get(5);
1216 private final RuleCall cFieltFieldRelationInterpretationParserRuleCall_5_0 = (RuleCall)cFieltAssignment_5.eContents().get(0);
1217 private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
1218
1219 //ClassInterpretation:
1220 // abstract?='abstract' 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{'
1221 // fielt+=FieldRelationInterpretation*
1222 // '}';
1223 @Override public ParserRule getRule() { return rule; }
1224
1225 //abstract?='abstract' 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{'
1226 //fielt+=FieldRelationInterpretation* '}'
1227 public Group getGroup() { return cGroup; }
1228
1229 //abstract?='abstract'
1230 public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; }
1231
1232 //'abstract'
1233 public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; }
1234
1235 //'class'
1236 public Keyword getClassKeyword_1() { return cClassKeyword_1; }
1237
1238 //symbol=ModelSymbol
1239 public Assignment getSymbolAssignment_2() { return cSymbolAssignment_2; }
1240
1241 //ModelSymbol
1242 public RuleCall getSymbolModelSymbolParserRuleCall_2_0() { return cSymbolModelSymbolParserRuleCall_2_0; }
1243
1244 //('extends' supertypes+=ModelSymbol+)?
1245 public Group getGroup_3() { return cGroup_3; }
1246
1247 //'extends'
1248 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; }
1249
1250 //supertypes+=ModelSymbol+
1251 public Assignment getSupertypesAssignment_3_1() { return cSupertypesAssignment_3_1; }
1252
1253 //ModelSymbol
1254 public RuleCall getSupertypesModelSymbolParserRuleCall_3_1_0() { return cSupertypesModelSymbolParserRuleCall_3_1_0; }
1255
1256 //'{'
1257 public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
1258
1259 //fielt+=FieldRelationInterpretation*
1260 public Assignment getFieltAssignment_5() { return cFieltAssignment_5; }
1261
1262 //FieldRelationInterpretation
1263 public RuleCall getFieltFieldRelationInterpretationParserRuleCall_5_0() { return cFieltFieldRelationInterpretationParserRuleCall_5_0; }
1264
1265 //'}'
1266 public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
1267 }
1268 public class EnumInterpretationElements extends AbstractParserRuleElementFinder {
1269 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.EnumInterpretation");
1270 private final Group cGroup = (Group)rule.eContents().get(1);
1271 private final Keyword cEnumKeyword_0 = (Keyword)cGroup.eContents().get(0);
1272 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1);
1273 private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0);
1274 private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
1275 private final Assignment cObjectsAssignment_3 = (Assignment)cGroup.eContents().get(3);
1276 private final RuleCall cObjectsNamedObjectParserRuleCall_3_0 = (RuleCall)cObjectsAssignment_3.eContents().get(0);
1277 private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
1278
1279 //EnumInterpretation:
1280 // 'enum' Symbol=ModelSymbol '{' objects+=NamedObject+ '}';
1281 @Override public ParserRule getRule() { return rule; }
1282
1283 //'enum' Symbol=ModelSymbol '{' objects+=NamedObject+ '}'
1284 public Group getGroup() { return cGroup; }
1285
1286 //'enum'
1287 public Keyword getEnumKeyword_0() { return cEnumKeyword_0; }
1288
1289 //Symbol=ModelSymbol
1290 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; }
1291
1292 //ModelSymbol
1293 public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; }
1294
1295 //'{'
1296 public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
1297
1298 //objects+=NamedObject+
1299 public Assignment getObjectsAssignment_3() { return cObjectsAssignment_3; }
1300
1301 //NamedObject
1302 public RuleCall getObjectsNamedObjectParserRuleCall_3_0() { return cObjectsNamedObjectParserRuleCall_3_0; }
1303
1304 //'}'
1305 public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
1306 }
1307 public class FieldRelationInterpretationElements extends AbstractParserRuleElementFinder {
1308 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.FieldRelationInterpretation");
1309 private final Group cGroup = (Group)rule.eContents().get(1);
1310 private final Assignment cContainmentAssignment_0 = (Assignment)cGroup.eContents().get(0);
1311 private final Keyword cContainmentContainmentKeyword_0_0 = (Keyword)cContainmentAssignment_0.eContents().get(0);
1312 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1);
1313 private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0);
1314 private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
1315 private final Assignment cMultiplicityAssignment_3 = (Assignment)cGroup.eContents().get(3);
1316 private final RuleCall cMultiplicityMultiplicityDefinitionParserRuleCall_3_0 = (RuleCall)cMultiplicityAssignment_3.eContents().get(0);
1317 private final Assignment cTargetAssignment_4 = (Assignment)cGroup.eContents().get(4);
1318 private final RuleCall cTargetSymbolParserRuleCall_4_0 = (RuleCall)cTargetAssignment_4.eContents().get(0);
1319
1320 //FieldRelationInterpretation:
1321 // containment?='containment' symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol;
1322 @Override public ParserRule getRule() { return rule; }
1323
1324 //containment?='containment' symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol
1325 public Group getGroup() { return cGroup; }
1326
1327 //containment?='containment'
1328 public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; }
1329
1330 //'containment'
1331 public Keyword getContainmentContainmentKeyword_0_0() { return cContainmentContainmentKeyword_0_0; }
1332
1333 //symbol=ModelSymbol
1334 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; }
1335
1336 //ModelSymbol
1337 public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; }
1338
1339 //':'
1340 public Keyword getColonKeyword_2() { return cColonKeyword_2; }
1341
1342 //multiplicity=MultiplicityDefinition?
1343 public Assignment getMultiplicityAssignment_3() { return cMultiplicityAssignment_3; }
1344
1345 //MultiplicityDefinition
1346 public RuleCall getMultiplicityMultiplicityDefinitionParserRuleCall_3_0() { return cMultiplicityMultiplicityDefinitionParserRuleCall_3_0; }
1347
1348 //target=Symbol
1349 public Assignment getTargetAssignment_4() { return cTargetAssignment_4; }
1350
1351 //Symbol
1352 public RuleCall getTargetSymbolParserRuleCall_4_0() { return cTargetSymbolParserRuleCall_4_0; }
1353 }
1354 public class GlobalRelationInterpretationElements extends AbstractParserRuleElementFinder {
1355 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.GlobalRelationInterpretation");
1356 private final Group cGroup = (Group)rule.eContents().get(1);
1357 private final Assignment cContainmentAssignment_0 = (Assignment)cGroup.eContents().get(0);
1358 private final Keyword cContainmentContainmentKeyword_0_0 = (Keyword)cContainmentAssignment_0.eContents().get(0);
1359 private final Keyword cRelationKeyword_1 = (Keyword)cGroup.eContents().get(1);
1360 private final Assignment cSymbolAssignment_2 = (Assignment)cGroup.eContents().get(2);
1361 private final RuleCall cSymbolModelSymbolParserRuleCall_2_0 = (RuleCall)cSymbolAssignment_2.eContents().get(0);
1362 private final Keyword cColonKeyword_3 = (Keyword)cGroup.eContents().get(3);
1363 private final Assignment cSourceMultiplicityAssignment_4 = (Assignment)cGroup.eContents().get(4);
1364 private final RuleCall cSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0 = (RuleCall)cSourceMultiplicityAssignment_4.eContents().get(0);
1365 private final Assignment cSourceAssignment_5 = (Assignment)cGroup.eContents().get(5);
1366 private final RuleCall cSourceSymbolParserRuleCall_5_0 = (RuleCall)cSourceAssignment_5.eContents().get(0);
1367 private final Assignment cTargetMultiplicityAssignment_6 = (Assignment)cGroup.eContents().get(6);
1368 private final RuleCall cTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0 = (RuleCall)cTargetMultiplicityAssignment_6.eContents().get(0);
1369 private final Assignment cTargetAssignment_7 = (Assignment)cGroup.eContents().get(7);
1370 private final RuleCall cTargetSymbolParserRuleCall_7_0 = (RuleCall)cTargetAssignment_7.eContents().get(0);
1371
1372 //GlobalRelationInterpretation:
1373 // containment?='containment' 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? source=Symbol
1374 // targetMultiplicity=MultiplicityDefinition? target=Symbol;
1375 @Override public ParserRule getRule() { return rule; }
1376
1377 //containment?='containment' 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? source=Symbol
1378 //targetMultiplicity=MultiplicityDefinition? target=Symbol
1379 public Group getGroup() { return cGroup; }
1380
1381 //containment?='containment'
1382 public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; }
1383
1384 //'containment'
1385 public Keyword getContainmentContainmentKeyword_0_0() { return cContainmentContainmentKeyword_0_0; }
1386
1387 //'relation'
1388 public Keyword getRelationKeyword_1() { return cRelationKeyword_1; }
1389
1390 //symbol=ModelSymbol
1391 public Assignment getSymbolAssignment_2() { return cSymbolAssignment_2; }
1392
1393 //ModelSymbol
1394 public RuleCall getSymbolModelSymbolParserRuleCall_2_0() { return cSymbolModelSymbolParserRuleCall_2_0; }
1395
1396 //':'
1397 public Keyword getColonKeyword_3() { return cColonKeyword_3; }
1398
1399 //sourceMultiplicity=MultiplicityDefinition?
1400 public Assignment getSourceMultiplicityAssignment_4() { return cSourceMultiplicityAssignment_4; }
1401
1402 //MultiplicityDefinition
1403 public RuleCall getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0() { return cSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0; }
1404
1405 //source=Symbol
1406 public Assignment getSourceAssignment_5() { return cSourceAssignment_5; }
1407
1408 //Symbol
1409 public RuleCall getSourceSymbolParserRuleCall_5_0() { return cSourceSymbolParserRuleCall_5_0; }
1410
1411 //targetMultiplicity=MultiplicityDefinition?
1412 public Assignment getTargetMultiplicityAssignment_6() { return cTargetMultiplicityAssignment_6; }
1413
1414 //MultiplicityDefinition
1415 public RuleCall getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0() { return cTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0; }
1416
1417 //target=Symbol
1418 public Assignment getTargetAssignment_7() { return cTargetAssignment_7; }
1419
1420 //Symbol
1421 public RuleCall getTargetSymbolParserRuleCall_7_0() { return cTargetSymbolParserRuleCall_7_0; }
1422 }
1423 public class MultiplicityDefinitionElements extends AbstractParserRuleElementFinder {
1424 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition");
1425 private final Group cGroup = (Group)rule.eContents().get(1);
1426 private final Assignment cLowerAssignment_0 = (Assignment)cGroup.eContents().get(0);
1427 private final RuleCall cLowerINTTerminalRuleCall_0_0 = (RuleCall)cLowerAssignment_0.eContents().get(0);
1428 private final Keyword cFullStopFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1);
1429 private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
1430 private final Assignment cUpperAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0);
1431 private final RuleCall cUpperINTTerminalRuleCall_2_0_0 = (RuleCall)cUpperAssignment_2_0.eContents().get(0);
1432 private final Assignment cUnlimitedUpperAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1);
1433 private final Keyword cUnlimitedUpperAsteriskKeyword_2_1_0 = (Keyword)cUnlimitedUpperAssignment_2_1.eContents().get(0);
1434
1435 //MultiplicityDefinition:
1436 // lower=INT '..' (upper=INT | unlimitedUpper?='*');
1437 @Override public ParserRule getRule() { return rule; }
1438
1439 //lower=INT '..' (upper=INT | unlimitedUpper?='*')
1440 public Group getGroup() { return cGroup; }
1441
1442 //lower=INT
1443 public Assignment getLowerAssignment_0() { return cLowerAssignment_0; }
1444
1445 //INT
1446 public RuleCall getLowerINTTerminalRuleCall_0_0() { return cLowerINTTerminalRuleCall_0_0; }
1447
1448 //'..'
1449 public Keyword getFullStopFullStopKeyword_1() { return cFullStopFullStopKeyword_1; }
1450
1451 //upper=INT | unlimitedUpper?='*'
1452 public Alternatives getAlternatives_2() { return cAlternatives_2; }
1453
1454 //upper=INT
1455 public Assignment getUpperAssignment_2_0() { return cUpperAssignment_2_0; }
1456
1457 //INT
1458 public RuleCall getUpperINTTerminalRuleCall_2_0_0() { return cUpperINTTerminalRuleCall_2_0_0; }
1459
1460 //unlimitedUpper?='*'
1461 public Assignment getUnlimitedUpperAssignment_2_1() { return cUnlimitedUpperAssignment_2_1; }
1462
1463 //'*'
1464 public Keyword getUnlimitedUpperAsteriskKeyword_2_1_0() { return cUnlimitedUpperAsteriskKeyword_2_1_0; }
1465 }
1466
1467
1468 private final ProblemElements pProblem;
1469 private final StatementElements pStatement;
1470 private final TerminalRule tSTRING;
1471 private final REALLiteralElements pREALLiteral;
1472 private final INTLiteralElements pINTLiteral;
1473 private final BooleanValueElements pBooleanValue;
1474 private final TruthValueElements pTruthValue;
1475 private final InterpretationElements pInterpretation;
1476 private final BasicInterpretationElements pBasicInterpretation;
1477 private final SymbolElements pSymbol;
1478 private final ModelSymbolElements pModelSymbol;
1479 private final PartialitySymbolElements pPartialitySymbol;
1480 private final ExistSymbolElements pExistSymbol;
1481 private final EqualsSymbolElements pEqualsSymbol;
1482 private final DataSymbolElements pDataSymbol;
1483 private final BooleanSymbolElements pBooleanSymbol;
1484 private final IntegerSymbolElements pIntegerSymbol;
1485 private final RealSymbolElements pRealSymbol;
1486 private final StringSymbolElements pStringSymbol;
1487 private final ComplexObjectElements pComplexObject;
1488 private final ObjectElements pObject;
1489 private final NamedObjectElements pNamedObject;
1490 private final UnnamedObjectElements pUnnamedObject;
1491 private final DataObjectElements pDataObject;
1492 private final BooleanObjectElements pBooleanObject;
1493 private final IntObjectElements pIntObject;
1494 private final RealObjectElements pRealObject;
1495 private final StringObjectElements pStringObject;
1496 private final PredicateElements pPredicate;
1497 private final PredicateSymbolElements pPredicateSymbol;
1498 private final ErrorPredicateElements pErrorPredicate;
1499 private final ParameterElements pParameter;
1500 private final PatternBodyElements pPatternBody;
1501 private final PolarityElements pPolarity;
1502 private final ConstraintElements pConstraint;
1503 private final ClosureTypeElements pClosureType;
1504 private final LiteralElements pLiteral;
1505 private final VariableElements pVariable;
1506 private final AllInstancesElements pAllInstances;
1507 private final AllObjectsElements pAllObjects;
1508 private final DefaultInterpretationElements pDefaultInterpretation;
1509 private final CDInterpretationElements pCDInterpretation;
1510 private final ClassInterpretationElements pClassInterpretation;
1511 private final EnumInterpretationElements pEnumInterpretation;
1512 private final FieldRelationInterpretationElements pFieldRelationInterpretation;
1513 private final GlobalRelationInterpretationElements pGlobalRelationInterpretation;
1514 private final MultiplicityDefinitionElements pMultiplicityDefinition;
1515
1516 private final Grammar grammar;
1517
1518 private final TerminalsGrammarAccess gaTerminals;
1519
1520 @Inject
1521 public SolverLanguageGrammarAccess(GrammarProvider grammarProvider,
1522 TerminalsGrammarAccess gaTerminals) {
1523 this.grammar = internalFindGrammar(grammarProvider);
1524 this.gaTerminals = gaTerminals;
1525 this.pProblem = new ProblemElements();
1526 this.pStatement = new StatementElements();
1527 this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.STRING");
1528 this.pREALLiteral = new REALLiteralElements();
1529 this.pINTLiteral = new INTLiteralElements();
1530 this.pBooleanValue = new BooleanValueElements();
1531 this.pTruthValue = new TruthValueElements();
1532 this.pInterpretation = new InterpretationElements();
1533 this.pBasicInterpretation = new BasicInterpretationElements();
1534 this.pSymbol = new SymbolElements();
1535 this.pModelSymbol = new ModelSymbolElements();
1536 this.pPartialitySymbol = new PartialitySymbolElements();
1537 this.pExistSymbol = new ExistSymbolElements();
1538 this.pEqualsSymbol = new EqualsSymbolElements();
1539 this.pDataSymbol = new DataSymbolElements();
1540 this.pBooleanSymbol = new BooleanSymbolElements();
1541 this.pIntegerSymbol = new IntegerSymbolElements();
1542 this.pRealSymbol = new RealSymbolElements();
1543 this.pStringSymbol = new StringSymbolElements();
1544 this.pComplexObject = new ComplexObjectElements();
1545 this.pObject = new ObjectElements();
1546 this.pNamedObject = new NamedObjectElements();
1547 this.pUnnamedObject = new UnnamedObjectElements();
1548 this.pDataObject = new DataObjectElements();
1549 this.pBooleanObject = new BooleanObjectElements();
1550 this.pIntObject = new IntObjectElements();
1551 this.pRealObject = new RealObjectElements();
1552 this.pStringObject = new StringObjectElements();
1553 this.pPredicate = new PredicateElements();
1554 this.pPredicateSymbol = new PredicateSymbolElements();
1555 this.pErrorPredicate = new ErrorPredicateElements();
1556 this.pParameter = new ParameterElements();
1557 this.pPatternBody = new PatternBodyElements();
1558 this.pPolarity = new PolarityElements();
1559 this.pConstraint = new ConstraintElements();
1560 this.pClosureType = new ClosureTypeElements();
1561 this.pLiteral = new LiteralElements();
1562 this.pVariable = new VariableElements();
1563 this.pAllInstances = new AllInstancesElements();
1564 this.pAllObjects = new AllObjectsElements();
1565 this.pDefaultInterpretation = new DefaultInterpretationElements();
1566 this.pCDInterpretation = new CDInterpretationElements();
1567 this.pClassInterpretation = new ClassInterpretationElements();
1568 this.pEnumInterpretation = new EnumInterpretationElements();
1569 this.pFieldRelationInterpretation = new FieldRelationInterpretationElements();
1570 this.pGlobalRelationInterpretation = new GlobalRelationInterpretationElements();
1571 this.pMultiplicityDefinition = new MultiplicityDefinitionElements();
1572 }
1573
1574 protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
1575 Grammar grammar = grammarProvider.getGrammar(this);
1576 while (grammar != null) {
1577 if ("org.eclipse.viatra.solver.language.SolverLanguage".equals(grammar.getName())) {
1578 return grammar;
1579 }
1580 List<Grammar> grammars = grammar.getUsedGrammars();
1581 if (!grammars.isEmpty()) {
1582 grammar = grammars.iterator().next();
1583 } else {
1584 return null;
1585 }
1586 }
1587 return grammar;
1588 }
1589
1590 @Override
1591 public Grammar getGrammar() {
1592 return grammar;
1593 }
1594
1595
1596 public TerminalsGrammarAccess getTerminalsGrammarAccess() {
1597 return gaTerminals;
1598 }
1599
1600
1601 //Problem:
1602 // statements+=Statement*;
1603 public ProblemElements getProblemAccess() {
1604 return pProblem;
1605 }
1606
1607 public ParserRule getProblemRule() {
1608 return getProblemAccess().getRule();
1609 }
1610
1611 //Statement:
1612 // Interpretation | Predicate;
1613 public StatementElements getStatementAccess() {
1614 return pStatement;
1615 }
1616
1617 public ParserRule getStatementRule() {
1618 return getStatementAccess().getRule();
1619 }
1620
1621 //@Override
1622 //terminal STRING:
1623 // '"' ('\\' . | !('\\' | '"'))* '"';
1624 public TerminalRule getSTRINGRule() {
1625 return tSTRING;
1626 }
1627
1628 //REALLiteral ecore::EBigDecimal:
1629 // '-'? INT '.' INT;
1630 public REALLiteralElements getREALLiteralAccess() {
1631 return pREALLiteral;
1632 }
1633
1634 public ParserRule getREALLiteralRule() {
1635 return getREALLiteralAccess().getRule();
1636 }
1637
1638 //INTLiteral ecore::EInt:
1639 // '-'? INT;
1640 public INTLiteralElements getINTLiteralAccess() {
1641 return pINTLiteral;
1642 }
1643
1644 public ParserRule getINTLiteralRule() {
1645 return getINTLiteralAccess().getRule();
1646 }
1647
1648 //BooleanValue:
1649 // {BooleanTrue} 'true' | 'false' {BooleanFalse};
1650 public BooleanValueElements getBooleanValueAccess() {
1651 return pBooleanValue;
1652 }
1653
1654 public ParserRule getBooleanValueRule() {
1655 return getBooleanValueAccess().getRule();
1656 }
1657
1658 //TruthValue:
1659 // {True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} 'error';
1660 public TruthValueElements getTruthValueAccess() {
1661 return pTruthValue;
1662 }
1663
1664 public ParserRule getTruthValueRule() {
1665 return getTruthValueAccess().getRule();
1666 }
1667
1668 /////////////////////
1669 //// Core grammar
1670 // ///////////////////
1671 //Interpretation:
1672 // BasicInterpretation | DefaultInterpretation | CDInterpretation;
1673 public InterpretationElements getInterpretationAccess() {
1674 return pInterpretation;
1675 }
1676
1677 public ParserRule getInterpretationRule() {
1678 return getInterpretationAccess().getRule();
1679 }
1680
1681 //BasicInterpretation:
1682 // symbol=Symbol '(' objects+=ComplexObject* ')' ':' value=TruthValue;
1683 public BasicInterpretationElements getBasicInterpretationAccess() {
1684 return pBasicInterpretation;
1685 }
1686
1687 public ParserRule getBasicInterpretationRule() {
1688 return getBasicInterpretationAccess().getRule();
1689 }
1690
1691 //Symbol:
1692 // ModelSymbol | PartialitySymbol | DataSymbol;
1693 public SymbolElements getSymbolAccess() {
1694 return pSymbol;
1695 }
1696
1697 public ParserRule getSymbolRule() {
1698 return getSymbolAccess().getRule();
1699 }
1700
1701 //ModelSymbol:
1702 // name=ID;
1703 public ModelSymbolElements getModelSymbolAccess() {
1704 return pModelSymbol;
1705 }
1706
1707 public ParserRule getModelSymbolRule() {
1708 return getModelSymbolAccess().getRule();
1709 }
1710
1711 //PartialitySymbol:
1712 // ExistSymbol | EqualsSymbol;
1713 public PartialitySymbolElements getPartialitySymbolAccess() {
1714 return pPartialitySymbol;
1715 }
1716
1717 public ParserRule getPartialitySymbolRule() {
1718 return getPartialitySymbolAccess().getRule();
1719 }
1720
1721 //ExistSymbol:
1722 // 'exists' {ExistSymbol};
1723 public ExistSymbolElements getExistSymbolAccess() {
1724 return pExistSymbol;
1725 }
1726
1727 public ParserRule getExistSymbolRule() {
1728 return getExistSymbolAccess().getRule();
1729 }
1730
1731 //EqualsSymbol:
1732 // 'equals' {EqualsSymbol};
1733 public EqualsSymbolElements getEqualsSymbolAccess() {
1734 return pEqualsSymbol;
1735 }
1736
1737 public ParserRule getEqualsSymbolRule() {
1738 return getEqualsSymbolAccess().getRule();
1739 }
1740
1741 //DataSymbol:
1742 // BooleanSymbol | IntegerSymbol | RealSymbol | StringSymbol;
1743 public DataSymbolElements getDataSymbolAccess() {
1744 return pDataSymbol;
1745 }
1746
1747 public ParserRule getDataSymbolRule() {
1748 return getDataSymbolAccess().getRule();
1749 }
1750
1751 //BooleanSymbol:
1752 // 'bool' {BooleanSymbol};
1753 public BooleanSymbolElements getBooleanSymbolAccess() {
1754 return pBooleanSymbol;
1755 }
1756
1757 public ParserRule getBooleanSymbolRule() {
1758 return getBooleanSymbolAccess().getRule();
1759 }
1760
1761 //IntegerSymbol:
1762 // 'int' {IntegerSymbol};
1763 public IntegerSymbolElements getIntegerSymbolAccess() {
1764 return pIntegerSymbol;
1765 }
1766
1767 public ParserRule getIntegerSymbolRule() {
1768 return getIntegerSymbolAccess().getRule();
1769 }
1770
1771 //RealSymbol:
1772 // 'real' {RealSymbol};
1773 public RealSymbolElements getRealSymbolAccess() {
1774 return pRealSymbol;
1775 }
1776
1777 public ParserRule getRealSymbolRule() {
1778 return getRealSymbolAccess().getRule();
1779 }
1780
1781 //StringSymbol:
1782 // 'string' {StringSymbol};
1783 public StringSymbolElements getStringSymbolAccess() {
1784 return pStringSymbol;
1785 }
1786
1787 public ParserRule getStringSymbolRule() {
1788 return getStringSymbolAccess().getRule();
1789 }
1790
1791 //ComplexObject:
1792 // Object | AllInstances | AllObjects;
1793 public ComplexObjectElements getComplexObjectAccess() {
1794 return pComplexObject;
1795 }
1796
1797 public ParserRule getComplexObjectRule() {
1798 return getComplexObjectAccess().getRule();
1799 }
1800
1801 //Object:
1802 // NamedObject | UnnamedObject | DataObject;
1803 public ObjectElements getObjectAccess() {
1804 return pObject;
1805 }
1806
1807 public ParserRule getObjectRule() {
1808 return getObjectAccess().getRule();
1809 }
1810
1811 //NamedObject:
1812 // "'" name=ID "'";
1813 public NamedObjectElements getNamedObjectAccess() {
1814 return pNamedObject;
1815 }
1816
1817 public ParserRule getNamedObjectRule() {
1818 return getNamedObjectAccess().getRule();
1819 }
1820
1821 //UnnamedObject:
1822 // name=ID;
1823 public UnnamedObjectElements getUnnamedObjectAccess() {
1824 return pUnnamedObject;
1825 }
1826
1827 public ParserRule getUnnamedObjectRule() {
1828 return getUnnamedObjectAccess().getRule();
1829 }
1830
1831 //DataObject:
1832 // BooleanObject | IntObject | RealObject | StringObject;
1833 public DataObjectElements getDataObjectAccess() {
1834 return pDataObject;
1835 }
1836
1837 public ParserRule getDataObjectRule() {
1838 return getDataObjectAccess().getRule();
1839 }
1840
1841 //BooleanObject:
1842 // value=BooleanValue;
1843 public BooleanObjectElements getBooleanObjectAccess() {
1844 return pBooleanObject;
1845 }
1846
1847 public ParserRule getBooleanObjectRule() {
1848 return getBooleanObjectAccess().getRule();
1849 }
1850
1851 //IntObject:
1852 // value=INTLiteral;
1853 public IntObjectElements getIntObjectAccess() {
1854 return pIntObject;
1855 }
1856
1857 public ParserRule getIntObjectRule() {
1858 return getIntObjectAccess().getRule();
1859 }
1860
1861 //RealObject:
1862 // value=REALLiteral;
1863 public RealObjectElements getRealObjectAccess() {
1864 return pRealObject;
1865 }
1866
1867 public ParserRule getRealObjectRule() {
1868 return getRealObjectAccess().getRule();
1869 }
1870
1871 //StringObject:
1872 // value=STRING;
1873 public StringObjectElements getStringObjectAccess() {
1874 return pStringObject;
1875 }
1876
1877 public ParserRule getStringObjectRule() {
1878 return getStringObjectAccess().getRule();
1879 }
1880
1881 /////////////////////
1882 //// Predicte grammar
1883 /////////////////////
1884 //Predicate:
1885 // PredicateSymbol | ErrorPredicate;
1886 public PredicateElements getPredicateAccess() {
1887 return pPredicate;
1888 }
1889
1890 public ParserRule getPredicateRule() {
1891 return getPredicateAccess().getRule();
1892 }
1893
1894 //PredicateSymbol:
1895 // 'predicate' symbol=ModelSymbol '(' parameters+=Parameter* ')' ':' ('false' | bodies+=PatternBody ('|'
1896 // bodies+=PatternBody)*) '.';
1897 public PredicateSymbolElements getPredicateSymbolAccess() {
1898 return pPredicateSymbol;
1899 }
1900
1901 public ParserRule getPredicateSymbolRule() {
1902 return getPredicateSymbolAccess().getRule();
1903 }
1904
1905 //ErrorPredicate:
1906 // {ErrorPredicate} 'error' name=ID? ('(' parameters+=Parameter* ')') ':' ('false' | bodies+=PatternBody ('|'
1907 // bodies+=PatternBody)*) '.';
1908 public ErrorPredicateElements getErrorPredicateAccess() {
1909 return pErrorPredicate;
1910 }
1911
1912 public ParserRule getErrorPredicateRule() {
1913 return getErrorPredicateAccess().getRule();
1914 }
1915
1916 //Parameter:
1917 // variable=Variable (':' type=Symbol)?;
1918 public ParameterElements getParameterAccess() {
1919 return pParameter;
1920 }
1921
1922 public ParserRule getParameterRule() {
1923 return getParameterAccess().getRule();
1924 }
1925
1926 //PatternBody:
1927 // {PatternBody} ('true' | constraints+=Constraint*);
1928 public PatternBodyElements getPatternBodyAccess() {
1929 return pPatternBody;
1930 }
1931
1932 public ParserRule getPatternBodyRule() {
1933 return getPatternBodyAccess().getRule();
1934 }
1935
1936 //Polarity:
1937 // {Positive} '+' | {Negative} '-';
1938 public PolarityElements getPolarityAccess() {
1939 return pPolarity;
1940 }
1941
1942 public ParserRule getPolarityRule() {
1943 return getPolarityAccess().getRule();
1944 }
1945
1946 //Constraint:
1947 // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal* ')' | closureType=ClosureType '(' params+=Literal
1948 // params+=Literal ')');
1949 public ConstraintElements getConstraintAccess() {
1950 return pConstraint;
1951 }
1952
1953 public ParserRule getConstraintRule() {
1954 return getConstraintAccess().getRule();
1955 }
1956
1957 //ClosureType:
1958 // {ReflexiveClosure} '*' | {IrreflexiveClosure} '+';
1959 public ClosureTypeElements getClosureTypeAccess() {
1960 return pClosureType;
1961 }
1962
1963 public ParserRule getClosureTypeRule() {
1964 return getClosureTypeAccess().getRule();
1965 }
1966
1967 //Literal:
1968 // Variable | DataObject;
1969 public LiteralElements getLiteralAccess() {
1970 return pLiteral;
1971 }
1972
1973 public ParserRule getLiteralRule() {
1974 return getLiteralAccess().getRule();
1975 }
1976
1977 //Variable:
1978 // name=ID;
1979 public VariableElements getVariableAccess() {
1980 return pVariable;
1981 }
1982
1983 public ParserRule getVariableRule() {
1984 return getVariableAccess().getRule();
1985 }
1986
1987 /////////////////////
1988 //// Complex Interpretation grammar
1989 /////////////////////
1990 //AllInstances:
1991 // ':' symbol=Symbol;
1992 public AllInstancesElements getAllInstancesAccess() {
1993 return pAllInstances;
1994 }
1995
1996 public ParserRule getAllInstancesRule() {
1997 return getAllInstancesAccess().getRule();
1998 }
1999
2000 //AllObjects:
2001 // {AllObjects} '*';
2002 public AllObjectsElements getAllObjectsAccess() {
2003 return pAllObjects;
2004 }
2005
2006 public ParserRule getAllObjectsRule() {
2007 return getAllObjectsAccess().getRule();
2008 }
2009
2010 /////////////////////
2011 //// Defaul Interpretation grammar
2012 /////////////////////
2013 //DefaultInterpretation:
2014 // 'default' interpretation=BasicInterpretation;
2015 public DefaultInterpretationElements getDefaultInterpretationAccess() {
2016 return pDefaultInterpretation;
2017 }
2018
2019 public ParserRule getDefaultInterpretationRule() {
2020 return getDefaultInterpretationAccess().getRule();
2021 }
2022
2023 /////////////////////
2024 //// Advanced Class-Diagram interpretations
2025 /////////////////////
2026 //CDInterpretation:
2027 // ClassInterpretation | EnumInterpretation | GlobalRelationInterpretation;
2028 public CDInterpretationElements getCDInterpretationAccess() {
2029 return pCDInterpretation;
2030 }
2031
2032 public ParserRule getCDInterpretationRule() {
2033 return getCDInterpretationAccess().getRule();
2034 }
2035
2036 //ClassInterpretation:
2037 // abstract?='abstract' 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{'
2038 // fielt+=FieldRelationInterpretation*
2039 // '}';
2040 public ClassInterpretationElements getClassInterpretationAccess() {
2041 return pClassInterpretation;
2042 }
2043
2044 public ParserRule getClassInterpretationRule() {
2045 return getClassInterpretationAccess().getRule();
2046 }
2047
2048 //EnumInterpretation:
2049 // 'enum' Symbol=ModelSymbol '{' objects+=NamedObject+ '}';
2050 public EnumInterpretationElements getEnumInterpretationAccess() {
2051 return pEnumInterpretation;
2052 }
2053
2054 public ParserRule getEnumInterpretationRule() {
2055 return getEnumInterpretationAccess().getRule();
2056 }
2057
2058 //FieldRelationInterpretation:
2059 // containment?='containment' symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol;
2060 public FieldRelationInterpretationElements getFieldRelationInterpretationAccess() {
2061 return pFieldRelationInterpretation;
2062 }
2063
2064 public ParserRule getFieldRelationInterpretationRule() {
2065 return getFieldRelationInterpretationAccess().getRule();
2066 }
2067
2068 //GlobalRelationInterpretation:
2069 // containment?='containment' 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? source=Symbol
2070 // targetMultiplicity=MultiplicityDefinition? target=Symbol;
2071 public GlobalRelationInterpretationElements getGlobalRelationInterpretationAccess() {
2072 return pGlobalRelationInterpretation;
2073 }
2074
2075 public ParserRule getGlobalRelationInterpretationRule() {
2076 return getGlobalRelationInterpretationAccess().getRule();
2077 }
2078
2079 //MultiplicityDefinition:
2080 // lower=INT '..' (upper=INT | unlimitedUpper?='*');
2081 public MultiplicityDefinitionElements getMultiplicityDefinitionAccess() {
2082 return pMultiplicityDefinition;
2083 }
2084
2085 public ParserRule getMultiplicityDefinitionRule() {
2086 return getMultiplicityDefinitionAccess().getRule();
2087 }
2088
2089 //terminal ID:
2090 // '^'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*;
2091 public TerminalRule getIDRule() {
2092 return gaTerminals.getIDRule();
2093 }
2094
2095 //terminal INT returns ecore::EInt:
2096 // '0'..'9'+;
2097 public TerminalRule getINTRule() {
2098 return gaTerminals.getINTRule();
2099 }
2100
2101 //terminal ML_COMMENT:
2102 // '/*'->'*/';
2103 public TerminalRule getML_COMMENTRule() {
2104 return gaTerminals.getML_COMMENTRule();
2105 }
2106
2107 //terminal SL_COMMENT:
2108 // '//' !('\n' | '\r')* ('\r'? '\n')?;
2109 public TerminalRule getSL_COMMENTRule() {
2110 return gaTerminals.getSL_COMMENTRule();
2111 }
2112
2113 //terminal WS:
2114 // ' ' | '\t' | '\r' | '\n'+;
2115 public TerminalRule getWSRule() {
2116 return gaTerminals.getWSRule();
2117 }
2118
2119 //terminal ANY_OTHER:
2120 // .;
2121 public TerminalRule getANY_OTHERRule() {
2122 return gaTerminals.getANY_OTHERRule();
2123 }
2124}
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllInstances.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllInstances.java
new file mode 100644
index 00000000..17cb45fb
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllInstances.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>All Instances</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances#getSymbol <em>Symbol</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAllInstances()
20 * @model
21 * @generated
22 */
23public interface AllInstances extends ComplexObject
24{
25 /**
26 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Symbol</em>' containment reference.
30 * @see #setSymbol(Symbol)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAllInstances_Symbol()
32 * @model containment="true"
33 * @generated
34 */
35 Symbol getSymbol();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances#getSymbol <em>Symbol</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Symbol</em>' containment reference.
42 * @see #getSymbol()
43 * @generated
44 */
45 void setSymbol(Symbol value);
46
47} // AllInstances
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllObjects.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllObjects.java
new file mode 100644
index 00000000..fbb18046
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AllObjects.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>All Objects</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAllObjects()
14 * @model
15 * @generated
16 */
17public interface AllObjects extends ComplexObject
18{
19} // AllObjects
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BasicInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BasicInterpretation.java
new file mode 100644
index 00000000..b4226d4a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BasicInterpretation.java
@@ -0,0 +1,84 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Basic Interpretation</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getSymbol <em>Symbol</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getObjects <em>Objects</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue <em>Value</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation()
23 * @model
24 * @generated
25 */
26public interface BasicInterpretation extends Interpretation
27{
28 /**
29 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Symbol</em>' containment reference.
33 * @see #setSymbol(Symbol)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation_Symbol()
35 * @model containment="true"
36 * @generated
37 */
38 Symbol getSymbol();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getSymbol <em>Symbol</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Symbol</em>' containment reference.
45 * @see #getSymbol()
46 * @generated
47 */
48 void setSymbol(Symbol value);
49
50 /**
51 * Returns the value of the '<em><b>Objects</b></em>' containment reference list.
52 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.ComplexObject}.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Objects</em>' containment reference list.
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation_Objects()
57 * @model containment="true"
58 * @generated
59 */
60 EList<ComplexObject> getObjects();
61
62 /**
63 * Returns the value of the '<em><b>Value</b></em>' containment reference.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @return the value of the '<em>Value</em>' containment reference.
67 * @see #setValue(TruthValue)
68 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBasicInterpretation_Value()
69 * @model containment="true"
70 * @generated
71 */
72 TruthValue getValue();
73
74 /**
75 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue <em>Value</em>}' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @param value the new value of the '<em>Value</em>' containment reference.
79 * @see #getValue()
80 * @generated
81 */
82 void setValue(TruthValue value);
83
84} // BasicInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanFalse.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanFalse.java
new file mode 100644
index 00000000..678e8fee
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanFalse.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Boolean False</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanFalse()
14 * @model
15 * @generated
16 */
17public interface BooleanFalse extends BooleanValue
18{
19} // BooleanFalse
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanObject.java
new file mode 100644
index 00000000..c2c652ab
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanObject.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Boolean Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject#getValue <em>Value</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanObject()
20 * @model
21 * @generated
22 */
23public interface BooleanObject extends DataObject
24{
25 /**
26 * Returns the value of the '<em><b>Value</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Value</em>' containment reference.
30 * @see #setValue(BooleanValue)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanObject_Value()
32 * @model containment="true"
33 * @generated
34 */
35 BooleanValue getValue();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject#getValue <em>Value</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Value</em>' containment reference.
42 * @see #getValue()
43 * @generated
44 */
45 void setValue(BooleanValue value);
46
47} // BooleanObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanSymbol.java
new file mode 100644
index 00000000..4760c96c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanSymbol.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Boolean Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanSymbol()
14 * @model
15 * @generated
16 */
17public interface BooleanSymbol extends DataSymbol
18{
19} // BooleanSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanTrue.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanTrue.java
new file mode 100644
index 00000000..7c72ec36
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanTrue.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Boolean True</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanTrue()
14 * @model
15 * @generated
16 */
17public interface BooleanTrue extends BooleanValue
18{
19} // BooleanTrue
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanValue.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanValue.java
new file mode 100644
index 00000000..8fe67a48
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BooleanValue.java
@@ -0,0 +1,20 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Boolean Value</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBooleanValue()
15 * @model
16 * @generated
17 */
18public interface BooleanValue extends EObject
19{
20} // BooleanValue
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/CDInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/CDInterpretation.java
new file mode 100644
index 00000000..9a69fc8a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/CDInterpretation.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>CD Interpretation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCDInterpretation()
14 * @model
15 * @generated
16 */
17public interface CDInterpretation extends Interpretation
18{
19} // CDInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassInterpretation.java
new file mode 100644
index 00000000..777e0c50
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassInterpretation.java
@@ -0,0 +1,97 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Class Interpretation</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#isAbstract <em>Abstract</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol <em>Symbol</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSupertypes <em>Supertypes</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getFielt <em>Fielt</em>}</li>
21 * </ul>
22 *
23 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation()
24 * @model
25 * @generated
26 */
27public interface ClassInterpretation extends CDInterpretation
28{
29 /**
30 * Returns the value of the '<em><b>Abstract</b></em>' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Abstract</em>' attribute.
34 * @see #setAbstract(boolean)
35 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation_Abstract()
36 * @model
37 * @generated
38 */
39 boolean isAbstract();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#isAbstract <em>Abstract</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Abstract</em>' attribute.
46 * @see #isAbstract()
47 * @generated
48 */
49 void setAbstract(boolean value);
50
51 /**
52 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Symbol</em>' containment reference.
56 * @see #setSymbol(ModelSymbol)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation_Symbol()
58 * @model containment="true"
59 * @generated
60 */
61 ModelSymbol getSymbol();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol <em>Symbol</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Symbol</em>' containment reference.
68 * @see #getSymbol()
69 * @generated
70 */
71 void setSymbol(ModelSymbol value);
72
73 /**
74 * Returns the value of the '<em><b>Supertypes</b></em>' containment reference list.
75 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol}.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Supertypes</em>' containment reference list.
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation_Supertypes()
80 * @model containment="true"
81 * @generated
82 */
83 EList<ModelSymbol> getSupertypes();
84
85 /**
86 * Returns the value of the '<em><b>Fielt</b></em>' containment reference list.
87 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation}.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @return the value of the '<em>Fielt</em>' containment reference list.
91 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassInterpretation_Fielt()
92 * @model containment="true"
93 * @generated
94 */
95 EList<FieldRelationInterpretation> getFielt();
96
97} // ClassInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClosureType.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClosureType.java
new file mode 100644
index 00000000..f9d8dc28
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClosureType.java
@@ -0,0 +1,20 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Closure Type</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClosureType()
15 * @model
16 * @generated
17 */
18public interface ClosureType extends EObject
19{
20} // ClosureType
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ComplexObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ComplexObject.java
new file mode 100644
index 00000000..e266f231
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ComplexObject.java
@@ -0,0 +1,20 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Complex Object</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComplexObject()
15 * @model
16 * @generated
17 */
18public interface ComplexObject extends EObject
19{
20} // ComplexObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Constraint.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Constraint.java
new file mode 100644
index 00000000..9c957def
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Constraint.java
@@ -0,0 +1,109 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8import org.eclipse.emf.ecore.EObject;
9
10/**
11 * <!-- begin-user-doc -->
12 * A representation of the model object '<em><b>Constraint</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * <p>
16 * The following features are supported:
17 * </p>
18 * <ul>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity <em>Polarity</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol <em>Symbol</em>}</li>
21 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getParams <em>Params</em>}</li>
22 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType <em>Closure Type</em>}</li>
23 * </ul>
24 *
25 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint()
26 * @model
27 * @generated
28 */
29public interface Constraint extends EObject
30{
31 /**
32 * Returns the value of the '<em><b>Polarity</b></em>' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Polarity</em>' containment reference.
36 * @see #setPolarity(Polarity)
37 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_Polarity()
38 * @model containment="true"
39 * @generated
40 */
41 Polarity getPolarity();
42
43 /**
44 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity <em>Polarity</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Polarity</em>' containment reference.
48 * @see #getPolarity()
49 * @generated
50 */
51 void setPolarity(Polarity value);
52
53 /**
54 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @return the value of the '<em>Symbol</em>' containment reference.
58 * @see #setSymbol(ModelSymbol)
59 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_Symbol()
60 * @model containment="true"
61 * @generated
62 */
63 ModelSymbol getSymbol();
64
65 /**
66 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol <em>Symbol</em>}' containment reference.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @param value the new value of the '<em>Symbol</em>' containment reference.
70 * @see #getSymbol()
71 * @generated
72 */
73 void setSymbol(ModelSymbol value);
74
75 /**
76 * Returns the value of the '<em><b>Params</b></em>' containment reference list.
77 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Literal}.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @return the value of the '<em>Params</em>' containment reference list.
81 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_Params()
82 * @model containment="true"
83 * @generated
84 */
85 EList<Literal> getParams();
86
87 /**
88 * Returns the value of the '<em><b>Closure Type</b></em>' containment reference.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @return the value of the '<em>Closure Type</em>' containment reference.
92 * @see #setClosureType(ClosureType)
93 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConstraint_ClosureType()
94 * @model containment="true"
95 * @generated
96 */
97 ClosureType getClosureType();
98
99 /**
100 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType <em>Closure Type</em>}' containment reference.
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @param value the new value of the '<em>Closure Type</em>' containment reference.
104 * @see #getClosureType()
105 * @generated
106 */
107 void setClosureType(ClosureType value);
108
109} // Constraint
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataObject.java
new file mode 100644
index 00000000..79a0af43
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataObject.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Data Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDataObject()
14 * @model
15 * @generated
16 */
17public interface DataObject extends org.eclipse.viatra.solver.language.solverLanguage.Object, Literal
18{
19} // DataObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataSymbol.java
new file mode 100644
index 00000000..eae8175a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DataSymbol.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Data Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDataSymbol()
14 * @model
15 * @generated
16 */
17public interface DataSymbol extends Symbol
18{
19} // DataSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultInterpretation.java
new file mode 100644
index 00000000..2e9209f6
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultInterpretation.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Default Interpretation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation#getInterpretation <em>Interpretation</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultInterpretation()
20 * @model
21 * @generated
22 */
23public interface DefaultInterpretation extends Interpretation
24{
25 /**
26 * Returns the value of the '<em><b>Interpretation</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Interpretation</em>' containment reference.
30 * @see #setInterpretation(BasicInterpretation)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultInterpretation_Interpretation()
32 * @model containment="true"
33 * @generated
34 */
35 BasicInterpretation getInterpretation();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation#getInterpretation <em>Interpretation</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Interpretation</em>' containment reference.
42 * @see #getInterpretation()
43 * @generated
44 */
45 void setInterpretation(BasicInterpretation value);
46
47} // DefaultInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumInterpretation.java
new file mode 100644
index 00000000..8d48c0df
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EnumInterpretation.java
@@ -0,0 +1,61 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Enum Interpretation</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getSymbol <em>Symbol</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getObjects <em>Objects</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEnumInterpretation()
22 * @model
23 * @generated
24 */
25public interface EnumInterpretation extends CDInterpretation
26{
27 /**
28 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Symbol</em>' containment reference.
32 * @see #setSymbol(ModelSymbol)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEnumInterpretation_Symbol()
34 * @model containment="true"
35 * @generated
36 */
37 ModelSymbol getSymbol();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getSymbol <em>Symbol</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Symbol</em>' containment reference.
44 * @see #getSymbol()
45 * @generated
46 */
47 void setSymbol(ModelSymbol value);
48
49 /**
50 * Returns the value of the '<em><b>Objects</b></em>' containment reference list.
51 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject}.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Objects</em>' containment reference list.
55 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEnumInterpretation_Objects()
56 * @model containment="true"
57 * @generated
58 */
59 EList<NamedObject> getObjects();
60
61} // EnumInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EqualsSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EqualsSymbol.java
new file mode 100644
index 00000000..1edb994f
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EqualsSymbol.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Equals Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEqualsSymbol()
14 * @model
15 * @generated
16 */
17public interface EqualsSymbol extends PartialitySymbol
18{
19} // EqualsSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Error.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Error.java
new file mode 100644
index 00000000..bf99bc42
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Error.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Error</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getError()
14 * @model
15 * @generated
16 */
17public interface Error extends TruthValue
18{
19} // Error
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ErrorPredicate.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ErrorPredicate.java
new file mode 100644
index 00000000..c8e49d48
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ErrorPredicate.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Error Predicate</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getErrorPredicate()
20 * @model
21 * @generated
22 */
23public interface ErrorPredicate extends Predicate
24{
25 /**
26 * Returns the value of the '<em><b>Name</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Name</em>' attribute.
30 * @see #setName(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getErrorPredicate_Name()
32 * @model
33 * @generated
34 */
35 String getName();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate#getName <em>Name</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Name</em>' attribute.
42 * @see #getName()
43 * @generated
44 */
45 void setName(String value);
46
47} // ErrorPredicate
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExistSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExistSymbol.java
new file mode 100644
index 00000000..4dad3295
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExistSymbol.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Exist Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExistSymbol()
14 * @model
15 * @generated
16 */
17public interface ExistSymbol extends PartialitySymbol
18{
19} // ExistSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/False.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/False.java
new file mode 100644
index 00000000..71947237
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/False.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>False</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFalse()
14 * @model
15 * @generated
16 */
17public interface False extends TruthValue
18{
19} // False
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FieldRelationInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FieldRelationInterpretation.java
new file mode 100644
index 00000000..eccf49e0
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/FieldRelationInterpretation.java
@@ -0,0 +1,117 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Field Relation Interpretation</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#isContainment <em>Containment</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol <em>Symbol</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getMultiplicity <em>Multiplicity</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget <em>Target</em>}</li>
21 * </ul>
22 *
23 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation()
24 * @model
25 * @generated
26 */
27public interface FieldRelationInterpretation extends EObject
28{
29 /**
30 * Returns the value of the '<em><b>Containment</b></em>' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Containment</em>' attribute.
34 * @see #setContainment(boolean)
35 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation_Containment()
36 * @model
37 * @generated
38 */
39 boolean isContainment();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#isContainment <em>Containment</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Containment</em>' attribute.
46 * @see #isContainment()
47 * @generated
48 */
49 void setContainment(boolean value);
50
51 /**
52 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Symbol</em>' containment reference.
56 * @see #setSymbol(ModelSymbol)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation_Symbol()
58 * @model containment="true"
59 * @generated
60 */
61 ModelSymbol getSymbol();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol <em>Symbol</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Symbol</em>' containment reference.
68 * @see #getSymbol()
69 * @generated
70 */
71 void setSymbol(ModelSymbol value);
72
73 /**
74 * Returns the value of the '<em><b>Multiplicity</b></em>' containment reference.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @return the value of the '<em>Multiplicity</em>' containment reference.
78 * @see #setMultiplicity(MultiplicityDefinition)
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation_Multiplicity()
80 * @model containment="true"
81 * @generated
82 */
83 MultiplicityDefinition getMultiplicity();
84
85 /**
86 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getMultiplicity <em>Multiplicity</em>}' containment reference.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @param value the new value of the '<em>Multiplicity</em>' containment reference.
90 * @see #getMultiplicity()
91 * @generated
92 */
93 void setMultiplicity(MultiplicityDefinition value);
94
95 /**
96 * Returns the value of the '<em><b>Target</b></em>' containment reference.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @return the value of the '<em>Target</em>' containment reference.
100 * @see #setTarget(Symbol)
101 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getFieldRelationInterpretation_Target()
102 * @model containment="true"
103 * @generated
104 */
105 Symbol getTarget();
106
107 /**
108 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget <em>Target</em>}' containment reference.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @param value the new value of the '<em>Target</em>' containment reference.
112 * @see #getTarget()
113 * @generated
114 */
115 void setTarget(Symbol value);
116
117} // FieldRelationInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/GlobalRelationInterpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/GlobalRelationInterpretation.java
new file mode 100644
index 00000000..59ab4278
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/GlobalRelationInterpretation.java
@@ -0,0 +1,162 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Global Relation Interpretation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#isContainment <em>Containment</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol <em>Symbol</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity <em>Source Multiplicity</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource <em>Source</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity <em>Target Multiplicity</em>}</li>
21 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget <em>Target</em>}</li>
22 * </ul>
23 *
24 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation()
25 * @model
26 * @generated
27 */
28public interface GlobalRelationInterpretation extends CDInterpretation
29{
30 /**
31 * Returns the value of the '<em><b>Containment</b></em>' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Containment</em>' attribute.
35 * @see #setContainment(boolean)
36 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_Containment()
37 * @model
38 * @generated
39 */
40 boolean isContainment();
41
42 /**
43 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#isContainment <em>Containment</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Containment</em>' attribute.
47 * @see #isContainment()
48 * @generated
49 */
50 void setContainment(boolean value);
51
52 /**
53 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @return the value of the '<em>Symbol</em>' containment reference.
57 * @see #setSymbol(ModelSymbol)
58 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_Symbol()
59 * @model containment="true"
60 * @generated
61 */
62 ModelSymbol getSymbol();
63
64 /**
65 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol <em>Symbol</em>}' containment reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @param value the new value of the '<em>Symbol</em>' containment reference.
69 * @see #getSymbol()
70 * @generated
71 */
72 void setSymbol(ModelSymbol value);
73
74 /**
75 * Returns the value of the '<em><b>Source Multiplicity</b></em>' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Source Multiplicity</em>' containment reference.
79 * @see #setSourceMultiplicity(MultiplicityDefinition)
80 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_SourceMultiplicity()
81 * @model containment="true"
82 * @generated
83 */
84 MultiplicityDefinition getSourceMultiplicity();
85
86 /**
87 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity <em>Source Multiplicity</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param value the new value of the '<em>Source Multiplicity</em>' containment reference.
91 * @see #getSourceMultiplicity()
92 * @generated
93 */
94 void setSourceMultiplicity(MultiplicityDefinition value);
95
96 /**
97 * Returns the value of the '<em><b>Source</b></em>' containment reference.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @return the value of the '<em>Source</em>' containment reference.
101 * @see #setSource(Symbol)
102 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_Source()
103 * @model containment="true"
104 * @generated
105 */
106 Symbol getSource();
107
108 /**
109 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource <em>Source</em>}' containment reference.
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @param value the new value of the '<em>Source</em>' containment reference.
113 * @see #getSource()
114 * @generated
115 */
116 void setSource(Symbol value);
117
118 /**
119 * Returns the value of the '<em><b>Target Multiplicity</b></em>' containment reference.
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @return the value of the '<em>Target Multiplicity</em>' containment reference.
123 * @see #setTargetMultiplicity(MultiplicityDefinition)
124 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_TargetMultiplicity()
125 * @model containment="true"
126 * @generated
127 */
128 MultiplicityDefinition getTargetMultiplicity();
129
130 /**
131 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity <em>Target Multiplicity</em>}' containment reference.
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @param value the new value of the '<em>Target Multiplicity</em>' containment reference.
135 * @see #getTargetMultiplicity()
136 * @generated
137 */
138 void setTargetMultiplicity(MultiplicityDefinition value);
139
140 /**
141 * Returns the value of the '<em><b>Target</b></em>' containment reference.
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @return the value of the '<em>Target</em>' containment reference.
145 * @see #setTarget(Symbol)
146 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getGlobalRelationInterpretation_Target()
147 * @model containment="true"
148 * @generated
149 */
150 Symbol getTarget();
151
152 /**
153 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget <em>Target</em>}' containment reference.
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @param value the new value of the '<em>Target</em>' containment reference.
157 * @see #getTarget()
158 * @generated
159 */
160 void setTarget(Symbol value);
161
162} // GlobalRelationInterpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntObject.java
new file mode 100644
index 00000000..1a42b0c3
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntObject.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Int Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue <em>Value</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIntObject()
20 * @model
21 * @generated
22 */
23public interface IntObject extends DataObject
24{
25 /**
26 * Returns the value of the '<em><b>Value</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Value</em>' attribute.
30 * @see #setValue(int)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIntObject_Value()
32 * @model
33 * @generated
34 */
35 int getValue();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue <em>Value</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Value</em>' attribute.
42 * @see #getValue()
43 * @generated
44 */
45 void setValue(int value);
46
47} // IntObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntegerSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntegerSymbol.java
new file mode 100644
index 00000000..d1472499
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IntegerSymbol.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Integer Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIntegerSymbol()
14 * @model
15 * @generated
16 */
17public interface IntegerSymbol extends DataSymbol
18{
19} // IntegerSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java
new file mode 100644
index 00000000..56541016
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interpretation.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Interpretation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterpretation()
14 * @model
15 * @generated
16 */
17public interface Interpretation extends Statement
18{
19} // Interpretation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IrreflexiveClosure.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IrreflexiveClosure.java
new file mode 100644
index 00000000..eca04f1e
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IrreflexiveClosure.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Irreflexive Closure</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIrreflexiveClosure()
14 * @model
15 * @generated
16 */
17public interface IrreflexiveClosure extends ClosureType
18{
19} // IrreflexiveClosure
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java
new file mode 100644
index 00000000..259abe8c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java
@@ -0,0 +1,20 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Literal</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLiteral()
15 * @model
16 * @generated
17 */
18public interface Literal extends EObject
19{
20} // Literal
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ModelSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ModelSymbol.java
new file mode 100644
index 00000000..0d91b791
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ModelSymbol.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Model Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getModelSymbol()
20 * @model
21 * @generated
22 */
23public interface ModelSymbol extends Symbol
24{
25 /**
26 * Returns the value of the '<em><b>Name</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Name</em>' attribute.
30 * @see #setName(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getModelSymbol_Name()
32 * @model
33 * @generated
34 */
35 String getName();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName <em>Name</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Name</em>' attribute.
42 * @see #getName()
43 * @generated
44 */
45 void setName(String value);
46
47} // ModelSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiplicityDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiplicityDefinition.java
new file mode 100644
index 00000000..9b4def59
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MultiplicityDefinition.java
@@ -0,0 +1,94 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Multiplicity Definition</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getLower <em>Lower</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper <em>Upper</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper <em>Unlimited Upper</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition()
23 * @model
24 * @generated
25 */
26public interface MultiplicityDefinition extends EObject
27{
28 /**
29 * Returns the value of the '<em><b>Lower</b></em>' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Lower</em>' attribute.
33 * @see #setLower(int)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition_Lower()
35 * @model
36 * @generated
37 */
38 int getLower();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getLower <em>Lower</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Lower</em>' attribute.
45 * @see #getLower()
46 * @generated
47 */
48 void setLower(int value);
49
50 /**
51 * Returns the value of the '<em><b>Upper</b></em>' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Upper</em>' attribute.
55 * @see #setUpper(int)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition_Upper()
57 * @model
58 * @generated
59 */
60 int getUpper();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper <em>Upper</em>}' attribute.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Upper</em>' attribute.
67 * @see #getUpper()
68 * @generated
69 */
70 void setUpper(int value);
71
72 /**
73 * Returns the value of the '<em><b>Unlimited Upper</b></em>' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Unlimited Upper</em>' attribute.
77 * @see #setUnlimitedUpper(boolean)
78 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicityDefinition_UnlimitedUpper()
79 * @model
80 * @generated
81 */
82 boolean isUnlimitedUpper();
83
84 /**
85 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper <em>Unlimited Upper</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param value the new value of the '<em>Unlimited Upper</em>' attribute.
89 * @see #isUnlimitedUpper()
90 * @generated
91 */
92 void setUnlimitedUpper(boolean value);
93
94} // MultiplicityDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java
new file mode 100644
index 00000000..a6deaea8
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Named Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedObject()
20 * @model
21 * @generated
22 */
23public interface NamedObject extends org.eclipse.viatra.solver.language.solverLanguage.Object
24{
25 /**
26 * Returns the value of the '<em><b>Name</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Name</em>' attribute.
30 * @see #setName(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedObject_Name()
32 * @model
33 * @generated
34 */
35 String getName();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject#getName <em>Name</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Name</em>' attribute.
42 * @see #getName()
43 * @generated
44 */
45 void setName(String value);
46
47} // NamedObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Negative.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Negative.java
new file mode 100644
index 00000000..5d735fec
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Negative.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Negative</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNegative()
14 * @model
15 * @generated
16 */
17public interface Negative extends Polarity
18{
19} // Negative
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Object.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Object.java
new file mode 100644
index 00000000..908ae5a6
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Object.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObject()
14 * @model
15 * @generated
16 */
17public interface Object extends ComplexObject
18{
19} // Object
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Parameter.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Parameter.java
new file mode 100644
index 00000000..e4ef1c28
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Parameter.java
@@ -0,0 +1,71 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Parameter</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getVariable <em>Variable</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType <em>Type</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getParameter()
22 * @model
23 * @generated
24 */
25public interface Parameter extends EObject
26{
27 /**
28 * Returns the value of the '<em><b>Variable</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Variable</em>' containment reference.
32 * @see #setVariable(Variable)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getParameter_Variable()
34 * @model containment="true"
35 * @generated
36 */
37 Variable getVariable();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getVariable <em>Variable</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Variable</em>' containment reference.
44 * @see #getVariable()
45 * @generated
46 */
47 void setVariable(Variable value);
48
49 /**
50 * Returns the value of the '<em><b>Type</b></em>' containment reference.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Type</em>' containment reference.
54 * @see #setType(Symbol)
55 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getParameter_Type()
56 * @model containment="true"
57 * @generated
58 */
59 Symbol getType();
60
61 /**
62 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType <em>Type</em>}' containment reference.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Type</em>' containment reference.
66 * @see #getType()
67 * @generated
68 */
69 void setType(Symbol value);
70
71} // Parameter
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PartialitySymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PartialitySymbol.java
new file mode 100644
index 00000000..a4331248
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PartialitySymbol.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Partiality Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPartialitySymbol()
14 * @model
15 * @generated
16 */
17public interface PartialitySymbol extends Symbol
18{
19} // PartialitySymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PatternBody.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PatternBody.java
new file mode 100644
index 00000000..62be12a1
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PatternBody.java
@@ -0,0 +1,40 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8import org.eclipse.emf.ecore.EObject;
9
10/**
11 * <!-- begin-user-doc -->
12 * A representation of the model object '<em><b>Pattern Body</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * <p>
16 * The following features are supported:
17 * </p>
18 * <ul>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody#getConstraints <em>Constraints</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPatternBody()
23 * @model
24 * @generated
25 */
26public interface PatternBody extends EObject
27{
28 /**
29 * Returns the value of the '<em><b>Constraints</b></em>' containment reference list.
30 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Constraint}.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Constraints</em>' containment reference list.
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPatternBody_Constraints()
35 * @model containment="true"
36 * @generated
37 */
38 EList<Constraint> getConstraints();
39
40} // PatternBody
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Polarity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Polarity.java
new file mode 100644
index 00000000..ba30c6ad
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Polarity.java
@@ -0,0 +1,20 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Polarity</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPolarity()
15 * @model
16 * @generated
17 */
18public interface Polarity extends EObject
19{
20} // Polarity
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Positive.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Positive.java
new file mode 100644
index 00000000..075a865f
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Positive.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Positive</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPositive()
14 * @model
15 * @generated
16 */
17public interface Positive extends Polarity
18{
19} // Positive
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java
new file mode 100644
index 00000000..fc61ea86
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java
@@ -0,0 +1,51 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Predicate</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters <em>Parameters</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies <em>Bodies</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate()
22 * @model
23 * @generated
24 */
25public interface Predicate extends Statement
26{
27 /**
28 * Returns the value of the '<em><b>Parameters</b></em>' containment reference list.
29 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Parameter}.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Parameters</em>' containment reference list.
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_Parameters()
34 * @model containment="true"
35 * @generated
36 */
37 EList<Parameter> getParameters();
38
39 /**
40 * Returns the value of the '<em><b>Bodies</b></em>' containment reference list.
41 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody}.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @return the value of the '<em>Bodies</em>' containment reference list.
45 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_Bodies()
46 * @model containment="true"
47 * @generated
48 */
49 EList<PatternBody> getBodies();
50
51} // Predicate
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateSymbol.java
new file mode 100644
index 00000000..0f1d0c47
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateSymbol.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Predicate Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol#getSymbol <em>Symbol</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateSymbol()
20 * @model
21 * @generated
22 */
23public interface PredicateSymbol extends Predicate
24{
25 /**
26 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Symbol</em>' containment reference.
30 * @see #setSymbol(ModelSymbol)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateSymbol_Symbol()
32 * @model containment="true"
33 * @generated
34 */
35 ModelSymbol getSymbol();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol#getSymbol <em>Symbol</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Symbol</em>' containment reference.
42 * @see #getSymbol()
43 * @generated
44 */
45 void setSymbol(ModelSymbol value);
46
47} // PredicateSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java
new file mode 100644
index 00000000..91967617
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java
@@ -0,0 +1,40 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8import org.eclipse.emf.ecore.EObject;
9
10/**
11 * <!-- begin-user-doc -->
12 * A representation of the model object '<em><b>Problem</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * <p>
16 * The following features are supported:
17 * </p>
18 * <ul>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements <em>Statements</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem()
23 * @model
24 * @generated
25 */
26public interface Problem extends EObject
27{
28 /**
29 * Returns the value of the '<em><b>Statements</b></em>' containment reference list.
30 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Statement}.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Statements</em>' containment reference list.
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem_Statements()
35 * @model containment="true"
36 * @generated
37 */
38 EList<Statement> getStatements();
39
40} // Problem
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealObject.java
new file mode 100644
index 00000000..12e8be3e
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealObject.java
@@ -0,0 +1,48 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.math.BigDecimal;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Real Object</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue <em>Value</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getRealObject()
21 * @model
22 * @generated
23 */
24public interface RealObject extends DataObject
25{
26 /**
27 * Returns the value of the '<em><b>Value</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Value</em>' attribute.
31 * @see #setValue(BigDecimal)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getRealObject_Value()
33 * @model
34 * @generated
35 */
36 BigDecimal getValue();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue <em>Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Value</em>' attribute.
43 * @see #getValue()
44 * @generated
45 */
46 void setValue(BigDecimal value);
47
48} // RealObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealSymbol.java
new file mode 100644
index 00000000..06dd35fc
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/RealSymbol.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Real Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getRealSymbol()
14 * @model
15 * @generated
16 */
17public interface RealSymbol extends DataSymbol
18{
19} // RealSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ReflexiveClosure.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ReflexiveClosure.java
new file mode 100644
index 00000000..3eb30271
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ReflexiveClosure.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Reflexive Closure</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReflexiveClosure()
14 * @model
15 * @generated
16 */
17public interface ReflexiveClosure extends ClosureType
18{
19} // ReflexiveClosure
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
new file mode 100644
index 00000000..ebe2abdb
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
@@ -0,0 +1,521 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EFactory;
7
8/**
9 * <!-- begin-user-doc -->
10 * The <b>Factory</b> for the model.
11 * It provides a create method for each non-abstract class of the model.
12 * <!-- end-user-doc -->
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage
14 * @generated
15 */
16public interface SolverLanguageFactory extends EFactory
17{
18 /**
19 * The singleton instance of the factory.
20 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 SolverLanguageFactory eINSTANCE = org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguageFactoryImpl.init();
25
26 /**
27 * Returns a new object of class '<em>Problem</em>'.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return a new object of class '<em>Problem</em>'.
31 * @generated
32 */
33 Problem createProblem();
34
35 /**
36 * Returns a new object of class '<em>Statement</em>'.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @return a new object of class '<em>Statement</em>'.
40 * @generated
41 */
42 Statement createStatement();
43
44 /**
45 * Returns a new object of class '<em>Boolean Value</em>'.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @return a new object of class '<em>Boolean Value</em>'.
49 * @generated
50 */
51 BooleanValue createBooleanValue();
52
53 /**
54 * Returns a new object of class '<em>Truth Value</em>'.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @return a new object of class '<em>Truth Value</em>'.
58 * @generated
59 */
60 TruthValue createTruthValue();
61
62 /**
63 * Returns a new object of class '<em>Interpretation</em>'.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @return a new object of class '<em>Interpretation</em>'.
67 * @generated
68 */
69 Interpretation createInterpretation();
70
71 /**
72 * Returns a new object of class '<em>Basic Interpretation</em>'.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @return a new object of class '<em>Basic Interpretation</em>'.
76 * @generated
77 */
78 BasicInterpretation createBasicInterpretation();
79
80 /**
81 * Returns a new object of class '<em>Symbol</em>'.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @return a new object of class '<em>Symbol</em>'.
85 * @generated
86 */
87 Symbol createSymbol();
88
89 /**
90 * Returns a new object of class '<em>Model Symbol</em>'.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @return a new object of class '<em>Model Symbol</em>'.
94 * @generated
95 */
96 ModelSymbol createModelSymbol();
97
98 /**
99 * Returns a new object of class '<em>Partiality Symbol</em>'.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @return a new object of class '<em>Partiality Symbol</em>'.
103 * @generated
104 */
105 PartialitySymbol createPartialitySymbol();
106
107 /**
108 * Returns a new object of class '<em>Exist Symbol</em>'.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @return a new object of class '<em>Exist Symbol</em>'.
112 * @generated
113 */
114 ExistSymbol createExistSymbol();
115
116 /**
117 * Returns a new object of class '<em>Equals Symbol</em>'.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @return a new object of class '<em>Equals Symbol</em>'.
121 * @generated
122 */
123 EqualsSymbol createEqualsSymbol();
124
125 /**
126 * Returns a new object of class '<em>Data Symbol</em>'.
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @return a new object of class '<em>Data Symbol</em>'.
130 * @generated
131 */
132 DataSymbol createDataSymbol();
133
134 /**
135 * Returns a new object of class '<em>Boolean Symbol</em>'.
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @return a new object of class '<em>Boolean Symbol</em>'.
139 * @generated
140 */
141 BooleanSymbol createBooleanSymbol();
142
143 /**
144 * Returns a new object of class '<em>Integer Symbol</em>'.
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @return a new object of class '<em>Integer Symbol</em>'.
148 * @generated
149 */
150 IntegerSymbol createIntegerSymbol();
151
152 /**
153 * Returns a new object of class '<em>Real Symbol</em>'.
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @return a new object of class '<em>Real Symbol</em>'.
157 * @generated
158 */
159 RealSymbol createRealSymbol();
160
161 /**
162 * Returns a new object of class '<em>String Symbol</em>'.
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @return a new object of class '<em>String Symbol</em>'.
166 * @generated
167 */
168 StringSymbol createStringSymbol();
169
170 /**
171 * Returns a new object of class '<em>Complex Object</em>'.
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @return a new object of class '<em>Complex Object</em>'.
175 * @generated
176 */
177 ComplexObject createComplexObject();
178
179 /**
180 * Returns a new object of class '<em>Object</em>'.
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @return a new object of class '<em>Object</em>'.
184 * @generated
185 */
186 Object createObject();
187
188 /**
189 * Returns a new object of class '<em>Named Object</em>'.
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @return a new object of class '<em>Named Object</em>'.
193 * @generated
194 */
195 NamedObject createNamedObject();
196
197 /**
198 * Returns a new object of class '<em>Unnamed Object</em>'.
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @return a new object of class '<em>Unnamed Object</em>'.
202 * @generated
203 */
204 UnnamedObject createUnnamedObject();
205
206 /**
207 * Returns a new object of class '<em>Data Object</em>'.
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @return a new object of class '<em>Data Object</em>'.
211 * @generated
212 */
213 DataObject createDataObject();
214
215 /**
216 * Returns a new object of class '<em>Boolean Object</em>'.
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @return a new object of class '<em>Boolean Object</em>'.
220 * @generated
221 */
222 BooleanObject createBooleanObject();
223
224 /**
225 * Returns a new object of class '<em>Int Object</em>'.
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @return a new object of class '<em>Int Object</em>'.
229 * @generated
230 */
231 IntObject createIntObject();
232
233 /**
234 * Returns a new object of class '<em>Real Object</em>'.
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @return a new object of class '<em>Real Object</em>'.
238 * @generated
239 */
240 RealObject createRealObject();
241
242 /**
243 * Returns a new object of class '<em>String Object</em>'.
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @return a new object of class '<em>String Object</em>'.
247 * @generated
248 */
249 StringObject createStringObject();
250
251 /**
252 * Returns a new object of class '<em>Predicate</em>'.
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @return a new object of class '<em>Predicate</em>'.
256 * @generated
257 */
258 Predicate createPredicate();
259
260 /**
261 * Returns a new object of class '<em>Predicate Symbol</em>'.
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @return a new object of class '<em>Predicate Symbol</em>'.
265 * @generated
266 */
267 PredicateSymbol createPredicateSymbol();
268
269 /**
270 * Returns a new object of class '<em>Error Predicate</em>'.
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @return a new object of class '<em>Error Predicate</em>'.
274 * @generated
275 */
276 ErrorPredicate createErrorPredicate();
277
278 /**
279 * Returns a new object of class '<em>Parameter</em>'.
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @return a new object of class '<em>Parameter</em>'.
283 * @generated
284 */
285 Parameter createParameter();
286
287 /**
288 * Returns a new object of class '<em>Pattern Body</em>'.
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @return a new object of class '<em>Pattern Body</em>'.
292 * @generated
293 */
294 PatternBody createPatternBody();
295
296 /**
297 * Returns a new object of class '<em>Polarity</em>'.
298 * <!-- begin-user-doc -->
299 * <!-- end-user-doc -->
300 * @return a new object of class '<em>Polarity</em>'.
301 * @generated
302 */
303 Polarity createPolarity();
304
305 /**
306 * Returns a new object of class '<em>Constraint</em>'.
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @return a new object of class '<em>Constraint</em>'.
310 * @generated
311 */
312 Constraint createConstraint();
313
314 /**
315 * Returns a new object of class '<em>Closure Type</em>'.
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @return a new object of class '<em>Closure Type</em>'.
319 * @generated
320 */
321 ClosureType createClosureType();
322
323 /**
324 * Returns a new object of class '<em>Literal</em>'.
325 * <!-- begin-user-doc -->
326 * <!-- end-user-doc -->
327 * @return a new object of class '<em>Literal</em>'.
328 * @generated
329 */
330 Literal createLiteral();
331
332 /**
333 * Returns a new object of class '<em>Variable</em>'.
334 * <!-- begin-user-doc -->
335 * <!-- end-user-doc -->
336 * @return a new object of class '<em>Variable</em>'.
337 * @generated
338 */
339 Variable createVariable();
340
341 /**
342 * Returns a new object of class '<em>All Instances</em>'.
343 * <!-- begin-user-doc -->
344 * <!-- end-user-doc -->
345 * @return a new object of class '<em>All Instances</em>'.
346 * @generated
347 */
348 AllInstances createAllInstances();
349
350 /**
351 * Returns a new object of class '<em>All Objects</em>'.
352 * <!-- begin-user-doc -->
353 * <!-- end-user-doc -->
354 * @return a new object of class '<em>All Objects</em>'.
355 * @generated
356 */
357 AllObjects createAllObjects();
358
359 /**
360 * Returns a new object of class '<em>Default Interpretation</em>'.
361 * <!-- begin-user-doc -->
362 * <!-- end-user-doc -->
363 * @return a new object of class '<em>Default Interpretation</em>'.
364 * @generated
365 */
366 DefaultInterpretation createDefaultInterpretation();
367
368 /**
369 * Returns a new object of class '<em>CD Interpretation</em>'.
370 * <!-- begin-user-doc -->
371 * <!-- end-user-doc -->
372 * @return a new object of class '<em>CD Interpretation</em>'.
373 * @generated
374 */
375 CDInterpretation createCDInterpretation();
376
377 /**
378 * Returns a new object of class '<em>Class Interpretation</em>'.
379 * <!-- begin-user-doc -->
380 * <!-- end-user-doc -->
381 * @return a new object of class '<em>Class Interpretation</em>'.
382 * @generated
383 */
384 ClassInterpretation createClassInterpretation();
385
386 /**
387 * Returns a new object of class '<em>Enum Interpretation</em>'.
388 * <!-- begin-user-doc -->
389 * <!-- end-user-doc -->
390 * @return a new object of class '<em>Enum Interpretation</em>'.
391 * @generated
392 */
393 EnumInterpretation createEnumInterpretation();
394
395 /**
396 * Returns a new object of class '<em>Field Relation Interpretation</em>'.
397 * <!-- begin-user-doc -->
398 * <!-- end-user-doc -->
399 * @return a new object of class '<em>Field Relation Interpretation</em>'.
400 * @generated
401 */
402 FieldRelationInterpretation createFieldRelationInterpretation();
403
404 /**
405 * Returns a new object of class '<em>Global Relation Interpretation</em>'.
406 * <!-- begin-user-doc -->
407 * <!-- end-user-doc -->
408 * @return a new object of class '<em>Global Relation Interpretation</em>'.
409 * @generated
410 */
411 GlobalRelationInterpretation createGlobalRelationInterpretation();
412
413 /**
414 * Returns a new object of class '<em>Multiplicity Definition</em>'.
415 * <!-- begin-user-doc -->
416 * <!-- end-user-doc -->
417 * @return a new object of class '<em>Multiplicity Definition</em>'.
418 * @generated
419 */
420 MultiplicityDefinition createMultiplicityDefinition();
421
422 /**
423 * Returns a new object of class '<em>Boolean True</em>'.
424 * <!-- begin-user-doc -->
425 * <!-- end-user-doc -->
426 * @return a new object of class '<em>Boolean True</em>'.
427 * @generated
428 */
429 BooleanTrue createBooleanTrue();
430
431 /**
432 * Returns a new object of class '<em>Boolean False</em>'.
433 * <!-- begin-user-doc -->
434 * <!-- end-user-doc -->
435 * @return a new object of class '<em>Boolean False</em>'.
436 * @generated
437 */
438 BooleanFalse createBooleanFalse();
439
440 /**
441 * Returns a new object of class '<em>True</em>'.
442 * <!-- begin-user-doc -->
443 * <!-- end-user-doc -->
444 * @return a new object of class '<em>True</em>'.
445 * @generated
446 */
447 True createTrue();
448
449 /**
450 * Returns a new object of class '<em>False</em>'.
451 * <!-- begin-user-doc -->
452 * <!-- end-user-doc -->
453 * @return a new object of class '<em>False</em>'.
454 * @generated
455 */
456 False createFalse();
457
458 /**
459 * Returns a new object of class '<em>Unknown</em>'.
460 * <!-- begin-user-doc -->
461 * <!-- end-user-doc -->
462 * @return a new object of class '<em>Unknown</em>'.
463 * @generated
464 */
465 Unknown createUnknown();
466
467 /**
468 * Returns a new object of class '<em>Error</em>'.
469 * <!-- begin-user-doc -->
470 * <!-- end-user-doc -->
471 * @return a new object of class '<em>Error</em>'.
472 * @generated
473 */
474 Error createError();
475
476 /**
477 * Returns a new object of class '<em>Positive</em>'.
478 * <!-- begin-user-doc -->
479 * <!-- end-user-doc -->
480 * @return a new object of class '<em>Positive</em>'.
481 * @generated
482 */
483 Positive createPositive();
484
485 /**
486 * Returns a new object of class '<em>Negative</em>'.
487 * <!-- begin-user-doc -->
488 * <!-- end-user-doc -->
489 * @return a new object of class '<em>Negative</em>'.
490 * @generated
491 */
492 Negative createNegative();
493
494 /**
495 * Returns a new object of class '<em>Reflexive Closure</em>'.
496 * <!-- begin-user-doc -->
497 * <!-- end-user-doc -->
498 * @return a new object of class '<em>Reflexive Closure</em>'.
499 * @generated
500 */
501 ReflexiveClosure createReflexiveClosure();
502
503 /**
504 * Returns a new object of class '<em>Irreflexive Closure</em>'.
505 * <!-- begin-user-doc -->
506 * <!-- end-user-doc -->
507 * @return a new object of class '<em>Irreflexive Closure</em>'.
508 * @generated
509 */
510 IrreflexiveClosure createIrreflexiveClosure();
511
512 /**
513 * Returns the package supported by this factory.
514 * <!-- begin-user-doc -->
515 * <!-- end-user-doc -->
516 * @return the package supported by this factory.
517 * @generated
518 */
519 SolverLanguagePackage getSolverLanguagePackage();
520
521} //SolverLanguageFactory
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
new file mode 100644
index 00000000..3bd01417
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
@@ -0,0 +1,3460 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EAttribute;
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.EReference;
10
11/**
12 * <!-- begin-user-doc -->
13 * The <b>Package</b> for the model.
14 * It contains accessors for the meta objects to represent
15 * <ul>
16 * <li>each class,</li>
17 * <li>each feature of each class,</li>
18 * <li>each enum,</li>
19 * <li>and each data type</li>
20 * </ul>
21 * <!-- end-user-doc -->
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory
23 * @model kind="package"
24 * @generated
25 */
26public interface SolverLanguagePackage extends EPackage
27{
28 /**
29 * The package name.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 String eNAME = "solverLanguage";
35
36 /**
37 * The package namespace URI.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @generated
41 */
42 String eNS_URI = "http://www.eclipse.org/viatra/solver/language/SolverLanguage";
43
44 /**
45 * The package namespace name.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 String eNS_PREFIX = "solverLanguage";
51
52 /**
53 * The singleton instance of the package.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 SolverLanguagePackage eINSTANCE = org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl.init();
59
60 /**
61 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl <em>Problem</em>}' class.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl
65 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getProblem()
66 * @generated
67 */
68 int PROBLEM = 0;
69
70 /**
71 * The feature id for the '<em><b>Statements</b></em>' containment reference list.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 * @ordered
76 */
77 int PROBLEM__STATEMENTS = 0;
78
79 /**
80 * The number of structural features of the '<em>Problem</em>' class.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 * @ordered
85 */
86 int PROBLEM_FEATURE_COUNT = 1;
87
88 /**
89 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl <em>Statement</em>}' class.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl
93 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStatement()
94 * @generated
95 */
96 int STATEMENT = 1;
97
98 /**
99 * The number of structural features of the '<em>Statement</em>' class.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 * @ordered
104 */
105 int STATEMENT_FEATURE_COUNT = 0;
106
107 /**
108 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl <em>Boolean Value</em>}' class.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl
112 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanValue()
113 * @generated
114 */
115 int BOOLEAN_VALUE = 2;
116
117 /**
118 * The number of structural features of the '<em>Boolean Value</em>' class.
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 * @ordered
123 */
124 int BOOLEAN_VALUE_FEATURE_COUNT = 0;
125
126 /**
127 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl <em>Truth Value</em>}' class.
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl
131 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTruthValue()
132 * @generated
133 */
134 int TRUTH_VALUE = 3;
135
136 /**
137 * The number of structural features of the '<em>Truth Value</em>' class.
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 * @ordered
142 */
143 int TRUTH_VALUE_FEATURE_COUNT = 0;
144
145 /**
146 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl <em>Interpretation</em>}' class.
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl
150 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterpretation()
151 * @generated
152 */
153 int INTERPRETATION = 4;
154
155 /**
156 * The number of structural features of the '<em>Interpretation</em>' class.
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 * @ordered
161 */
162 int INTERPRETATION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0;
163
164 /**
165 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl <em>Basic Interpretation</em>}' class.
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl
169 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBasicInterpretation()
170 * @generated
171 */
172 int BASIC_INTERPRETATION = 5;
173
174 /**
175 * The feature id for the '<em><b>Symbol</b></em>' containment reference.
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 * @ordered
180 */
181 int BASIC_INTERPRETATION__SYMBOL = INTERPRETATION_FEATURE_COUNT + 0;
182
183 /**
184 * The feature id for the '<em><b>Objects</b></em>' containment reference list.
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 * @ordered
189 */
190 int BASIC_INTERPRETATION__OBJECTS = INTERPRETATION_FEATURE_COUNT + 1;
191
192 /**
193 * The feature id for the '<em><b>Value</b></em>' containment reference.
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 * @ordered
198 */
199 int BASIC_INTERPRETATION__VALUE = INTERPRETATION_FEATURE_COUNT + 2;
200
201 /**
202 * The number of structural features of the '<em>Basic Interpretation</em>' class.
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 * @ordered
207 */
208 int BASIC_INTERPRETATION_FEATURE_COUNT = INTERPRETATION_FEATURE_COUNT + 3;
209
210 /**
211 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl <em>Symbol</em>}' class.
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl
215 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSymbol()
216 * @generated
217 */
218 int SYMBOL = 6;
219
220 /**
221 * The number of structural features of the '<em>Symbol</em>' class.
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 * @ordered
226 */
227 int SYMBOL_FEATURE_COUNT = 0;
228
229 /**
230 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl <em>Model Symbol</em>}' class.
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl
234 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getModelSymbol()
235 * @generated
236 */
237 int MODEL_SYMBOL = 7;
238
239 /**
240 * The feature id for the '<em><b>Name</b></em>' attribute.
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 * @ordered
245 */
246 int MODEL_SYMBOL__NAME = SYMBOL_FEATURE_COUNT + 0;
247
248 /**
249 * The number of structural features of the '<em>Model Symbol</em>' class.
250 * <!-- begin-user-doc -->
251 * <!-- end-user-doc -->
252 * @generated
253 * @ordered
254 */
255 int MODEL_SYMBOL_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 1;
256
257 /**
258 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl <em>Partiality Symbol</em>}' class.
259 * <!-- begin-user-doc -->
260 * <!-- end-user-doc -->
261 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl
262 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPartialitySymbol()
263 * @generated
264 */
265 int PARTIALITY_SYMBOL = 8;
266
267 /**
268 * The number of structural features of the '<em>Partiality Symbol</em>' class.
269 * <!-- begin-user-doc -->
270 * <!-- end-user-doc -->
271 * @generated
272 * @ordered
273 */
274 int PARTIALITY_SYMBOL_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 0;
275
276 /**
277 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl <em>Exist Symbol</em>}' class.
278 * <!-- begin-user-doc -->
279 * <!-- end-user-doc -->
280 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl
281 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExistSymbol()
282 * @generated
283 */
284 int EXIST_SYMBOL = 9;
285
286 /**
287 * The number of structural features of the '<em>Exist Symbol</em>' class.
288 * <!-- begin-user-doc -->
289 * <!-- end-user-doc -->
290 * @generated
291 * @ordered
292 */
293 int EXIST_SYMBOL_FEATURE_COUNT = PARTIALITY_SYMBOL_FEATURE_COUNT + 0;
294
295 /**
296 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl <em>Equals Symbol</em>}' class.
297 * <!-- begin-user-doc -->
298 * <!-- end-user-doc -->
299 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl
300 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEqualsSymbol()
301 * @generated
302 */
303 int EQUALS_SYMBOL = 10;
304
305 /**
306 * The number of structural features of the '<em>Equals Symbol</em>' class.
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 * @ordered
311 */
312 int EQUALS_SYMBOL_FEATURE_COUNT = PARTIALITY_SYMBOL_FEATURE_COUNT + 0;
313
314 /**
315 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl <em>Data Symbol</em>}' class.
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl
319 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataSymbol()
320 * @generated
321 */
322 int DATA_SYMBOL = 11;
323
324 /**
325 * The number of structural features of the '<em>Data Symbol</em>' class.
326 * <!-- begin-user-doc -->
327 * <!-- end-user-doc -->
328 * @generated
329 * @ordered
330 */
331 int DATA_SYMBOL_FEATURE_COUNT = SYMBOL_FEATURE_COUNT + 0;
332
333 /**
334 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl <em>Boolean Symbol</em>}' class.
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl
338 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanSymbol()
339 * @generated
340 */
341 int BOOLEAN_SYMBOL = 12;
342
343 /**
344 * The number of structural features of the '<em>Boolean Symbol</em>' class.
345 * <!-- begin-user-doc -->
346 * <!-- end-user-doc -->
347 * @generated
348 * @ordered
349 */
350 int BOOLEAN_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0;
351
352 /**
353 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl <em>Integer Symbol</em>}' class.
354 * <!-- begin-user-doc -->
355 * <!-- end-user-doc -->
356 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl
357 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntegerSymbol()
358 * @generated
359 */
360 int INTEGER_SYMBOL = 13;
361
362 /**
363 * The number of structural features of the '<em>Integer Symbol</em>' class.
364 * <!-- begin-user-doc -->
365 * <!-- end-user-doc -->
366 * @generated
367 * @ordered
368 */
369 int INTEGER_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0;
370
371 /**
372 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl <em>Real Symbol</em>}' class.
373 * <!-- begin-user-doc -->
374 * <!-- end-user-doc -->
375 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl
376 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealSymbol()
377 * @generated
378 */
379 int REAL_SYMBOL = 14;
380
381 /**
382 * The number of structural features of the '<em>Real Symbol</em>' class.
383 * <!-- begin-user-doc -->
384 * <!-- end-user-doc -->
385 * @generated
386 * @ordered
387 */
388 int REAL_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0;
389
390 /**
391 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl <em>String Symbol</em>}' class.
392 * <!-- begin-user-doc -->
393 * <!-- end-user-doc -->
394 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl
395 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringSymbol()
396 * @generated
397 */
398 int STRING_SYMBOL = 15;
399
400 /**
401 * The number of structural features of the '<em>String Symbol</em>' class.
402 * <!-- begin-user-doc -->
403 * <!-- end-user-doc -->
404 * @generated
405 * @ordered
406 */
407 int STRING_SYMBOL_FEATURE_COUNT = DATA_SYMBOL_FEATURE_COUNT + 0;
408
409 /**
410 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl <em>Complex Object</em>}' class.
411 * <!-- begin-user-doc -->
412 * <!-- end-user-doc -->
413 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl
414 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComplexObject()
415 * @generated
416 */
417 int COMPLEX_OBJECT = 16;
418
419 /**
420 * The number of structural features of the '<em>Complex Object</em>' class.
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 * @ordered
425 */
426 int COMPLEX_OBJECT_FEATURE_COUNT = 0;
427
428 /**
429 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl <em>Object</em>}' class.
430 * <!-- begin-user-doc -->
431 * <!-- end-user-doc -->
432 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl
433 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObject()
434 * @generated
435 */
436 int OBJECT = 17;
437
438 /**
439 * The number of structural features of the '<em>Object</em>' class.
440 * <!-- begin-user-doc -->
441 * <!-- end-user-doc -->
442 * @generated
443 * @ordered
444 */
445 int OBJECT_FEATURE_COUNT = COMPLEX_OBJECT_FEATURE_COUNT + 0;
446
447 /**
448 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl <em>Named Object</em>}' class.
449 * <!-- begin-user-doc -->
450 * <!-- end-user-doc -->
451 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl
452 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedObject()
453 * @generated
454 */
455 int NAMED_OBJECT = 18;
456
457 /**
458 * The feature id for the '<em><b>Name</b></em>' attribute.
459 * <!-- begin-user-doc -->
460 * <!-- end-user-doc -->
461 * @generated
462 * @ordered
463 */
464 int NAMED_OBJECT__NAME = OBJECT_FEATURE_COUNT + 0;
465
466 /**
467 * The number of structural features of the '<em>Named Object</em>' class.
468 * <!-- begin-user-doc -->
469 * <!-- end-user-doc -->
470 * @generated
471 * @ordered
472 */
473 int NAMED_OBJECT_FEATURE_COUNT = OBJECT_FEATURE_COUNT + 1;
474
475 /**
476 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl <em>Unnamed Object</em>}' class.
477 * <!-- begin-user-doc -->
478 * <!-- end-user-doc -->
479 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl
480 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedObject()
481 * @generated
482 */
483 int UNNAMED_OBJECT = 19;
484
485 /**
486 * The feature id for the '<em><b>Name</b></em>' attribute.
487 * <!-- begin-user-doc -->
488 * <!-- end-user-doc -->
489 * @generated
490 * @ordered
491 */
492 int UNNAMED_OBJECT__NAME = OBJECT_FEATURE_COUNT + 0;
493
494 /**
495 * The number of structural features of the '<em>Unnamed Object</em>' class.
496 * <!-- begin-user-doc -->
497 * <!-- end-user-doc -->
498 * @generated
499 * @ordered
500 */
501 int UNNAMED_OBJECT_FEATURE_COUNT = OBJECT_FEATURE_COUNT + 1;
502
503 /**
504 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl <em>Data Object</em>}' class.
505 * <!-- begin-user-doc -->
506 * <!-- end-user-doc -->
507 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl
508 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataObject()
509 * @generated
510 */
511 int DATA_OBJECT = 20;
512
513 /**
514 * The number of structural features of the '<em>Data Object</em>' class.
515 * <!-- begin-user-doc -->
516 * <!-- end-user-doc -->
517 * @generated
518 * @ordered
519 */
520 int DATA_OBJECT_FEATURE_COUNT = OBJECT_FEATURE_COUNT + 0;
521
522 /**
523 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl <em>Boolean Object</em>}' class.
524 * <!-- begin-user-doc -->
525 * <!-- end-user-doc -->
526 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl
527 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanObject()
528 * @generated
529 */
530 int BOOLEAN_OBJECT = 21;
531
532 /**
533 * The feature id for the '<em><b>Value</b></em>' containment reference.
534 * <!-- begin-user-doc -->
535 * <!-- end-user-doc -->
536 * @generated
537 * @ordered
538 */
539 int BOOLEAN_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0;
540
541 /**
542 * The number of structural features of the '<em>Boolean Object</em>' class.
543 * <!-- begin-user-doc -->
544 * <!-- end-user-doc -->
545 * @generated
546 * @ordered
547 */
548 int BOOLEAN_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1;
549
550 /**
551 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl <em>Int Object</em>}' class.
552 * <!-- begin-user-doc -->
553 * <!-- end-user-doc -->
554 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl
555 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntObject()
556 * @generated
557 */
558 int INT_OBJECT = 22;
559
560 /**
561 * The feature id for the '<em><b>Value</b></em>' attribute.
562 * <!-- begin-user-doc -->
563 * <!-- end-user-doc -->
564 * @generated
565 * @ordered
566 */
567 int INT_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0;
568
569 /**
570 * The number of structural features of the '<em>Int Object</em>' class.
571 * <!-- begin-user-doc -->
572 * <!-- end-user-doc -->
573 * @generated
574 * @ordered
575 */
576 int INT_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1;
577
578 /**
579 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl <em>Real Object</em>}' class.
580 * <!-- begin-user-doc -->
581 * <!-- end-user-doc -->
582 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl
583 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealObject()
584 * @generated
585 */
586 int REAL_OBJECT = 23;
587
588 /**
589 * The feature id for the '<em><b>Value</b></em>' attribute.
590 * <!-- begin-user-doc -->
591 * <!-- end-user-doc -->
592 * @generated
593 * @ordered
594 */
595 int REAL_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0;
596
597 /**
598 * The number of structural features of the '<em>Real Object</em>' class.
599 * <!-- begin-user-doc -->
600 * <!-- end-user-doc -->
601 * @generated
602 * @ordered
603 */
604 int REAL_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1;
605
606 /**
607 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl <em>String Object</em>}' class.
608 * <!-- begin-user-doc -->
609 * <!-- end-user-doc -->
610 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl
611 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringObject()
612 * @generated
613 */
614 int STRING_OBJECT = 24;
615
616 /**
617 * The feature id for the '<em><b>Value</b></em>' attribute.
618 * <!-- begin-user-doc -->
619 * <!-- end-user-doc -->
620 * @generated
621 * @ordered
622 */
623 int STRING_OBJECT__VALUE = DATA_OBJECT_FEATURE_COUNT + 0;
624
625 /**
626 * The number of structural features of the '<em>String Object</em>' class.
627 * <!-- begin-user-doc -->
628 * <!-- end-user-doc -->
629 * @generated
630 * @ordered
631 */
632 int STRING_OBJECT_FEATURE_COUNT = DATA_OBJECT_FEATURE_COUNT + 1;
633
634 /**
635 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl <em>Predicate</em>}' class.
636 * <!-- begin-user-doc -->
637 * <!-- end-user-doc -->
638 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl
639 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicate()
640 * @generated
641 */
642 int PREDICATE = 25;
643
644 /**
645 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
646 * <!-- begin-user-doc -->
647 * <!-- end-user-doc -->
648 * @generated
649 * @ordered
650 */
651 int PREDICATE__PARAMETERS = STATEMENT_FEATURE_COUNT + 0;
652
653 /**
654 * The feature id for the '<em><b>Bodies</b></em>' containment reference list.
655 * <!-- begin-user-doc -->
656 * <!-- end-user-doc -->
657 * @generated
658 * @ordered
659 */
660 int PREDICATE__BODIES = STATEMENT_FEATURE_COUNT + 1;
661
662 /**
663 * The number of structural features of the '<em>Predicate</em>' class.
664 * <!-- begin-user-doc -->
665 * <!-- end-user-doc -->
666 * @generated
667 * @ordered
668 */
669 int PREDICATE_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
670
671 /**
672 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateSymbolImpl <em>Predicate Symbol</em>}' class.
673 * <!-- begin-user-doc -->
674 * <!-- end-user-doc -->
675 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateSymbolImpl
676 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateSymbol()
677 * @generated
678 */
679 int PREDICATE_SYMBOL = 26;
680
681 /**
682 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
683 * <!-- begin-user-doc -->
684 * <!-- end-user-doc -->
685 * @generated
686 * @ordered
687 */
688 int PREDICATE_SYMBOL__PARAMETERS = PREDICATE__PARAMETERS;
689
690 /**
691 * The feature id for the '<em><b>Bodies</b></em>' containment reference list.
692 * <!-- begin-user-doc -->
693 * <!-- end-user-doc -->
694 * @generated
695 * @ordered
696 */
697 int PREDICATE_SYMBOL__BODIES = PREDICATE__BODIES;
698
699 /**
700 * The feature id for the '<em><b>Symbol</b></em>' containment reference.
701 * <!-- begin-user-doc -->
702 * <!-- end-user-doc -->
703 * @generated
704 * @ordered
705 */
706 int PREDICATE_SYMBOL__SYMBOL = PREDICATE_FEATURE_COUNT + 0;
707
708 /**
709 * The number of structural features of the '<em>Predicate Symbol</em>' class.
710 * <!-- begin-user-doc -->
711 * <!-- end-user-doc -->
712 * @generated
713 * @ordered
714 */
715 int PREDICATE_SYMBOL_FEATURE_COUNT = PREDICATE_FEATURE_COUNT + 1;
716
717 /**
718 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorPredicateImpl <em>Error Predicate</em>}' class.
719 * <!-- begin-user-doc -->
720 * <!-- end-user-doc -->
721 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorPredicateImpl
722 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getErrorPredicate()
723 * @generated
724 */
725 int ERROR_PREDICATE = 27;
726
727 /**
728 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
729 * <!-- begin-user-doc -->
730 * <!-- end-user-doc -->
731 * @generated
732 * @ordered
733 */
734 int ERROR_PREDICATE__PARAMETERS = PREDICATE__PARAMETERS;
735
736 /**
737 * The feature id for the '<em><b>Bodies</b></em>' containment reference list.
738 * <!-- begin-user-doc -->
739 * <!-- end-user-doc -->
740 * @generated
741 * @ordered
742 */
743 int ERROR_PREDICATE__BODIES = PREDICATE__BODIES;
744
745 /**
746 * The feature id for the '<em><b>Name</b></em>' attribute.
747 * <!-- begin-user-doc -->
748 * <!-- end-user-doc -->
749 * @generated
750 * @ordered
751 */
752 int ERROR_PREDICATE__NAME = PREDICATE_FEATURE_COUNT + 0;
753
754 /**
755 * The number of structural features of the '<em>Error Predicate</em>' class.
756 * <!-- begin-user-doc -->
757 * <!-- end-user-doc -->
758 * @generated
759 * @ordered
760 */
761 int ERROR_PREDICATE_FEATURE_COUNT = PREDICATE_FEATURE_COUNT + 1;
762
763 /**
764 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl <em>Parameter</em>}' class.
765 * <!-- begin-user-doc -->
766 * <!-- end-user-doc -->
767 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl
768 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getParameter()
769 * @generated
770 */
771 int PARAMETER = 28;
772
773 /**
774 * The feature id for the '<em><b>Variable</b></em>' containment reference.
775 * <!-- begin-user-doc -->
776 * <!-- end-user-doc -->
777 * @generated
778 * @ordered
779 */
780 int PARAMETER__VARIABLE = 0;
781
782 /**
783 * The feature id for the '<em><b>Type</b></em>' containment reference.
784 * <!-- begin-user-doc -->
785 * <!-- end-user-doc -->
786 * @generated
787 * @ordered
788 */
789 int PARAMETER__TYPE = 1;
790
791 /**
792 * The number of structural features of the '<em>Parameter</em>' class.
793 * <!-- begin-user-doc -->
794 * <!-- end-user-doc -->
795 * @generated
796 * @ordered
797 */
798 int PARAMETER_FEATURE_COUNT = 2;
799
800 /**
801 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl <em>Pattern Body</em>}' class.
802 * <!-- begin-user-doc -->
803 * <!-- end-user-doc -->
804 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl
805 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPatternBody()
806 * @generated
807 */
808 int PATTERN_BODY = 29;
809
810 /**
811 * The feature id for the '<em><b>Constraints</b></em>' containment reference list.
812 * <!-- begin-user-doc -->
813 * <!-- end-user-doc -->
814 * @generated
815 * @ordered
816 */
817 int PATTERN_BODY__CONSTRAINTS = 0;
818
819 /**
820 * The number of structural features of the '<em>Pattern Body</em>' class.
821 * <!-- begin-user-doc -->
822 * <!-- end-user-doc -->
823 * @generated
824 * @ordered
825 */
826 int PATTERN_BODY_FEATURE_COUNT = 1;
827
828 /**
829 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl <em>Polarity</em>}' class.
830 * <!-- begin-user-doc -->
831 * <!-- end-user-doc -->
832 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl
833 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPolarity()
834 * @generated
835 */
836 int POLARITY = 30;
837
838 /**
839 * The number of structural features of the '<em>Polarity</em>' class.
840 * <!-- begin-user-doc -->
841 * <!-- end-user-doc -->
842 * @generated
843 * @ordered
844 */
845 int POLARITY_FEATURE_COUNT = 0;
846
847 /**
848 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl <em>Constraint</em>}' class.
849 * <!-- begin-user-doc -->
850 * <!-- end-user-doc -->
851 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl
852 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConstraint()
853 * @generated
854 */
855 int CONSTRAINT = 31;
856
857 /**
858 * The feature id for the '<em><b>Polarity</b></em>' containment reference.
859 * <!-- begin-user-doc -->
860 * <!-- end-user-doc -->
861 * @generated
862 * @ordered
863 */
864 int CONSTRAINT__POLARITY = 0;
865
866 /**
867 * The feature id for the '<em><b>Symbol</b></em>' containment reference.
868 * <!-- begin-user-doc -->
869 * <!-- end-user-doc -->
870 * @generated
871 * @ordered
872 */
873 int CONSTRAINT__SYMBOL = 1;
874
875 /**
876 * The feature id for the '<em><b>Params</b></em>' containment reference list.
877 * <!-- begin-user-doc -->
878 * <!-- end-user-doc -->
879 * @generated
880 * @ordered
881 */
882 int CONSTRAINT__PARAMS = 2;
883
884 /**
885 * The feature id for the '<em><b>Closure Type</b></em>' containment reference.
886 * <!-- begin-user-doc -->
887 * <!-- end-user-doc -->
888 * @generated
889 * @ordered
890 */
891 int CONSTRAINT__CLOSURE_TYPE = 3;
892
893 /**
894 * The number of structural features of the '<em>Constraint</em>' class.
895 * <!-- begin-user-doc -->
896 * <!-- end-user-doc -->
897 * @generated
898 * @ordered
899 */
900 int CONSTRAINT_FEATURE_COUNT = 4;
901
902 /**
903 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl <em>Closure Type</em>}' class.
904 * <!-- begin-user-doc -->
905 * <!-- end-user-doc -->
906 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl
907 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClosureType()
908 * @generated
909 */
910 int CLOSURE_TYPE = 32;
911
912 /**
913 * The number of structural features of the '<em>Closure Type</em>' class.
914 * <!-- begin-user-doc -->
915 * <!-- end-user-doc -->
916 * @generated
917 * @ordered
918 */
919 int CLOSURE_TYPE_FEATURE_COUNT = 0;
920
921 /**
922 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class.
923 * <!-- begin-user-doc -->
924 * <!-- end-user-doc -->
925 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl
926 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral()
927 * @generated
928 */
929 int LITERAL = 33;
930
931 /**
932 * The number of structural features of the '<em>Literal</em>' class.
933 * <!-- begin-user-doc -->
934 * <!-- end-user-doc -->
935 * @generated
936 * @ordered
937 */
938 int LITERAL_FEATURE_COUNT = 0;
939
940 /**
941 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl <em>Variable</em>}' class.
942 * <!-- begin-user-doc -->
943 * <!-- end-user-doc -->
944 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl
945 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable()
946 * @generated
947 */
948 int VARIABLE = 34;
949
950 /**
951 * The feature id for the '<em><b>Name</b></em>' attribute.
952 * <!-- begin-user-doc -->
953 * <!-- end-user-doc -->
954 * @generated
955 * @ordered
956 */
957 int VARIABLE__NAME = LITERAL_FEATURE_COUNT + 0;
958
959 /**
960 * The number of structural features of the '<em>Variable</em>' class.
961 * <!-- begin-user-doc -->
962 * <!-- end-user-doc -->
963 * @generated
964 * @ordered
965 */
966 int VARIABLE_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
967
968 /**
969 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl <em>All Instances</em>}' class.
970 * <!-- begin-user-doc -->
971 * <!-- end-user-doc -->
972 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl
973 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllInstances()
974 * @generated
975 */
976 int ALL_INSTANCES = 35;
977
978 /**
979 * The feature id for the '<em><b>Symbol</b></em>' containment reference.
980 * <!-- begin-user-doc -->
981 * <!-- end-user-doc -->
982 * @generated
983 * @ordered
984 */
985 int ALL_INSTANCES__SYMBOL = COMPLEX_OBJECT_FEATURE_COUNT + 0;
986
987 /**
988 * The number of structural features of the '<em>All Instances</em>' class.
989 * <!-- begin-user-doc -->
990 * <!-- end-user-doc -->
991 * @generated
992 * @ordered
993 */
994 int ALL_INSTANCES_FEATURE_COUNT = COMPLEX_OBJECT_FEATURE_COUNT + 1;
995
996 /**
997 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl <em>All Objects</em>}' class.
998 * <!-- begin-user-doc -->
999 * <!-- end-user-doc -->
1000 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl
1001 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllObjects()
1002 * @generated
1003 */
1004 int ALL_OBJECTS = 36;
1005
1006 /**
1007 * The number of structural features of the '<em>All Objects</em>' class.
1008 * <!-- begin-user-doc -->
1009 * <!-- end-user-doc -->
1010 * @generated
1011 * @ordered
1012 */
1013 int ALL_OBJECTS_FEATURE_COUNT = COMPLEX_OBJECT_FEATURE_COUNT + 0;
1014
1015 /**
1016 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl <em>Default Interpretation</em>}' class.
1017 * <!-- begin-user-doc -->
1018 * <!-- end-user-doc -->
1019 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl
1020 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultInterpretation()
1021 * @generated
1022 */
1023 int DEFAULT_INTERPRETATION = 37;
1024
1025 /**
1026 * The feature id for the '<em><b>Interpretation</b></em>' containment reference.
1027 * <!-- begin-user-doc -->
1028 * <!-- end-user-doc -->
1029 * @generated
1030 * @ordered
1031 */
1032 int DEFAULT_INTERPRETATION__INTERPRETATION = INTERPRETATION_FEATURE_COUNT + 0;
1033
1034 /**
1035 * The number of structural features of the '<em>Default Interpretation</em>' class.
1036 * <!-- begin-user-doc -->
1037 * <!-- end-user-doc -->
1038 * @generated
1039 * @ordered
1040 */
1041 int DEFAULT_INTERPRETATION_FEATURE_COUNT = INTERPRETATION_FEATURE_COUNT + 1;
1042
1043 /**
1044 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl <em>CD Interpretation</em>}' class.
1045 * <!-- begin-user-doc -->
1046 * <!-- end-user-doc -->
1047 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl
1048 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCDInterpretation()
1049 * @generated
1050 */
1051 int CD_INTERPRETATION = 38;
1052
1053 /**
1054 * The number of structural features of the '<em>CD Interpretation</em>' class.
1055 * <!-- begin-user-doc -->
1056 * <!-- end-user-doc -->
1057 * @generated
1058 * @ordered
1059 */
1060 int CD_INTERPRETATION_FEATURE_COUNT = INTERPRETATION_FEATURE_COUNT + 0;
1061
1062 /**
1063 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl <em>Class Interpretation</em>}' class.
1064 * <!-- begin-user-doc -->
1065 * <!-- end-user-doc -->
1066 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl
1067 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassInterpretation()
1068 * @generated
1069 */
1070 int CLASS_INTERPRETATION = 39;
1071
1072 /**
1073 * The feature id for the '<em><b>Abstract</b></em>' attribute.
1074 * <!-- begin-user-doc -->
1075 * <!-- end-user-doc -->
1076 * @generated
1077 * @ordered
1078 */
1079 int CLASS_INTERPRETATION__ABSTRACT = CD_INTERPRETATION_FEATURE_COUNT + 0;
1080
1081 /**
1082 * The feature id for the '<em><b>Symbol</b></em>' containment reference.
1083 * <!-- begin-user-doc -->
1084 * <!-- end-user-doc -->
1085 * @generated
1086 * @ordered
1087 */
1088 int CLASS_INTERPRETATION__SYMBOL = CD_INTERPRETATION_FEATURE_COUNT + 1;
1089
1090 /**
1091 * The feature id for the '<em><b>Supertypes</b></em>' containment reference list.
1092 * <!-- begin-user-doc -->
1093 * <!-- end-user-doc -->
1094 * @generated
1095 * @ordered
1096 */
1097 int CLASS_INTERPRETATION__SUPERTYPES = CD_INTERPRETATION_FEATURE_COUNT + 2;
1098
1099 /**
1100 * The feature id for the '<em><b>Fielt</b></em>' containment reference list.
1101 * <!-- begin-user-doc -->
1102 * <!-- end-user-doc -->
1103 * @generated
1104 * @ordered
1105 */
1106 int CLASS_INTERPRETATION__FIELT = CD_INTERPRETATION_FEATURE_COUNT + 3;
1107
1108 /**
1109 * The number of structural features of the '<em>Class Interpretation</em>' class.
1110 * <!-- begin-user-doc -->
1111 * <!-- end-user-doc -->
1112 * @generated
1113 * @ordered
1114 */
1115 int CLASS_INTERPRETATION_FEATURE_COUNT = CD_INTERPRETATION_FEATURE_COUNT + 4;
1116
1117 /**
1118 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl <em>Enum Interpretation</em>}' class.
1119 * <!-- begin-user-doc -->
1120 * <!-- end-user-doc -->
1121 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl
1122 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEnumInterpretation()
1123 * @generated
1124 */
1125 int ENUM_INTERPRETATION = 40;
1126
1127 /**
1128 * The feature id for the '<em><b>Symbol</b></em>' containment reference.
1129 * <!-- begin-user-doc -->
1130 * <!-- end-user-doc -->
1131 * @generated
1132 * @ordered
1133 */
1134 int ENUM_INTERPRETATION__SYMBOL = CD_INTERPRETATION_FEATURE_COUNT + 0;
1135
1136 /**
1137 * The feature id for the '<em><b>Objects</b></em>' containment reference list.
1138 * <!-- begin-user-doc -->
1139 * <!-- end-user-doc -->
1140 * @generated
1141 * @ordered
1142 */
1143 int ENUM_INTERPRETATION__OBJECTS = CD_INTERPRETATION_FEATURE_COUNT + 1;
1144
1145 /**
1146 * The number of structural features of the '<em>Enum Interpretation</em>' class.
1147 * <!-- begin-user-doc -->
1148 * <!-- end-user-doc -->
1149 * @generated
1150 * @ordered
1151 */
1152 int ENUM_INTERPRETATION_FEATURE_COUNT = CD_INTERPRETATION_FEATURE_COUNT + 2;
1153
1154 /**
1155 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl <em>Field Relation Interpretation</em>}' class.
1156 * <!-- begin-user-doc -->
1157 * <!-- end-user-doc -->
1158 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl
1159 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFieldRelationInterpretation()
1160 * @generated
1161 */
1162 int FIELD_RELATION_INTERPRETATION = 41;
1163
1164 /**
1165 * The feature id for the '<em><b>Containment</b></em>' attribute.
1166 * <!-- begin-user-doc -->
1167 * <!-- end-user-doc -->
1168 * @generated
1169 * @ordered
1170 */
1171 int FIELD_RELATION_INTERPRETATION__CONTAINMENT = 0;
1172
1173 /**
1174 * The feature id for the '<em><b>Symbol</b></em>' containment reference.
1175 * <!-- begin-user-doc -->
1176 * <!-- end-user-doc -->
1177 * @generated
1178 * @ordered
1179 */
1180 int FIELD_RELATION_INTERPRETATION__SYMBOL = 1;
1181
1182 /**
1183 * The feature id for the '<em><b>Multiplicity</b></em>' containment reference.
1184 * <!-- begin-user-doc -->
1185 * <!-- end-user-doc -->
1186 * @generated
1187 * @ordered
1188 */
1189 int FIELD_RELATION_INTERPRETATION__MULTIPLICITY = 2;
1190
1191 /**
1192 * The feature id for the '<em><b>Target</b></em>' containment reference.
1193 * <!-- begin-user-doc -->
1194 * <!-- end-user-doc -->
1195 * @generated
1196 * @ordered
1197 */
1198 int FIELD_RELATION_INTERPRETATION__TARGET = 3;
1199
1200 /**
1201 * The number of structural features of the '<em>Field Relation Interpretation</em>' class.
1202 * <!-- begin-user-doc -->
1203 * <!-- end-user-doc -->
1204 * @generated
1205 * @ordered
1206 */
1207 int FIELD_RELATION_INTERPRETATION_FEATURE_COUNT = 4;
1208
1209 /**
1210 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl <em>Global Relation Interpretation</em>}' class.
1211 * <!-- begin-user-doc -->
1212 * <!-- end-user-doc -->
1213 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl
1214 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getGlobalRelationInterpretation()
1215 * @generated
1216 */
1217 int GLOBAL_RELATION_INTERPRETATION = 42;
1218
1219 /**
1220 * The feature id for the '<em><b>Containment</b></em>' attribute.
1221 * <!-- begin-user-doc -->
1222 * <!-- end-user-doc -->
1223 * @generated
1224 * @ordered
1225 */
1226 int GLOBAL_RELATION_INTERPRETATION__CONTAINMENT = CD_INTERPRETATION_FEATURE_COUNT + 0;
1227
1228 /**
1229 * The feature id for the '<em><b>Symbol</b></em>' containment reference.
1230 * <!-- begin-user-doc -->
1231 * <!-- end-user-doc -->
1232 * @generated
1233 * @ordered
1234 */
1235 int GLOBAL_RELATION_INTERPRETATION__SYMBOL = CD_INTERPRETATION_FEATURE_COUNT + 1;
1236
1237 /**
1238 * The feature id for the '<em><b>Source Multiplicity</b></em>' containment reference.
1239 * <!-- begin-user-doc -->
1240 * <!-- end-user-doc -->
1241 * @generated
1242 * @ordered
1243 */
1244 int GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY = CD_INTERPRETATION_FEATURE_COUNT + 2;
1245
1246 /**
1247 * The feature id for the '<em><b>Source</b></em>' containment reference.
1248 * <!-- begin-user-doc -->
1249 * <!-- end-user-doc -->
1250 * @generated
1251 * @ordered
1252 */
1253 int GLOBAL_RELATION_INTERPRETATION__SOURCE = CD_INTERPRETATION_FEATURE_COUNT + 3;
1254
1255 /**
1256 * The feature id for the '<em><b>Target Multiplicity</b></em>' containment reference.
1257 * <!-- begin-user-doc -->
1258 * <!-- end-user-doc -->
1259 * @generated
1260 * @ordered
1261 */
1262 int GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY = CD_INTERPRETATION_FEATURE_COUNT + 4;
1263
1264 /**
1265 * The feature id for the '<em><b>Target</b></em>' containment reference.
1266 * <!-- begin-user-doc -->
1267 * <!-- end-user-doc -->
1268 * @generated
1269 * @ordered
1270 */
1271 int GLOBAL_RELATION_INTERPRETATION__TARGET = CD_INTERPRETATION_FEATURE_COUNT + 5;
1272
1273 /**
1274 * The number of structural features of the '<em>Global Relation Interpretation</em>' class.
1275 * <!-- begin-user-doc -->
1276 * <!-- end-user-doc -->
1277 * @generated
1278 * @ordered
1279 */
1280 int GLOBAL_RELATION_INTERPRETATION_FEATURE_COUNT = CD_INTERPRETATION_FEATURE_COUNT + 6;
1281
1282 /**
1283 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl <em>Multiplicity Definition</em>}' class.
1284 * <!-- begin-user-doc -->
1285 * <!-- end-user-doc -->
1286 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl
1287 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicityDefinition()
1288 * @generated
1289 */
1290 int MULTIPLICITY_DEFINITION = 43;
1291
1292 /**
1293 * The feature id for the '<em><b>Lower</b></em>' attribute.
1294 * <!-- begin-user-doc -->
1295 * <!-- end-user-doc -->
1296 * @generated
1297 * @ordered
1298 */
1299 int MULTIPLICITY_DEFINITION__LOWER = 0;
1300
1301 /**
1302 * The feature id for the '<em><b>Upper</b></em>' attribute.
1303 * <!-- begin-user-doc -->
1304 * <!-- end-user-doc -->
1305 * @generated
1306 * @ordered
1307 */
1308 int MULTIPLICITY_DEFINITION__UPPER = 1;
1309
1310 /**
1311 * The feature id for the '<em><b>Unlimited Upper</b></em>' attribute.
1312 * <!-- begin-user-doc -->
1313 * <!-- end-user-doc -->
1314 * @generated
1315 * @ordered
1316 */
1317 int MULTIPLICITY_DEFINITION__UNLIMITED_UPPER = 2;
1318
1319 /**
1320 * The number of structural features of the '<em>Multiplicity Definition</em>' class.
1321 * <!-- begin-user-doc -->
1322 * <!-- end-user-doc -->
1323 * @generated
1324 * @ordered
1325 */
1326 int MULTIPLICITY_DEFINITION_FEATURE_COUNT = 3;
1327
1328 /**
1329 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl <em>Boolean True</em>}' class.
1330 * <!-- begin-user-doc -->
1331 * <!-- end-user-doc -->
1332 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl
1333 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanTrue()
1334 * @generated
1335 */
1336 int BOOLEAN_TRUE = 44;
1337
1338 /**
1339 * The number of structural features of the '<em>Boolean True</em>' class.
1340 * <!-- begin-user-doc -->
1341 * <!-- end-user-doc -->
1342 * @generated
1343 * @ordered
1344 */
1345 int BOOLEAN_TRUE_FEATURE_COUNT = BOOLEAN_VALUE_FEATURE_COUNT + 0;
1346
1347 /**
1348 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl <em>Boolean False</em>}' class.
1349 * <!-- begin-user-doc -->
1350 * <!-- end-user-doc -->
1351 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl
1352 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanFalse()
1353 * @generated
1354 */
1355 int BOOLEAN_FALSE = 45;
1356
1357 /**
1358 * The number of structural features of the '<em>Boolean False</em>' class.
1359 * <!-- begin-user-doc -->
1360 * <!-- end-user-doc -->
1361 * @generated
1362 * @ordered
1363 */
1364 int BOOLEAN_FALSE_FEATURE_COUNT = BOOLEAN_VALUE_FEATURE_COUNT + 0;
1365
1366 /**
1367 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl <em>True</em>}' class.
1368 * <!-- begin-user-doc -->
1369 * <!-- end-user-doc -->
1370 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl
1371 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTrue()
1372 * @generated
1373 */
1374 int TRUE = 46;
1375
1376 /**
1377 * The number of structural features of the '<em>True</em>' class.
1378 * <!-- begin-user-doc -->
1379 * <!-- end-user-doc -->
1380 * @generated
1381 * @ordered
1382 */
1383 int TRUE_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0;
1384
1385 /**
1386 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl <em>False</em>}' class.
1387 * <!-- begin-user-doc -->
1388 * <!-- end-user-doc -->
1389 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl
1390 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFalse()
1391 * @generated
1392 */
1393 int FALSE = 47;
1394
1395 /**
1396 * The number of structural features of the '<em>False</em>' class.
1397 * <!-- begin-user-doc -->
1398 * <!-- end-user-doc -->
1399 * @generated
1400 * @ordered
1401 */
1402 int FALSE_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0;
1403
1404 /**
1405 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl <em>Unknown</em>}' class.
1406 * <!-- begin-user-doc -->
1407 * <!-- end-user-doc -->
1408 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl
1409 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnknown()
1410 * @generated
1411 */
1412 int UNKNOWN = 48;
1413
1414 /**
1415 * The number of structural features of the '<em>Unknown</em>' class.
1416 * <!-- begin-user-doc -->
1417 * <!-- end-user-doc -->
1418 * @generated
1419 * @ordered
1420 */
1421 int UNKNOWN_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0;
1422
1423 /**
1424 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl <em>Error</em>}' class.
1425 * <!-- begin-user-doc -->
1426 * <!-- end-user-doc -->
1427 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl
1428 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getError()
1429 * @generated
1430 */
1431 int ERROR = 49;
1432
1433 /**
1434 * The number of structural features of the '<em>Error</em>' class.
1435 * <!-- begin-user-doc -->
1436 * <!-- end-user-doc -->
1437 * @generated
1438 * @ordered
1439 */
1440 int ERROR_FEATURE_COUNT = TRUTH_VALUE_FEATURE_COUNT + 0;
1441
1442 /**
1443 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl <em>Positive</em>}' class.
1444 * <!-- begin-user-doc -->
1445 * <!-- end-user-doc -->
1446 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl
1447 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPositive()
1448 * @generated
1449 */
1450 int POSITIVE = 50;
1451
1452 /**
1453 * The number of structural features of the '<em>Positive</em>' class.
1454 * <!-- begin-user-doc -->
1455 * <!-- end-user-doc -->
1456 * @generated
1457 * @ordered
1458 */
1459 int POSITIVE_FEATURE_COUNT = POLARITY_FEATURE_COUNT + 0;
1460
1461 /**
1462 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl <em>Negative</em>}' class.
1463 * <!-- begin-user-doc -->
1464 * <!-- end-user-doc -->
1465 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl
1466 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNegative()
1467 * @generated
1468 */
1469 int NEGATIVE = 51;
1470
1471 /**
1472 * The number of structural features of the '<em>Negative</em>' class.
1473 * <!-- begin-user-doc -->
1474 * <!-- end-user-doc -->
1475 * @generated
1476 * @ordered
1477 */
1478 int NEGATIVE_FEATURE_COUNT = POLARITY_FEATURE_COUNT + 0;
1479
1480 /**
1481 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl <em>Reflexive Closure</em>}' class.
1482 * <!-- begin-user-doc -->
1483 * <!-- end-user-doc -->
1484 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl
1485 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReflexiveClosure()
1486 * @generated
1487 */
1488 int REFLEXIVE_CLOSURE = 52;
1489
1490 /**
1491 * The number of structural features of the '<em>Reflexive Closure</em>' class.
1492 * <!-- begin-user-doc -->
1493 * <!-- end-user-doc -->
1494 * @generated
1495 * @ordered
1496 */
1497 int REFLEXIVE_CLOSURE_FEATURE_COUNT = CLOSURE_TYPE_FEATURE_COUNT + 0;
1498
1499 /**
1500 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl <em>Irreflexive Closure</em>}' class.
1501 * <!-- begin-user-doc -->
1502 * <!-- end-user-doc -->
1503 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl
1504 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIrreflexiveClosure()
1505 * @generated
1506 */
1507 int IRREFLEXIVE_CLOSURE = 53;
1508
1509 /**
1510 * The number of structural features of the '<em>Irreflexive Closure</em>' class.
1511 * <!-- begin-user-doc -->
1512 * <!-- end-user-doc -->
1513 * @generated
1514 * @ordered
1515 */
1516 int IRREFLEXIVE_CLOSURE_FEATURE_COUNT = CLOSURE_TYPE_FEATURE_COUNT + 0;
1517
1518
1519 /**
1520 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem <em>Problem</em>}'.
1521 * <!-- begin-user-doc -->
1522 * <!-- end-user-doc -->
1523 * @return the meta object for class '<em>Problem</em>'.
1524 * @see org.eclipse.viatra.solver.language.solverLanguage.Problem
1525 * @generated
1526 */
1527 EClass getProblem();
1528
1529 /**
1530 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements <em>Statements</em>}'.
1531 * <!-- begin-user-doc -->
1532 * <!-- end-user-doc -->
1533 * @return the meta object for the containment reference list '<em>Statements</em>'.
1534 * @see org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements()
1535 * @see #getProblem()
1536 * @generated
1537 */
1538 EReference getProblem_Statements();
1539
1540 /**
1541 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement <em>Statement</em>}'.
1542 * <!-- begin-user-doc -->
1543 * <!-- end-user-doc -->
1544 * @return the meta object for class '<em>Statement</em>'.
1545 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement
1546 * @generated
1547 */
1548 EClass getStatement();
1549
1550 /**
1551 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanValue <em>Boolean Value</em>}'.
1552 * <!-- begin-user-doc -->
1553 * <!-- end-user-doc -->
1554 * @return the meta object for class '<em>Boolean Value</em>'.
1555 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanValue
1556 * @generated
1557 */
1558 EClass getBooleanValue();
1559
1560 /**
1561 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TruthValue <em>Truth Value</em>}'.
1562 * <!-- begin-user-doc -->
1563 * <!-- end-user-doc -->
1564 * @return the meta object for class '<em>Truth Value</em>'.
1565 * @see org.eclipse.viatra.solver.language.solverLanguage.TruthValue
1566 * @generated
1567 */
1568 EClass getTruthValue();
1569
1570 /**
1571 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation <em>Interpretation</em>}'.
1572 * <!-- begin-user-doc -->
1573 * <!-- end-user-doc -->
1574 * @return the meta object for class '<em>Interpretation</em>'.
1575 * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation
1576 * @generated
1577 */
1578 EClass getInterpretation();
1579
1580 /**
1581 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation <em>Basic Interpretation</em>}'.
1582 * <!-- begin-user-doc -->
1583 * <!-- end-user-doc -->
1584 * @return the meta object for class '<em>Basic Interpretation</em>'.
1585 * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation
1586 * @generated
1587 */
1588 EClass getBasicInterpretation();
1589
1590 /**
1591 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getSymbol <em>Symbol</em>}'.
1592 * <!-- begin-user-doc -->
1593 * <!-- end-user-doc -->
1594 * @return the meta object for the containment reference '<em>Symbol</em>'.
1595 * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getSymbol()
1596 * @see #getBasicInterpretation()
1597 * @generated
1598 */
1599 EReference getBasicInterpretation_Symbol();
1600
1601 /**
1602 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getObjects <em>Objects</em>}'.
1603 * <!-- begin-user-doc -->
1604 * <!-- end-user-doc -->
1605 * @return the meta object for the containment reference list '<em>Objects</em>'.
1606 * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getObjects()
1607 * @see #getBasicInterpretation()
1608 * @generated
1609 */
1610 EReference getBasicInterpretation_Objects();
1611
1612 /**
1613 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue <em>Value</em>}'.
1614 * <!-- begin-user-doc -->
1615 * <!-- end-user-doc -->
1616 * @return the meta object for the containment reference '<em>Value</em>'.
1617 * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation#getValue()
1618 * @see #getBasicInterpretation()
1619 * @generated
1620 */
1621 EReference getBasicInterpretation_Value();
1622
1623 /**
1624 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Symbol <em>Symbol</em>}'.
1625 * <!-- begin-user-doc -->
1626 * <!-- end-user-doc -->
1627 * @return the meta object for class '<em>Symbol</em>'.
1628 * @see org.eclipse.viatra.solver.language.solverLanguage.Symbol
1629 * @generated
1630 */
1631 EClass getSymbol();
1632
1633 /**
1634 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol <em>Model Symbol</em>}'.
1635 * <!-- begin-user-doc -->
1636 * <!-- end-user-doc -->
1637 * @return the meta object for class '<em>Model Symbol</em>'.
1638 * @see org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol
1639 * @generated
1640 */
1641 EClass getModelSymbol();
1642
1643 /**
1644 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName <em>Name</em>}'.
1645 * <!-- begin-user-doc -->
1646 * <!-- end-user-doc -->
1647 * @return the meta object for the attribute '<em>Name</em>'.
1648 * @see org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol#getName()
1649 * @see #getModelSymbol()
1650 * @generated
1651 */
1652 EAttribute getModelSymbol_Name();
1653
1654 /**
1655 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol <em>Partiality Symbol</em>}'.
1656 * <!-- begin-user-doc -->
1657 * <!-- end-user-doc -->
1658 * @return the meta object for class '<em>Partiality Symbol</em>'.
1659 * @see org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol
1660 * @generated
1661 */
1662 EClass getPartialitySymbol();
1663
1664 /**
1665 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol <em>Exist Symbol</em>}'.
1666 * <!-- begin-user-doc -->
1667 * <!-- end-user-doc -->
1668 * @return the meta object for class '<em>Exist Symbol</em>'.
1669 * @see org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol
1670 * @generated
1671 */
1672 EClass getExistSymbol();
1673
1674 /**
1675 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol <em>Equals Symbol</em>}'.
1676 * <!-- begin-user-doc -->
1677 * <!-- end-user-doc -->
1678 * @return the meta object for class '<em>Equals Symbol</em>'.
1679 * @see org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol
1680 * @generated
1681 */
1682 EClass getEqualsSymbol();
1683
1684 /**
1685 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataSymbol <em>Data Symbol</em>}'.
1686 * <!-- begin-user-doc -->
1687 * <!-- end-user-doc -->
1688 * @return the meta object for class '<em>Data Symbol</em>'.
1689 * @see org.eclipse.viatra.solver.language.solverLanguage.DataSymbol
1690 * @generated
1691 */
1692 EClass getDataSymbol();
1693
1694 /**
1695 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol <em>Boolean Symbol</em>}'.
1696 * <!-- begin-user-doc -->
1697 * <!-- end-user-doc -->
1698 * @return the meta object for class '<em>Boolean Symbol</em>'.
1699 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol
1700 * @generated
1701 */
1702 EClass getBooleanSymbol();
1703
1704 /**
1705 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol <em>Integer Symbol</em>}'.
1706 * <!-- begin-user-doc -->
1707 * <!-- end-user-doc -->
1708 * @return the meta object for class '<em>Integer Symbol</em>'.
1709 * @see org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol
1710 * @generated
1711 */
1712 EClass getIntegerSymbol();
1713
1714 /**
1715 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealSymbol <em>Real Symbol</em>}'.
1716 * <!-- begin-user-doc -->
1717 * <!-- end-user-doc -->
1718 * @return the meta object for class '<em>Real Symbol</em>'.
1719 * @see org.eclipse.viatra.solver.language.solverLanguage.RealSymbol
1720 * @generated
1721 */
1722 EClass getRealSymbol();
1723
1724 /**
1725 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringSymbol <em>String Symbol</em>}'.
1726 * <!-- begin-user-doc -->
1727 * <!-- end-user-doc -->
1728 * @return the meta object for class '<em>String Symbol</em>'.
1729 * @see org.eclipse.viatra.solver.language.solverLanguage.StringSymbol
1730 * @generated
1731 */
1732 EClass getStringSymbol();
1733
1734 /**
1735 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ComplexObject <em>Complex Object</em>}'.
1736 * <!-- begin-user-doc -->
1737 * <!-- end-user-doc -->
1738 * @return the meta object for class '<em>Complex Object</em>'.
1739 * @see org.eclipse.viatra.solver.language.solverLanguage.ComplexObject
1740 * @generated
1741 */
1742 EClass getComplexObject();
1743
1744 /**
1745 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Object <em>Object</em>}'.
1746 * <!-- begin-user-doc -->
1747 * <!-- end-user-doc -->
1748 * @return the meta object for class '<em>Object</em>'.
1749 * @see org.eclipse.viatra.solver.language.solverLanguage.Object
1750 * @generated
1751 */
1752 EClass getObject();
1753
1754 /**
1755 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject <em>Named Object</em>}'.
1756 * <!-- begin-user-doc -->
1757 * <!-- end-user-doc -->
1758 * @return the meta object for class '<em>Named Object</em>'.
1759 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedObject
1760 * @generated
1761 */
1762 EClass getNamedObject();
1763
1764 /**
1765 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject#getName <em>Name</em>}'.
1766 * <!-- begin-user-doc -->
1767 * <!-- end-user-doc -->
1768 * @return the meta object for the attribute '<em>Name</em>'.
1769 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedObject#getName()
1770 * @see #getNamedObject()
1771 * @generated
1772 */
1773 EAttribute getNamedObject_Name();
1774
1775 /**
1776 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject <em>Unnamed Object</em>}'.
1777 * <!-- begin-user-doc -->
1778 * <!-- end-user-doc -->
1779 * @return the meta object for class '<em>Unnamed Object</em>'.
1780 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject
1781 * @generated
1782 */
1783 EClass getUnnamedObject();
1784
1785 /**
1786 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject#getName <em>Name</em>}'.
1787 * <!-- begin-user-doc -->
1788 * <!-- end-user-doc -->
1789 * @return the meta object for the attribute '<em>Name</em>'.
1790 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject#getName()
1791 * @see #getUnnamedObject()
1792 * @generated
1793 */
1794 EAttribute getUnnamedObject_Name();
1795
1796 /**
1797 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataObject <em>Data Object</em>}'.
1798 * <!-- begin-user-doc -->
1799 * <!-- end-user-doc -->
1800 * @return the meta object for class '<em>Data Object</em>'.
1801 * @see org.eclipse.viatra.solver.language.solverLanguage.DataObject
1802 * @generated
1803 */
1804 EClass getDataObject();
1805
1806 /**
1807 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject <em>Boolean Object</em>}'.
1808 * <!-- begin-user-doc -->
1809 * <!-- end-user-doc -->
1810 * @return the meta object for class '<em>Boolean Object</em>'.
1811 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanObject
1812 * @generated
1813 */
1814 EClass getBooleanObject();
1815
1816 /**
1817 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject#getValue <em>Value</em>}'.
1818 * <!-- begin-user-doc -->
1819 * <!-- end-user-doc -->
1820 * @return the meta object for the containment reference '<em>Value</em>'.
1821 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanObject#getValue()
1822 * @see #getBooleanObject()
1823 * @generated
1824 */
1825 EReference getBooleanObject_Value();
1826
1827 /**
1828 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject <em>Int Object</em>}'.
1829 * <!-- begin-user-doc -->
1830 * <!-- end-user-doc -->
1831 * @return the meta object for class '<em>Int Object</em>'.
1832 * @see org.eclipse.viatra.solver.language.solverLanguage.IntObject
1833 * @generated
1834 */
1835 EClass getIntObject();
1836
1837 /**
1838 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue <em>Value</em>}'.
1839 * <!-- begin-user-doc -->
1840 * <!-- end-user-doc -->
1841 * @return the meta object for the attribute '<em>Value</em>'.
1842 * @see org.eclipse.viatra.solver.language.solverLanguage.IntObject#getValue()
1843 * @see #getIntObject()
1844 * @generated
1845 */
1846 EAttribute getIntObject_Value();
1847
1848 /**
1849 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject <em>Real Object</em>}'.
1850 * <!-- begin-user-doc -->
1851 * <!-- end-user-doc -->
1852 * @return the meta object for class '<em>Real Object</em>'.
1853 * @see org.eclipse.viatra.solver.language.solverLanguage.RealObject
1854 * @generated
1855 */
1856 EClass getRealObject();
1857
1858 /**
1859 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue <em>Value</em>}'.
1860 * <!-- begin-user-doc -->
1861 * <!-- end-user-doc -->
1862 * @return the meta object for the attribute '<em>Value</em>'.
1863 * @see org.eclipse.viatra.solver.language.solverLanguage.RealObject#getValue()
1864 * @see #getRealObject()
1865 * @generated
1866 */
1867 EAttribute getRealObject_Value();
1868
1869 /**
1870 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject <em>String Object</em>}'.
1871 * <!-- begin-user-doc -->
1872 * <!-- end-user-doc -->
1873 * @return the meta object for class '<em>String Object</em>'.
1874 * @see org.eclipse.viatra.solver.language.solverLanguage.StringObject
1875 * @generated
1876 */
1877 EClass getStringObject();
1878
1879 /**
1880 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue <em>Value</em>}'.
1881 * <!-- begin-user-doc -->
1882 * <!-- end-user-doc -->
1883 * @return the meta object for the attribute '<em>Value</em>'.
1884 * @see org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue()
1885 * @see #getStringObject()
1886 * @generated
1887 */
1888 EAttribute getStringObject_Value();
1889
1890 /**
1891 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate <em>Predicate</em>}'.
1892 * <!-- begin-user-doc -->
1893 * <!-- end-user-doc -->
1894 * @return the meta object for class '<em>Predicate</em>'.
1895 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate
1896 * @generated
1897 */
1898 EClass getPredicate();
1899
1900 /**
1901 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters <em>Parameters</em>}'.
1902 * <!-- begin-user-doc -->
1903 * <!-- end-user-doc -->
1904 * @return the meta object for the containment reference list '<em>Parameters</em>'.
1905 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters()
1906 * @see #getPredicate()
1907 * @generated
1908 */
1909 EReference getPredicate_Parameters();
1910
1911 /**
1912 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies <em>Bodies</em>}'.
1913 * <!-- begin-user-doc -->
1914 * <!-- end-user-doc -->
1915 * @return the meta object for the containment reference list '<em>Bodies</em>'.
1916 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies()
1917 * @see #getPredicate()
1918 * @generated
1919 */
1920 EReference getPredicate_Bodies();
1921
1922 /**
1923 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol <em>Predicate Symbol</em>}'.
1924 * <!-- begin-user-doc -->
1925 * <!-- end-user-doc -->
1926 * @return the meta object for class '<em>Predicate Symbol</em>'.
1927 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol
1928 * @generated
1929 */
1930 EClass getPredicateSymbol();
1931
1932 /**
1933 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol#getSymbol <em>Symbol</em>}'.
1934 * <!-- begin-user-doc -->
1935 * <!-- end-user-doc -->
1936 * @return the meta object for the containment reference '<em>Symbol</em>'.
1937 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol#getSymbol()
1938 * @see #getPredicateSymbol()
1939 * @generated
1940 */
1941 EReference getPredicateSymbol_Symbol();
1942
1943 /**
1944 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate <em>Error Predicate</em>}'.
1945 * <!-- begin-user-doc -->
1946 * <!-- end-user-doc -->
1947 * @return the meta object for class '<em>Error Predicate</em>'.
1948 * @see org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate
1949 * @generated
1950 */
1951 EClass getErrorPredicate();
1952
1953 /**
1954 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate#getName <em>Name</em>}'.
1955 * <!-- begin-user-doc -->
1956 * <!-- end-user-doc -->
1957 * @return the meta object for the attribute '<em>Name</em>'.
1958 * @see org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate#getName()
1959 * @see #getErrorPredicate()
1960 * @generated
1961 */
1962 EAttribute getErrorPredicate_Name();
1963
1964 /**
1965 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter <em>Parameter</em>}'.
1966 * <!-- begin-user-doc -->
1967 * <!-- end-user-doc -->
1968 * @return the meta object for class '<em>Parameter</em>'.
1969 * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter
1970 * @generated
1971 */
1972 EClass getParameter();
1973
1974 /**
1975 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getVariable <em>Variable</em>}'.
1976 * <!-- begin-user-doc -->
1977 * <!-- end-user-doc -->
1978 * @return the meta object for the containment reference '<em>Variable</em>'.
1979 * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter#getVariable()
1980 * @see #getParameter()
1981 * @generated
1982 */
1983 EReference getParameter_Variable();
1984
1985 /**
1986 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType <em>Type</em>}'.
1987 * <!-- begin-user-doc -->
1988 * <!-- end-user-doc -->
1989 * @return the meta object for the containment reference '<em>Type</em>'.
1990 * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter#getType()
1991 * @see #getParameter()
1992 * @generated
1993 */
1994 EReference getParameter_Type();
1995
1996 /**
1997 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody <em>Pattern Body</em>}'.
1998 * <!-- begin-user-doc -->
1999 * <!-- end-user-doc -->
2000 * @return the meta object for class '<em>Pattern Body</em>'.
2001 * @see org.eclipse.viatra.solver.language.solverLanguage.PatternBody
2002 * @generated
2003 */
2004 EClass getPatternBody();
2005
2006 /**
2007 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody#getConstraints <em>Constraints</em>}'.
2008 * <!-- begin-user-doc -->
2009 * <!-- end-user-doc -->
2010 * @return the meta object for the containment reference list '<em>Constraints</em>'.
2011 * @see org.eclipse.viatra.solver.language.solverLanguage.PatternBody#getConstraints()
2012 * @see #getPatternBody()
2013 * @generated
2014 */
2015 EReference getPatternBody_Constraints();
2016
2017 /**
2018 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Polarity <em>Polarity</em>}'.
2019 * <!-- begin-user-doc -->
2020 * <!-- end-user-doc -->
2021 * @return the meta object for class '<em>Polarity</em>'.
2022 * @see org.eclipse.viatra.solver.language.solverLanguage.Polarity
2023 * @generated
2024 */
2025 EClass getPolarity();
2026
2027 /**
2028 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint <em>Constraint</em>}'.
2029 * <!-- begin-user-doc -->
2030 * <!-- end-user-doc -->
2031 * @return the meta object for class '<em>Constraint</em>'.
2032 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint
2033 * @generated
2034 */
2035 EClass getConstraint();
2036
2037 /**
2038 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity <em>Polarity</em>}'.
2039 * <!-- begin-user-doc -->
2040 * <!-- end-user-doc -->
2041 * @return the meta object for the containment reference '<em>Polarity</em>'.
2042 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getPolarity()
2043 * @see #getConstraint()
2044 * @generated
2045 */
2046 EReference getConstraint_Polarity();
2047
2048 /**
2049 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol <em>Symbol</em>}'.
2050 * <!-- begin-user-doc -->
2051 * <!-- end-user-doc -->
2052 * @return the meta object for the containment reference '<em>Symbol</em>'.
2053 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getSymbol()
2054 * @see #getConstraint()
2055 * @generated
2056 */
2057 EReference getConstraint_Symbol();
2058
2059 /**
2060 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getParams <em>Params</em>}'.
2061 * <!-- begin-user-doc -->
2062 * <!-- end-user-doc -->
2063 * @return the meta object for the containment reference list '<em>Params</em>'.
2064 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getParams()
2065 * @see #getConstraint()
2066 * @generated
2067 */
2068 EReference getConstraint_Params();
2069
2070 /**
2071 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType <em>Closure Type</em>}'.
2072 * <!-- begin-user-doc -->
2073 * <!-- end-user-doc -->
2074 * @return the meta object for the containment reference '<em>Closure Type</em>'.
2075 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint#getClosureType()
2076 * @see #getConstraint()
2077 * @generated
2078 */
2079 EReference getConstraint_ClosureType();
2080
2081 /**
2082 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClosureType <em>Closure Type</em>}'.
2083 * <!-- begin-user-doc -->
2084 * <!-- end-user-doc -->
2085 * @return the meta object for class '<em>Closure Type</em>'.
2086 * @see org.eclipse.viatra.solver.language.solverLanguage.ClosureType
2087 * @generated
2088 */
2089 EClass getClosureType();
2090
2091 /**
2092 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</em>}'.
2093 * <!-- begin-user-doc -->
2094 * <!-- end-user-doc -->
2095 * @return the meta object for class '<em>Literal</em>'.
2096 * @see org.eclipse.viatra.solver.language.solverLanguage.Literal
2097 * @generated
2098 */
2099 EClass getLiteral();
2100
2101 /**
2102 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable <em>Variable</em>}'.
2103 * <!-- begin-user-doc -->
2104 * <!-- end-user-doc -->
2105 * @return the meta object for class '<em>Variable</em>'.
2106 * @see org.eclipse.viatra.solver.language.solverLanguage.Variable
2107 * @generated
2108 */
2109 EClass getVariable();
2110
2111 /**
2112 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getName <em>Name</em>}'.
2113 * <!-- begin-user-doc -->
2114 * <!-- end-user-doc -->
2115 * @return the meta object for the attribute '<em>Name</em>'.
2116 * @see org.eclipse.viatra.solver.language.solverLanguage.Variable#getName()
2117 * @see #getVariable()
2118 * @generated
2119 */
2120 EAttribute getVariable_Name();
2121
2122 /**
2123 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances <em>All Instances</em>}'.
2124 * <!-- begin-user-doc -->
2125 * <!-- end-user-doc -->
2126 * @return the meta object for class '<em>All Instances</em>'.
2127 * @see org.eclipse.viatra.solver.language.solverLanguage.AllInstances
2128 * @generated
2129 */
2130 EClass getAllInstances();
2131
2132 /**
2133 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances#getSymbol <em>Symbol</em>}'.
2134 * <!-- begin-user-doc -->
2135 * <!-- end-user-doc -->
2136 * @return the meta object for the containment reference '<em>Symbol</em>'.
2137 * @see org.eclipse.viatra.solver.language.solverLanguage.AllInstances#getSymbol()
2138 * @see #getAllInstances()
2139 * @generated
2140 */
2141 EReference getAllInstances_Symbol();
2142
2143 /**
2144 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllObjects <em>All Objects</em>}'.
2145 * <!-- begin-user-doc -->
2146 * <!-- end-user-doc -->
2147 * @return the meta object for class '<em>All Objects</em>'.
2148 * @see org.eclipse.viatra.solver.language.solverLanguage.AllObjects
2149 * @generated
2150 */
2151 EClass getAllObjects();
2152
2153 /**
2154 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation <em>Default Interpretation</em>}'.
2155 * <!-- begin-user-doc -->
2156 * <!-- end-user-doc -->
2157 * @return the meta object for class '<em>Default Interpretation</em>'.
2158 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation
2159 * @generated
2160 */
2161 EClass getDefaultInterpretation();
2162
2163 /**
2164 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation#getInterpretation <em>Interpretation</em>}'.
2165 * <!-- begin-user-doc -->
2166 * <!-- end-user-doc -->
2167 * @return the meta object for the containment reference '<em>Interpretation</em>'.
2168 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation#getInterpretation()
2169 * @see #getDefaultInterpretation()
2170 * @generated
2171 */
2172 EReference getDefaultInterpretation_Interpretation();
2173
2174 /**
2175 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation <em>CD Interpretation</em>}'.
2176 * <!-- begin-user-doc -->
2177 * <!-- end-user-doc -->
2178 * @return the meta object for class '<em>CD Interpretation</em>'.
2179 * @see org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation
2180 * @generated
2181 */
2182 EClass getCDInterpretation();
2183
2184 /**
2185 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation <em>Class Interpretation</em>}'.
2186 * <!-- begin-user-doc -->
2187 * <!-- end-user-doc -->
2188 * @return the meta object for class '<em>Class Interpretation</em>'.
2189 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation
2190 * @generated
2191 */
2192 EClass getClassInterpretation();
2193
2194 /**
2195 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#isAbstract <em>Abstract</em>}'.
2196 * <!-- begin-user-doc -->
2197 * <!-- end-user-doc -->
2198 * @return the meta object for the attribute '<em>Abstract</em>'.
2199 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#isAbstract()
2200 * @see #getClassInterpretation()
2201 * @generated
2202 */
2203 EAttribute getClassInterpretation_Abstract();
2204
2205 /**
2206 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol <em>Symbol</em>}'.
2207 * <!-- begin-user-doc -->
2208 * <!-- end-user-doc -->
2209 * @return the meta object for the containment reference '<em>Symbol</em>'.
2210 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSymbol()
2211 * @see #getClassInterpretation()
2212 * @generated
2213 */
2214 EReference getClassInterpretation_Symbol();
2215
2216 /**
2217 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSupertypes <em>Supertypes</em>}'.
2218 * <!-- begin-user-doc -->
2219 * <!-- end-user-doc -->
2220 * @return the meta object for the containment reference list '<em>Supertypes</em>'.
2221 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getSupertypes()
2222 * @see #getClassInterpretation()
2223 * @generated
2224 */
2225 EReference getClassInterpretation_Supertypes();
2226
2227 /**
2228 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getFielt <em>Fielt</em>}'.
2229 * <!-- begin-user-doc -->
2230 * <!-- end-user-doc -->
2231 * @return the meta object for the containment reference list '<em>Fielt</em>'.
2232 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation#getFielt()
2233 * @see #getClassInterpretation()
2234 * @generated
2235 */
2236 EReference getClassInterpretation_Fielt();
2237
2238 /**
2239 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation <em>Enum Interpretation</em>}'.
2240 * <!-- begin-user-doc -->
2241 * <!-- end-user-doc -->
2242 * @return the meta object for class '<em>Enum Interpretation</em>'.
2243 * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation
2244 * @generated
2245 */
2246 EClass getEnumInterpretation();
2247
2248 /**
2249 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getSymbol <em>Symbol</em>}'.
2250 * <!-- begin-user-doc -->
2251 * <!-- end-user-doc -->
2252 * @return the meta object for the containment reference '<em>Symbol</em>'.
2253 * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getSymbol()
2254 * @see #getEnumInterpretation()
2255 * @generated
2256 */
2257 EReference getEnumInterpretation_Symbol();
2258
2259 /**
2260 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getObjects <em>Objects</em>}'.
2261 * <!-- begin-user-doc -->
2262 * <!-- end-user-doc -->
2263 * @return the meta object for the containment reference list '<em>Objects</em>'.
2264 * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation#getObjects()
2265 * @see #getEnumInterpretation()
2266 * @generated
2267 */
2268 EReference getEnumInterpretation_Objects();
2269
2270 /**
2271 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation <em>Field Relation Interpretation</em>}'.
2272 * <!-- begin-user-doc -->
2273 * <!-- end-user-doc -->
2274 * @return the meta object for class '<em>Field Relation Interpretation</em>'.
2275 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation
2276 * @generated
2277 */
2278 EClass getFieldRelationInterpretation();
2279
2280 /**
2281 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#isContainment <em>Containment</em>}'.
2282 * <!-- begin-user-doc -->
2283 * <!-- end-user-doc -->
2284 * @return the meta object for the attribute '<em>Containment</em>'.
2285 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#isContainment()
2286 * @see #getFieldRelationInterpretation()
2287 * @generated
2288 */
2289 EAttribute getFieldRelationInterpretation_Containment();
2290
2291 /**
2292 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol <em>Symbol</em>}'.
2293 * <!-- begin-user-doc -->
2294 * <!-- end-user-doc -->
2295 * @return the meta object for the containment reference '<em>Symbol</em>'.
2296 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getSymbol()
2297 * @see #getFieldRelationInterpretation()
2298 * @generated
2299 */
2300 EReference getFieldRelationInterpretation_Symbol();
2301
2302 /**
2303 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getMultiplicity <em>Multiplicity</em>}'.
2304 * <!-- begin-user-doc -->
2305 * <!-- end-user-doc -->
2306 * @return the meta object for the containment reference '<em>Multiplicity</em>'.
2307 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getMultiplicity()
2308 * @see #getFieldRelationInterpretation()
2309 * @generated
2310 */
2311 EReference getFieldRelationInterpretation_Multiplicity();
2312
2313 /**
2314 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget <em>Target</em>}'.
2315 * <!-- begin-user-doc -->
2316 * <!-- end-user-doc -->
2317 * @return the meta object for the containment reference '<em>Target</em>'.
2318 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation#getTarget()
2319 * @see #getFieldRelationInterpretation()
2320 * @generated
2321 */
2322 EReference getFieldRelationInterpretation_Target();
2323
2324 /**
2325 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation <em>Global Relation Interpretation</em>}'.
2326 * <!-- begin-user-doc -->
2327 * <!-- end-user-doc -->
2328 * @return the meta object for class '<em>Global Relation Interpretation</em>'.
2329 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation
2330 * @generated
2331 */
2332 EClass getGlobalRelationInterpretation();
2333
2334 /**
2335 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#isContainment <em>Containment</em>}'.
2336 * <!-- begin-user-doc -->
2337 * <!-- end-user-doc -->
2338 * @return the meta object for the attribute '<em>Containment</em>'.
2339 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#isContainment()
2340 * @see #getGlobalRelationInterpretation()
2341 * @generated
2342 */
2343 EAttribute getGlobalRelationInterpretation_Containment();
2344
2345 /**
2346 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol <em>Symbol</em>}'.
2347 * <!-- begin-user-doc -->
2348 * <!-- end-user-doc -->
2349 * @return the meta object for the containment reference '<em>Symbol</em>'.
2350 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSymbol()
2351 * @see #getGlobalRelationInterpretation()
2352 * @generated
2353 */
2354 EReference getGlobalRelationInterpretation_Symbol();
2355
2356 /**
2357 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity <em>Source Multiplicity</em>}'.
2358 * <!-- begin-user-doc -->
2359 * <!-- end-user-doc -->
2360 * @return the meta object for the containment reference '<em>Source Multiplicity</em>'.
2361 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSourceMultiplicity()
2362 * @see #getGlobalRelationInterpretation()
2363 * @generated
2364 */
2365 EReference getGlobalRelationInterpretation_SourceMultiplicity();
2366
2367 /**
2368 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource <em>Source</em>}'.
2369 * <!-- begin-user-doc -->
2370 * <!-- end-user-doc -->
2371 * @return the meta object for the containment reference '<em>Source</em>'.
2372 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getSource()
2373 * @see #getGlobalRelationInterpretation()
2374 * @generated
2375 */
2376 EReference getGlobalRelationInterpretation_Source();
2377
2378 /**
2379 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity <em>Target Multiplicity</em>}'.
2380 * <!-- begin-user-doc -->
2381 * <!-- end-user-doc -->
2382 * @return the meta object for the containment reference '<em>Target Multiplicity</em>'.
2383 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTargetMultiplicity()
2384 * @see #getGlobalRelationInterpretation()
2385 * @generated
2386 */
2387 EReference getGlobalRelationInterpretation_TargetMultiplicity();
2388
2389 /**
2390 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget <em>Target</em>}'.
2391 * <!-- begin-user-doc -->
2392 * <!-- end-user-doc -->
2393 * @return the meta object for the containment reference '<em>Target</em>'.
2394 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation#getTarget()
2395 * @see #getGlobalRelationInterpretation()
2396 * @generated
2397 */
2398 EReference getGlobalRelationInterpretation_Target();
2399
2400 /**
2401 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition <em>Multiplicity Definition</em>}'.
2402 * <!-- begin-user-doc -->
2403 * <!-- end-user-doc -->
2404 * @return the meta object for class '<em>Multiplicity Definition</em>'.
2405 * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition
2406 * @generated
2407 */
2408 EClass getMultiplicityDefinition();
2409
2410 /**
2411 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getLower <em>Lower</em>}'.
2412 * <!-- begin-user-doc -->
2413 * <!-- end-user-doc -->
2414 * @return the meta object for the attribute '<em>Lower</em>'.
2415 * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getLower()
2416 * @see #getMultiplicityDefinition()
2417 * @generated
2418 */
2419 EAttribute getMultiplicityDefinition_Lower();
2420
2421 /**
2422 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper <em>Upper</em>}'.
2423 * <!-- begin-user-doc -->
2424 * <!-- end-user-doc -->
2425 * @return the meta object for the attribute '<em>Upper</em>'.
2426 * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#getUpper()
2427 * @see #getMultiplicityDefinition()
2428 * @generated
2429 */
2430 EAttribute getMultiplicityDefinition_Upper();
2431
2432 /**
2433 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper <em>Unlimited Upper</em>}'.
2434 * <!-- begin-user-doc -->
2435 * <!-- end-user-doc -->
2436 * @return the meta object for the attribute '<em>Unlimited Upper</em>'.
2437 * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition#isUnlimitedUpper()
2438 * @see #getMultiplicityDefinition()
2439 * @generated
2440 */
2441 EAttribute getMultiplicityDefinition_UnlimitedUpper();
2442
2443 /**
2444 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue <em>Boolean True</em>}'.
2445 * <!-- begin-user-doc -->
2446 * <!-- end-user-doc -->
2447 * @return the meta object for class '<em>Boolean True</em>'.
2448 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue
2449 * @generated
2450 */
2451 EClass getBooleanTrue();
2452
2453 /**
2454 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse <em>Boolean False</em>}'.
2455 * <!-- begin-user-doc -->
2456 * <!-- end-user-doc -->
2457 * @return the meta object for class '<em>Boolean False</em>'.
2458 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse
2459 * @generated
2460 */
2461 EClass getBooleanFalse();
2462
2463 /**
2464 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.True <em>True</em>}'.
2465 * <!-- begin-user-doc -->
2466 * <!-- end-user-doc -->
2467 * @return the meta object for class '<em>True</em>'.
2468 * @see org.eclipse.viatra.solver.language.solverLanguage.True
2469 * @generated
2470 */
2471 EClass getTrue();
2472
2473 /**
2474 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.False <em>False</em>}'.
2475 * <!-- begin-user-doc -->
2476 * <!-- end-user-doc -->
2477 * @return the meta object for class '<em>False</em>'.
2478 * @see org.eclipse.viatra.solver.language.solverLanguage.False
2479 * @generated
2480 */
2481 EClass getFalse();
2482
2483 /**
2484 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Unknown <em>Unknown</em>}'.
2485 * <!-- begin-user-doc -->
2486 * <!-- end-user-doc -->
2487 * @return the meta object for class '<em>Unknown</em>'.
2488 * @see org.eclipse.viatra.solver.language.solverLanguage.Unknown
2489 * @generated
2490 */
2491 EClass getUnknown();
2492
2493 /**
2494 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Error <em>Error</em>}'.
2495 * <!-- begin-user-doc -->
2496 * <!-- end-user-doc -->
2497 * @return the meta object for class '<em>Error</em>'.
2498 * @see org.eclipse.viatra.solver.language.solverLanguage.Error
2499 * @generated
2500 */
2501 EClass getError();
2502
2503 /**
2504 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Positive <em>Positive</em>}'.
2505 * <!-- begin-user-doc -->
2506 * <!-- end-user-doc -->
2507 * @return the meta object for class '<em>Positive</em>'.
2508 * @see org.eclipse.viatra.solver.language.solverLanguage.Positive
2509 * @generated
2510 */
2511 EClass getPositive();
2512
2513 /**
2514 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Negative <em>Negative</em>}'.
2515 * <!-- begin-user-doc -->
2516 * <!-- end-user-doc -->
2517 * @return the meta object for class '<em>Negative</em>'.
2518 * @see org.eclipse.viatra.solver.language.solverLanguage.Negative
2519 * @generated
2520 */
2521 EClass getNegative();
2522
2523 /**
2524 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure <em>Reflexive Closure</em>}'.
2525 * <!-- begin-user-doc -->
2526 * <!-- end-user-doc -->
2527 * @return the meta object for class '<em>Reflexive Closure</em>'.
2528 * @see org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure
2529 * @generated
2530 */
2531 EClass getReflexiveClosure();
2532
2533 /**
2534 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure <em>Irreflexive Closure</em>}'.
2535 * <!-- begin-user-doc -->
2536 * <!-- end-user-doc -->
2537 * @return the meta object for class '<em>Irreflexive Closure</em>'.
2538 * @see org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure
2539 * @generated
2540 */
2541 EClass getIrreflexiveClosure();
2542
2543 /**
2544 * Returns the factory that creates the instances of the model.
2545 * <!-- begin-user-doc -->
2546 * <!-- end-user-doc -->
2547 * @return the factory that creates the instances of the model.
2548 * @generated
2549 */
2550 SolverLanguageFactory getSolverLanguageFactory();
2551
2552 /**
2553 * <!-- begin-user-doc -->
2554 * Defines literals for the meta objects that represent
2555 * <ul>
2556 * <li>each class,</li>
2557 * <li>each feature of each class,</li>
2558 * <li>each enum,</li>
2559 * <li>and each data type</li>
2560 * </ul>
2561 * <!-- end-user-doc -->
2562 * @generated
2563 */
2564 interface Literals
2565 {
2566 /**
2567 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl <em>Problem</em>}' class.
2568 * <!-- begin-user-doc -->
2569 * <!-- end-user-doc -->
2570 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl
2571 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getProblem()
2572 * @generated
2573 */
2574 EClass PROBLEM = eINSTANCE.getProblem();
2575
2576 /**
2577 * The meta object literal for the '<em><b>Statements</b></em>' containment reference list feature.
2578 * <!-- begin-user-doc -->
2579 * <!-- end-user-doc -->
2580 * @generated
2581 */
2582 EReference PROBLEM__STATEMENTS = eINSTANCE.getProblem_Statements();
2583
2584 /**
2585 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl <em>Statement</em>}' class.
2586 * <!-- begin-user-doc -->
2587 * <!-- end-user-doc -->
2588 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl
2589 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStatement()
2590 * @generated
2591 */
2592 EClass STATEMENT = eINSTANCE.getStatement();
2593
2594 /**
2595 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl <em>Boolean Value</em>}' class.
2596 * <!-- begin-user-doc -->
2597 * <!-- end-user-doc -->
2598 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanValueImpl
2599 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanValue()
2600 * @generated
2601 */
2602 EClass BOOLEAN_VALUE = eINSTANCE.getBooleanValue();
2603
2604 /**
2605 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl <em>Truth Value</em>}' class.
2606 * <!-- begin-user-doc -->
2607 * <!-- end-user-doc -->
2608 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TruthValueImpl
2609 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTruthValue()
2610 * @generated
2611 */
2612 EClass TRUTH_VALUE = eINSTANCE.getTruthValue();
2613
2614 /**
2615 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl <em>Interpretation</em>}' class.
2616 * <!-- begin-user-doc -->
2617 * <!-- end-user-doc -->
2618 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InterpretationImpl
2619 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterpretation()
2620 * @generated
2621 */
2622 EClass INTERPRETATION = eINSTANCE.getInterpretation();
2623
2624 /**
2625 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl <em>Basic Interpretation</em>}' class.
2626 * <!-- begin-user-doc -->
2627 * <!-- end-user-doc -->
2628 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl
2629 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBasicInterpretation()
2630 * @generated
2631 */
2632 EClass BASIC_INTERPRETATION = eINSTANCE.getBasicInterpretation();
2633
2634 /**
2635 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature.
2636 * <!-- begin-user-doc -->
2637 * <!-- end-user-doc -->
2638 * @generated
2639 */
2640 EReference BASIC_INTERPRETATION__SYMBOL = eINSTANCE.getBasicInterpretation_Symbol();
2641
2642 /**
2643 * The meta object literal for the '<em><b>Objects</b></em>' containment reference list feature.
2644 * <!-- begin-user-doc -->
2645 * <!-- end-user-doc -->
2646 * @generated
2647 */
2648 EReference BASIC_INTERPRETATION__OBJECTS = eINSTANCE.getBasicInterpretation_Objects();
2649
2650 /**
2651 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
2652 * <!-- begin-user-doc -->
2653 * <!-- end-user-doc -->
2654 * @generated
2655 */
2656 EReference BASIC_INTERPRETATION__VALUE = eINSTANCE.getBasicInterpretation_Value();
2657
2658 /**
2659 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl <em>Symbol</em>}' class.
2660 * <!-- begin-user-doc -->
2661 * <!-- end-user-doc -->
2662 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SymbolImpl
2663 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSymbol()
2664 * @generated
2665 */
2666 EClass SYMBOL = eINSTANCE.getSymbol();
2667
2668 /**
2669 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl <em>Model Symbol</em>}' class.
2670 * <!-- begin-user-doc -->
2671 * <!-- end-user-doc -->
2672 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl
2673 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getModelSymbol()
2674 * @generated
2675 */
2676 EClass MODEL_SYMBOL = eINSTANCE.getModelSymbol();
2677
2678 /**
2679 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
2680 * <!-- begin-user-doc -->
2681 * <!-- end-user-doc -->
2682 * @generated
2683 */
2684 EAttribute MODEL_SYMBOL__NAME = eINSTANCE.getModelSymbol_Name();
2685
2686 /**
2687 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl <em>Partiality Symbol</em>}' class.
2688 * <!-- begin-user-doc -->
2689 * <!-- end-user-doc -->
2690 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PartialitySymbolImpl
2691 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPartialitySymbol()
2692 * @generated
2693 */
2694 EClass PARTIALITY_SYMBOL = eINSTANCE.getPartialitySymbol();
2695
2696 /**
2697 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl <em>Exist Symbol</em>}' class.
2698 * <!-- begin-user-doc -->
2699 * <!-- end-user-doc -->
2700 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExistSymbolImpl
2701 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExistSymbol()
2702 * @generated
2703 */
2704 EClass EXIST_SYMBOL = eINSTANCE.getExistSymbol();
2705
2706 /**
2707 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl <em>Equals Symbol</em>}' class.
2708 * <!-- begin-user-doc -->
2709 * <!-- end-user-doc -->
2710 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EqualsSymbolImpl
2711 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEqualsSymbol()
2712 * @generated
2713 */
2714 EClass EQUALS_SYMBOL = eINSTANCE.getEqualsSymbol();
2715
2716 /**
2717 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl <em>Data Symbol</em>}' class.
2718 * <!-- begin-user-doc -->
2719 * <!-- end-user-doc -->
2720 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataSymbolImpl
2721 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataSymbol()
2722 * @generated
2723 */
2724 EClass DATA_SYMBOL = eINSTANCE.getDataSymbol();
2725
2726 /**
2727 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl <em>Boolean Symbol</em>}' class.
2728 * <!-- begin-user-doc -->
2729 * <!-- end-user-doc -->
2730 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanSymbolImpl
2731 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanSymbol()
2732 * @generated
2733 */
2734 EClass BOOLEAN_SYMBOL = eINSTANCE.getBooleanSymbol();
2735
2736 /**
2737 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl <em>Integer Symbol</em>}' class.
2738 * <!-- begin-user-doc -->
2739 * <!-- end-user-doc -->
2740 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntegerSymbolImpl
2741 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntegerSymbol()
2742 * @generated
2743 */
2744 EClass INTEGER_SYMBOL = eINSTANCE.getIntegerSymbol();
2745
2746 /**
2747 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl <em>Real Symbol</em>}' class.
2748 * <!-- begin-user-doc -->
2749 * <!-- end-user-doc -->
2750 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealSymbolImpl
2751 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealSymbol()
2752 * @generated
2753 */
2754 EClass REAL_SYMBOL = eINSTANCE.getRealSymbol();
2755
2756 /**
2757 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl <em>String Symbol</em>}' class.
2758 * <!-- begin-user-doc -->
2759 * <!-- end-user-doc -->
2760 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringSymbolImpl
2761 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringSymbol()
2762 * @generated
2763 */
2764 EClass STRING_SYMBOL = eINSTANCE.getStringSymbol();
2765
2766 /**
2767 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl <em>Complex Object</em>}' class.
2768 * <!-- begin-user-doc -->
2769 * <!-- end-user-doc -->
2770 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComplexObjectImpl
2771 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComplexObject()
2772 * @generated
2773 */
2774 EClass COMPLEX_OBJECT = eINSTANCE.getComplexObject();
2775
2776 /**
2777 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl <em>Object</em>}' class.
2778 * <!-- begin-user-doc -->
2779 * <!-- end-user-doc -->
2780 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectImpl
2781 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObject()
2782 * @generated
2783 */
2784 EClass OBJECT = eINSTANCE.getObject();
2785
2786 /**
2787 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl <em>Named Object</em>}' class.
2788 * <!-- begin-user-doc -->
2789 * <!-- end-user-doc -->
2790 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl
2791 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedObject()
2792 * @generated
2793 */
2794 EClass NAMED_OBJECT = eINSTANCE.getNamedObject();
2795
2796 /**
2797 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
2798 * <!-- begin-user-doc -->
2799 * <!-- end-user-doc -->
2800 * @generated
2801 */
2802 EAttribute NAMED_OBJECT__NAME = eINSTANCE.getNamedObject_Name();
2803
2804 /**
2805 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl <em>Unnamed Object</em>}' class.
2806 * <!-- begin-user-doc -->
2807 * <!-- end-user-doc -->
2808 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl
2809 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedObject()
2810 * @generated
2811 */
2812 EClass UNNAMED_OBJECT = eINSTANCE.getUnnamedObject();
2813
2814 /**
2815 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
2816 * <!-- begin-user-doc -->
2817 * <!-- end-user-doc -->
2818 * @generated
2819 */
2820 EAttribute UNNAMED_OBJECT__NAME = eINSTANCE.getUnnamedObject_Name();
2821
2822 /**
2823 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl <em>Data Object</em>}' class.
2824 * <!-- begin-user-doc -->
2825 * <!-- end-user-doc -->
2826 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DataObjectImpl
2827 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDataObject()
2828 * @generated
2829 */
2830 EClass DATA_OBJECT = eINSTANCE.getDataObject();
2831
2832 /**
2833 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl <em>Boolean Object</em>}' class.
2834 * <!-- begin-user-doc -->
2835 * <!-- end-user-doc -->
2836 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl
2837 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanObject()
2838 * @generated
2839 */
2840 EClass BOOLEAN_OBJECT = eINSTANCE.getBooleanObject();
2841
2842 /**
2843 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
2844 * <!-- begin-user-doc -->
2845 * <!-- end-user-doc -->
2846 * @generated
2847 */
2848 EReference BOOLEAN_OBJECT__VALUE = eINSTANCE.getBooleanObject_Value();
2849
2850 /**
2851 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl <em>Int Object</em>}' class.
2852 * <!-- begin-user-doc -->
2853 * <!-- end-user-doc -->
2854 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl
2855 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIntObject()
2856 * @generated
2857 */
2858 EClass INT_OBJECT = eINSTANCE.getIntObject();
2859
2860 /**
2861 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
2862 * <!-- begin-user-doc -->
2863 * <!-- end-user-doc -->
2864 * @generated
2865 */
2866 EAttribute INT_OBJECT__VALUE = eINSTANCE.getIntObject_Value();
2867
2868 /**
2869 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl <em>Real Object</em>}' class.
2870 * <!-- begin-user-doc -->
2871 * <!-- end-user-doc -->
2872 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl
2873 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getRealObject()
2874 * @generated
2875 */
2876 EClass REAL_OBJECT = eINSTANCE.getRealObject();
2877
2878 /**
2879 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
2880 * <!-- begin-user-doc -->
2881 * <!-- end-user-doc -->
2882 * @generated
2883 */
2884 EAttribute REAL_OBJECT__VALUE = eINSTANCE.getRealObject_Value();
2885
2886 /**
2887 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl <em>String Object</em>}' class.
2888 * <!-- begin-user-doc -->
2889 * <!-- end-user-doc -->
2890 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl
2891 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringObject()
2892 * @generated
2893 */
2894 EClass STRING_OBJECT = eINSTANCE.getStringObject();
2895
2896 /**
2897 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
2898 * <!-- begin-user-doc -->
2899 * <!-- end-user-doc -->
2900 * @generated
2901 */
2902 EAttribute STRING_OBJECT__VALUE = eINSTANCE.getStringObject_Value();
2903
2904 /**
2905 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl <em>Predicate</em>}' class.
2906 * <!-- begin-user-doc -->
2907 * <!-- end-user-doc -->
2908 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl
2909 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicate()
2910 * @generated
2911 */
2912 EClass PREDICATE = eINSTANCE.getPredicate();
2913
2914 /**
2915 * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature.
2916 * <!-- begin-user-doc -->
2917 * <!-- end-user-doc -->
2918 * @generated
2919 */
2920 EReference PREDICATE__PARAMETERS = eINSTANCE.getPredicate_Parameters();
2921
2922 /**
2923 * The meta object literal for the '<em><b>Bodies</b></em>' containment reference list feature.
2924 * <!-- begin-user-doc -->
2925 * <!-- end-user-doc -->
2926 * @generated
2927 */
2928 EReference PREDICATE__BODIES = eINSTANCE.getPredicate_Bodies();
2929
2930 /**
2931 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateSymbolImpl <em>Predicate Symbol</em>}' class.
2932 * <!-- begin-user-doc -->
2933 * <!-- end-user-doc -->
2934 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateSymbolImpl
2935 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateSymbol()
2936 * @generated
2937 */
2938 EClass PREDICATE_SYMBOL = eINSTANCE.getPredicateSymbol();
2939
2940 /**
2941 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature.
2942 * <!-- begin-user-doc -->
2943 * <!-- end-user-doc -->
2944 * @generated
2945 */
2946 EReference PREDICATE_SYMBOL__SYMBOL = eINSTANCE.getPredicateSymbol_Symbol();
2947
2948 /**
2949 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorPredicateImpl <em>Error Predicate</em>}' class.
2950 * <!-- begin-user-doc -->
2951 * <!-- end-user-doc -->
2952 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorPredicateImpl
2953 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getErrorPredicate()
2954 * @generated
2955 */
2956 EClass ERROR_PREDICATE = eINSTANCE.getErrorPredicate();
2957
2958 /**
2959 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
2960 * <!-- begin-user-doc -->
2961 * <!-- end-user-doc -->
2962 * @generated
2963 */
2964 EAttribute ERROR_PREDICATE__NAME = eINSTANCE.getErrorPredicate_Name();
2965
2966 /**
2967 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl <em>Parameter</em>}' class.
2968 * <!-- begin-user-doc -->
2969 * <!-- end-user-doc -->
2970 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl
2971 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getParameter()
2972 * @generated
2973 */
2974 EClass PARAMETER = eINSTANCE.getParameter();
2975
2976 /**
2977 * The meta object literal for the '<em><b>Variable</b></em>' containment reference feature.
2978 * <!-- begin-user-doc -->
2979 * <!-- end-user-doc -->
2980 * @generated
2981 */
2982 EReference PARAMETER__VARIABLE = eINSTANCE.getParameter_Variable();
2983
2984 /**
2985 * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
2986 * <!-- begin-user-doc -->
2987 * <!-- end-user-doc -->
2988 * @generated
2989 */
2990 EReference PARAMETER__TYPE = eINSTANCE.getParameter_Type();
2991
2992 /**
2993 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl <em>Pattern Body</em>}' class.
2994 * <!-- begin-user-doc -->
2995 * <!-- end-user-doc -->
2996 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl
2997 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPatternBody()
2998 * @generated
2999 */
3000 EClass PATTERN_BODY = eINSTANCE.getPatternBody();
3001
3002 /**
3003 * The meta object literal for the '<em><b>Constraints</b></em>' containment reference list feature.
3004 * <!-- begin-user-doc -->
3005 * <!-- end-user-doc -->
3006 * @generated
3007 */
3008 EReference PATTERN_BODY__CONSTRAINTS = eINSTANCE.getPatternBody_Constraints();
3009
3010 /**
3011 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl <em>Polarity</em>}' class.
3012 * <!-- begin-user-doc -->
3013 * <!-- end-user-doc -->
3014 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PolarityImpl
3015 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPolarity()
3016 * @generated
3017 */
3018 EClass POLARITY = eINSTANCE.getPolarity();
3019
3020 /**
3021 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl <em>Constraint</em>}' class.
3022 * <!-- begin-user-doc -->
3023 * <!-- end-user-doc -->
3024 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl
3025 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConstraint()
3026 * @generated
3027 */
3028 EClass CONSTRAINT = eINSTANCE.getConstraint();
3029
3030 /**
3031 * The meta object literal for the '<em><b>Polarity</b></em>' containment reference feature.
3032 * <!-- begin-user-doc -->
3033 * <!-- end-user-doc -->
3034 * @generated
3035 */
3036 EReference CONSTRAINT__POLARITY = eINSTANCE.getConstraint_Polarity();
3037
3038 /**
3039 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature.
3040 * <!-- begin-user-doc -->
3041 * <!-- end-user-doc -->
3042 * @generated
3043 */
3044 EReference CONSTRAINT__SYMBOL = eINSTANCE.getConstraint_Symbol();
3045
3046 /**
3047 * The meta object literal for the '<em><b>Params</b></em>' containment reference list feature.
3048 * <!-- begin-user-doc -->
3049 * <!-- end-user-doc -->
3050 * @generated
3051 */
3052 EReference CONSTRAINT__PARAMS = eINSTANCE.getConstraint_Params();
3053
3054 /**
3055 * The meta object literal for the '<em><b>Closure Type</b></em>' containment reference feature.
3056 * <!-- begin-user-doc -->
3057 * <!-- end-user-doc -->
3058 * @generated
3059 */
3060 EReference CONSTRAINT__CLOSURE_TYPE = eINSTANCE.getConstraint_ClosureType();
3061
3062 /**
3063 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl <em>Closure Type</em>}' class.
3064 * <!-- begin-user-doc -->
3065 * <!-- end-user-doc -->
3066 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClosureTypeImpl
3067 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClosureType()
3068 * @generated
3069 */
3070 EClass CLOSURE_TYPE = eINSTANCE.getClosureType();
3071
3072 /**
3073 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class.
3074 * <!-- begin-user-doc -->
3075 * <!-- end-user-doc -->
3076 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl
3077 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral()
3078 * @generated
3079 */
3080 EClass LITERAL = eINSTANCE.getLiteral();
3081
3082 /**
3083 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl <em>Variable</em>}' class.
3084 * <!-- begin-user-doc -->
3085 * <!-- end-user-doc -->
3086 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl
3087 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable()
3088 * @generated
3089 */
3090 EClass VARIABLE = eINSTANCE.getVariable();
3091
3092 /**
3093 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
3094 * <!-- begin-user-doc -->
3095 * <!-- end-user-doc -->
3096 * @generated
3097 */
3098 EAttribute VARIABLE__NAME = eINSTANCE.getVariable_Name();
3099
3100 /**
3101 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl <em>All Instances</em>}' class.
3102 * <!-- begin-user-doc -->
3103 * <!-- end-user-doc -->
3104 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl
3105 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllInstances()
3106 * @generated
3107 */
3108 EClass ALL_INSTANCES = eINSTANCE.getAllInstances();
3109
3110 /**
3111 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature.
3112 * <!-- begin-user-doc -->
3113 * <!-- end-user-doc -->
3114 * @generated
3115 */
3116 EReference ALL_INSTANCES__SYMBOL = eINSTANCE.getAllInstances_Symbol();
3117
3118 /**
3119 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl <em>All Objects</em>}' class.
3120 * <!-- begin-user-doc -->
3121 * <!-- end-user-doc -->
3122 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AllObjectsImpl
3123 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllObjects()
3124 * @generated
3125 */
3126 EClass ALL_OBJECTS = eINSTANCE.getAllObjects();
3127
3128 /**
3129 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl <em>Default Interpretation</em>}' class.
3130 * <!-- begin-user-doc -->
3131 * <!-- end-user-doc -->
3132 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl
3133 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultInterpretation()
3134 * @generated
3135 */
3136 EClass DEFAULT_INTERPRETATION = eINSTANCE.getDefaultInterpretation();
3137
3138 /**
3139 * The meta object literal for the '<em><b>Interpretation</b></em>' containment reference feature.
3140 * <!-- begin-user-doc -->
3141 * <!-- end-user-doc -->
3142 * @generated
3143 */
3144 EReference DEFAULT_INTERPRETATION__INTERPRETATION = eINSTANCE.getDefaultInterpretation_Interpretation();
3145
3146 /**
3147 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl <em>CD Interpretation</em>}' class.
3148 * <!-- begin-user-doc -->
3149 * <!-- end-user-doc -->
3150 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CDInterpretationImpl
3151 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCDInterpretation()
3152 * @generated
3153 */
3154 EClass CD_INTERPRETATION = eINSTANCE.getCDInterpretation();
3155
3156 /**
3157 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl <em>Class Interpretation</em>}' class.
3158 * <!-- begin-user-doc -->
3159 * <!-- end-user-doc -->
3160 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl
3161 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassInterpretation()
3162 * @generated
3163 */
3164 EClass CLASS_INTERPRETATION = eINSTANCE.getClassInterpretation();
3165
3166 /**
3167 * The meta object literal for the '<em><b>Abstract</b></em>' attribute feature.
3168 * <!-- begin-user-doc -->
3169 * <!-- end-user-doc -->
3170 * @generated
3171 */
3172 EAttribute CLASS_INTERPRETATION__ABSTRACT = eINSTANCE.getClassInterpretation_Abstract();
3173
3174 /**
3175 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature.
3176 * <!-- begin-user-doc -->
3177 * <!-- end-user-doc -->
3178 * @generated
3179 */
3180 EReference CLASS_INTERPRETATION__SYMBOL = eINSTANCE.getClassInterpretation_Symbol();
3181
3182 /**
3183 * The meta object literal for the '<em><b>Supertypes</b></em>' containment reference list feature.
3184 * <!-- begin-user-doc -->
3185 * <!-- end-user-doc -->
3186 * @generated
3187 */
3188 EReference CLASS_INTERPRETATION__SUPERTYPES = eINSTANCE.getClassInterpretation_Supertypes();
3189
3190 /**
3191 * The meta object literal for the '<em><b>Fielt</b></em>' containment reference list feature.
3192 * <!-- begin-user-doc -->
3193 * <!-- end-user-doc -->
3194 * @generated
3195 */
3196 EReference CLASS_INTERPRETATION__FIELT = eINSTANCE.getClassInterpretation_Fielt();
3197
3198 /**
3199 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl <em>Enum Interpretation</em>}' class.
3200 * <!-- begin-user-doc -->
3201 * <!-- end-user-doc -->
3202 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl
3203 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEnumInterpretation()
3204 * @generated
3205 */
3206 EClass ENUM_INTERPRETATION = eINSTANCE.getEnumInterpretation();
3207
3208 /**
3209 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature.
3210 * <!-- begin-user-doc -->
3211 * <!-- end-user-doc -->
3212 * @generated
3213 */
3214 EReference ENUM_INTERPRETATION__SYMBOL = eINSTANCE.getEnumInterpretation_Symbol();
3215
3216 /**
3217 * The meta object literal for the '<em><b>Objects</b></em>' containment reference list feature.
3218 * <!-- begin-user-doc -->
3219 * <!-- end-user-doc -->
3220 * @generated
3221 */
3222 EReference ENUM_INTERPRETATION__OBJECTS = eINSTANCE.getEnumInterpretation_Objects();
3223
3224 /**
3225 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl <em>Field Relation Interpretation</em>}' class.
3226 * <!-- begin-user-doc -->
3227 * <!-- end-user-doc -->
3228 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl
3229 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFieldRelationInterpretation()
3230 * @generated
3231 */
3232 EClass FIELD_RELATION_INTERPRETATION = eINSTANCE.getFieldRelationInterpretation();
3233
3234 /**
3235 * The meta object literal for the '<em><b>Containment</b></em>' attribute feature.
3236 * <!-- begin-user-doc -->
3237 * <!-- end-user-doc -->
3238 * @generated
3239 */
3240 EAttribute FIELD_RELATION_INTERPRETATION__CONTAINMENT = eINSTANCE.getFieldRelationInterpretation_Containment();
3241
3242 /**
3243 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature.
3244 * <!-- begin-user-doc -->
3245 * <!-- end-user-doc -->
3246 * @generated
3247 */
3248 EReference FIELD_RELATION_INTERPRETATION__SYMBOL = eINSTANCE.getFieldRelationInterpretation_Symbol();
3249
3250 /**
3251 * The meta object literal for the '<em><b>Multiplicity</b></em>' containment reference feature.
3252 * <!-- begin-user-doc -->
3253 * <!-- end-user-doc -->
3254 * @generated
3255 */
3256 EReference FIELD_RELATION_INTERPRETATION__MULTIPLICITY = eINSTANCE.getFieldRelationInterpretation_Multiplicity();
3257
3258 /**
3259 * The meta object literal for the '<em><b>Target</b></em>' containment reference feature.
3260 * <!-- begin-user-doc -->
3261 * <!-- end-user-doc -->
3262 * @generated
3263 */
3264 EReference FIELD_RELATION_INTERPRETATION__TARGET = eINSTANCE.getFieldRelationInterpretation_Target();
3265
3266 /**
3267 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl <em>Global Relation Interpretation</em>}' class.
3268 * <!-- begin-user-doc -->
3269 * <!-- end-user-doc -->
3270 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl
3271 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getGlobalRelationInterpretation()
3272 * @generated
3273 */
3274 EClass GLOBAL_RELATION_INTERPRETATION = eINSTANCE.getGlobalRelationInterpretation();
3275
3276 /**
3277 * The meta object literal for the '<em><b>Containment</b></em>' attribute feature.
3278 * <!-- begin-user-doc -->
3279 * <!-- end-user-doc -->
3280 * @generated
3281 */
3282 EAttribute GLOBAL_RELATION_INTERPRETATION__CONTAINMENT = eINSTANCE.getGlobalRelationInterpretation_Containment();
3283
3284 /**
3285 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature.
3286 * <!-- begin-user-doc -->
3287 * <!-- end-user-doc -->
3288 * @generated
3289 */
3290 EReference GLOBAL_RELATION_INTERPRETATION__SYMBOL = eINSTANCE.getGlobalRelationInterpretation_Symbol();
3291
3292 /**
3293 * The meta object literal for the '<em><b>Source Multiplicity</b></em>' containment reference feature.
3294 * <!-- begin-user-doc -->
3295 * <!-- end-user-doc -->
3296 * @generated
3297 */
3298 EReference GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY = eINSTANCE.getGlobalRelationInterpretation_SourceMultiplicity();
3299
3300 /**
3301 * The meta object literal for the '<em><b>Source</b></em>' containment reference feature.
3302 * <!-- begin-user-doc -->
3303 * <!-- end-user-doc -->
3304 * @generated
3305 */
3306 EReference GLOBAL_RELATION_INTERPRETATION__SOURCE = eINSTANCE.getGlobalRelationInterpretation_Source();
3307
3308 /**
3309 * The meta object literal for the '<em><b>Target Multiplicity</b></em>' containment reference feature.
3310 * <!-- begin-user-doc -->
3311 * <!-- end-user-doc -->
3312 * @generated
3313 */
3314 EReference GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY = eINSTANCE.getGlobalRelationInterpretation_TargetMultiplicity();
3315
3316 /**
3317 * The meta object literal for the '<em><b>Target</b></em>' containment reference feature.
3318 * <!-- begin-user-doc -->
3319 * <!-- end-user-doc -->
3320 * @generated
3321 */
3322 EReference GLOBAL_RELATION_INTERPRETATION__TARGET = eINSTANCE.getGlobalRelationInterpretation_Target();
3323
3324 /**
3325 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl <em>Multiplicity Definition</em>}' class.
3326 * <!-- begin-user-doc -->
3327 * <!-- end-user-doc -->
3328 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl
3329 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicityDefinition()
3330 * @generated
3331 */
3332 EClass MULTIPLICITY_DEFINITION = eINSTANCE.getMultiplicityDefinition();
3333
3334 /**
3335 * The meta object literal for the '<em><b>Lower</b></em>' attribute feature.
3336 * <!-- begin-user-doc -->
3337 * <!-- end-user-doc -->
3338 * @generated
3339 */
3340 EAttribute MULTIPLICITY_DEFINITION__LOWER = eINSTANCE.getMultiplicityDefinition_Lower();
3341
3342 /**
3343 * The meta object literal for the '<em><b>Upper</b></em>' attribute feature.
3344 * <!-- begin-user-doc -->
3345 * <!-- end-user-doc -->
3346 * @generated
3347 */
3348 EAttribute MULTIPLICITY_DEFINITION__UPPER = eINSTANCE.getMultiplicityDefinition_Upper();
3349
3350 /**
3351 * The meta object literal for the '<em><b>Unlimited Upper</b></em>' attribute feature.
3352 * <!-- begin-user-doc -->
3353 * <!-- end-user-doc -->
3354 * @generated
3355 */
3356 EAttribute MULTIPLICITY_DEFINITION__UNLIMITED_UPPER = eINSTANCE.getMultiplicityDefinition_UnlimitedUpper();
3357
3358 /**
3359 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl <em>Boolean True</em>}' class.
3360 * <!-- begin-user-doc -->
3361 * <!-- end-user-doc -->
3362 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanTrueImpl
3363 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanTrue()
3364 * @generated
3365 */
3366 EClass BOOLEAN_TRUE = eINSTANCE.getBooleanTrue();
3367
3368 /**
3369 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl <em>Boolean False</em>}' class.
3370 * <!-- begin-user-doc -->
3371 * <!-- end-user-doc -->
3372 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanFalseImpl
3373 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanFalse()
3374 * @generated
3375 */
3376 EClass BOOLEAN_FALSE = eINSTANCE.getBooleanFalse();
3377
3378 /**
3379 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl <em>True</em>}' class.
3380 * <!-- begin-user-doc -->
3381 * <!-- end-user-doc -->
3382 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TrueImpl
3383 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTrue()
3384 * @generated
3385 */
3386 EClass TRUE = eINSTANCE.getTrue();
3387
3388 /**
3389 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl <em>False</em>}' class.
3390 * <!-- begin-user-doc -->
3391 * <!-- end-user-doc -->
3392 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.FalseImpl
3393 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFalse()
3394 * @generated
3395 */
3396 EClass FALSE = eINSTANCE.getFalse();
3397
3398 /**
3399 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl <em>Unknown</em>}' class.
3400 * <!-- begin-user-doc -->
3401 * <!-- end-user-doc -->
3402 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnknownImpl
3403 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnknown()
3404 * @generated
3405 */
3406 EClass UNKNOWN = eINSTANCE.getUnknown();
3407
3408 /**
3409 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl <em>Error</em>}' class.
3410 * <!-- begin-user-doc -->
3411 * <!-- end-user-doc -->
3412 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorImpl
3413 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getError()
3414 * @generated
3415 */
3416 EClass ERROR = eINSTANCE.getError();
3417
3418 /**
3419 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl <em>Positive</em>}' class.
3420 * <!-- begin-user-doc -->
3421 * <!-- end-user-doc -->
3422 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PositiveImpl
3423 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPositive()
3424 * @generated
3425 */
3426 EClass POSITIVE = eINSTANCE.getPositive();
3427
3428 /**
3429 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl <em>Negative</em>}' class.
3430 * <!-- begin-user-doc -->
3431 * <!-- end-user-doc -->
3432 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NegativeImpl
3433 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNegative()
3434 * @generated
3435 */
3436 EClass NEGATIVE = eINSTANCE.getNegative();
3437
3438 /**
3439 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl <em>Reflexive Closure</em>}' class.
3440 * <!-- begin-user-doc -->
3441 * <!-- end-user-doc -->
3442 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReflexiveClosureImpl
3443 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReflexiveClosure()
3444 * @generated
3445 */
3446 EClass REFLEXIVE_CLOSURE = eINSTANCE.getReflexiveClosure();
3447
3448 /**
3449 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl <em>Irreflexive Closure</em>}' class.
3450 * <!-- begin-user-doc -->
3451 * <!-- end-user-doc -->
3452 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IrreflexiveClosureImpl
3453 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIrreflexiveClosure()
3454 * @generated
3455 */
3456 EClass IRREFLEXIVE_CLOSURE = eINSTANCE.getIrreflexiveClosure();
3457
3458 }
3459
3460} //SolverLanguagePackage
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java
new file mode 100644
index 00000000..f3da8f9c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java
@@ -0,0 +1,20 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Statement</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement()
15 * @model
16 * @generated
17 */
18public interface Statement extends EObject
19{
20} // Statement
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringObject.java
new file mode 100644
index 00000000..d1d3ee6d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringObject.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>String Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue <em>Value</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringObject()
20 * @model
21 * @generated
22 */
23public interface StringObject extends DataObject
24{
25 /**
26 * Returns the value of the '<em><b>Value</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Value</em>' attribute.
30 * @see #setValue(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringObject_Value()
32 * @model
33 * @generated
34 */
35 String getValue();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject#getValue <em>Value</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Value</em>' attribute.
42 * @see #getValue()
43 * @generated
44 */
45 void setValue(String value);
46
47} // StringObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringSymbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringSymbol.java
new file mode 100644
index 00000000..f3d6d8ee
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringSymbol.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>String Symbol</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringSymbol()
14 * @model
15 * @generated
16 */
17public interface StringSymbol extends DataSymbol
18{
19} // StringSymbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Symbol.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Symbol.java
new file mode 100644
index 00000000..dcf2a01a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Symbol.java
@@ -0,0 +1,20 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Symbol</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSymbol()
15 * @model
16 * @generated
17 */
18public interface Symbol extends EObject
19{
20} // Symbol
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/True.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/True.java
new file mode 100644
index 00000000..d125d86a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/True.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>True</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTrue()
14 * @model
15 * @generated
16 */
17public interface True extends TruthValue
18{
19} // True
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TruthValue.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TruthValue.java
new file mode 100644
index 00000000..48e2b8e8
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TruthValue.java
@@ -0,0 +1,20 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Truth Value</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTruthValue()
15 * @model
16 * @generated
17 */
18public interface TruthValue extends EObject
19{
20} // TruthValue
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Unknown.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Unknown.java
new file mode 100644
index 00000000..496f433a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Unknown.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Unknown</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnknown()
14 * @model
15 * @generated
16 */
17public interface Unknown extends TruthValue
18{
19} // Unknown
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedObject.java
new file mode 100644
index 00000000..152ee782
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedObject.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Unnamed Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedObject()
20 * @model
21 * @generated
22 */
23public interface UnnamedObject extends org.eclipse.viatra.solver.language.solverLanguage.Object
24{
25 /**
26 * Returns the value of the '<em><b>Name</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Name</em>' attribute.
30 * @see #setName(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedObject_Name()
32 * @model
33 * @generated
34 */
35 String getName();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject#getName <em>Name</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Name</em>' attribute.
42 * @see #getName()
43 * @generated
44 */
45 void setName(String value);
46
47} // UnnamedObject
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java
new file mode 100644
index 00000000..2f915fa7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Variable.java
@@ -0,0 +1,47 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Variable</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getVariable()
20 * @model
21 * @generated
22 */
23public interface Variable extends Literal
24{
25 /**
26 * Returns the value of the '<em><b>Name</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Name</em>' attribute.
30 * @see #setName(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getVariable_Name()
32 * @model
33 * @generated
34 */
35 String getName();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable#getName <em>Name</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Name</em>' attribute.
42 * @see #getName()
43 * @generated
44 */
45 void setName(String value);
46
47} // Variable
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllInstancesImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllInstancesImpl.java
new file mode 100644
index 00000000..5da3bf30
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllInstancesImpl.java
@@ -0,0 +1,196 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.AllInstances;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>All Instances</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AllInstancesImpl#getSymbol <em>Symbol</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class AllInstancesImpl extends ComplexObjectImpl implements AllInstances
32{
33 /**
34 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getSymbol()
38 * @generated
39 * @ordered
40 */
41 protected Symbol symbol;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 protected AllInstancesImpl()
49 {
50 super();
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 @Override
59 protected EClass eStaticClass()
60 {
61 return SolverLanguagePackage.Literals.ALL_INSTANCES;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 public Symbol getSymbol()
71 {
72 return symbol;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public NotificationChain basicSetSymbol(Symbol newSymbol, NotificationChain msgs)
81 {
82 Symbol oldSymbol = symbol;
83 symbol = newSymbol;
84 if (eNotificationRequired())
85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ALL_INSTANCES__SYMBOL, oldSymbol, newSymbol);
87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 }
89 return msgs;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public void setSymbol(Symbol newSymbol)
99 {
100 if (newSymbol != symbol)
101 {
102 NotificationChain msgs = null;
103 if (symbol != null)
104 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ALL_INSTANCES__SYMBOL, null, msgs);
105 if (newSymbol != null)
106 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ALL_INSTANCES__SYMBOL, null, msgs);
107 msgs = basicSetSymbol(newSymbol, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ALL_INSTANCES__SYMBOL, newSymbol, newSymbol));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
121 {
122 switch (featureID)
123 {
124 case SolverLanguagePackage.ALL_INSTANCES__SYMBOL:
125 return basicSetSymbol(null, msgs);
126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public Object eGet(int featureID, boolean resolve, boolean coreType)
137 {
138 switch (featureID)
139 {
140 case SolverLanguagePackage.ALL_INSTANCES__SYMBOL:
141 return getSymbol();
142 }
143 return super.eGet(featureID, resolve, coreType);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void eSet(int featureID, Object newValue)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.ALL_INSTANCES__SYMBOL:
157 setSymbol((Symbol)newValue);
158 return;
159 }
160 super.eSet(featureID, newValue);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void eUnset(int featureID)
170 {
171 switch (featureID)
172 {
173 case SolverLanguagePackage.ALL_INSTANCES__SYMBOL:
174 setSymbol((Symbol)null);
175 return;
176 }
177 super.eUnset(featureID);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public boolean eIsSet(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.ALL_INSTANCES__SYMBOL:
191 return symbol != null;
192 }
193 return super.eIsSet(featureID);
194 }
195
196} //AllInstancesImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllObjectsImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllObjectsImpl.java
new file mode 100644
index 00000000..b1e9c3d0
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AllObjectsImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.AllObjects;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>All Objects</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class AllObjectsImpl extends ComplexObjectImpl implements AllObjects
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected AllObjectsImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.ALL_OBJECTS;
39 }
40
41} //AllObjectsImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BasicInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BasicInterpretationImpl.java
new file mode 100644
index 00000000..aef515f6
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BasicInterpretationImpl.java
@@ -0,0 +1,318 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.common.util.EList;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation;
22import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
23import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
24import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
25import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Basic Interpretation</b></em>'.
30 * <!-- end-user-doc -->
31 * <p>
32 * The following features are implemented:
33 * </p>
34 * <ul>
35 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl#getSymbol <em>Symbol</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl#getObjects <em>Objects</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BasicInterpretationImpl#getValue <em>Value</em>}</li>
38 * </ul>
39 *
40 * @generated
41 */
42public class BasicInterpretationImpl extends InterpretationImpl implements BasicInterpretation
43{
44 /**
45 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getSymbol()
49 * @generated
50 * @ordered
51 */
52 protected Symbol symbol;
53
54 /**
55 * The cached value of the '{@link #getObjects() <em>Objects</em>}' containment reference list.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #getObjects()
59 * @generated
60 * @ordered
61 */
62 protected EList<ComplexObject> objects;
63
64 /**
65 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see #getValue()
69 * @generated
70 * @ordered
71 */
72 protected TruthValue value;
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 protected BasicInterpretationImpl()
80 {
81 super();
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 protected EClass eStaticClass()
91 {
92 return SolverLanguagePackage.Literals.BASIC_INTERPRETATION;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 @Override
101 public Symbol getSymbol()
102 {
103 return symbol;
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 public NotificationChain basicSetSymbol(Symbol newSymbol, NotificationChain msgs)
112 {
113 Symbol oldSymbol = symbol;
114 symbol = newSymbol;
115 if (eNotificationRequired())
116 {
117 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, oldSymbol, newSymbol);
118 if (msgs == null) msgs = notification; else msgs.add(notification);
119 }
120 return msgs;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public void setSymbol(Symbol newSymbol)
130 {
131 if (newSymbol != symbol)
132 {
133 NotificationChain msgs = null;
134 if (symbol != null)
135 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, null, msgs);
136 if (newSymbol != null)
137 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, null, msgs);
138 msgs = basicSetSymbol(newSymbol, msgs);
139 if (msgs != null) msgs.dispatch();
140 }
141 else if (eNotificationRequired())
142 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL, newSymbol, newSymbol));
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public EList<ComplexObject> getObjects()
152 {
153 if (objects == null)
154 {
155 objects = new EObjectContainmentEList<ComplexObject>(ComplexObject.class, this, SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS);
156 }
157 return objects;
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 public TruthValue getValue()
167 {
168 return value;
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 public NotificationChain basicSetValue(TruthValue newValue, NotificationChain msgs)
177 {
178 TruthValue oldValue = value;
179 value = newValue;
180 if (eNotificationRequired())
181 {
182 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, oldValue, newValue);
183 if (msgs == null) msgs = notification; else msgs.add(notification);
184 }
185 return msgs;
186 }
187
188 /**
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 */
193 @Override
194 public void setValue(TruthValue newValue)
195 {
196 if (newValue != value)
197 {
198 NotificationChain msgs = null;
199 if (value != null)
200 msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, null, msgs);
201 if (newValue != null)
202 msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, null, msgs);
203 msgs = basicSetValue(newValue, msgs);
204 if (msgs != null) msgs.dispatch();
205 }
206 else if (eNotificationRequired())
207 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BASIC_INTERPRETATION__VALUE, newValue, newValue));
208 }
209
210 /**
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 */
215 @Override
216 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
217 {
218 switch (featureID)
219 {
220 case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL:
221 return basicSetSymbol(null, msgs);
222 case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS:
223 return ((InternalEList<?>)getObjects()).basicRemove(otherEnd, msgs);
224 case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE:
225 return basicSetValue(null, msgs);
226 }
227 return super.eInverseRemove(otherEnd, featureID, msgs);
228 }
229
230 /**
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @generated
234 */
235 @Override
236 public Object eGet(int featureID, boolean resolve, boolean coreType)
237 {
238 switch (featureID)
239 {
240 case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL:
241 return getSymbol();
242 case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS:
243 return getObjects();
244 case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE:
245 return getValue();
246 }
247 return super.eGet(featureID, resolve, coreType);
248 }
249
250 /**
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 @SuppressWarnings("unchecked")
256 @Override
257 public void eSet(int featureID, Object newValue)
258 {
259 switch (featureID)
260 {
261 case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL:
262 setSymbol((Symbol)newValue);
263 return;
264 case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS:
265 getObjects().clear();
266 getObjects().addAll((Collection<? extends ComplexObject>)newValue);
267 return;
268 case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE:
269 setValue((TruthValue)newValue);
270 return;
271 }
272 super.eSet(featureID, newValue);
273 }
274
275 /**
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 */
280 @Override
281 public void eUnset(int featureID)
282 {
283 switch (featureID)
284 {
285 case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL:
286 setSymbol((Symbol)null);
287 return;
288 case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS:
289 getObjects().clear();
290 return;
291 case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE:
292 setValue((TruthValue)null);
293 return;
294 }
295 super.eUnset(featureID);
296 }
297
298 /**
299 * <!-- begin-user-doc -->
300 * <!-- end-user-doc -->
301 * @generated
302 */
303 @Override
304 public boolean eIsSet(int featureID)
305 {
306 switch (featureID)
307 {
308 case SolverLanguagePackage.BASIC_INTERPRETATION__SYMBOL:
309 return symbol != null;
310 case SolverLanguagePackage.BASIC_INTERPRETATION__OBJECTS:
311 return objects != null && !objects.isEmpty();
312 case SolverLanguagePackage.BASIC_INTERPRETATION__VALUE:
313 return value != null;
314 }
315 return super.eIsSet(featureID);
316 }
317
318} //BasicInterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanFalseImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanFalseImpl.java
new file mode 100644
index 00000000..ae78f540
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanFalseImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Boolean False</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class BooleanFalseImpl extends BooleanValueImpl implements BooleanFalse
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected BooleanFalseImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.BOOLEAN_FALSE;
39 }
40
41} //BooleanFalseImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanObjectImpl.java
new file mode 100644
index 00000000..cb1a3ff4
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanObjectImpl.java
@@ -0,0 +1,196 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject;
15import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Boolean Object</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BooleanObjectImpl#getValue <em>Value</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class BooleanObjectImpl extends DataObjectImpl implements BooleanObject
32{
33 /**
34 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getValue()
38 * @generated
39 * @ordered
40 */
41 protected BooleanValue value;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 protected BooleanObjectImpl()
49 {
50 super();
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 @Override
59 protected EClass eStaticClass()
60 {
61 return SolverLanguagePackage.Literals.BOOLEAN_OBJECT;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 public BooleanValue getValue()
71 {
72 return value;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public NotificationChain basicSetValue(BooleanValue newValue, NotificationChain msgs)
81 {
82 BooleanValue oldValue = value;
83 value = newValue;
84 if (eNotificationRequired())
85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, oldValue, newValue);
87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 }
89 return msgs;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public void setValue(BooleanValue newValue)
99 {
100 if (newValue != value)
101 {
102 NotificationChain msgs = null;
103 if (value != null)
104 msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, null, msgs);
105 if (newValue != null)
106 msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, null, msgs);
107 msgs = basicSetValue(newValue, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOOLEAN_OBJECT__VALUE, newValue, newValue));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
121 {
122 switch (featureID)
123 {
124 case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE:
125 return basicSetValue(null, msgs);
126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public Object eGet(int featureID, boolean resolve, boolean coreType)
137 {
138 switch (featureID)
139 {
140 case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE:
141 return getValue();
142 }
143 return super.eGet(featureID, resolve, coreType);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void eSet(int featureID, Object newValue)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE:
157 setValue((BooleanValue)newValue);
158 return;
159 }
160 super.eSet(featureID, newValue);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void eUnset(int featureID)
170 {
171 switch (featureID)
172 {
173 case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE:
174 setValue((BooleanValue)null);
175 return;
176 }
177 super.eUnset(featureID);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public boolean eIsSet(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.BOOLEAN_OBJECT__VALUE:
191 return value != null;
192 }
193 return super.eIsSet(featureID);
194 }
195
196} //BooleanObjectImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanSymbolImpl.java
new file mode 100644
index 00000000..49258091
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanSymbolImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Boolean Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class BooleanSymbolImpl extends DataSymbolImpl implements BooleanSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected BooleanSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.BOOLEAN_SYMBOL;
39 }
40
41} //BooleanSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanTrueImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanTrueImpl.java
new file mode 100644
index 00000000..4d110ee9
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanTrueImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Boolean True</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class BooleanTrueImpl extends BooleanValueImpl implements BooleanTrue
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected BooleanTrueImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.BOOLEAN_TRUE;
39 }
40
41} //BooleanTrueImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanValueImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanValueImpl.java
new file mode 100644
index 00000000..b27ab959
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BooleanValueImpl.java
@@ -0,0 +1,43 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Boolean Value</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class BooleanValueImpl extends MinimalEObjectImpl.Container implements BooleanValue
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected BooleanValueImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.BOOLEAN_VALUE;
41 }
42
43} //BooleanValueImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CDInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CDInterpretationImpl.java
new file mode 100644
index 00000000..b23bbba5
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CDInterpretationImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>CD Interpretation</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class CDInterpretationImpl extends InterpretationImpl implements CDInterpretation
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected CDInterpretationImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.CD_INTERPRETATION;
39 }
40
41} //CDInterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassInterpretationImpl.java
new file mode 100644
index 00000000..effc5970
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassInterpretationImpl.java
@@ -0,0 +1,356 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.common.util.EList;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation;
22import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
23import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
24import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Class Interpretation</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl#isAbstract <em>Abstract</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl#getSymbol <em>Symbol</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl#getSupertypes <em>Supertypes</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassInterpretationImpl#getFielt <em>Fielt</em>}</li>
38 * </ul>
39 *
40 * @generated
41 */
42public class ClassInterpretationImpl extends CDInterpretationImpl implements ClassInterpretation
43{
44 /**
45 * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #isAbstract()
49 * @generated
50 * @ordered
51 */
52 protected static final boolean ABSTRACT_EDEFAULT = false;
53
54 /**
55 * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #isAbstract()
59 * @generated
60 * @ordered
61 */
62 protected boolean abstract_ = ABSTRACT_EDEFAULT;
63
64 /**
65 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see #getSymbol()
69 * @generated
70 * @ordered
71 */
72 protected ModelSymbol symbol;
73
74 /**
75 * The cached value of the '{@link #getSupertypes() <em>Supertypes</em>}' containment reference list.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #getSupertypes()
79 * @generated
80 * @ordered
81 */
82 protected EList<ModelSymbol> supertypes;
83
84 /**
85 * The cached value of the '{@link #getFielt() <em>Fielt</em>}' containment reference list.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @see #getFielt()
89 * @generated
90 * @ordered
91 */
92 protected EList<FieldRelationInterpretation> fielt;
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 protected ClassInterpretationImpl()
100 {
101 super();
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 protected EClass eStaticClass()
111 {
112 return SolverLanguagePackage.Literals.CLASS_INTERPRETATION;
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 public boolean isAbstract()
122 {
123 return abstract_;
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public void setAbstract(boolean newAbstract)
133 {
134 boolean oldAbstract = abstract_;
135 abstract_ = newAbstract;
136 if (eNotificationRequired())
137 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT, oldAbstract, abstract_));
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public ModelSymbol getSymbol()
147 {
148 return symbol;
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
157 {
158 ModelSymbol oldSymbol = symbol;
159 symbol = newSymbol;
160 if (eNotificationRequired())
161 {
162 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, oldSymbol, newSymbol);
163 if (msgs == null) msgs = notification; else msgs.add(notification);
164 }
165 return msgs;
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public void setSymbol(ModelSymbol newSymbol)
175 {
176 if (newSymbol != symbol)
177 {
178 NotificationChain msgs = null;
179 if (symbol != null)
180 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, null, msgs);
181 if (newSymbol != null)
182 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, null, msgs);
183 msgs = basicSetSymbol(newSymbol, msgs);
184 if (msgs != null) msgs.dispatch();
185 }
186 else if (eNotificationRequired())
187 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL, newSymbol, newSymbol));
188 }
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 @Override
196 public EList<ModelSymbol> getSupertypes()
197 {
198 if (supertypes == null)
199 {
200 supertypes = new EObjectContainmentEList<ModelSymbol>(ModelSymbol.class, this, SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES);
201 }
202 return supertypes;
203 }
204
205 /**
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 @Override
211 public EList<FieldRelationInterpretation> getFielt()
212 {
213 if (fielt == null)
214 {
215 fielt = new EObjectContainmentEList<FieldRelationInterpretation>(FieldRelationInterpretation.class, this, SolverLanguagePackage.CLASS_INTERPRETATION__FIELT);
216 }
217 return fielt;
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
227 {
228 switch (featureID)
229 {
230 case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL:
231 return basicSetSymbol(null, msgs);
232 case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES:
233 return ((InternalEList<?>)getSupertypes()).basicRemove(otherEnd, msgs);
234 case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT:
235 return ((InternalEList<?>)getFielt()).basicRemove(otherEnd, msgs);
236 }
237 return super.eInverseRemove(otherEnd, featureID, msgs);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public Object eGet(int featureID, boolean resolve, boolean coreType)
247 {
248 switch (featureID)
249 {
250 case SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT:
251 return isAbstract();
252 case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL:
253 return getSymbol();
254 case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES:
255 return getSupertypes();
256 case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT:
257 return getFielt();
258 }
259 return super.eGet(featureID, resolve, coreType);
260 }
261
262 /**
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 */
267 @SuppressWarnings("unchecked")
268 @Override
269 public void eSet(int featureID, Object newValue)
270 {
271 switch (featureID)
272 {
273 case SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT:
274 setAbstract((Boolean)newValue);
275 return;
276 case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL:
277 setSymbol((ModelSymbol)newValue);
278 return;
279 case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES:
280 getSupertypes().clear();
281 getSupertypes().addAll((Collection<? extends ModelSymbol>)newValue);
282 return;
283 case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT:
284 getFielt().clear();
285 getFielt().addAll((Collection<? extends FieldRelationInterpretation>)newValue);
286 return;
287 }
288 super.eSet(featureID, newValue);
289 }
290
291 /**
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 */
296 @Override
297 public void eUnset(int featureID)
298 {
299 switch (featureID)
300 {
301 case SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT:
302 setAbstract(ABSTRACT_EDEFAULT);
303 return;
304 case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL:
305 setSymbol((ModelSymbol)null);
306 return;
307 case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES:
308 getSupertypes().clear();
309 return;
310 case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT:
311 getFielt().clear();
312 return;
313 }
314 super.eUnset(featureID);
315 }
316
317 /**
318 * <!-- begin-user-doc -->
319 * <!-- end-user-doc -->
320 * @generated
321 */
322 @Override
323 public boolean eIsSet(int featureID)
324 {
325 switch (featureID)
326 {
327 case SolverLanguagePackage.CLASS_INTERPRETATION__ABSTRACT:
328 return abstract_ != ABSTRACT_EDEFAULT;
329 case SolverLanguagePackage.CLASS_INTERPRETATION__SYMBOL:
330 return symbol != null;
331 case SolverLanguagePackage.CLASS_INTERPRETATION__SUPERTYPES:
332 return supertypes != null && !supertypes.isEmpty();
333 case SolverLanguagePackage.CLASS_INTERPRETATION__FIELT:
334 return fielt != null && !fielt.isEmpty();
335 }
336 return super.eIsSet(featureID);
337 }
338
339 /**
340 * <!-- begin-user-doc -->
341 * <!-- end-user-doc -->
342 * @generated
343 */
344 @Override
345 public String toString()
346 {
347 if (eIsProxy()) return super.toString();
348
349 StringBuilder result = new StringBuilder(super.toString());
350 result.append(" (abstract: ");
351 result.append(abstract_);
352 result.append(')');
353 return result.toString();
354 }
355
356} //ClassInterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClosureTypeImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClosureTypeImpl.java
new file mode 100644
index 00000000..98136f79
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClosureTypeImpl.java
@@ -0,0 +1,43 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.ClosureType;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Closure Type</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class ClosureTypeImpl extends MinimalEObjectImpl.Container implements ClosureType
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected ClosureTypeImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.CLOSURE_TYPE;
41 }
42
43} //ClosureTypeImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComplexObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComplexObjectImpl.java
new file mode 100644
index 00000000..09ad8a6d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComplexObjectImpl.java
@@ -0,0 +1,43 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Complex Object</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class ComplexObjectImpl extends MinimalEObjectImpl.Container implements ComplexObject
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected ComplexObjectImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.COMPLEX_OBJECT;
41 }
42
43} //ComplexObjectImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConstraintImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConstraintImpl.java
new file mode 100644
index 00000000..2f990fee
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConstraintImpl.java
@@ -0,0 +1,393 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.common.util.EList;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
18
19import org.eclipse.emf.ecore.util.EObjectContainmentEList;
20import org.eclipse.emf.ecore.util.InternalEList;
21
22import org.eclipse.viatra.solver.language.solverLanguage.ClosureType;
23import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
24import org.eclipse.viatra.solver.language.solverLanguage.Literal;
25import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
26import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
27import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
28
29/**
30 * <!-- begin-user-doc -->
31 * An implementation of the model object '<em><b>Constraint</b></em>'.
32 * <!-- end-user-doc -->
33 * <p>
34 * The following features are implemented:
35 * </p>
36 * <ul>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getPolarity <em>Polarity</em>}</li>
38 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getSymbol <em>Symbol</em>}</li>
39 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getParams <em>Params</em>}</li>
40 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConstraintImpl#getClosureType <em>Closure Type</em>}</li>
41 * </ul>
42 *
43 * @generated
44 */
45public class ConstraintImpl extends MinimalEObjectImpl.Container implements Constraint
46{
47 /**
48 * The cached value of the '{@link #getPolarity() <em>Polarity</em>}' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @see #getPolarity()
52 * @generated
53 * @ordered
54 */
55 protected Polarity polarity;
56
57 /**
58 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @see #getSymbol()
62 * @generated
63 * @ordered
64 */
65 protected ModelSymbol symbol;
66
67 /**
68 * The cached value of the '{@link #getParams() <em>Params</em>}' containment reference list.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @see #getParams()
72 * @generated
73 * @ordered
74 */
75 protected EList<Literal> params;
76
77 /**
78 * The cached value of the '{@link #getClosureType() <em>Closure Type</em>}' containment reference.
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @see #getClosureType()
82 * @generated
83 * @ordered
84 */
85 protected ClosureType closureType;
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 protected ConstraintImpl()
93 {
94 super();
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 protected EClass eStaticClass()
104 {
105 return SolverLanguagePackage.Literals.CONSTRAINT;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public Polarity getPolarity()
115 {
116 return polarity;
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 public NotificationChain basicSetPolarity(Polarity newPolarity, NotificationChain msgs)
125 {
126 Polarity oldPolarity = polarity;
127 polarity = newPolarity;
128 if (eNotificationRequired())
129 {
130 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__POLARITY, oldPolarity, newPolarity);
131 if (msgs == null) msgs = notification; else msgs.add(notification);
132 }
133 return msgs;
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public void setPolarity(Polarity newPolarity)
143 {
144 if (newPolarity != polarity)
145 {
146 NotificationChain msgs = null;
147 if (polarity != null)
148 msgs = ((InternalEObject)polarity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__POLARITY, null, msgs);
149 if (newPolarity != null)
150 msgs = ((InternalEObject)newPolarity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__POLARITY, null, msgs);
151 msgs = basicSetPolarity(newPolarity, msgs);
152 if (msgs != null) msgs.dispatch();
153 }
154 else if (eNotificationRequired())
155 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__POLARITY, newPolarity, newPolarity));
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 @Override
164 public ModelSymbol getSymbol()
165 {
166 return symbol;
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
175 {
176 ModelSymbol oldSymbol = symbol;
177 symbol = newSymbol;
178 if (eNotificationRequired())
179 {
180 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__SYMBOL, oldSymbol, newSymbol);
181 if (msgs == null) msgs = notification; else msgs.add(notification);
182 }
183 return msgs;
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public void setSymbol(ModelSymbol newSymbol)
193 {
194 if (newSymbol != symbol)
195 {
196 NotificationChain msgs = null;
197 if (symbol != null)
198 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__SYMBOL, null, msgs);
199 if (newSymbol != null)
200 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__SYMBOL, null, msgs);
201 msgs = basicSetSymbol(newSymbol, msgs);
202 if (msgs != null) msgs.dispatch();
203 }
204 else if (eNotificationRequired())
205 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__SYMBOL, newSymbol, newSymbol));
206 }
207
208 /**
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 */
213 @Override
214 public EList<Literal> getParams()
215 {
216 if (params == null)
217 {
218 params = new EObjectContainmentEList<Literal>(Literal.class, this, SolverLanguagePackage.CONSTRAINT__PARAMS);
219 }
220 return params;
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public ClosureType getClosureType()
230 {
231 return closureType;
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 public NotificationChain basicSetClosureType(ClosureType newClosureType, NotificationChain msgs)
240 {
241 ClosureType oldClosureType = closureType;
242 closureType = newClosureType;
243 if (eNotificationRequired())
244 {
245 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, oldClosureType, newClosureType);
246 if (msgs == null) msgs = notification; else msgs.add(notification);
247 }
248 return msgs;
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public void setClosureType(ClosureType newClosureType)
258 {
259 if (newClosureType != closureType)
260 {
261 NotificationChain msgs = null;
262 if (closureType != null)
263 msgs = ((InternalEObject)closureType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, null, msgs);
264 if (newClosureType != null)
265 msgs = ((InternalEObject)newClosureType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, null, msgs);
266 msgs = basicSetClosureType(newClosureType, msgs);
267 if (msgs != null) msgs.dispatch();
268 }
269 else if (eNotificationRequired())
270 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE, newClosureType, newClosureType));
271 }
272
273 /**
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 */
278 @Override
279 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
280 {
281 switch (featureID)
282 {
283 case SolverLanguagePackage.CONSTRAINT__POLARITY:
284 return basicSetPolarity(null, msgs);
285 case SolverLanguagePackage.CONSTRAINT__SYMBOL:
286 return basicSetSymbol(null, msgs);
287 case SolverLanguagePackage.CONSTRAINT__PARAMS:
288 return ((InternalEList<?>)getParams()).basicRemove(otherEnd, msgs);
289 case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE:
290 return basicSetClosureType(null, msgs);
291 }
292 return super.eInverseRemove(otherEnd, featureID, msgs);
293 }
294
295 /**
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @generated
299 */
300 @Override
301 public Object eGet(int featureID, boolean resolve, boolean coreType)
302 {
303 switch (featureID)
304 {
305 case SolverLanguagePackage.CONSTRAINT__POLARITY:
306 return getPolarity();
307 case SolverLanguagePackage.CONSTRAINT__SYMBOL:
308 return getSymbol();
309 case SolverLanguagePackage.CONSTRAINT__PARAMS:
310 return getParams();
311 case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE:
312 return getClosureType();
313 }
314 return super.eGet(featureID, resolve, coreType);
315 }
316
317 /**
318 * <!-- begin-user-doc -->
319 * <!-- end-user-doc -->
320 * @generated
321 */
322 @SuppressWarnings("unchecked")
323 @Override
324 public void eSet(int featureID, Object newValue)
325 {
326 switch (featureID)
327 {
328 case SolverLanguagePackage.CONSTRAINT__POLARITY:
329 setPolarity((Polarity)newValue);
330 return;
331 case SolverLanguagePackage.CONSTRAINT__SYMBOL:
332 setSymbol((ModelSymbol)newValue);
333 return;
334 case SolverLanguagePackage.CONSTRAINT__PARAMS:
335 getParams().clear();
336 getParams().addAll((Collection<? extends Literal>)newValue);
337 return;
338 case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE:
339 setClosureType((ClosureType)newValue);
340 return;
341 }
342 super.eSet(featureID, newValue);
343 }
344
345 /**
346 * <!-- begin-user-doc -->
347 * <!-- end-user-doc -->
348 * @generated
349 */
350 @Override
351 public void eUnset(int featureID)
352 {
353 switch (featureID)
354 {
355 case SolverLanguagePackage.CONSTRAINT__POLARITY:
356 setPolarity((Polarity)null);
357 return;
358 case SolverLanguagePackage.CONSTRAINT__SYMBOL:
359 setSymbol((ModelSymbol)null);
360 return;
361 case SolverLanguagePackage.CONSTRAINT__PARAMS:
362 getParams().clear();
363 return;
364 case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE:
365 setClosureType((ClosureType)null);
366 return;
367 }
368 super.eUnset(featureID);
369 }
370
371 /**
372 * <!-- begin-user-doc -->
373 * <!-- end-user-doc -->
374 * @generated
375 */
376 @Override
377 public boolean eIsSet(int featureID)
378 {
379 switch (featureID)
380 {
381 case SolverLanguagePackage.CONSTRAINT__POLARITY:
382 return polarity != null;
383 case SolverLanguagePackage.CONSTRAINT__SYMBOL:
384 return symbol != null;
385 case SolverLanguagePackage.CONSTRAINT__PARAMS:
386 return params != null && !params.isEmpty();
387 case SolverLanguagePackage.CONSTRAINT__CLOSURE_TYPE:
388 return closureType != null;
389 }
390 return super.eIsSet(featureID);
391 }
392
393} //ConstraintImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataObjectImpl.java
new file mode 100644
index 00000000..33bee29f
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataObjectImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.DataObject;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Data Object</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class DataObjectImpl extends ObjectImpl implements DataObject
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected DataObjectImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.DATA_OBJECT;
39 }
40
41} //DataObjectImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataSymbolImpl.java
new file mode 100644
index 00000000..221b4783
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DataSymbolImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Data Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class DataSymbolImpl extends SymbolImpl implements DataSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected DataSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.DATA_SYMBOL;
39 }
40
41} //DataSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultInterpretationImpl.java
new file mode 100644
index 00000000..eb2835a0
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultInterpretationImpl.java
@@ -0,0 +1,196 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation;
15import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Default Interpretation</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultInterpretationImpl#getInterpretation <em>Interpretation</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class DefaultInterpretationImpl extends InterpretationImpl implements DefaultInterpretation
32{
33 /**
34 * The cached value of the '{@link #getInterpretation() <em>Interpretation</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getInterpretation()
38 * @generated
39 * @ordered
40 */
41 protected BasicInterpretation interpretation;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 protected DefaultInterpretationImpl()
49 {
50 super();
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 @Override
59 protected EClass eStaticClass()
60 {
61 return SolverLanguagePackage.Literals.DEFAULT_INTERPRETATION;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 public BasicInterpretation getInterpretation()
71 {
72 return interpretation;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public NotificationChain basicSetInterpretation(BasicInterpretation newInterpretation, NotificationChain msgs)
81 {
82 BasicInterpretation oldInterpretation = interpretation;
83 interpretation = newInterpretation;
84 if (eNotificationRequired())
85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, oldInterpretation, newInterpretation);
87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 }
89 return msgs;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public void setInterpretation(BasicInterpretation newInterpretation)
99 {
100 if (newInterpretation != interpretation)
101 {
102 NotificationChain msgs = null;
103 if (interpretation != null)
104 msgs = ((InternalEObject)interpretation).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, null, msgs);
105 if (newInterpretation != null)
106 msgs = ((InternalEObject)newInterpretation).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, null, msgs);
107 msgs = basicSetInterpretation(newInterpretation, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION, newInterpretation, newInterpretation));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
121 {
122 switch (featureID)
123 {
124 case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION:
125 return basicSetInterpretation(null, msgs);
126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public Object eGet(int featureID, boolean resolve, boolean coreType)
137 {
138 switch (featureID)
139 {
140 case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION:
141 return getInterpretation();
142 }
143 return super.eGet(featureID, resolve, coreType);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void eSet(int featureID, Object newValue)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION:
157 setInterpretation((BasicInterpretation)newValue);
158 return;
159 }
160 super.eSet(featureID, newValue);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void eUnset(int featureID)
170 {
171 switch (featureID)
172 {
173 case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION:
174 setInterpretation((BasicInterpretation)null);
175 return;
176 }
177 super.eUnset(featureID);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public boolean eIsSet(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.DEFAULT_INTERPRETATION__INTERPRETATION:
191 return interpretation != null;
192 }
193 return super.eIsSet(featureID);
194 }
195
196} //DefaultInterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumInterpretationImpl.java
new file mode 100644
index 00000000..efa12ea6
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EnumInterpretationImpl.java
@@ -0,0 +1,244 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.common.util.EList;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
22import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
23import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
24import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Enum Interpretation</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl#getSymbol <em>Symbol</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EnumInterpretationImpl#getObjects <em>Objects</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class EnumInterpretationImpl extends CDInterpretationImpl implements EnumInterpretation
41{
42 /**
43 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getSymbol()
47 * @generated
48 * @ordered
49 */
50 protected ModelSymbol symbol;
51
52 /**
53 * The cached value of the '{@link #getObjects() <em>Objects</em>}' containment reference list.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #getObjects()
57 * @generated
58 * @ordered
59 */
60 protected EList<NamedObject> objects;
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 protected EnumInterpretationImpl()
68 {
69 super();
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 protected EClass eStaticClass()
79 {
80 return SolverLanguagePackage.Literals.ENUM_INTERPRETATION;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public ModelSymbol getSymbol()
90 {
91 return symbol;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
100 {
101 ModelSymbol oldSymbol = symbol;
102 symbol = newSymbol;
103 if (eNotificationRequired())
104 {
105 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, oldSymbol, newSymbol);
106 if (msgs == null) msgs = notification; else msgs.add(notification);
107 }
108 return msgs;
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public void setSymbol(ModelSymbol newSymbol)
118 {
119 if (newSymbol != symbol)
120 {
121 NotificationChain msgs = null;
122 if (symbol != null)
123 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, null, msgs);
124 if (newSymbol != null)
125 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, null, msgs);
126 msgs = basicSetSymbol(newSymbol, msgs);
127 if (msgs != null) msgs.dispatch();
128 }
129 else if (eNotificationRequired())
130 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL, newSymbol, newSymbol));
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public EList<NamedObject> getObjects()
140 {
141 if (objects == null)
142 {
143 objects = new EObjectContainmentEList<NamedObject>(NamedObject.class, this, SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS);
144 }
145 return objects;
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
155 {
156 switch (featureID)
157 {
158 case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL:
159 return basicSetSymbol(null, msgs);
160 case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS:
161 return ((InternalEList<?>)getObjects()).basicRemove(otherEnd, msgs);
162 }
163 return super.eInverseRemove(otherEnd, featureID, msgs);
164 }
165
166 /**
167 * <!-- begin-user-doc -->
168 * <!-- end-user-doc -->
169 * @generated
170 */
171 @Override
172 public Object eGet(int featureID, boolean resolve, boolean coreType)
173 {
174 switch (featureID)
175 {
176 case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL:
177 return getSymbol();
178 case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS:
179 return getObjects();
180 }
181 return super.eGet(featureID, resolve, coreType);
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @SuppressWarnings("unchecked")
190 @Override
191 public void eSet(int featureID, Object newValue)
192 {
193 switch (featureID)
194 {
195 case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL:
196 setSymbol((ModelSymbol)newValue);
197 return;
198 case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS:
199 getObjects().clear();
200 getObjects().addAll((Collection<? extends NamedObject>)newValue);
201 return;
202 }
203 super.eSet(featureID, newValue);
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public void eUnset(int featureID)
213 {
214 switch (featureID)
215 {
216 case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL:
217 setSymbol((ModelSymbol)null);
218 return;
219 case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS:
220 getObjects().clear();
221 return;
222 }
223 super.eUnset(featureID);
224 }
225
226 /**
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 */
231 @Override
232 public boolean eIsSet(int featureID)
233 {
234 switch (featureID)
235 {
236 case SolverLanguagePackage.ENUM_INTERPRETATION__SYMBOL:
237 return symbol != null;
238 case SolverLanguagePackage.ENUM_INTERPRETATION__OBJECTS:
239 return objects != null && !objects.isEmpty();
240 }
241 return super.eIsSet(featureID);
242 }
243
244} //EnumInterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EqualsSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EqualsSymbolImpl.java
new file mode 100644
index 00000000..33929f42
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EqualsSymbolImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Equals Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class EqualsSymbolImpl extends PartialitySymbolImpl implements EqualsSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected EqualsSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.EQUALS_SYMBOL;
39 }
40
41} //EqualsSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorImpl.java
new file mode 100644
index 00000000..e58094a7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorImpl.java
@@ -0,0 +1,40 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Error</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ErrorImpl extends TruthValueImpl implements org.eclipse.viatra.solver.language.solverLanguage.Error
18{
19 /**
20 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 protected ErrorImpl()
25 {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass()
36 {
37 return SolverLanguagePackage.Literals.ERROR;
38 }
39
40} //ErrorImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorPredicateImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorPredicateImpl.java
new file mode 100644
index 00000000..f9b0e8c8
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ErrorPredicateImpl.java
@@ -0,0 +1,179 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Error Predicate</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorPredicateImpl#getName <em>Name</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class ErrorPredicateImpl extends PredicateImpl implements ErrorPredicate
29{
30 /**
31 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getName()
35 * @generated
36 * @ordered
37 */
38 protected static final String NAME_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getName()
45 * @generated
46 * @ordered
47 */
48 protected String name = NAME_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected ErrorPredicateImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.ERROR_PREDICATE;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public String getName()
78 {
79 return name;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setName(String newName)
89 {
90 String oldName = name;
91 name = newName;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ERROR_PREDICATE__NAME, oldName, name));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.ERROR_PREDICATE__NAME:
107 return getName();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.ERROR_PREDICATE__NAME:
123 setName((String)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.ERROR_PREDICATE__NAME:
140 setName(NAME_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.ERROR_PREDICATE__NAME:
157 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (name: ");
174 result.append(name);
175 result.append(')');
176 return result.toString();
177 }
178
179} //ErrorPredicateImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExistSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExistSymbolImpl.java
new file mode 100644
index 00000000..2fd59e41
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExistSymbolImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Exist Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class ExistSymbolImpl extends PartialitySymbolImpl implements ExistSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected ExistSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.EXIST_SYMBOL;
39 }
40
41} //ExistSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FalseImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FalseImpl.java
new file mode 100644
index 00000000..332f9af3
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FalseImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.False;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>False</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class FalseImpl extends TruthValueImpl implements False
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected FalseImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.FALSE;
39 }
40
41} //FalseImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldRelationInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldRelationInterpretationImpl.java
new file mode 100644
index 00000000..ea9b80b2
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/FieldRelationInterpretationImpl.java
@@ -0,0 +1,418 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
14
15import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
16import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
17import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
18import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
19import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Field Relation Interpretation</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#isContainment <em>Containment</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#getSymbol <em>Symbol</em>}</li>
31 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#getMultiplicity <em>Multiplicity</em>}</li>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.FieldRelationInterpretationImpl#getTarget <em>Target</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class FieldRelationInterpretationImpl extends MinimalEObjectImpl.Container implements FieldRelationInterpretation
38{
39 /**
40 * The default value of the '{@link #isContainment() <em>Containment</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #isContainment()
44 * @generated
45 * @ordered
46 */
47 protected static final boolean CONTAINMENT_EDEFAULT = false;
48
49 /**
50 * The cached value of the '{@link #isContainment() <em>Containment</em>}' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #isContainment()
54 * @generated
55 * @ordered
56 */
57 protected boolean containment = CONTAINMENT_EDEFAULT;
58
59 /**
60 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #getSymbol()
64 * @generated
65 * @ordered
66 */
67 protected ModelSymbol symbol;
68
69 /**
70 * The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' containment reference.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @see #getMultiplicity()
74 * @generated
75 * @ordered
76 */
77 protected MultiplicityDefinition multiplicity;
78
79 /**
80 * The cached value of the '{@link #getTarget() <em>Target</em>}' containment reference.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @see #getTarget()
84 * @generated
85 * @ordered
86 */
87 protected Symbol target;
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 protected FieldRelationInterpretationImpl()
95 {
96 super();
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 protected EClass eStaticClass()
106 {
107 return SolverLanguagePackage.Literals.FIELD_RELATION_INTERPRETATION;
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public boolean isContainment()
117 {
118 return containment;
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public void setContainment(boolean newContainment)
128 {
129 boolean oldContainment = containment;
130 containment = newContainment;
131 if (eNotificationRequired())
132 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT, oldContainment, containment));
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public ModelSymbol getSymbol()
142 {
143 return symbol;
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
152 {
153 ModelSymbol oldSymbol = symbol;
154 symbol = newSymbol;
155 if (eNotificationRequired())
156 {
157 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, oldSymbol, newSymbol);
158 if (msgs == null) msgs = notification; else msgs.add(notification);
159 }
160 return msgs;
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void setSymbol(ModelSymbol newSymbol)
170 {
171 if (newSymbol != symbol)
172 {
173 NotificationChain msgs = null;
174 if (symbol != null)
175 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, null, msgs);
176 if (newSymbol != null)
177 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, null, msgs);
178 msgs = basicSetSymbol(newSymbol, msgs);
179 if (msgs != null) msgs.dispatch();
180 }
181 else if (eNotificationRequired())
182 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL, newSymbol, newSymbol));
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 @Override
191 public MultiplicityDefinition getMultiplicity()
192 {
193 return multiplicity;
194 }
195
196 /**
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @generated
200 */
201 public NotificationChain basicSetMultiplicity(MultiplicityDefinition newMultiplicity, NotificationChain msgs)
202 {
203 MultiplicityDefinition oldMultiplicity = multiplicity;
204 multiplicity = newMultiplicity;
205 if (eNotificationRequired())
206 {
207 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY, oldMultiplicity, newMultiplicity);
208 if (msgs == null) msgs = notification; else msgs.add(notification);
209 }
210 return msgs;
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public void setMultiplicity(MultiplicityDefinition newMultiplicity)
220 {
221 if (newMultiplicity != multiplicity)
222 {
223 NotificationChain msgs = null;
224 if (multiplicity != null)
225 msgs = ((InternalEObject)multiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY, null, msgs);
226 if (newMultiplicity != null)
227 msgs = ((InternalEObject)newMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY, null, msgs);
228 msgs = basicSetMultiplicity(newMultiplicity, msgs);
229 if (msgs != null) msgs.dispatch();
230 }
231 else if (eNotificationRequired())
232 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY, newMultiplicity, newMultiplicity));
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public Symbol getTarget()
242 {
243 return target;
244 }
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 public NotificationChain basicSetTarget(Symbol newTarget, NotificationChain msgs)
252 {
253 Symbol oldTarget = target;
254 target = newTarget;
255 if (eNotificationRequired())
256 {
257 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, oldTarget, newTarget);
258 if (msgs == null) msgs = notification; else msgs.add(notification);
259 }
260 return msgs;
261 }
262
263 /**
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 */
268 @Override
269 public void setTarget(Symbol newTarget)
270 {
271 if (newTarget != target)
272 {
273 NotificationChain msgs = null;
274 if (target != null)
275 msgs = ((InternalEObject)target).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, null, msgs);
276 if (newTarget != null)
277 msgs = ((InternalEObject)newTarget).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, null, msgs);
278 msgs = basicSetTarget(newTarget, msgs);
279 if (msgs != null) msgs.dispatch();
280 }
281 else if (eNotificationRequired())
282 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET, newTarget, newTarget));
283 }
284
285 /**
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 */
290 @Override
291 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
292 {
293 switch (featureID)
294 {
295 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL:
296 return basicSetSymbol(null, msgs);
297 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY:
298 return basicSetMultiplicity(null, msgs);
299 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET:
300 return basicSetTarget(null, msgs);
301 }
302 return super.eInverseRemove(otherEnd, featureID, msgs);
303 }
304
305 /**
306 * <!-- begin-user-doc -->
307 * <!-- end-user-doc -->
308 * @generated
309 */
310 @Override
311 public Object eGet(int featureID, boolean resolve, boolean coreType)
312 {
313 switch (featureID)
314 {
315 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT:
316 return isContainment();
317 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL:
318 return getSymbol();
319 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY:
320 return getMultiplicity();
321 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET:
322 return getTarget();
323 }
324 return super.eGet(featureID, resolve, coreType);
325 }
326
327 /**
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @generated
331 */
332 @Override
333 public void eSet(int featureID, Object newValue)
334 {
335 switch (featureID)
336 {
337 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT:
338 setContainment((Boolean)newValue);
339 return;
340 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL:
341 setSymbol((ModelSymbol)newValue);
342 return;
343 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY:
344 setMultiplicity((MultiplicityDefinition)newValue);
345 return;
346 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET:
347 setTarget((Symbol)newValue);
348 return;
349 }
350 super.eSet(featureID, newValue);
351 }
352
353 /**
354 * <!-- begin-user-doc -->
355 * <!-- end-user-doc -->
356 * @generated
357 */
358 @Override
359 public void eUnset(int featureID)
360 {
361 switch (featureID)
362 {
363 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT:
364 setContainment(CONTAINMENT_EDEFAULT);
365 return;
366 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL:
367 setSymbol((ModelSymbol)null);
368 return;
369 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY:
370 setMultiplicity((MultiplicityDefinition)null);
371 return;
372 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET:
373 setTarget((Symbol)null);
374 return;
375 }
376 super.eUnset(featureID);
377 }
378
379 /**
380 * <!-- begin-user-doc -->
381 * <!-- end-user-doc -->
382 * @generated
383 */
384 @Override
385 public boolean eIsSet(int featureID)
386 {
387 switch (featureID)
388 {
389 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__CONTAINMENT:
390 return containment != CONTAINMENT_EDEFAULT;
391 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__SYMBOL:
392 return symbol != null;
393 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__MULTIPLICITY:
394 return multiplicity != null;
395 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION__TARGET:
396 return target != null;
397 }
398 return super.eIsSet(featureID);
399 }
400
401 /**
402 * <!-- begin-user-doc -->
403 * <!-- end-user-doc -->
404 * @generated
405 */
406 @Override
407 public String toString()
408 {
409 if (eIsProxy()) return super.toString();
410
411 StringBuilder result = new StringBuilder(super.toString());
412 result.append(" (containment: ");
413 result.append(containment);
414 result.append(')');
415 return result.toString();
416 }
417
418} //FieldRelationInterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/GlobalRelationInterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/GlobalRelationInterpretationImpl.java
new file mode 100644
index 00000000..52f7a67d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/GlobalRelationInterpretationImpl.java
@@ -0,0 +1,563 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation;
15import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
16import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>Global Relation Interpretation</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#isContainment <em>Containment</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getSymbol <em>Symbol</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getSourceMultiplicity <em>Source Multiplicity</em>}</li>
31 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getSource <em>Source</em>}</li>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getTargetMultiplicity <em>Target Multiplicity</em>}</li>
33 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.GlobalRelationInterpretationImpl#getTarget <em>Target</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public class GlobalRelationInterpretationImpl extends CDInterpretationImpl implements GlobalRelationInterpretation
39{
40 /**
41 * The default value of the '{@link #isContainment() <em>Containment</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #isContainment()
45 * @generated
46 * @ordered
47 */
48 protected static final boolean CONTAINMENT_EDEFAULT = false;
49
50 /**
51 * The cached value of the '{@link #isContainment() <em>Containment</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #isContainment()
55 * @generated
56 * @ordered
57 */
58 protected boolean containment = CONTAINMENT_EDEFAULT;
59
60 /**
61 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #getSymbol()
65 * @generated
66 * @ordered
67 */
68 protected ModelSymbol symbol;
69
70 /**
71 * The cached value of the '{@link #getSourceMultiplicity() <em>Source Multiplicity</em>}' containment reference.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @see #getSourceMultiplicity()
75 * @generated
76 * @ordered
77 */
78 protected MultiplicityDefinition sourceMultiplicity;
79
80 /**
81 * The cached value of the '{@link #getSource() <em>Source</em>}' containment reference.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @see #getSource()
85 * @generated
86 * @ordered
87 */
88 protected Symbol source;
89
90 /**
91 * The cached value of the '{@link #getTargetMultiplicity() <em>Target Multiplicity</em>}' containment reference.
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @see #getTargetMultiplicity()
95 * @generated
96 * @ordered
97 */
98 protected MultiplicityDefinition targetMultiplicity;
99
100 /**
101 * The cached value of the '{@link #getTarget() <em>Target</em>}' containment reference.
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @see #getTarget()
105 * @generated
106 * @ordered
107 */
108 protected Symbol target;
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 protected GlobalRelationInterpretationImpl()
116 {
117 super();
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 protected EClass eStaticClass()
127 {
128 return SolverLanguagePackage.Literals.GLOBAL_RELATION_INTERPRETATION;
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 @Override
137 public boolean isContainment()
138 {
139 return containment;
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void setContainment(boolean newContainment)
149 {
150 boolean oldContainment = containment;
151 containment = newContainment;
152 if (eNotificationRequired())
153 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT, oldContainment, containment));
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 @Override
162 public ModelSymbol getSymbol()
163 {
164 return symbol;
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
173 {
174 ModelSymbol oldSymbol = symbol;
175 symbol = newSymbol;
176 if (eNotificationRequired())
177 {
178 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, oldSymbol, newSymbol);
179 if (msgs == null) msgs = notification; else msgs.add(notification);
180 }
181 return msgs;
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public void setSymbol(ModelSymbol newSymbol)
191 {
192 if (newSymbol != symbol)
193 {
194 NotificationChain msgs = null;
195 if (symbol != null)
196 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, null, msgs);
197 if (newSymbol != null)
198 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, null, msgs);
199 msgs = basicSetSymbol(newSymbol, msgs);
200 if (msgs != null) msgs.dispatch();
201 }
202 else if (eNotificationRequired())
203 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL, newSymbol, newSymbol));
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public MultiplicityDefinition getSourceMultiplicity()
213 {
214 return sourceMultiplicity;
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 public NotificationChain basicSetSourceMultiplicity(MultiplicityDefinition newSourceMultiplicity, NotificationChain msgs)
223 {
224 MultiplicityDefinition oldSourceMultiplicity = sourceMultiplicity;
225 sourceMultiplicity = newSourceMultiplicity;
226 if (eNotificationRequired())
227 {
228 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, oldSourceMultiplicity, newSourceMultiplicity);
229 if (msgs == null) msgs = notification; else msgs.add(notification);
230 }
231 return msgs;
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 @Override
240 public void setSourceMultiplicity(MultiplicityDefinition newSourceMultiplicity)
241 {
242 if (newSourceMultiplicity != sourceMultiplicity)
243 {
244 NotificationChain msgs = null;
245 if (sourceMultiplicity != null)
246 msgs = ((InternalEObject)sourceMultiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, null, msgs);
247 if (newSourceMultiplicity != null)
248 msgs = ((InternalEObject)newSourceMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, null, msgs);
249 msgs = basicSetSourceMultiplicity(newSourceMultiplicity, msgs);
250 if (msgs != null) msgs.dispatch();
251 }
252 else if (eNotificationRequired())
253 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY, newSourceMultiplicity, newSourceMultiplicity));
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 @Override
262 public Symbol getSource()
263 {
264 return source;
265 }
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 public NotificationChain basicSetSource(Symbol newSource, NotificationChain msgs)
273 {
274 Symbol oldSource = source;
275 source = newSource;
276 if (eNotificationRequired())
277 {
278 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, oldSource, newSource);
279 if (msgs == null) msgs = notification; else msgs.add(notification);
280 }
281 return msgs;
282 }
283
284 /**
285 * <!-- begin-user-doc -->
286 * <!-- end-user-doc -->
287 * @generated
288 */
289 @Override
290 public void setSource(Symbol newSource)
291 {
292 if (newSource != source)
293 {
294 NotificationChain msgs = null;
295 if (source != null)
296 msgs = ((InternalEObject)source).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, null, msgs);
297 if (newSource != null)
298 msgs = ((InternalEObject)newSource).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, null, msgs);
299 msgs = basicSetSource(newSource, msgs);
300 if (msgs != null) msgs.dispatch();
301 }
302 else if (eNotificationRequired())
303 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE, newSource, newSource));
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public MultiplicityDefinition getTargetMultiplicity()
313 {
314 return targetMultiplicity;
315 }
316
317 /**
318 * <!-- begin-user-doc -->
319 * <!-- end-user-doc -->
320 * @generated
321 */
322 public NotificationChain basicSetTargetMultiplicity(MultiplicityDefinition newTargetMultiplicity, NotificationChain msgs)
323 {
324 MultiplicityDefinition oldTargetMultiplicity = targetMultiplicity;
325 targetMultiplicity = newTargetMultiplicity;
326 if (eNotificationRequired())
327 {
328 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, oldTargetMultiplicity, newTargetMultiplicity);
329 if (msgs == null) msgs = notification; else msgs.add(notification);
330 }
331 return msgs;
332 }
333
334 /**
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @generated
338 */
339 @Override
340 public void setTargetMultiplicity(MultiplicityDefinition newTargetMultiplicity)
341 {
342 if (newTargetMultiplicity != targetMultiplicity)
343 {
344 NotificationChain msgs = null;
345 if (targetMultiplicity != null)
346 msgs = ((InternalEObject)targetMultiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, null, msgs);
347 if (newTargetMultiplicity != null)
348 msgs = ((InternalEObject)newTargetMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, null, msgs);
349 msgs = basicSetTargetMultiplicity(newTargetMultiplicity, msgs);
350 if (msgs != null) msgs.dispatch();
351 }
352 else if (eNotificationRequired())
353 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY, newTargetMultiplicity, newTargetMultiplicity));
354 }
355
356 /**
357 * <!-- begin-user-doc -->
358 * <!-- end-user-doc -->
359 * @generated
360 */
361 @Override
362 public Symbol getTarget()
363 {
364 return target;
365 }
366
367 /**
368 * <!-- begin-user-doc -->
369 * <!-- end-user-doc -->
370 * @generated
371 */
372 public NotificationChain basicSetTarget(Symbol newTarget, NotificationChain msgs)
373 {
374 Symbol oldTarget = target;
375 target = newTarget;
376 if (eNotificationRequired())
377 {
378 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, oldTarget, newTarget);
379 if (msgs == null) msgs = notification; else msgs.add(notification);
380 }
381 return msgs;
382 }
383
384 /**
385 * <!-- begin-user-doc -->
386 * <!-- end-user-doc -->
387 * @generated
388 */
389 @Override
390 public void setTarget(Symbol newTarget)
391 {
392 if (newTarget != target)
393 {
394 NotificationChain msgs = null;
395 if (target != null)
396 msgs = ((InternalEObject)target).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, null, msgs);
397 if (newTarget != null)
398 msgs = ((InternalEObject)newTarget).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, null, msgs);
399 msgs = basicSetTarget(newTarget, msgs);
400 if (msgs != null) msgs.dispatch();
401 }
402 else if (eNotificationRequired())
403 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET, newTarget, newTarget));
404 }
405
406 /**
407 * <!-- begin-user-doc -->
408 * <!-- end-user-doc -->
409 * @generated
410 */
411 @Override
412 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
413 {
414 switch (featureID)
415 {
416 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL:
417 return basicSetSymbol(null, msgs);
418 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY:
419 return basicSetSourceMultiplicity(null, msgs);
420 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE:
421 return basicSetSource(null, msgs);
422 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY:
423 return basicSetTargetMultiplicity(null, msgs);
424 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET:
425 return basicSetTarget(null, msgs);
426 }
427 return super.eInverseRemove(otherEnd, featureID, msgs);
428 }
429
430 /**
431 * <!-- begin-user-doc -->
432 * <!-- end-user-doc -->
433 * @generated
434 */
435 @Override
436 public Object eGet(int featureID, boolean resolve, boolean coreType)
437 {
438 switch (featureID)
439 {
440 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT:
441 return isContainment();
442 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL:
443 return getSymbol();
444 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY:
445 return getSourceMultiplicity();
446 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE:
447 return getSource();
448 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY:
449 return getTargetMultiplicity();
450 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET:
451 return getTarget();
452 }
453 return super.eGet(featureID, resolve, coreType);
454 }
455
456 /**
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @generated
460 */
461 @Override
462 public void eSet(int featureID, Object newValue)
463 {
464 switch (featureID)
465 {
466 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT:
467 setContainment((Boolean)newValue);
468 return;
469 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL:
470 setSymbol((ModelSymbol)newValue);
471 return;
472 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY:
473 setSourceMultiplicity((MultiplicityDefinition)newValue);
474 return;
475 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE:
476 setSource((Symbol)newValue);
477 return;
478 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY:
479 setTargetMultiplicity((MultiplicityDefinition)newValue);
480 return;
481 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET:
482 setTarget((Symbol)newValue);
483 return;
484 }
485 super.eSet(featureID, newValue);
486 }
487
488 /**
489 * <!-- begin-user-doc -->
490 * <!-- end-user-doc -->
491 * @generated
492 */
493 @Override
494 public void eUnset(int featureID)
495 {
496 switch (featureID)
497 {
498 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT:
499 setContainment(CONTAINMENT_EDEFAULT);
500 return;
501 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL:
502 setSymbol((ModelSymbol)null);
503 return;
504 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY:
505 setSourceMultiplicity((MultiplicityDefinition)null);
506 return;
507 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE:
508 setSource((Symbol)null);
509 return;
510 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY:
511 setTargetMultiplicity((MultiplicityDefinition)null);
512 return;
513 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET:
514 setTarget((Symbol)null);
515 return;
516 }
517 super.eUnset(featureID);
518 }
519
520 /**
521 * <!-- begin-user-doc -->
522 * <!-- end-user-doc -->
523 * @generated
524 */
525 @Override
526 public boolean eIsSet(int featureID)
527 {
528 switch (featureID)
529 {
530 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__CONTAINMENT:
531 return containment != CONTAINMENT_EDEFAULT;
532 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SYMBOL:
533 return symbol != null;
534 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY:
535 return sourceMultiplicity != null;
536 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__SOURCE:
537 return source != null;
538 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY:
539 return targetMultiplicity != null;
540 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION__TARGET:
541 return target != null;
542 }
543 return super.eIsSet(featureID);
544 }
545
546 /**
547 * <!-- begin-user-doc -->
548 * <!-- end-user-doc -->
549 * @generated
550 */
551 @Override
552 public String toString()
553 {
554 if (eIsProxy()) return super.toString();
555
556 StringBuilder result = new StringBuilder(super.toString());
557 result.append(" (containment: ");
558 result.append(containment);
559 result.append(')');
560 return result.toString();
561 }
562
563} //GlobalRelationInterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntObjectImpl.java
new file mode 100644
index 00000000..fa844b68
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntObjectImpl.java
@@ -0,0 +1,179 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.IntObject;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Int Object</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntObjectImpl#getValue <em>Value</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class IntObjectImpl extends DataObjectImpl implements IntObject
29{
30 /**
31 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getValue()
35 * @generated
36 * @ordered
37 */
38 protected static final int VALUE_EDEFAULT = 0;
39
40 /**
41 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getValue()
45 * @generated
46 * @ordered
47 */
48 protected int value = VALUE_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected IntObjectImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.INT_OBJECT;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public int getValue()
78 {
79 return value;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setValue(int newValue)
89 {
90 int oldValue = value;
91 value = newValue;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INT_OBJECT__VALUE, oldValue, value));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.INT_OBJECT__VALUE:
107 return getValue();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.INT_OBJECT__VALUE:
123 setValue((Integer)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.INT_OBJECT__VALUE:
140 setValue(VALUE_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.INT_OBJECT__VALUE:
157 return value != VALUE_EDEFAULT;
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (value: ");
174 result.append(value);
175 result.append(')');
176 return result.toString();
177 }
178
179} //IntObjectImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntegerSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntegerSymbolImpl.java
new file mode 100644
index 00000000..bcd978fa
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntegerSymbolImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Integer Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class IntegerSymbolImpl extends DataSymbolImpl implements IntegerSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected IntegerSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.INTEGER_SYMBOL;
39 }
40
41} //IntegerSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java
new file mode 100644
index 00000000..fb41d77d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InterpretationImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Interpretation</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class InterpretationImpl extends StatementImpl implements Interpretation
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected InterpretationImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.INTERPRETATION;
39 }
40
41} //InterpretationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IrreflexiveClosureImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IrreflexiveClosureImpl.java
new file mode 100644
index 00000000..07ad66f9
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IrreflexiveClosureImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Irreflexive Closure</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class IrreflexiveClosureImpl extends ClosureTypeImpl implements IrreflexiveClosure
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected IrreflexiveClosureImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.IRREFLEXIVE_CLOSURE;
39 }
40
41} //IrreflexiveClosureImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java
new file mode 100644
index 00000000..518aa2b7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java
@@ -0,0 +1,43 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.Literal;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Literal</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class LiteralImpl extends MinimalEObjectImpl.Container implements Literal
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected LiteralImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.LITERAL;
41 }
42
43} //LiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ModelSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ModelSymbolImpl.java
new file mode 100644
index 00000000..bd195572
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ModelSymbolImpl.java
@@ -0,0 +1,179 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Model Symbol</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ModelSymbolImpl#getName <em>Name</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class ModelSymbolImpl extends SymbolImpl implements ModelSymbol
29{
30 /**
31 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getName()
35 * @generated
36 * @ordered
37 */
38 protected static final String NAME_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getName()
45 * @generated
46 * @ordered
47 */
48 protected String name = NAME_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected ModelSymbolImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.MODEL_SYMBOL;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public String getName()
78 {
79 return name;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setName(String newName)
89 {
90 String oldName = name;
91 name = newName;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MODEL_SYMBOL__NAME, oldName, name));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.MODEL_SYMBOL__NAME:
107 return getName();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.MODEL_SYMBOL__NAME:
123 setName((String)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.MODEL_SYMBOL__NAME:
140 setName(NAME_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.MODEL_SYMBOL__NAME:
157 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (name: ");
174 result.append(name);
175 result.append(')');
176 return result.toString();
177 }
178
179} //ModelSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityDefinitionImpl.java
new file mode 100644
index 00000000..a346568c
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityDefinitionImpl.java
@@ -0,0 +1,296 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Multiplicity Definition</b></em>'.
19 * <!-- end-user-doc -->
20 * <p>
21 * The following features are implemented:
22 * </p>
23 * <ul>
24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl#getLower <em>Lower</em>}</li>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl#getUpper <em>Upper</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityDefinitionImpl#isUnlimitedUpper <em>Unlimited Upper</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class MultiplicityDefinitionImpl extends MinimalEObjectImpl.Container implements MultiplicityDefinition
32{
33 /**
34 * The default value of the '{@link #getLower() <em>Lower</em>}' attribute.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getLower()
38 * @generated
39 * @ordered
40 */
41 protected static final int LOWER_EDEFAULT = 0;
42
43 /**
44 * The cached value of the '{@link #getLower() <em>Lower</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getLower()
48 * @generated
49 * @ordered
50 */
51 protected int lower = LOWER_EDEFAULT;
52
53 /**
54 * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #getUpper()
58 * @generated
59 * @ordered
60 */
61 protected static final int UPPER_EDEFAULT = 0;
62
63 /**
64 * The cached value of the '{@link #getUpper() <em>Upper</em>}' attribute.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #getUpper()
68 * @generated
69 * @ordered
70 */
71 protected int upper = UPPER_EDEFAULT;
72
73 /**
74 * The default value of the '{@link #isUnlimitedUpper() <em>Unlimited Upper</em>}' attribute.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #isUnlimitedUpper()
78 * @generated
79 * @ordered
80 */
81 protected static final boolean UNLIMITED_UPPER_EDEFAULT = false;
82
83 /**
84 * The cached value of the '{@link #isUnlimitedUpper() <em>Unlimited Upper</em>}' attribute.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #isUnlimitedUpper()
88 * @generated
89 * @ordered
90 */
91 protected boolean unlimitedUpper = UNLIMITED_UPPER_EDEFAULT;
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 protected MultiplicityDefinitionImpl()
99 {
100 super();
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 protected EClass eStaticClass()
110 {
111 return SolverLanguagePackage.Literals.MULTIPLICITY_DEFINITION;
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public int getLower()
121 {
122 return lower;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setLower(int newLower)
132 {
133 int oldLower = lower;
134 lower = newLower;
135 if (eNotificationRequired())
136 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER, oldLower, lower));
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public int getUpper()
146 {
147 return upper;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public void setUpper(int newUpper)
157 {
158 int oldUpper = upper;
159 upper = newUpper;
160 if (eNotificationRequired())
161 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER, oldUpper, upper));
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public boolean isUnlimitedUpper()
171 {
172 return unlimitedUpper;
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public void setUnlimitedUpper(boolean newUnlimitedUpper)
182 {
183 boolean oldUnlimitedUpper = unlimitedUpper;
184 unlimitedUpper = newUnlimitedUpper;
185 if (eNotificationRequired())
186 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER, oldUnlimitedUpper, unlimitedUpper));
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object eGet(int featureID, boolean resolve, boolean coreType)
196 {
197 switch (featureID)
198 {
199 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER:
200 return getLower();
201 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER:
202 return getUpper();
203 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER:
204 return isUnlimitedUpper();
205 }
206 return super.eGet(featureID, resolve, coreType);
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @Override
215 public void eSet(int featureID, Object newValue)
216 {
217 switch (featureID)
218 {
219 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER:
220 setLower((Integer)newValue);
221 return;
222 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER:
223 setUpper((Integer)newValue);
224 return;
225 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER:
226 setUnlimitedUpper((Boolean)newValue);
227 return;
228 }
229 super.eSet(featureID, newValue);
230 }
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 @Override
238 public void eUnset(int featureID)
239 {
240 switch (featureID)
241 {
242 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER:
243 setLower(LOWER_EDEFAULT);
244 return;
245 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER:
246 setUpper(UPPER_EDEFAULT);
247 return;
248 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER:
249 setUnlimitedUpper(UNLIMITED_UPPER_EDEFAULT);
250 return;
251 }
252 super.eUnset(featureID);
253 }
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 @Override
261 public boolean eIsSet(int featureID)
262 {
263 switch (featureID)
264 {
265 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__LOWER:
266 return lower != LOWER_EDEFAULT;
267 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UPPER:
268 return upper != UPPER_EDEFAULT;
269 case SolverLanguagePackage.MULTIPLICITY_DEFINITION__UNLIMITED_UPPER:
270 return unlimitedUpper != UNLIMITED_UPPER_EDEFAULT;
271 }
272 return super.eIsSet(featureID);
273 }
274
275 /**
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 */
280 @Override
281 public String toString()
282 {
283 if (eIsProxy()) return super.toString();
284
285 StringBuilder result = new StringBuilder(super.toString());
286 result.append(" (lower: ");
287 result.append(lower);
288 result.append(", upper: ");
289 result.append(upper);
290 result.append(", unlimitedUpper: ");
291 result.append(unlimitedUpper);
292 result.append(')');
293 return result.toString();
294 }
295
296} //MultiplicityDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedObjectImpl.java
new file mode 100644
index 00000000..9d907661
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedObjectImpl.java
@@ -0,0 +1,179 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Named Object</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedObjectImpl#getName <em>Name</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class NamedObjectImpl extends ObjectImpl implements NamedObject
29{
30 /**
31 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getName()
35 * @generated
36 * @ordered
37 */
38 protected static final String NAME_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getName()
45 * @generated
46 * @ordered
47 */
48 protected String name = NAME_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected NamedObjectImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.NAMED_OBJECT;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public String getName()
78 {
79 return name;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setName(String newName)
89 {
90 String oldName = name;
91 name = newName;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NAMED_OBJECT__NAME, oldName, name));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.NAMED_OBJECT__NAME:
107 return getName();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.NAMED_OBJECT__NAME:
123 setName((String)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.NAMED_OBJECT__NAME:
140 setName(NAME_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.NAMED_OBJECT__NAME:
157 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (name: ");
174 result.append(name);
175 result.append(')');
176 return result.toString();
177 }
178
179} //NamedObjectImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NegativeImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NegativeImpl.java
new file mode 100644
index 00000000..a30b228f
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NegativeImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.Negative;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Negative</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class NegativeImpl extends PolarityImpl implements Negative
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected NegativeImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.NEGATIVE;
39 }
40
41} //NegativeImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectImpl.java
new file mode 100644
index 00000000..d2f9b8d9
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectImpl.java
@@ -0,0 +1,40 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Object</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ObjectImpl extends ComplexObjectImpl implements org.eclipse.viatra.solver.language.solverLanguage.Object
18{
19 /**
20 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 protected ObjectImpl()
25 {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass()
36 {
37 return SolverLanguagePackage.Literals.OBJECT;
38 }
39
40} //ObjectImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ParameterImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ParameterImpl.java
new file mode 100644
index 00000000..6281c4bc
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ParameterImpl.java
@@ -0,0 +1,271 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
14
15import org.eclipse.viatra.solver.language.solverLanguage.Parameter;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
18import org.eclipse.viatra.solver.language.solverLanguage.Variable;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>Parameter</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl#getVariable <em>Variable</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl#getType <em>Type</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class ParameterImpl extends MinimalEObjectImpl.Container implements Parameter
35{
36 /**
37 * The cached value of the '{@link #getVariable() <em>Variable</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getVariable()
41 * @generated
42 * @ordered
43 */
44 protected Variable variable;
45
46 /**
47 * The cached value of the '{@link #getType() <em>Type</em>}' containment reference.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getType()
51 * @generated
52 * @ordered
53 */
54 protected Symbol type;
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 protected ParameterImpl()
62 {
63 super();
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 @Override
72 protected EClass eStaticClass()
73 {
74 return SolverLanguagePackage.Literals.PARAMETER;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 @Override
83 public Variable getVariable()
84 {
85 return variable;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public NotificationChain basicSetVariable(Variable newVariable, NotificationChain msgs)
94 {
95 Variable oldVariable = variable;
96 variable = newVariable;
97 if (eNotificationRequired())
98 {
99 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__VARIABLE, oldVariable, newVariable);
100 if (msgs == null) msgs = notification; else msgs.add(notification);
101 }
102 return msgs;
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void setVariable(Variable newVariable)
112 {
113 if (newVariable != variable)
114 {
115 NotificationChain msgs = null;
116 if (variable != null)
117 msgs = ((InternalEObject)variable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__VARIABLE, null, msgs);
118 if (newVariable != null)
119 msgs = ((InternalEObject)newVariable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__VARIABLE, null, msgs);
120 msgs = basicSetVariable(newVariable, msgs);
121 if (msgs != null) msgs.dispatch();
122 }
123 else if (eNotificationRequired())
124 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__VARIABLE, newVariable, newVariable));
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public Symbol getType()
134 {
135 return type;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 public NotificationChain basicSetType(Symbol newType, NotificationChain msgs)
144 {
145 Symbol oldType = type;
146 type = newType;
147 if (eNotificationRequired())
148 {
149 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__TYPE, oldType, newType);
150 if (msgs == null) msgs = notification; else msgs.add(notification);
151 }
152 return msgs;
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @Override
161 public void setType(Symbol newType)
162 {
163 if (newType != type)
164 {
165 NotificationChain msgs = null;
166 if (type != null)
167 msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__TYPE, null, msgs);
168 if (newType != null)
169 msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PARAMETER__TYPE, null, msgs);
170 msgs = basicSetType(newType, msgs);
171 if (msgs != null) msgs.dispatch();
172 }
173 else if (eNotificationRequired())
174 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PARAMETER__TYPE, newType, newType));
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
184 {
185 switch (featureID)
186 {
187 case SolverLanguagePackage.PARAMETER__VARIABLE:
188 return basicSetVariable(null, msgs);
189 case SolverLanguagePackage.PARAMETER__TYPE:
190 return basicSetType(null, msgs);
191 }
192 return super.eInverseRemove(otherEnd, featureID, msgs);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public Object eGet(int featureID, boolean resolve, boolean coreType)
202 {
203 switch (featureID)
204 {
205 case SolverLanguagePackage.PARAMETER__VARIABLE:
206 return getVariable();
207 case SolverLanguagePackage.PARAMETER__TYPE:
208 return getType();
209 }
210 return super.eGet(featureID, resolve, coreType);
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public void eSet(int featureID, Object newValue)
220 {
221 switch (featureID)
222 {
223 case SolverLanguagePackage.PARAMETER__VARIABLE:
224 setVariable((Variable)newValue);
225 return;
226 case SolverLanguagePackage.PARAMETER__TYPE:
227 setType((Symbol)newValue);
228 return;
229 }
230 super.eSet(featureID, newValue);
231 }
232
233 /**
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @generated
237 */
238 @Override
239 public void eUnset(int featureID)
240 {
241 switch (featureID)
242 {
243 case SolverLanguagePackage.PARAMETER__VARIABLE:
244 setVariable((Variable)null);
245 return;
246 case SolverLanguagePackage.PARAMETER__TYPE:
247 setType((Symbol)null);
248 return;
249 }
250 super.eUnset(featureID);
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 @Override
259 public boolean eIsSet(int featureID)
260 {
261 switch (featureID)
262 {
263 case SolverLanguagePackage.PARAMETER__VARIABLE:
264 return variable != null;
265 case SolverLanguagePackage.PARAMETER__TYPE:
266 return type != null;
267 }
268 return super.eIsSet(featureID);
269 }
270
271} //ParameterImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PartialitySymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PartialitySymbolImpl.java
new file mode 100644
index 00000000..efc2c5f5
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PartialitySymbolImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Partiality Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class PartialitySymbolImpl extends SymbolImpl implements PartialitySymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected PartialitySymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.PARTIALITY_SYMBOL;
39 }
40
41} //PartialitySymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PatternBodyImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PatternBodyImpl.java
new file mode 100644
index 00000000..5cd03fbf
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PatternBodyImpl.java
@@ -0,0 +1,169 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16
17import org.eclipse.emf.ecore.util.EObjectContainmentEList;
18import org.eclipse.emf.ecore.util.InternalEList;
19
20import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
21import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
22import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Pattern Body</b></em>'.
27 * <!-- end-user-doc -->
28 * <p>
29 * The following features are implemented:
30 * </p>
31 * <ul>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PatternBodyImpl#getConstraints <em>Constraints</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class PatternBodyImpl extends MinimalEObjectImpl.Container implements PatternBody
38{
39 /**
40 * The cached value of the '{@link #getConstraints() <em>Constraints</em>}' containment reference list.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getConstraints()
44 * @generated
45 * @ordered
46 */
47 protected EList<Constraint> constraints;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected PatternBodyImpl()
55 {
56 super();
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 @Override
65 protected EClass eStaticClass()
66 {
67 return SolverLanguagePackage.Literals.PATTERN_BODY;
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 public EList<Constraint> getConstraints()
77 {
78 if (constraints == null)
79 {
80 constraints = new EObjectContainmentEList<Constraint>(Constraint.class, this, SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS);
81 }
82 return constraints;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 @Override
91 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
92 {
93 switch (featureID)
94 {
95 case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS:
96 return ((InternalEList<?>)getConstraints()).basicRemove(otherEnd, msgs);
97 }
98 return super.eInverseRemove(otherEnd, featureID, msgs);
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 @Override
107 public Object eGet(int featureID, boolean resolve, boolean coreType)
108 {
109 switch (featureID)
110 {
111 case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS:
112 return getConstraints();
113 }
114 return super.eGet(featureID, resolve, coreType);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @SuppressWarnings("unchecked")
123 @Override
124 public void eSet(int featureID, Object newValue)
125 {
126 switch (featureID)
127 {
128 case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS:
129 getConstraints().clear();
130 getConstraints().addAll((Collection<? extends Constraint>)newValue);
131 return;
132 }
133 super.eSet(featureID, newValue);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public void eUnset(int featureID)
143 {
144 switch (featureID)
145 {
146 case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS:
147 getConstraints().clear();
148 return;
149 }
150 super.eUnset(featureID);
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public boolean eIsSet(int featureID)
160 {
161 switch (featureID)
162 {
163 case SolverLanguagePackage.PATTERN_BODY__CONSTRAINTS:
164 return constraints != null && !constraints.isEmpty();
165 }
166 return super.eIsSet(featureID);
167 }
168
169} //PatternBodyImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PolarityImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PolarityImpl.java
new file mode 100644
index 00000000..7c2ae07d
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PolarityImpl.java
@@ -0,0 +1,43 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Polarity</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class PolarityImpl extends MinimalEObjectImpl.Container implements Polarity
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected PolarityImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.POLARITY;
41 }
42
43} //PolarityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PositiveImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PositiveImpl.java
new file mode 100644
index 00000000..130cfe7a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PositiveImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.Positive;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Positive</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class PositiveImpl extends PolarityImpl implements Positive
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected PositiveImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.POSITIVE;
39 }
40
41} //PositiveImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java
new file mode 100644
index 00000000..947d74bb
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java
@@ -0,0 +1,207 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.util.EObjectContainmentEList;
16import org.eclipse.emf.ecore.util.InternalEList;
17
18import org.eclipse.viatra.solver.language.solverLanguage.Parameter;
19import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
20import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
21import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Predicate</b></em>'.
26 * <!-- end-user-doc -->
27 * <p>
28 * The following features are implemented:
29 * </p>
30 * <ul>
31 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getParameters <em>Parameters</em>}</li>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getBodies <em>Bodies</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class PredicateImpl extends StatementImpl implements Predicate
38{
39 /**
40 * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getParameters()
44 * @generated
45 * @ordered
46 */
47 protected EList<Parameter> parameters;
48
49 /**
50 * The cached value of the '{@link #getBodies() <em>Bodies</em>}' containment reference list.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getBodies()
54 * @generated
55 * @ordered
56 */
57 protected EList<PatternBody> bodies;
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 protected PredicateImpl()
65 {
66 super();
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 @Override
75 protected EClass eStaticClass()
76 {
77 return SolverLanguagePackage.Literals.PREDICATE;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 @Override
86 public EList<Parameter> getParameters()
87 {
88 if (parameters == null)
89 {
90 parameters = new EObjectContainmentEList<Parameter>(Parameter.class, this, SolverLanguagePackage.PREDICATE__PARAMETERS);
91 }
92 return parameters;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 @Override
101 public EList<PatternBody> getBodies()
102 {
103 if (bodies == null)
104 {
105 bodies = new EObjectContainmentEList<PatternBody>(PatternBody.class, this, SolverLanguagePackage.PREDICATE__BODIES);
106 }
107 return bodies;
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
117 {
118 switch (featureID)
119 {
120 case SolverLanguagePackage.PREDICATE__PARAMETERS:
121 return ((InternalEList<?>)getParameters()).basicRemove(otherEnd, msgs);
122 case SolverLanguagePackage.PREDICATE__BODIES:
123 return ((InternalEList<?>)getBodies()).basicRemove(otherEnd, msgs);
124 }
125 return super.eInverseRemove(otherEnd, featureID, msgs);
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 @Override
134 public Object eGet(int featureID, boolean resolve, boolean coreType)
135 {
136 switch (featureID)
137 {
138 case SolverLanguagePackage.PREDICATE__PARAMETERS:
139 return getParameters();
140 case SolverLanguagePackage.PREDICATE__BODIES:
141 return getBodies();
142 }
143 return super.eGet(featureID, resolve, coreType);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @SuppressWarnings("unchecked")
152 @Override
153 public void eSet(int featureID, Object newValue)
154 {
155 switch (featureID)
156 {
157 case SolverLanguagePackage.PREDICATE__PARAMETERS:
158 getParameters().clear();
159 getParameters().addAll((Collection<? extends Parameter>)newValue);
160 return;
161 case SolverLanguagePackage.PREDICATE__BODIES:
162 getBodies().clear();
163 getBodies().addAll((Collection<? extends PatternBody>)newValue);
164 return;
165 }
166 super.eSet(featureID, newValue);
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public void eUnset(int featureID)
176 {
177 switch (featureID)
178 {
179 case SolverLanguagePackage.PREDICATE__PARAMETERS:
180 getParameters().clear();
181 return;
182 case SolverLanguagePackage.PREDICATE__BODIES:
183 getBodies().clear();
184 return;
185 }
186 super.eUnset(featureID);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public boolean eIsSet(int featureID)
196 {
197 switch (featureID)
198 {
199 case SolverLanguagePackage.PREDICATE__PARAMETERS:
200 return parameters != null && !parameters.isEmpty();
201 case SolverLanguagePackage.PREDICATE__BODIES:
202 return bodies != null && !bodies.isEmpty();
203 }
204 return super.eIsSet(featureID);
205 }
206
207} //PredicateImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateSymbolImpl.java
new file mode 100644
index 00000000..f49c6701
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateSymbolImpl.java
@@ -0,0 +1,196 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
15import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Predicate Symbol</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateSymbolImpl#getSymbol <em>Symbol</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class PredicateSymbolImpl extends PredicateImpl implements PredicateSymbol
32{
33 /**
34 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getSymbol()
38 * @generated
39 * @ordered
40 */
41 protected ModelSymbol symbol;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 protected PredicateSymbolImpl()
49 {
50 super();
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 @Override
59 protected EClass eStaticClass()
60 {
61 return SolverLanguagePackage.Literals.PREDICATE_SYMBOL;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 public ModelSymbol getSymbol()
71 {
72 return symbol;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
81 {
82 ModelSymbol oldSymbol = symbol;
83 symbol = newSymbol;
84 if (eNotificationRequired())
85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_SYMBOL__SYMBOL, oldSymbol, newSymbol);
87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 }
89 return msgs;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public void setSymbol(ModelSymbol newSymbol)
99 {
100 if (newSymbol != symbol)
101 {
102 NotificationChain msgs = null;
103 if (symbol != null)
104 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_SYMBOL__SYMBOL, null, msgs);
105 if (newSymbol != null)
106 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_SYMBOL__SYMBOL, null, msgs);
107 msgs = basicSetSymbol(newSymbol, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_SYMBOL__SYMBOL, newSymbol, newSymbol));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
121 {
122 switch (featureID)
123 {
124 case SolverLanguagePackage.PREDICATE_SYMBOL__SYMBOL:
125 return basicSetSymbol(null, msgs);
126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public Object eGet(int featureID, boolean resolve, boolean coreType)
137 {
138 switch (featureID)
139 {
140 case SolverLanguagePackage.PREDICATE_SYMBOL__SYMBOL:
141 return getSymbol();
142 }
143 return super.eGet(featureID, resolve, coreType);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void eSet(int featureID, Object newValue)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.PREDICATE_SYMBOL__SYMBOL:
157 setSymbol((ModelSymbol)newValue);
158 return;
159 }
160 super.eSet(featureID, newValue);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void eUnset(int featureID)
170 {
171 switch (featureID)
172 {
173 case SolverLanguagePackage.PREDICATE_SYMBOL__SYMBOL:
174 setSymbol((ModelSymbol)null);
175 return;
176 }
177 super.eUnset(featureID);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public boolean eIsSet(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.PREDICATE_SYMBOL__SYMBOL:
191 return symbol != null;
192 }
193 return super.eIsSet(featureID);
194 }
195
196} //PredicateSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java
new file mode 100644
index 00000000..e5cc3585
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java
@@ -0,0 +1,169 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16
17import org.eclipse.emf.ecore.util.EObjectContainmentEList;
18import org.eclipse.emf.ecore.util.InternalEList;
19
20import org.eclipse.viatra.solver.language.solverLanguage.Problem;
21import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
22import org.eclipse.viatra.solver.language.solverLanguage.Statement;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Problem</b></em>'.
27 * <!-- end-user-doc -->
28 * <p>
29 * The following features are implemented:
30 * </p>
31 * <ul>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl#getStatements <em>Statements</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class ProblemImpl extends MinimalEObjectImpl.Container implements Problem
38{
39 /**
40 * The cached value of the '{@link #getStatements() <em>Statements</em>}' containment reference list.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getStatements()
44 * @generated
45 * @ordered
46 */
47 protected EList<Statement> statements;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected ProblemImpl()
55 {
56 super();
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 @Override
65 protected EClass eStaticClass()
66 {
67 return SolverLanguagePackage.Literals.PROBLEM;
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 public EList<Statement> getStatements()
77 {
78 if (statements == null)
79 {
80 statements = new EObjectContainmentEList<Statement>(Statement.class, this, SolverLanguagePackage.PROBLEM__STATEMENTS);
81 }
82 return statements;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 @Override
91 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
92 {
93 switch (featureID)
94 {
95 case SolverLanguagePackage.PROBLEM__STATEMENTS:
96 return ((InternalEList<?>)getStatements()).basicRemove(otherEnd, msgs);
97 }
98 return super.eInverseRemove(otherEnd, featureID, msgs);
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 @Override
107 public Object eGet(int featureID, boolean resolve, boolean coreType)
108 {
109 switch (featureID)
110 {
111 case SolverLanguagePackage.PROBLEM__STATEMENTS:
112 return getStatements();
113 }
114 return super.eGet(featureID, resolve, coreType);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @SuppressWarnings("unchecked")
123 @Override
124 public void eSet(int featureID, Object newValue)
125 {
126 switch (featureID)
127 {
128 case SolverLanguagePackage.PROBLEM__STATEMENTS:
129 getStatements().clear();
130 getStatements().addAll((Collection<? extends Statement>)newValue);
131 return;
132 }
133 super.eSet(featureID, newValue);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public void eUnset(int featureID)
143 {
144 switch (featureID)
145 {
146 case SolverLanguagePackage.PROBLEM__STATEMENTS:
147 getStatements().clear();
148 return;
149 }
150 super.eUnset(featureID);
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public boolean eIsSet(int featureID)
160 {
161 switch (featureID)
162 {
163 case SolverLanguagePackage.PROBLEM__STATEMENTS:
164 return statements != null && !statements.isEmpty();
165 }
166 return super.eIsSet(featureID);
167 }
168
169} //ProblemImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealObjectImpl.java
new file mode 100644
index 00000000..bc32a9a6
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealObjectImpl.java
@@ -0,0 +1,181 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.math.BigDecimal;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Real Object</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.RealObjectImpl#getValue <em>Value</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class RealObjectImpl extends DataObjectImpl implements RealObject
31{
32 /**
33 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getValue()
37 * @generated
38 * @ordered
39 */
40 protected static final BigDecimal VALUE_EDEFAULT = null;
41
42 /**
43 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getValue()
47 * @generated
48 * @ordered
49 */
50 protected BigDecimal value = VALUE_EDEFAULT;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected RealObjectImpl()
58 {
59 super();
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 @Override
68 protected EClass eStaticClass()
69 {
70 return SolverLanguagePackage.Literals.REAL_OBJECT;
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 @Override
79 public BigDecimal getValue()
80 {
81 return value;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 public void setValue(BigDecimal newValue)
91 {
92 BigDecimal oldValue = value;
93 value = newValue;
94 if (eNotificationRequired())
95 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.REAL_OBJECT__VALUE, oldValue, value));
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 @Override
104 public Object eGet(int featureID, boolean resolve, boolean coreType)
105 {
106 switch (featureID)
107 {
108 case SolverLanguagePackage.REAL_OBJECT__VALUE:
109 return getValue();
110 }
111 return super.eGet(featureID, resolve, coreType);
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public void eSet(int featureID, Object newValue)
121 {
122 switch (featureID)
123 {
124 case SolverLanguagePackage.REAL_OBJECT__VALUE:
125 setValue((BigDecimal)newValue);
126 return;
127 }
128 super.eSet(featureID, newValue);
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 @Override
137 public void eUnset(int featureID)
138 {
139 switch (featureID)
140 {
141 case SolverLanguagePackage.REAL_OBJECT__VALUE:
142 setValue(VALUE_EDEFAULT);
143 return;
144 }
145 super.eUnset(featureID);
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public boolean eIsSet(int featureID)
155 {
156 switch (featureID)
157 {
158 case SolverLanguagePackage.REAL_OBJECT__VALUE:
159 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
160 }
161 return super.eIsSet(featureID);
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public String toString()
171 {
172 if (eIsProxy()) return super.toString();
173
174 StringBuilder result = new StringBuilder(super.toString());
175 result.append(" (value: ");
176 result.append(value);
177 result.append(')');
178 return result.toString();
179 }
180
181} //RealObjectImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealSymbolImpl.java
new file mode 100644
index 00000000..8cfd0980
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/RealSymbolImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Real Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class RealSymbolImpl extends DataSymbolImpl implements RealSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected RealSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.REAL_SYMBOL;
39 }
40
41} //RealSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReflexiveClosureImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReflexiveClosureImpl.java
new file mode 100644
index 00000000..111b48cb
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReflexiveClosureImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Reflexive Closure</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class ReflexiveClosureImpl extends ClosureTypeImpl implements ReflexiveClosure
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected ReflexiveClosureImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.REFLEXIVE_CLOSURE;
39 }
40
41} //ReflexiveClosureImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
new file mode 100644
index 00000000..12ffc551
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
@@ -0,0 +1,851 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage;
9
10import org.eclipse.emf.ecore.impl.EFactoryImpl;
11
12import org.eclipse.emf.ecore.plugin.EcorePlugin;
13
14import org.eclipse.viatra.solver.language.solverLanguage.AllInstances;
15import org.eclipse.viatra.solver.language.solverLanguage.AllObjects;
16import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation;
17import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse;
18import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject;
19import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol;
20import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue;
21import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue;
22import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation;
23import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation;
24import org.eclipse.viatra.solver.language.solverLanguage.ClosureType;
25import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
26import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
27import org.eclipse.viatra.solver.language.solverLanguage.DataObject;
28import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
29import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
30import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
31import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
32import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate;
33import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
34import org.eclipse.viatra.solver.language.solverLanguage.False;
35import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
36import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation;
37import org.eclipse.viatra.solver.language.solverLanguage.IntObject;
38import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol;
39import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
40import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure;
41import org.eclipse.viatra.solver.language.solverLanguage.Literal;
42import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
43import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
44import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
45import org.eclipse.viatra.solver.language.solverLanguage.Negative;
46import org.eclipse.viatra.solver.language.solverLanguage.Parameter;
47import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol;
48import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
49import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
50import org.eclipse.viatra.solver.language.solverLanguage.Positive;
51import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
52import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol;
53import org.eclipse.viatra.solver.language.solverLanguage.Problem;
54import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
55import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
56import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
57import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory;
58import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
59import org.eclipse.viatra.solver.language.solverLanguage.Statement;
60import org.eclipse.viatra.solver.language.solverLanguage.StringObject;
61import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol;
62import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
63import org.eclipse.viatra.solver.language.solverLanguage.True;
64import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
65import org.eclipse.viatra.solver.language.solverLanguage.Unknown;
66import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject;
67import org.eclipse.viatra.solver.language.solverLanguage.Variable;
68
69/**
70 * <!-- begin-user-doc -->
71 * An implementation of the model <b>Factory</b>.
72 * <!-- end-user-doc -->
73 * @generated
74 */
75public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLanguageFactory
76{
77 /**
78 * Creates the default factory implementation.
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public static SolverLanguageFactory init()
84 {
85 try
86 {
87 SolverLanguageFactory theSolverLanguageFactory = (SolverLanguageFactory)EPackage.Registry.INSTANCE.getEFactory(SolverLanguagePackage.eNS_URI);
88 if (theSolverLanguageFactory != null)
89 {
90 return theSolverLanguageFactory;
91 }
92 }
93 catch (Exception exception)
94 {
95 EcorePlugin.INSTANCE.log(exception);
96 }
97 return new SolverLanguageFactoryImpl();
98 }
99
100 /**
101 * Creates an instance of the factory.
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 public SolverLanguageFactoryImpl()
107 {
108 super();
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public EObject create(EClass eClass)
118 {
119 switch (eClass.getClassifierID())
120 {
121 case SolverLanguagePackage.PROBLEM: return createProblem();
122 case SolverLanguagePackage.STATEMENT: return createStatement();
123 case SolverLanguagePackage.BOOLEAN_VALUE: return createBooleanValue();
124 case SolverLanguagePackage.TRUTH_VALUE: return createTruthValue();
125 case SolverLanguagePackage.INTERPRETATION: return createInterpretation();
126 case SolverLanguagePackage.BASIC_INTERPRETATION: return createBasicInterpretation();
127 case SolverLanguagePackage.SYMBOL: return createSymbol();
128 case SolverLanguagePackage.MODEL_SYMBOL: return createModelSymbol();
129 case SolverLanguagePackage.PARTIALITY_SYMBOL: return createPartialitySymbol();
130 case SolverLanguagePackage.EXIST_SYMBOL: return createExistSymbol();
131 case SolverLanguagePackage.EQUALS_SYMBOL: return createEqualsSymbol();
132 case SolverLanguagePackage.DATA_SYMBOL: return createDataSymbol();
133 case SolverLanguagePackage.BOOLEAN_SYMBOL: return createBooleanSymbol();
134 case SolverLanguagePackage.INTEGER_SYMBOL: return createIntegerSymbol();
135 case SolverLanguagePackage.REAL_SYMBOL: return createRealSymbol();
136 case SolverLanguagePackage.STRING_SYMBOL: return createStringSymbol();
137 case SolverLanguagePackage.COMPLEX_OBJECT: return createComplexObject();
138 case SolverLanguagePackage.OBJECT: return createObject();
139 case SolverLanguagePackage.NAMED_OBJECT: return createNamedObject();
140 case SolverLanguagePackage.UNNAMED_OBJECT: return createUnnamedObject();
141 case SolverLanguagePackage.DATA_OBJECT: return createDataObject();
142 case SolverLanguagePackage.BOOLEAN_OBJECT: return createBooleanObject();
143 case SolverLanguagePackage.INT_OBJECT: return createIntObject();
144 case SolverLanguagePackage.REAL_OBJECT: return createRealObject();
145 case SolverLanguagePackage.STRING_OBJECT: return createStringObject();
146 case SolverLanguagePackage.PREDICATE: return createPredicate();
147 case SolverLanguagePackage.PREDICATE_SYMBOL: return createPredicateSymbol();
148 case SolverLanguagePackage.ERROR_PREDICATE: return createErrorPredicate();
149 case SolverLanguagePackage.PARAMETER: return createParameter();
150 case SolverLanguagePackage.PATTERN_BODY: return createPatternBody();
151 case SolverLanguagePackage.POLARITY: return createPolarity();
152 case SolverLanguagePackage.CONSTRAINT: return createConstraint();
153 case SolverLanguagePackage.CLOSURE_TYPE: return createClosureType();
154 case SolverLanguagePackage.LITERAL: return createLiteral();
155 case SolverLanguagePackage.VARIABLE: return createVariable();
156 case SolverLanguagePackage.ALL_INSTANCES: return createAllInstances();
157 case SolverLanguagePackage.ALL_OBJECTS: return createAllObjects();
158 case SolverLanguagePackage.DEFAULT_INTERPRETATION: return createDefaultInterpretation();
159 case SolverLanguagePackage.CD_INTERPRETATION: return createCDInterpretation();
160 case SolverLanguagePackage.CLASS_INTERPRETATION: return createClassInterpretation();
161 case SolverLanguagePackage.ENUM_INTERPRETATION: return createEnumInterpretation();
162 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION: return createFieldRelationInterpretation();
163 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION: return createGlobalRelationInterpretation();
164 case SolverLanguagePackage.MULTIPLICITY_DEFINITION: return createMultiplicityDefinition();
165 case SolverLanguagePackage.BOOLEAN_TRUE: return createBooleanTrue();
166 case SolverLanguagePackage.BOOLEAN_FALSE: return createBooleanFalse();
167 case SolverLanguagePackage.TRUE: return createTrue();
168 case SolverLanguagePackage.FALSE: return createFalse();
169 case SolverLanguagePackage.UNKNOWN: return createUnknown();
170 case SolverLanguagePackage.ERROR: return createError();
171 case SolverLanguagePackage.POSITIVE: return createPositive();
172 case SolverLanguagePackage.NEGATIVE: return createNegative();
173 case SolverLanguagePackage.REFLEXIVE_CLOSURE: return createReflexiveClosure();
174 case SolverLanguagePackage.IRREFLEXIVE_CLOSURE: return createIrreflexiveClosure();
175 default:
176 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
177 }
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public Problem createProblem()
187 {
188 ProblemImpl problem = new ProblemImpl();
189 return problem;
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 @Override
198 public Statement createStatement()
199 {
200 StatementImpl statement = new StatementImpl();
201 return statement;
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 @Override
210 public BooleanValue createBooleanValue()
211 {
212 BooleanValueImpl booleanValue = new BooleanValueImpl();
213 return booleanValue;
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 @Override
222 public TruthValue createTruthValue()
223 {
224 TruthValueImpl truthValue = new TruthValueImpl();
225 return truthValue;
226 }
227
228 /**
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 */
233 @Override
234 public Interpretation createInterpretation()
235 {
236 InterpretationImpl interpretation = new InterpretationImpl();
237 return interpretation;
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public BasicInterpretation createBasicInterpretation()
247 {
248 BasicInterpretationImpl basicInterpretation = new BasicInterpretationImpl();
249 return basicInterpretation;
250 }
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 @Override
258 public Symbol createSymbol()
259 {
260 SymbolImpl symbol = new SymbolImpl();
261 return symbol;
262 }
263
264 /**
265 * <!-- begin-user-doc -->
266 * <!-- end-user-doc -->
267 * @generated
268 */
269 @Override
270 public ModelSymbol createModelSymbol()
271 {
272 ModelSymbolImpl modelSymbol = new ModelSymbolImpl();
273 return modelSymbol;
274 }
275
276 /**
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 @Override
282 public PartialitySymbol createPartialitySymbol()
283 {
284 PartialitySymbolImpl partialitySymbol = new PartialitySymbolImpl();
285 return partialitySymbol;
286 }
287
288 /**
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @generated
292 */
293 @Override
294 public ExistSymbol createExistSymbol()
295 {
296 ExistSymbolImpl existSymbol = new ExistSymbolImpl();
297 return existSymbol;
298 }
299
300 /**
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 */
305 @Override
306 public EqualsSymbol createEqualsSymbol()
307 {
308 EqualsSymbolImpl equalsSymbol = new EqualsSymbolImpl();
309 return equalsSymbol;
310 }
311
312 /**
313 * <!-- begin-user-doc -->
314 * <!-- end-user-doc -->
315 * @generated
316 */
317 @Override
318 public DataSymbol createDataSymbol()
319 {
320 DataSymbolImpl dataSymbol = new DataSymbolImpl();
321 return dataSymbol;
322 }
323
324 /**
325 * <!-- begin-user-doc -->
326 * <!-- end-user-doc -->
327 * @generated
328 */
329 @Override
330 public BooleanSymbol createBooleanSymbol()
331 {
332 BooleanSymbolImpl booleanSymbol = new BooleanSymbolImpl();
333 return booleanSymbol;
334 }
335
336 /**
337 * <!-- begin-user-doc -->
338 * <!-- end-user-doc -->
339 * @generated
340 */
341 @Override
342 public IntegerSymbol createIntegerSymbol()
343 {
344 IntegerSymbolImpl integerSymbol = new IntegerSymbolImpl();
345 return integerSymbol;
346 }
347
348 /**
349 * <!-- begin-user-doc -->
350 * <!-- end-user-doc -->
351 * @generated
352 */
353 @Override
354 public RealSymbol createRealSymbol()
355 {
356 RealSymbolImpl realSymbol = new RealSymbolImpl();
357 return realSymbol;
358 }
359
360 /**
361 * <!-- begin-user-doc -->
362 * <!-- end-user-doc -->
363 * @generated
364 */
365 @Override
366 public StringSymbol createStringSymbol()
367 {
368 StringSymbolImpl stringSymbol = new StringSymbolImpl();
369 return stringSymbol;
370 }
371
372 /**
373 * <!-- begin-user-doc -->
374 * <!-- end-user-doc -->
375 * @generated
376 */
377 @Override
378 public ComplexObject createComplexObject()
379 {
380 ComplexObjectImpl complexObject = new ComplexObjectImpl();
381 return complexObject;
382 }
383
384 /**
385 * <!-- begin-user-doc -->
386 * <!-- end-user-doc -->
387 * @generated
388 */
389 @Override
390 public org.eclipse.viatra.solver.language.solverLanguage.Object createObject()
391 {
392 ObjectImpl object = new ObjectImpl();
393 return object;
394 }
395
396 /**
397 * <!-- begin-user-doc -->
398 * <!-- end-user-doc -->
399 * @generated
400 */
401 @Override
402 public NamedObject createNamedObject()
403 {
404 NamedObjectImpl namedObject = new NamedObjectImpl();
405 return namedObject;
406 }
407
408 /**
409 * <!-- begin-user-doc -->
410 * <!-- end-user-doc -->
411 * @generated
412 */
413 @Override
414 public UnnamedObject createUnnamedObject()
415 {
416 UnnamedObjectImpl unnamedObject = new UnnamedObjectImpl();
417 return unnamedObject;
418 }
419
420 /**
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 */
425 @Override
426 public DataObject createDataObject()
427 {
428 DataObjectImpl dataObject = new DataObjectImpl();
429 return dataObject;
430 }
431
432 /**
433 * <!-- begin-user-doc -->
434 * <!-- end-user-doc -->
435 * @generated
436 */
437 @Override
438 public BooleanObject createBooleanObject()
439 {
440 BooleanObjectImpl booleanObject = new BooleanObjectImpl();
441 return booleanObject;
442 }
443
444 /**
445 * <!-- begin-user-doc -->
446 * <!-- end-user-doc -->
447 * @generated
448 */
449 @Override
450 public IntObject createIntObject()
451 {
452 IntObjectImpl intObject = new IntObjectImpl();
453 return intObject;
454 }
455
456 /**
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @generated
460 */
461 @Override
462 public RealObject createRealObject()
463 {
464 RealObjectImpl realObject = new RealObjectImpl();
465 return realObject;
466 }
467
468 /**
469 * <!-- begin-user-doc -->
470 * <!-- end-user-doc -->
471 * @generated
472 */
473 @Override
474 public StringObject createStringObject()
475 {
476 StringObjectImpl stringObject = new StringObjectImpl();
477 return stringObject;
478 }
479
480 /**
481 * <!-- begin-user-doc -->
482 * <!-- end-user-doc -->
483 * @generated
484 */
485 @Override
486 public Predicate createPredicate()
487 {
488 PredicateImpl predicate = new PredicateImpl();
489 return predicate;
490 }
491
492 /**
493 * <!-- begin-user-doc -->
494 * <!-- end-user-doc -->
495 * @generated
496 */
497 @Override
498 public PredicateSymbol createPredicateSymbol()
499 {
500 PredicateSymbolImpl predicateSymbol = new PredicateSymbolImpl();
501 return predicateSymbol;
502 }
503
504 /**
505 * <!-- begin-user-doc -->
506 * <!-- end-user-doc -->
507 * @generated
508 */
509 @Override
510 public ErrorPredicate createErrorPredicate()
511 {
512 ErrorPredicateImpl errorPredicate = new ErrorPredicateImpl();
513 return errorPredicate;
514 }
515
516 /**
517 * <!-- begin-user-doc -->
518 * <!-- end-user-doc -->
519 * @generated
520 */
521 @Override
522 public Parameter createParameter()
523 {
524 ParameterImpl parameter = new ParameterImpl();
525 return parameter;
526 }
527
528 /**
529 * <!-- begin-user-doc -->
530 * <!-- end-user-doc -->
531 * @generated
532 */
533 @Override
534 public PatternBody createPatternBody()
535 {
536 PatternBodyImpl patternBody = new PatternBodyImpl();
537 return patternBody;
538 }
539
540 /**
541 * <!-- begin-user-doc -->
542 * <!-- end-user-doc -->
543 * @generated
544 */
545 @Override
546 public Polarity createPolarity()
547 {
548 PolarityImpl polarity = new PolarityImpl();
549 return polarity;
550 }
551
552 /**
553 * <!-- begin-user-doc -->
554 * <!-- end-user-doc -->
555 * @generated
556 */
557 @Override
558 public Constraint createConstraint()
559 {
560 ConstraintImpl constraint = new ConstraintImpl();
561 return constraint;
562 }
563
564 /**
565 * <!-- begin-user-doc -->
566 * <!-- end-user-doc -->
567 * @generated
568 */
569 @Override
570 public ClosureType createClosureType()
571 {
572 ClosureTypeImpl closureType = new ClosureTypeImpl();
573 return closureType;
574 }
575
576 /**
577 * <!-- begin-user-doc -->
578 * <!-- end-user-doc -->
579 * @generated
580 */
581 @Override
582 public Literal createLiteral()
583 {
584 LiteralImpl literal = new LiteralImpl();
585 return literal;
586 }
587
588 /**
589 * <!-- begin-user-doc -->
590 * <!-- end-user-doc -->
591 * @generated
592 */
593 @Override
594 public Variable createVariable()
595 {
596 VariableImpl variable = new VariableImpl();
597 return variable;
598 }
599
600 /**
601 * <!-- begin-user-doc -->
602 * <!-- end-user-doc -->
603 * @generated
604 */
605 @Override
606 public AllInstances createAllInstances()
607 {
608 AllInstancesImpl allInstances = new AllInstancesImpl();
609 return allInstances;
610 }
611
612 /**
613 * <!-- begin-user-doc -->
614 * <!-- end-user-doc -->
615 * @generated
616 */
617 @Override
618 public AllObjects createAllObjects()
619 {
620 AllObjectsImpl allObjects = new AllObjectsImpl();
621 return allObjects;
622 }
623
624 /**
625 * <!-- begin-user-doc -->
626 * <!-- end-user-doc -->
627 * @generated
628 */
629 @Override
630 public DefaultInterpretation createDefaultInterpretation()
631 {
632 DefaultInterpretationImpl defaultInterpretation = new DefaultInterpretationImpl();
633 return defaultInterpretation;
634 }
635
636 /**
637 * <!-- begin-user-doc -->
638 * <!-- end-user-doc -->
639 * @generated
640 */
641 @Override
642 public CDInterpretation createCDInterpretation()
643 {
644 CDInterpretationImpl cdInterpretation = new CDInterpretationImpl();
645 return cdInterpretation;
646 }
647
648 /**
649 * <!-- begin-user-doc -->
650 * <!-- end-user-doc -->
651 * @generated
652 */
653 @Override
654 public ClassInterpretation createClassInterpretation()
655 {
656 ClassInterpretationImpl classInterpretation = new ClassInterpretationImpl();
657 return classInterpretation;
658 }
659
660 /**
661 * <!-- begin-user-doc -->
662 * <!-- end-user-doc -->
663 * @generated
664 */
665 @Override
666 public EnumInterpretation createEnumInterpretation()
667 {
668 EnumInterpretationImpl enumInterpretation = new EnumInterpretationImpl();
669 return enumInterpretation;
670 }
671
672 /**
673 * <!-- begin-user-doc -->
674 * <!-- end-user-doc -->
675 * @generated
676 */
677 @Override
678 public FieldRelationInterpretation createFieldRelationInterpretation()
679 {
680 FieldRelationInterpretationImpl fieldRelationInterpretation = new FieldRelationInterpretationImpl();
681 return fieldRelationInterpretation;
682 }
683
684 /**
685 * <!-- begin-user-doc -->
686 * <!-- end-user-doc -->
687 * @generated
688 */
689 @Override
690 public GlobalRelationInterpretation createGlobalRelationInterpretation()
691 {
692 GlobalRelationInterpretationImpl globalRelationInterpretation = new GlobalRelationInterpretationImpl();
693 return globalRelationInterpretation;
694 }
695
696 /**
697 * <!-- begin-user-doc -->
698 * <!-- end-user-doc -->
699 * @generated
700 */
701 @Override
702 public MultiplicityDefinition createMultiplicityDefinition()
703 {
704 MultiplicityDefinitionImpl multiplicityDefinition = new MultiplicityDefinitionImpl();
705 return multiplicityDefinition;
706 }
707
708 /**
709 * <!-- begin-user-doc -->
710 * <!-- end-user-doc -->
711 * @generated
712 */
713 @Override
714 public BooleanTrue createBooleanTrue()
715 {
716 BooleanTrueImpl booleanTrue = new BooleanTrueImpl();
717 return booleanTrue;
718 }
719
720 /**
721 * <!-- begin-user-doc -->
722 * <!-- end-user-doc -->
723 * @generated
724 */
725 @Override
726 public BooleanFalse createBooleanFalse()
727 {
728 BooleanFalseImpl booleanFalse = new BooleanFalseImpl();
729 return booleanFalse;
730 }
731
732 /**
733 * <!-- begin-user-doc -->
734 * <!-- end-user-doc -->
735 * @generated
736 */
737 @Override
738 public True createTrue()
739 {
740 TrueImpl true_ = new TrueImpl();
741 return true_;
742 }
743
744 /**
745 * <!-- begin-user-doc -->
746 * <!-- end-user-doc -->
747 * @generated
748 */
749 @Override
750 public False createFalse()
751 {
752 FalseImpl false_ = new FalseImpl();
753 return false_;
754 }
755
756 /**
757 * <!-- begin-user-doc -->
758 * <!-- end-user-doc -->
759 * @generated
760 */
761 @Override
762 public Unknown createUnknown()
763 {
764 UnknownImpl unknown = new UnknownImpl();
765 return unknown;
766 }
767
768 /**
769 * <!-- begin-user-doc -->
770 * <!-- end-user-doc -->
771 * @generated
772 */
773 @Override
774 public org.eclipse.viatra.solver.language.solverLanguage.Error createError()
775 {
776 ErrorImpl error = new ErrorImpl();
777 return error;
778 }
779
780 /**
781 * <!-- begin-user-doc -->
782 * <!-- end-user-doc -->
783 * @generated
784 */
785 @Override
786 public Positive createPositive()
787 {
788 PositiveImpl positive = new PositiveImpl();
789 return positive;
790 }
791
792 /**
793 * <!-- begin-user-doc -->
794 * <!-- end-user-doc -->
795 * @generated
796 */
797 @Override
798 public Negative createNegative()
799 {
800 NegativeImpl negative = new NegativeImpl();
801 return negative;
802 }
803
804 /**
805 * <!-- begin-user-doc -->
806 * <!-- end-user-doc -->
807 * @generated
808 */
809 @Override
810 public ReflexiveClosure createReflexiveClosure()
811 {
812 ReflexiveClosureImpl reflexiveClosure = new ReflexiveClosureImpl();
813 return reflexiveClosure;
814 }
815
816 /**
817 * <!-- begin-user-doc -->
818 * <!-- end-user-doc -->
819 * @generated
820 */
821 @Override
822 public IrreflexiveClosure createIrreflexiveClosure()
823 {
824 IrreflexiveClosureImpl irreflexiveClosure = new IrreflexiveClosureImpl();
825 return irreflexiveClosure;
826 }
827
828 /**
829 * <!-- begin-user-doc -->
830 * <!-- end-user-doc -->
831 * @generated
832 */
833 @Override
834 public SolverLanguagePackage getSolverLanguagePackage()
835 {
836 return (SolverLanguagePackage)getEPackage();
837 }
838
839 /**
840 * <!-- begin-user-doc -->
841 * <!-- end-user-doc -->
842 * @deprecated
843 * @generated
844 */
845 @Deprecated
846 public static SolverLanguagePackage getPackage()
847 {
848 return SolverLanguagePackage.eINSTANCE;
849 }
850
851} //SolverLanguageFactoryImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
new file mode 100644
index 00000000..9e5d391b
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
@@ -0,0 +1,2007 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EAttribute;
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.EReference;
10
11import org.eclipse.emf.ecore.impl.EPackageImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.AllInstances;
14import org.eclipse.viatra.solver.language.solverLanguage.AllObjects;
15import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation;
16import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse;
17import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject;
18import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol;
19import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue;
20import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue;
21import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation;
22import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation;
23import org.eclipse.viatra.solver.language.solverLanguage.ClosureType;
24import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
25import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
26import org.eclipse.viatra.solver.language.solverLanguage.DataObject;
27import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
28import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
29import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
30import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
31import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate;
32import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
33import org.eclipse.viatra.solver.language.solverLanguage.False;
34import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
35import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation;
36import org.eclipse.viatra.solver.language.solverLanguage.IntObject;
37import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol;
38import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
39import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure;
40import org.eclipse.viatra.solver.language.solverLanguage.Literal;
41import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
42import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
43import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
44import org.eclipse.viatra.solver.language.solverLanguage.Negative;
45import org.eclipse.viatra.solver.language.solverLanguage.Parameter;
46import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol;
47import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
48import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
49import org.eclipse.viatra.solver.language.solverLanguage.Positive;
50import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
51import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol;
52import org.eclipse.viatra.solver.language.solverLanguage.Problem;
53import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
54import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
55import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
56import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory;
57import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
58import org.eclipse.viatra.solver.language.solverLanguage.Statement;
59import org.eclipse.viatra.solver.language.solverLanguage.StringObject;
60import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol;
61import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
62import org.eclipse.viatra.solver.language.solverLanguage.True;
63import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
64import org.eclipse.viatra.solver.language.solverLanguage.Unknown;
65import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject;
66import org.eclipse.viatra.solver.language.solverLanguage.Variable;
67
68/**
69 * <!-- begin-user-doc -->
70 * An implementation of the model <b>Package</b>.
71 * <!-- end-user-doc -->
72 * @generated
73 */
74public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLanguagePackage
75{
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 private EClass problemEClass = null;
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 private EClass statementEClass = null;
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 private EClass booleanValueEClass = null;
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 private EClass truthValueEClass = null;
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 private EClass interpretationEClass = null;
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 private EClass basicInterpretationEClass = null;
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 private EClass symbolEClass = null;
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 private EClass modelSymbolEClass = null;
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 private EClass partialitySymbolEClass = null;
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 private EClass existSymbolEClass = null;
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 private EClass equalsSymbolEClass = null;
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 private EClass dataSymbolEClass = null;
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 private EClass booleanSymbolEClass = null;
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 private EClass integerSymbolEClass = null;
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 private EClass realSymbolEClass = null;
180
181 /**
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 */
186 private EClass stringSymbolEClass = null;
187
188 /**
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 */
193 private EClass complexObjectEClass = null;
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 private EClass objectEClass = null;
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 private EClass namedObjectEClass = null;
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 private EClass unnamedObjectEClass = null;
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 private EClass dataObjectEClass = null;
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 private EClass booleanObjectEClass = null;
229
230 /**
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @generated
234 */
235 private EClass intObjectEClass = null;
236
237 /**
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @generated
241 */
242 private EClass realObjectEClass = null;
243
244 /**
245 * <!-- begin-user-doc -->
246 * <!-- end-user-doc -->
247 * @generated
248 */
249 private EClass stringObjectEClass = null;
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 private EClass predicateEClass = null;
257
258 /**
259 * <!-- begin-user-doc -->
260 * <!-- end-user-doc -->
261 * @generated
262 */
263 private EClass predicateSymbolEClass = null;
264
265 /**
266 * <!-- begin-user-doc -->
267 * <!-- end-user-doc -->
268 * @generated
269 */
270 private EClass errorPredicateEClass = null;
271
272 /**
273 * <!-- begin-user-doc -->
274 * <!-- end-user-doc -->
275 * @generated
276 */
277 private EClass parameterEClass = null;
278
279 /**
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @generated
283 */
284 private EClass patternBodyEClass = null;
285
286 /**
287 * <!-- begin-user-doc -->
288 * <!-- end-user-doc -->
289 * @generated
290 */
291 private EClass polarityEClass = null;
292
293 /**
294 * <!-- begin-user-doc -->
295 * <!-- end-user-doc -->
296 * @generated
297 */
298 private EClass constraintEClass = null;
299
300 /**
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 */
305 private EClass closureTypeEClass = null;
306
307 /**
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @generated
311 */
312 private EClass literalEClass = null;
313
314 /**
315 * <!-- begin-user-doc -->
316 * <!-- end-user-doc -->
317 * @generated
318 */
319 private EClass variableEClass = null;
320
321 /**
322 * <!-- begin-user-doc -->
323 * <!-- end-user-doc -->
324 * @generated
325 */
326 private EClass allInstancesEClass = null;
327
328 /**
329 * <!-- begin-user-doc -->
330 * <!-- end-user-doc -->
331 * @generated
332 */
333 private EClass allObjectsEClass = null;
334
335 /**
336 * <!-- begin-user-doc -->
337 * <!-- end-user-doc -->
338 * @generated
339 */
340 private EClass defaultInterpretationEClass = null;
341
342 /**
343 * <!-- begin-user-doc -->
344 * <!-- end-user-doc -->
345 * @generated
346 */
347 private EClass cdInterpretationEClass = null;
348
349 /**
350 * <!-- begin-user-doc -->
351 * <!-- end-user-doc -->
352 * @generated
353 */
354 private EClass classInterpretationEClass = null;
355
356 /**
357 * <!-- begin-user-doc -->
358 * <!-- end-user-doc -->
359 * @generated
360 */
361 private EClass enumInterpretationEClass = null;
362
363 /**
364 * <!-- begin-user-doc -->
365 * <!-- end-user-doc -->
366 * @generated
367 */
368 private EClass fieldRelationInterpretationEClass = null;
369
370 /**
371 * <!-- begin-user-doc -->
372 * <!-- end-user-doc -->
373 * @generated
374 */
375 private EClass globalRelationInterpretationEClass = null;
376
377 /**
378 * <!-- begin-user-doc -->
379 * <!-- end-user-doc -->
380 * @generated
381 */
382 private EClass multiplicityDefinitionEClass = null;
383
384 /**
385 * <!-- begin-user-doc -->
386 * <!-- end-user-doc -->
387 * @generated
388 */
389 private EClass booleanTrueEClass = null;
390
391 /**
392 * <!-- begin-user-doc -->
393 * <!-- end-user-doc -->
394 * @generated
395 */
396 private EClass booleanFalseEClass = null;
397
398 /**
399 * <!-- begin-user-doc -->
400 * <!-- end-user-doc -->
401 * @generated
402 */
403 private EClass trueEClass = null;
404
405 /**
406 * <!-- begin-user-doc -->
407 * <!-- end-user-doc -->
408 * @generated
409 */
410 private EClass falseEClass = null;
411
412 /**
413 * <!-- begin-user-doc -->
414 * <!-- end-user-doc -->
415 * @generated
416 */
417 private EClass unknownEClass = null;
418
419 /**
420 * <!-- begin-user-doc -->
421 * <!-- end-user-doc -->
422 * @generated
423 */
424 private EClass errorEClass = null;
425
426 /**
427 * <!-- begin-user-doc -->
428 * <!-- end-user-doc -->
429 * @generated
430 */
431 private EClass positiveEClass = null;
432
433 /**
434 * <!-- begin-user-doc -->
435 * <!-- end-user-doc -->
436 * @generated
437 */
438 private EClass negativeEClass = null;
439
440 /**
441 * <!-- begin-user-doc -->
442 * <!-- end-user-doc -->
443 * @generated
444 */
445 private EClass reflexiveClosureEClass = null;
446
447 /**
448 * <!-- begin-user-doc -->
449 * <!-- end-user-doc -->
450 * @generated
451 */
452 private EClass irreflexiveClosureEClass = null;
453
454 /**
455 * Creates an instance of the model <b>Package</b>, registered with
456 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
457 * package URI value.
458 * <p>Note: the correct way to create the package is via the static
459 * factory method {@link #init init()}, which also performs
460 * initialization of the package, or returns the registered package,
461 * if one already exists.
462 * <!-- begin-user-doc -->
463 * <!-- end-user-doc -->
464 * @see org.eclipse.emf.ecore.EPackage.Registry
465 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#eNS_URI
466 * @see #init()
467 * @generated
468 */
469 private SolverLanguagePackageImpl()
470 {
471 super(eNS_URI, SolverLanguageFactory.eINSTANCE);
472 }
473
474 /**
475 * <!-- begin-user-doc -->
476 * <!-- end-user-doc -->
477 * @generated
478 */
479 private static boolean isInited = false;
480
481 /**
482 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
483 *
484 * <p>This method is used to initialize {@link SolverLanguagePackage#eINSTANCE} when that field is accessed.
485 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
486 * <!-- begin-user-doc -->
487 * <!-- end-user-doc -->
488 * @see #eNS_URI
489 * @see #createPackageContents()
490 * @see #initializePackageContents()
491 * @generated
492 */
493 public static SolverLanguagePackage init()
494 {
495 if (isInited) return (SolverLanguagePackage)EPackage.Registry.INSTANCE.getEPackage(SolverLanguagePackage.eNS_URI);
496
497 // Obtain or create and register package
498 Object registeredSolverLanguagePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
499 SolverLanguagePackageImpl theSolverLanguagePackage = registeredSolverLanguagePackage instanceof SolverLanguagePackageImpl ? (SolverLanguagePackageImpl)registeredSolverLanguagePackage : new SolverLanguagePackageImpl();
500
501 isInited = true;
502
503 // Create package meta-data objects
504 theSolverLanguagePackage.createPackageContents();
505
506 // Initialize created meta-data
507 theSolverLanguagePackage.initializePackageContents();
508
509 // Mark meta-data to indicate it can't be changed
510 theSolverLanguagePackage.freeze();
511
512 // Update the registry and return the package
513 EPackage.Registry.INSTANCE.put(SolverLanguagePackage.eNS_URI, theSolverLanguagePackage);
514 return theSolverLanguagePackage;
515 }
516
517 /**
518 * <!-- begin-user-doc -->
519 * <!-- end-user-doc -->
520 * @generated
521 */
522 @Override
523 public EClass getProblem()
524 {
525 return problemEClass;
526 }
527
528 /**
529 * <!-- begin-user-doc -->
530 * <!-- end-user-doc -->
531 * @generated
532 */
533 @Override
534 public EReference getProblem_Statements()
535 {
536 return (EReference)problemEClass.getEStructuralFeatures().get(0);
537 }
538
539 /**
540 * <!-- begin-user-doc -->
541 * <!-- end-user-doc -->
542 * @generated
543 */
544 @Override
545 public EClass getStatement()
546 {
547 return statementEClass;
548 }
549
550 /**
551 * <!-- begin-user-doc -->
552 * <!-- end-user-doc -->
553 * @generated
554 */
555 @Override
556 public EClass getBooleanValue()
557 {
558 return booleanValueEClass;
559 }
560
561 /**
562 * <!-- begin-user-doc -->
563 * <!-- end-user-doc -->
564 * @generated
565 */
566 @Override
567 public EClass getTruthValue()
568 {
569 return truthValueEClass;
570 }
571
572 /**
573 * <!-- begin-user-doc -->
574 * <!-- end-user-doc -->
575 * @generated
576 */
577 @Override
578 public EClass getInterpretation()
579 {
580 return interpretationEClass;
581 }
582
583 /**
584 * <!-- begin-user-doc -->
585 * <!-- end-user-doc -->
586 * @generated
587 */
588 @Override
589 public EClass getBasicInterpretation()
590 {
591 return basicInterpretationEClass;
592 }
593
594 /**
595 * <!-- begin-user-doc -->
596 * <!-- end-user-doc -->
597 * @generated
598 */
599 @Override
600 public EReference getBasicInterpretation_Symbol()
601 {
602 return (EReference)basicInterpretationEClass.getEStructuralFeatures().get(0);
603 }
604
605 /**
606 * <!-- begin-user-doc -->
607 * <!-- end-user-doc -->
608 * @generated
609 */
610 @Override
611 public EReference getBasicInterpretation_Objects()
612 {
613 return (EReference)basicInterpretationEClass.getEStructuralFeatures().get(1);
614 }
615
616 /**
617 * <!-- begin-user-doc -->
618 * <!-- end-user-doc -->
619 * @generated
620 */
621 @Override
622 public EReference getBasicInterpretation_Value()
623 {
624 return (EReference)basicInterpretationEClass.getEStructuralFeatures().get(2);
625 }
626
627 /**
628 * <!-- begin-user-doc -->
629 * <!-- end-user-doc -->
630 * @generated
631 */
632 @Override
633 public EClass getSymbol()
634 {
635 return symbolEClass;
636 }
637
638 /**
639 * <!-- begin-user-doc -->
640 * <!-- end-user-doc -->
641 * @generated
642 */
643 @Override
644 public EClass getModelSymbol()
645 {
646 return modelSymbolEClass;
647 }
648
649 /**
650 * <!-- begin-user-doc -->
651 * <!-- end-user-doc -->
652 * @generated
653 */
654 @Override
655 public EAttribute getModelSymbol_Name()
656 {
657 return (EAttribute)modelSymbolEClass.getEStructuralFeatures().get(0);
658 }
659
660 /**
661 * <!-- begin-user-doc -->
662 * <!-- end-user-doc -->
663 * @generated
664 */
665 @Override
666 public EClass getPartialitySymbol()
667 {
668 return partialitySymbolEClass;
669 }
670
671 /**
672 * <!-- begin-user-doc -->
673 * <!-- end-user-doc -->
674 * @generated
675 */
676 @Override
677 public EClass getExistSymbol()
678 {
679 return existSymbolEClass;
680 }
681
682 /**
683 * <!-- begin-user-doc -->
684 * <!-- end-user-doc -->
685 * @generated
686 */
687 @Override
688 public EClass getEqualsSymbol()
689 {
690 return equalsSymbolEClass;
691 }
692
693 /**
694 * <!-- begin-user-doc -->
695 * <!-- end-user-doc -->
696 * @generated
697 */
698 @Override
699 public EClass getDataSymbol()
700 {
701 return dataSymbolEClass;
702 }
703
704 /**
705 * <!-- begin-user-doc -->
706 * <!-- end-user-doc -->
707 * @generated
708 */
709 @Override
710 public EClass getBooleanSymbol()
711 {
712 return booleanSymbolEClass;
713 }
714
715 /**
716 * <!-- begin-user-doc -->
717 * <!-- end-user-doc -->
718 * @generated
719 */
720 @Override
721 public EClass getIntegerSymbol()
722 {
723 return integerSymbolEClass;
724 }
725
726 /**
727 * <!-- begin-user-doc -->
728 * <!-- end-user-doc -->
729 * @generated
730 */
731 @Override
732 public EClass getRealSymbol()
733 {
734 return realSymbolEClass;
735 }
736
737 /**
738 * <!-- begin-user-doc -->
739 * <!-- end-user-doc -->
740 * @generated
741 */
742 @Override
743 public EClass getStringSymbol()
744 {
745 return stringSymbolEClass;
746 }
747
748 /**
749 * <!-- begin-user-doc -->
750 * <!-- end-user-doc -->
751 * @generated
752 */
753 @Override
754 public EClass getComplexObject()
755 {
756 return complexObjectEClass;
757 }
758
759 /**
760 * <!-- begin-user-doc -->
761 * <!-- end-user-doc -->
762 * @generated
763 */
764 @Override
765 public EClass getObject()
766 {
767 return objectEClass;
768 }
769
770 /**
771 * <!-- begin-user-doc -->
772 * <!-- end-user-doc -->
773 * @generated
774 */
775 @Override
776 public EClass getNamedObject()
777 {
778 return namedObjectEClass;
779 }
780
781 /**
782 * <!-- begin-user-doc -->
783 * <!-- end-user-doc -->
784 * @generated
785 */
786 @Override
787 public EAttribute getNamedObject_Name()
788 {
789 return (EAttribute)namedObjectEClass.getEStructuralFeatures().get(0);
790 }
791
792 /**
793 * <!-- begin-user-doc -->
794 * <!-- end-user-doc -->
795 * @generated
796 */
797 @Override
798 public EClass getUnnamedObject()
799 {
800 return unnamedObjectEClass;
801 }
802
803 /**
804 * <!-- begin-user-doc -->
805 * <!-- end-user-doc -->
806 * @generated
807 */
808 @Override
809 public EAttribute getUnnamedObject_Name()
810 {
811 return (EAttribute)unnamedObjectEClass.getEStructuralFeatures().get(0);
812 }
813
814 /**
815 * <!-- begin-user-doc -->
816 * <!-- end-user-doc -->
817 * @generated
818 */
819 @Override
820 public EClass getDataObject()
821 {
822 return dataObjectEClass;
823 }
824
825 /**
826 * <!-- begin-user-doc -->
827 * <!-- end-user-doc -->
828 * @generated
829 */
830 @Override
831 public EClass getBooleanObject()
832 {
833 return booleanObjectEClass;
834 }
835
836 /**
837 * <!-- begin-user-doc -->
838 * <!-- end-user-doc -->
839 * @generated
840 */
841 @Override
842 public EReference getBooleanObject_Value()
843 {
844 return (EReference)booleanObjectEClass.getEStructuralFeatures().get(0);
845 }
846
847 /**
848 * <!-- begin-user-doc -->
849 * <!-- end-user-doc -->
850 * @generated
851 */
852 @Override
853 public EClass getIntObject()
854 {
855 return intObjectEClass;
856 }
857
858 /**
859 * <!-- begin-user-doc -->
860 * <!-- end-user-doc -->
861 * @generated
862 */
863 @Override
864 public EAttribute getIntObject_Value()
865 {
866 return (EAttribute)intObjectEClass.getEStructuralFeatures().get(0);
867 }
868
869 /**
870 * <!-- begin-user-doc -->
871 * <!-- end-user-doc -->
872 * @generated
873 */
874 @Override
875 public EClass getRealObject()
876 {
877 return realObjectEClass;
878 }
879
880 /**
881 * <!-- begin-user-doc -->
882 * <!-- end-user-doc -->
883 * @generated
884 */
885 @Override
886 public EAttribute getRealObject_Value()
887 {
888 return (EAttribute)realObjectEClass.getEStructuralFeatures().get(0);
889 }
890
891 /**
892 * <!-- begin-user-doc -->
893 * <!-- end-user-doc -->
894 * @generated
895 */
896 @Override
897 public EClass getStringObject()
898 {
899 return stringObjectEClass;
900 }
901
902 /**
903 * <!-- begin-user-doc -->
904 * <!-- end-user-doc -->
905 * @generated
906 */
907 @Override
908 public EAttribute getStringObject_Value()
909 {
910 return (EAttribute)stringObjectEClass.getEStructuralFeatures().get(0);
911 }
912
913 /**
914 * <!-- begin-user-doc -->
915 * <!-- end-user-doc -->
916 * @generated
917 */
918 @Override
919 public EClass getPredicate()
920 {
921 return predicateEClass;
922 }
923
924 /**
925 * <!-- begin-user-doc -->
926 * <!-- end-user-doc -->
927 * @generated
928 */
929 @Override
930 public EReference getPredicate_Parameters()
931 {
932 return (EReference)predicateEClass.getEStructuralFeatures().get(0);
933 }
934
935 /**
936 * <!-- begin-user-doc -->
937 * <!-- end-user-doc -->
938 * @generated
939 */
940 @Override
941 public EReference getPredicate_Bodies()
942 {
943 return (EReference)predicateEClass.getEStructuralFeatures().get(1);
944 }
945
946 /**
947 * <!-- begin-user-doc -->
948 * <!-- end-user-doc -->
949 * @generated
950 */
951 @Override
952 public EClass getPredicateSymbol()
953 {
954 return predicateSymbolEClass;
955 }
956
957 /**
958 * <!-- begin-user-doc -->
959 * <!-- end-user-doc -->
960 * @generated
961 */
962 @Override
963 public EReference getPredicateSymbol_Symbol()
964 {
965 return (EReference)predicateSymbolEClass.getEStructuralFeatures().get(0);
966 }
967
968 /**
969 * <!-- begin-user-doc -->
970 * <!-- end-user-doc -->
971 * @generated
972 */
973 @Override
974 public EClass getErrorPredicate()
975 {
976 return errorPredicateEClass;
977 }
978
979 /**
980 * <!-- begin-user-doc -->
981 * <!-- end-user-doc -->
982 * @generated
983 */
984 @Override
985 public EAttribute getErrorPredicate_Name()
986 {
987 return (EAttribute)errorPredicateEClass.getEStructuralFeatures().get(0);
988 }
989
990 /**
991 * <!-- begin-user-doc -->
992 * <!-- end-user-doc -->
993 * @generated
994 */
995 @Override
996 public EClass getParameter()
997 {
998 return parameterEClass;
999 }
1000
1001 /**
1002 * <!-- begin-user-doc -->
1003 * <!-- end-user-doc -->
1004 * @generated
1005 */
1006 @Override
1007 public EReference getParameter_Variable()
1008 {
1009 return (EReference)parameterEClass.getEStructuralFeatures().get(0);
1010 }
1011
1012 /**
1013 * <!-- begin-user-doc -->
1014 * <!-- end-user-doc -->
1015 * @generated
1016 */
1017 @Override
1018 public EReference getParameter_Type()
1019 {
1020 return (EReference)parameterEClass.getEStructuralFeatures().get(1);
1021 }
1022
1023 /**
1024 * <!-- begin-user-doc -->
1025 * <!-- end-user-doc -->
1026 * @generated
1027 */
1028 @Override
1029 public EClass getPatternBody()
1030 {
1031 return patternBodyEClass;
1032 }
1033
1034 /**
1035 * <!-- begin-user-doc -->
1036 * <!-- end-user-doc -->
1037 * @generated
1038 */
1039 @Override
1040 public EReference getPatternBody_Constraints()
1041 {
1042 return (EReference)patternBodyEClass.getEStructuralFeatures().get(0);
1043 }
1044
1045 /**
1046 * <!-- begin-user-doc -->
1047 * <!-- end-user-doc -->
1048 * @generated
1049 */
1050 @Override
1051 public EClass getPolarity()
1052 {
1053 return polarityEClass;
1054 }
1055
1056 /**
1057 * <!-- begin-user-doc -->
1058 * <!-- end-user-doc -->
1059 * @generated
1060 */
1061 @Override
1062 public EClass getConstraint()
1063 {
1064 return constraintEClass;
1065 }
1066
1067 /**
1068 * <!-- begin-user-doc -->
1069 * <!-- end-user-doc -->
1070 * @generated
1071 */
1072 @Override
1073 public EReference getConstraint_Polarity()
1074 {
1075 return (EReference)constraintEClass.getEStructuralFeatures().get(0);
1076 }
1077
1078 /**
1079 * <!-- begin-user-doc -->
1080 * <!-- end-user-doc -->
1081 * @generated
1082 */
1083 @Override
1084 public EReference getConstraint_Symbol()
1085 {
1086 return (EReference)constraintEClass.getEStructuralFeatures().get(1);
1087 }
1088
1089 /**
1090 * <!-- begin-user-doc -->
1091 * <!-- end-user-doc -->
1092 * @generated
1093 */
1094 @Override
1095 public EReference getConstraint_Params()
1096 {
1097 return (EReference)constraintEClass.getEStructuralFeatures().get(2);
1098 }
1099
1100 /**
1101 * <!-- begin-user-doc -->
1102 * <!-- end-user-doc -->
1103 * @generated
1104 */
1105 @Override
1106 public EReference getConstraint_ClosureType()
1107 {
1108 return (EReference)constraintEClass.getEStructuralFeatures().get(3);
1109 }
1110
1111 /**
1112 * <!-- begin-user-doc -->
1113 * <!-- end-user-doc -->
1114 * @generated
1115 */
1116 @Override
1117 public EClass getClosureType()
1118 {
1119 return closureTypeEClass;
1120 }
1121
1122 /**
1123 * <!-- begin-user-doc -->
1124 * <!-- end-user-doc -->
1125 * @generated
1126 */
1127 @Override
1128 public EClass getLiteral()
1129 {
1130 return literalEClass;
1131 }
1132
1133 /**
1134 * <!-- begin-user-doc -->
1135 * <!-- end-user-doc -->
1136 * @generated
1137 */
1138 @Override
1139 public EClass getVariable()
1140 {
1141 return variableEClass;
1142 }
1143
1144 /**
1145 * <!-- begin-user-doc -->
1146 * <!-- end-user-doc -->
1147 * @generated
1148 */
1149 @Override
1150 public EAttribute getVariable_Name()
1151 {
1152 return (EAttribute)variableEClass.getEStructuralFeatures().get(0);
1153 }
1154
1155 /**
1156 * <!-- begin-user-doc -->
1157 * <!-- end-user-doc -->
1158 * @generated
1159 */
1160 @Override
1161 public EClass getAllInstances()
1162 {
1163 return allInstancesEClass;
1164 }
1165
1166 /**
1167 * <!-- begin-user-doc -->
1168 * <!-- end-user-doc -->
1169 * @generated
1170 */
1171 @Override
1172 public EReference getAllInstances_Symbol()
1173 {
1174 return (EReference)allInstancesEClass.getEStructuralFeatures().get(0);
1175 }
1176
1177 /**
1178 * <!-- begin-user-doc -->
1179 * <!-- end-user-doc -->
1180 * @generated
1181 */
1182 @Override
1183 public EClass getAllObjects()
1184 {
1185 return allObjectsEClass;
1186 }
1187
1188 /**
1189 * <!-- begin-user-doc -->
1190 * <!-- end-user-doc -->
1191 * @generated
1192 */
1193 @Override
1194 public EClass getDefaultInterpretation()
1195 {
1196 return defaultInterpretationEClass;
1197 }
1198
1199 /**
1200 * <!-- begin-user-doc -->
1201 * <!-- end-user-doc -->
1202 * @generated
1203 */
1204 @Override
1205 public EReference getDefaultInterpretation_Interpretation()
1206 {
1207 return (EReference)defaultInterpretationEClass.getEStructuralFeatures().get(0);
1208 }
1209
1210 /**
1211 * <!-- begin-user-doc -->
1212 * <!-- end-user-doc -->
1213 * @generated
1214 */
1215 @Override
1216 public EClass getCDInterpretation()
1217 {
1218 return cdInterpretationEClass;
1219 }
1220
1221 /**
1222 * <!-- begin-user-doc -->
1223 * <!-- end-user-doc -->
1224 * @generated
1225 */
1226 @Override
1227 public EClass getClassInterpretation()
1228 {
1229 return classInterpretationEClass;
1230 }
1231
1232 /**
1233 * <!-- begin-user-doc -->
1234 * <!-- end-user-doc -->
1235 * @generated
1236 */
1237 @Override
1238 public EAttribute getClassInterpretation_Abstract()
1239 {
1240 return (EAttribute)classInterpretationEClass.getEStructuralFeatures().get(0);
1241 }
1242
1243 /**
1244 * <!-- begin-user-doc -->
1245 * <!-- end-user-doc -->
1246 * @generated
1247 */
1248 @Override
1249 public EReference getClassInterpretation_Symbol()
1250 {
1251 return (EReference)classInterpretationEClass.getEStructuralFeatures().get(1);
1252 }
1253
1254 /**
1255 * <!-- begin-user-doc -->
1256 * <!-- end-user-doc -->
1257 * @generated
1258 */
1259 @Override
1260 public EReference getClassInterpretation_Supertypes()
1261 {
1262 return (EReference)classInterpretationEClass.getEStructuralFeatures().get(2);
1263 }
1264
1265 /**
1266 * <!-- begin-user-doc -->
1267 * <!-- end-user-doc -->
1268 * @generated
1269 */
1270 @Override
1271 public EReference getClassInterpretation_Fielt()
1272 {
1273 return (EReference)classInterpretationEClass.getEStructuralFeatures().get(3);
1274 }
1275
1276 /**
1277 * <!-- begin-user-doc -->
1278 * <!-- end-user-doc -->
1279 * @generated
1280 */
1281 @Override
1282 public EClass getEnumInterpretation()
1283 {
1284 return enumInterpretationEClass;
1285 }
1286
1287 /**
1288 * <!-- begin-user-doc -->
1289 * <!-- end-user-doc -->
1290 * @generated
1291 */
1292 @Override
1293 public EReference getEnumInterpretation_Symbol()
1294 {
1295 return (EReference)enumInterpretationEClass.getEStructuralFeatures().get(0);
1296 }
1297
1298 /**
1299 * <!-- begin-user-doc -->
1300 * <!-- end-user-doc -->
1301 * @generated
1302 */
1303 @Override
1304 public EReference getEnumInterpretation_Objects()
1305 {
1306 return (EReference)enumInterpretationEClass.getEStructuralFeatures().get(1);
1307 }
1308
1309 /**
1310 * <!-- begin-user-doc -->
1311 * <!-- end-user-doc -->
1312 * @generated
1313 */
1314 @Override
1315 public EClass getFieldRelationInterpretation()
1316 {
1317 return fieldRelationInterpretationEClass;
1318 }
1319
1320 /**
1321 * <!-- begin-user-doc -->
1322 * <!-- end-user-doc -->
1323 * @generated
1324 */
1325 @Override
1326 public EAttribute getFieldRelationInterpretation_Containment()
1327 {
1328 return (EAttribute)fieldRelationInterpretationEClass.getEStructuralFeatures().get(0);
1329 }
1330
1331 /**
1332 * <!-- begin-user-doc -->
1333 * <!-- end-user-doc -->
1334 * @generated
1335 */
1336 @Override
1337 public EReference getFieldRelationInterpretation_Symbol()
1338 {
1339 return (EReference)fieldRelationInterpretationEClass.getEStructuralFeatures().get(1);
1340 }
1341
1342 /**
1343 * <!-- begin-user-doc -->
1344 * <!-- end-user-doc -->
1345 * @generated
1346 */
1347 @Override
1348 public EReference getFieldRelationInterpretation_Multiplicity()
1349 {
1350 return (EReference)fieldRelationInterpretationEClass.getEStructuralFeatures().get(2);
1351 }
1352
1353 /**
1354 * <!-- begin-user-doc -->
1355 * <!-- end-user-doc -->
1356 * @generated
1357 */
1358 @Override
1359 public EReference getFieldRelationInterpretation_Target()
1360 {
1361 return (EReference)fieldRelationInterpretationEClass.getEStructuralFeatures().get(3);
1362 }
1363
1364 /**
1365 * <!-- begin-user-doc -->
1366 * <!-- end-user-doc -->
1367 * @generated
1368 */
1369 @Override
1370 public EClass getGlobalRelationInterpretation()
1371 {
1372 return globalRelationInterpretationEClass;
1373 }
1374
1375 /**
1376 * <!-- begin-user-doc -->
1377 * <!-- end-user-doc -->
1378 * @generated
1379 */
1380 @Override
1381 public EAttribute getGlobalRelationInterpretation_Containment()
1382 {
1383 return (EAttribute)globalRelationInterpretationEClass.getEStructuralFeatures().get(0);
1384 }
1385
1386 /**
1387 * <!-- begin-user-doc -->
1388 * <!-- end-user-doc -->
1389 * @generated
1390 */
1391 @Override
1392 public EReference getGlobalRelationInterpretation_Symbol()
1393 {
1394 return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(1);
1395 }
1396
1397 /**
1398 * <!-- begin-user-doc -->
1399 * <!-- end-user-doc -->
1400 * @generated
1401 */
1402 @Override
1403 public EReference getGlobalRelationInterpretation_SourceMultiplicity()
1404 {
1405 return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(2);
1406 }
1407
1408 /**
1409 * <!-- begin-user-doc -->
1410 * <!-- end-user-doc -->
1411 * @generated
1412 */
1413 @Override
1414 public EReference getGlobalRelationInterpretation_Source()
1415 {
1416 return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(3);
1417 }
1418
1419 /**
1420 * <!-- begin-user-doc -->
1421 * <!-- end-user-doc -->
1422 * @generated
1423 */
1424 @Override
1425 public EReference getGlobalRelationInterpretation_TargetMultiplicity()
1426 {
1427 return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(4);
1428 }
1429
1430 /**
1431 * <!-- begin-user-doc -->
1432 * <!-- end-user-doc -->
1433 * @generated
1434 */
1435 @Override
1436 public EReference getGlobalRelationInterpretation_Target()
1437 {
1438 return (EReference)globalRelationInterpretationEClass.getEStructuralFeatures().get(5);
1439 }
1440
1441 /**
1442 * <!-- begin-user-doc -->
1443 * <!-- end-user-doc -->
1444 * @generated
1445 */
1446 @Override
1447 public EClass getMultiplicityDefinition()
1448 {
1449 return multiplicityDefinitionEClass;
1450 }
1451
1452 /**
1453 * <!-- begin-user-doc -->
1454 * <!-- end-user-doc -->
1455 * @generated
1456 */
1457 @Override
1458 public EAttribute getMultiplicityDefinition_Lower()
1459 {
1460 return (EAttribute)multiplicityDefinitionEClass.getEStructuralFeatures().get(0);
1461 }
1462
1463 /**
1464 * <!-- begin-user-doc -->
1465 * <!-- end-user-doc -->
1466 * @generated
1467 */
1468 @Override
1469 public EAttribute getMultiplicityDefinition_Upper()
1470 {
1471 return (EAttribute)multiplicityDefinitionEClass.getEStructuralFeatures().get(1);
1472 }
1473
1474 /**
1475 * <!-- begin-user-doc -->
1476 * <!-- end-user-doc -->
1477 * @generated
1478 */
1479 @Override
1480 public EAttribute getMultiplicityDefinition_UnlimitedUpper()
1481 {
1482 return (EAttribute)multiplicityDefinitionEClass.getEStructuralFeatures().get(2);
1483 }
1484
1485 /**
1486 * <!-- begin-user-doc -->
1487 * <!-- end-user-doc -->
1488 * @generated
1489 */
1490 @Override
1491 public EClass getBooleanTrue()
1492 {
1493 return booleanTrueEClass;
1494 }
1495
1496 /**
1497 * <!-- begin-user-doc -->
1498 * <!-- end-user-doc -->
1499 * @generated
1500 */
1501 @Override
1502 public EClass getBooleanFalse()
1503 {
1504 return booleanFalseEClass;
1505 }
1506
1507 /**
1508 * <!-- begin-user-doc -->
1509 * <!-- end-user-doc -->
1510 * @generated
1511 */
1512 @Override
1513 public EClass getTrue()
1514 {
1515 return trueEClass;
1516 }
1517
1518 /**
1519 * <!-- begin-user-doc -->
1520 * <!-- end-user-doc -->
1521 * @generated
1522 */
1523 @Override
1524 public EClass getFalse()
1525 {
1526 return falseEClass;
1527 }
1528
1529 /**
1530 * <!-- begin-user-doc -->
1531 * <!-- end-user-doc -->
1532 * @generated
1533 */
1534 @Override
1535 public EClass getUnknown()
1536 {
1537 return unknownEClass;
1538 }
1539
1540 /**
1541 * <!-- begin-user-doc -->
1542 * <!-- end-user-doc -->
1543 * @generated
1544 */
1545 @Override
1546 public EClass getError()
1547 {
1548 return errorEClass;
1549 }
1550
1551 /**
1552 * <!-- begin-user-doc -->
1553 * <!-- end-user-doc -->
1554 * @generated
1555 */
1556 @Override
1557 public EClass getPositive()
1558 {
1559 return positiveEClass;
1560 }
1561
1562 /**
1563 * <!-- begin-user-doc -->
1564 * <!-- end-user-doc -->
1565 * @generated
1566 */
1567 @Override
1568 public EClass getNegative()
1569 {
1570 return negativeEClass;
1571 }
1572
1573 /**
1574 * <!-- begin-user-doc -->
1575 * <!-- end-user-doc -->
1576 * @generated
1577 */
1578 @Override
1579 public EClass getReflexiveClosure()
1580 {
1581 return reflexiveClosureEClass;
1582 }
1583
1584 /**
1585 * <!-- begin-user-doc -->
1586 * <!-- end-user-doc -->
1587 * @generated
1588 */
1589 @Override
1590 public EClass getIrreflexiveClosure()
1591 {
1592 return irreflexiveClosureEClass;
1593 }
1594
1595 /**
1596 * <!-- begin-user-doc -->
1597 * <!-- end-user-doc -->
1598 * @generated
1599 */
1600 @Override
1601 public SolverLanguageFactory getSolverLanguageFactory()
1602 {
1603 return (SolverLanguageFactory)getEFactoryInstance();
1604 }
1605
1606 /**
1607 * <!-- begin-user-doc -->
1608 * <!-- end-user-doc -->
1609 * @generated
1610 */
1611 private boolean isCreated = false;
1612
1613 /**
1614 * Creates the meta-model objects for the package. This method is
1615 * guarded to have no affect on any invocation but its first.
1616 * <!-- begin-user-doc -->
1617 * <!-- end-user-doc -->
1618 * @generated
1619 */
1620 public void createPackageContents()
1621 {
1622 if (isCreated) return;
1623 isCreated = true;
1624
1625 // Create classes and their features
1626 problemEClass = createEClass(PROBLEM);
1627 createEReference(problemEClass, PROBLEM__STATEMENTS);
1628
1629 statementEClass = createEClass(STATEMENT);
1630
1631 booleanValueEClass = createEClass(BOOLEAN_VALUE);
1632
1633 truthValueEClass = createEClass(TRUTH_VALUE);
1634
1635 interpretationEClass = createEClass(INTERPRETATION);
1636
1637 basicInterpretationEClass = createEClass(BASIC_INTERPRETATION);
1638 createEReference(basicInterpretationEClass, BASIC_INTERPRETATION__SYMBOL);
1639 createEReference(basicInterpretationEClass, BASIC_INTERPRETATION__OBJECTS);
1640 createEReference(basicInterpretationEClass, BASIC_INTERPRETATION__VALUE);
1641
1642 symbolEClass = createEClass(SYMBOL);
1643
1644 modelSymbolEClass = createEClass(MODEL_SYMBOL);
1645 createEAttribute(modelSymbolEClass, MODEL_SYMBOL__NAME);
1646
1647 partialitySymbolEClass = createEClass(PARTIALITY_SYMBOL);
1648
1649 existSymbolEClass = createEClass(EXIST_SYMBOL);
1650
1651 equalsSymbolEClass = createEClass(EQUALS_SYMBOL);
1652
1653 dataSymbolEClass = createEClass(DATA_SYMBOL);
1654
1655 booleanSymbolEClass = createEClass(BOOLEAN_SYMBOL);
1656
1657 integerSymbolEClass = createEClass(INTEGER_SYMBOL);
1658
1659 realSymbolEClass = createEClass(REAL_SYMBOL);
1660
1661 stringSymbolEClass = createEClass(STRING_SYMBOL);
1662
1663 complexObjectEClass = createEClass(COMPLEX_OBJECT);
1664
1665 objectEClass = createEClass(OBJECT);
1666
1667 namedObjectEClass = createEClass(NAMED_OBJECT);
1668 createEAttribute(namedObjectEClass, NAMED_OBJECT__NAME);
1669
1670 unnamedObjectEClass = createEClass(UNNAMED_OBJECT);
1671 createEAttribute(unnamedObjectEClass, UNNAMED_OBJECT__NAME);
1672
1673 dataObjectEClass = createEClass(DATA_OBJECT);
1674
1675 booleanObjectEClass = createEClass(BOOLEAN_OBJECT);
1676 createEReference(booleanObjectEClass, BOOLEAN_OBJECT__VALUE);
1677
1678 intObjectEClass = createEClass(INT_OBJECT);
1679 createEAttribute(intObjectEClass, INT_OBJECT__VALUE);
1680
1681 realObjectEClass = createEClass(REAL_OBJECT);
1682 createEAttribute(realObjectEClass, REAL_OBJECT__VALUE);
1683
1684 stringObjectEClass = createEClass(STRING_OBJECT);
1685 createEAttribute(stringObjectEClass, STRING_OBJECT__VALUE);
1686
1687 predicateEClass = createEClass(PREDICATE);
1688 createEReference(predicateEClass, PREDICATE__PARAMETERS);
1689 createEReference(predicateEClass, PREDICATE__BODIES);
1690
1691 predicateSymbolEClass = createEClass(PREDICATE_SYMBOL);
1692 createEReference(predicateSymbolEClass, PREDICATE_SYMBOL__SYMBOL);
1693
1694 errorPredicateEClass = createEClass(ERROR_PREDICATE);
1695 createEAttribute(errorPredicateEClass, ERROR_PREDICATE__NAME);
1696
1697 parameterEClass = createEClass(PARAMETER);
1698 createEReference(parameterEClass, PARAMETER__VARIABLE);
1699 createEReference(parameterEClass, PARAMETER__TYPE);
1700
1701 patternBodyEClass = createEClass(PATTERN_BODY);
1702 createEReference(patternBodyEClass, PATTERN_BODY__CONSTRAINTS);
1703
1704 polarityEClass = createEClass(POLARITY);
1705
1706 constraintEClass = createEClass(CONSTRAINT);
1707 createEReference(constraintEClass, CONSTRAINT__POLARITY);
1708 createEReference(constraintEClass, CONSTRAINT__SYMBOL);
1709 createEReference(constraintEClass, CONSTRAINT__PARAMS);
1710 createEReference(constraintEClass, CONSTRAINT__CLOSURE_TYPE);
1711
1712 closureTypeEClass = createEClass(CLOSURE_TYPE);
1713
1714 literalEClass = createEClass(LITERAL);
1715
1716 variableEClass = createEClass(VARIABLE);
1717 createEAttribute(variableEClass, VARIABLE__NAME);
1718
1719 allInstancesEClass = createEClass(ALL_INSTANCES);
1720 createEReference(allInstancesEClass, ALL_INSTANCES__SYMBOL);
1721
1722 allObjectsEClass = createEClass(ALL_OBJECTS);
1723
1724 defaultInterpretationEClass = createEClass(DEFAULT_INTERPRETATION);
1725 createEReference(defaultInterpretationEClass, DEFAULT_INTERPRETATION__INTERPRETATION);
1726
1727 cdInterpretationEClass = createEClass(CD_INTERPRETATION);
1728
1729 classInterpretationEClass = createEClass(CLASS_INTERPRETATION);
1730 createEAttribute(classInterpretationEClass, CLASS_INTERPRETATION__ABSTRACT);
1731 createEReference(classInterpretationEClass, CLASS_INTERPRETATION__SYMBOL);
1732 createEReference(classInterpretationEClass, CLASS_INTERPRETATION__SUPERTYPES);
1733 createEReference(classInterpretationEClass, CLASS_INTERPRETATION__FIELT);
1734
1735 enumInterpretationEClass = createEClass(ENUM_INTERPRETATION);
1736 createEReference(enumInterpretationEClass, ENUM_INTERPRETATION__SYMBOL);
1737 createEReference(enumInterpretationEClass, ENUM_INTERPRETATION__OBJECTS);
1738
1739 fieldRelationInterpretationEClass = createEClass(FIELD_RELATION_INTERPRETATION);
1740 createEAttribute(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__CONTAINMENT);
1741 createEReference(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__SYMBOL);
1742 createEReference(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__MULTIPLICITY);
1743 createEReference(fieldRelationInterpretationEClass, FIELD_RELATION_INTERPRETATION__TARGET);
1744
1745 globalRelationInterpretationEClass = createEClass(GLOBAL_RELATION_INTERPRETATION);
1746 createEAttribute(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__CONTAINMENT);
1747 createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__SYMBOL);
1748 createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__SOURCE_MULTIPLICITY);
1749 createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__SOURCE);
1750 createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__TARGET_MULTIPLICITY);
1751 createEReference(globalRelationInterpretationEClass, GLOBAL_RELATION_INTERPRETATION__TARGET);
1752
1753 multiplicityDefinitionEClass = createEClass(MULTIPLICITY_DEFINITION);
1754 createEAttribute(multiplicityDefinitionEClass, MULTIPLICITY_DEFINITION__LOWER);
1755 createEAttribute(multiplicityDefinitionEClass, MULTIPLICITY_DEFINITION__UPPER);
1756 createEAttribute(multiplicityDefinitionEClass, MULTIPLICITY_DEFINITION__UNLIMITED_UPPER);
1757
1758 booleanTrueEClass = createEClass(BOOLEAN_TRUE);
1759
1760 booleanFalseEClass = createEClass(BOOLEAN_FALSE);
1761
1762 trueEClass = createEClass(TRUE);
1763
1764 falseEClass = createEClass(FALSE);
1765
1766 unknownEClass = createEClass(UNKNOWN);
1767
1768 errorEClass = createEClass(ERROR);
1769
1770 positiveEClass = createEClass(POSITIVE);
1771
1772 negativeEClass = createEClass(NEGATIVE);
1773
1774 reflexiveClosureEClass = createEClass(REFLEXIVE_CLOSURE);
1775
1776 irreflexiveClosureEClass = createEClass(IRREFLEXIVE_CLOSURE);
1777 }
1778
1779 /**
1780 * <!-- begin-user-doc -->
1781 * <!-- end-user-doc -->
1782 * @generated
1783 */
1784 private boolean isInitialized = false;
1785
1786 /**
1787 * Complete the initialization of the package and its meta-model. This
1788 * method is guarded to have no affect on any invocation but its first.
1789 * <!-- begin-user-doc -->
1790 * <!-- end-user-doc -->
1791 * @generated
1792 */
1793 public void initializePackageContents()
1794 {
1795 if (isInitialized) return;
1796 isInitialized = true;
1797
1798 // Initialize package
1799 setName(eNAME);
1800 setNsPrefix(eNS_PREFIX);
1801 setNsURI(eNS_URI);
1802
1803 // Create type parameters
1804
1805 // Set bounds for type parameters
1806
1807 // Add supertypes to classes
1808 interpretationEClass.getESuperTypes().add(this.getStatement());
1809 basicInterpretationEClass.getESuperTypes().add(this.getInterpretation());
1810 modelSymbolEClass.getESuperTypes().add(this.getSymbol());
1811 partialitySymbolEClass.getESuperTypes().add(this.getSymbol());
1812 existSymbolEClass.getESuperTypes().add(this.getPartialitySymbol());
1813 equalsSymbolEClass.getESuperTypes().add(this.getPartialitySymbol());
1814 dataSymbolEClass.getESuperTypes().add(this.getSymbol());
1815 booleanSymbolEClass.getESuperTypes().add(this.getDataSymbol());
1816 integerSymbolEClass.getESuperTypes().add(this.getDataSymbol());
1817 realSymbolEClass.getESuperTypes().add(this.getDataSymbol());
1818 stringSymbolEClass.getESuperTypes().add(this.getDataSymbol());
1819 objectEClass.getESuperTypes().add(this.getComplexObject());
1820 namedObjectEClass.getESuperTypes().add(this.getObject());
1821 unnamedObjectEClass.getESuperTypes().add(this.getObject());
1822 dataObjectEClass.getESuperTypes().add(this.getObject());
1823 dataObjectEClass.getESuperTypes().add(this.getLiteral());
1824 booleanObjectEClass.getESuperTypes().add(this.getDataObject());
1825 intObjectEClass.getESuperTypes().add(this.getDataObject());
1826 realObjectEClass.getESuperTypes().add(this.getDataObject());
1827 stringObjectEClass.getESuperTypes().add(this.getDataObject());
1828 predicateEClass.getESuperTypes().add(this.getStatement());
1829 predicateSymbolEClass.getESuperTypes().add(this.getPredicate());
1830 errorPredicateEClass.getESuperTypes().add(this.getPredicate());
1831 variableEClass.getESuperTypes().add(this.getLiteral());
1832 allInstancesEClass.getESuperTypes().add(this.getComplexObject());
1833 allObjectsEClass.getESuperTypes().add(this.getComplexObject());
1834 defaultInterpretationEClass.getESuperTypes().add(this.getInterpretation());
1835 cdInterpretationEClass.getESuperTypes().add(this.getInterpretation());
1836 classInterpretationEClass.getESuperTypes().add(this.getCDInterpretation());
1837 enumInterpretationEClass.getESuperTypes().add(this.getCDInterpretation());
1838 globalRelationInterpretationEClass.getESuperTypes().add(this.getCDInterpretation());
1839 booleanTrueEClass.getESuperTypes().add(this.getBooleanValue());
1840 booleanFalseEClass.getESuperTypes().add(this.getBooleanValue());
1841 trueEClass.getESuperTypes().add(this.getTruthValue());
1842 falseEClass.getESuperTypes().add(this.getTruthValue());
1843 unknownEClass.getESuperTypes().add(this.getTruthValue());
1844 errorEClass.getESuperTypes().add(this.getTruthValue());
1845 positiveEClass.getESuperTypes().add(this.getPolarity());
1846 negativeEClass.getESuperTypes().add(this.getPolarity());
1847 reflexiveClosureEClass.getESuperTypes().add(this.getClosureType());
1848 irreflexiveClosureEClass.getESuperTypes().add(this.getClosureType());
1849
1850 // Initialize classes and features; add operations and parameters
1851 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1852 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);
1853
1854 initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1855
1856 initEClass(booleanValueEClass, BooleanValue.class, "BooleanValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1857
1858 initEClass(truthValueEClass, TruthValue.class, "TruthValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1859
1860 initEClass(interpretationEClass, Interpretation.class, "Interpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1861
1862 initEClass(basicInterpretationEClass, BasicInterpretation.class, "BasicInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1863 initEReference(getBasicInterpretation_Symbol(), this.getSymbol(), null, "symbol", null, 0, 1, BasicInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1864 initEReference(getBasicInterpretation_Objects(), this.getComplexObject(), null, "objects", null, 0, -1, BasicInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1865 initEReference(getBasicInterpretation_Value(), this.getTruthValue(), null, "value", null, 0, 1, BasicInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1866
1867 initEClass(symbolEClass, Symbol.class, "Symbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1868
1869 initEClass(modelSymbolEClass, ModelSymbol.class, "ModelSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1870 initEAttribute(getModelSymbol_Name(), ecorePackage.getEString(), "name", null, 0, 1, ModelSymbol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1871
1872 initEClass(partialitySymbolEClass, PartialitySymbol.class, "PartialitySymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1873
1874 initEClass(existSymbolEClass, ExistSymbol.class, "ExistSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1875
1876 initEClass(equalsSymbolEClass, EqualsSymbol.class, "EqualsSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1877
1878 initEClass(dataSymbolEClass, DataSymbol.class, "DataSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1879
1880 initEClass(booleanSymbolEClass, BooleanSymbol.class, "BooleanSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1881
1882 initEClass(integerSymbolEClass, IntegerSymbol.class, "IntegerSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1883
1884 initEClass(realSymbolEClass, RealSymbol.class, "RealSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1885
1886 initEClass(stringSymbolEClass, StringSymbol.class, "StringSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1887
1888 initEClass(complexObjectEClass, ComplexObject.class, "ComplexObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1889
1890 initEClass(objectEClass, org.eclipse.viatra.solver.language.solverLanguage.Object.class, "Object", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1891
1892 initEClass(namedObjectEClass, NamedObject.class, "NamedObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1893 initEAttribute(getNamedObject_Name(), ecorePackage.getEString(), "name", null, 0, 1, NamedObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1894
1895 initEClass(unnamedObjectEClass, UnnamedObject.class, "UnnamedObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1896 initEAttribute(getUnnamedObject_Name(), ecorePackage.getEString(), "name", null, 0, 1, UnnamedObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1897
1898 initEClass(dataObjectEClass, DataObject.class, "DataObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1899
1900 initEClass(booleanObjectEClass, BooleanObject.class, "BooleanObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1901 initEReference(getBooleanObject_Value(), this.getBooleanValue(), null, "value", null, 0, 1, BooleanObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1902
1903 initEClass(intObjectEClass, IntObject.class, "IntObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1904 initEAttribute(getIntObject_Value(), ecorePackage.getEInt(), "value", null, 0, 1, IntObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1905
1906 initEClass(realObjectEClass, RealObject.class, "RealObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1907 initEAttribute(getRealObject_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1, RealObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1908
1909 initEClass(stringObjectEClass, StringObject.class, "StringObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1910 initEAttribute(getStringObject_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1911
1912 initEClass(predicateEClass, Predicate.class, "Predicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1913 initEReference(getPredicate_Parameters(), this.getParameter(), null, "parameters", null, 0, -1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1914 initEReference(getPredicate_Bodies(), this.getPatternBody(), null, "bodies", null, 0, -1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1915
1916 initEClass(predicateSymbolEClass, PredicateSymbol.class, "PredicateSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1917 initEReference(getPredicateSymbol_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, PredicateSymbol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1918
1919 initEClass(errorPredicateEClass, ErrorPredicate.class, "ErrorPredicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1920 initEAttribute(getErrorPredicate_Name(), ecorePackage.getEString(), "name", null, 0, 1, ErrorPredicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1921
1922 initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1923 initEReference(getParameter_Variable(), this.getVariable(), null, "variable", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1924 initEReference(getParameter_Type(), this.getSymbol(), null, "type", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1925
1926 initEClass(patternBodyEClass, PatternBody.class, "PatternBody", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1927 initEReference(getPatternBody_Constraints(), this.getConstraint(), null, "constraints", null, 0, -1, PatternBody.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1928
1929 initEClass(polarityEClass, Polarity.class, "Polarity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1930
1931 initEClass(constraintEClass, Constraint.class, "Constraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1932 initEReference(getConstraint_Polarity(), this.getPolarity(), null, "polarity", null, 0, 1, Constraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1933 initEReference(getConstraint_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, Constraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1934 initEReference(getConstraint_Params(), this.getLiteral(), null, "params", null, 0, -1, Constraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1935 initEReference(getConstraint_ClosureType(), this.getClosureType(), null, "closureType", null, 0, 1, Constraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1936
1937 initEClass(closureTypeEClass, ClosureType.class, "ClosureType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1938
1939 initEClass(literalEClass, Literal.class, "Literal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1940
1941 initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1942 initEAttribute(getVariable_Name(), ecorePackage.getEString(), "name", null, 0, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1943
1944 initEClass(allInstancesEClass, AllInstances.class, "AllInstances", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1945 initEReference(getAllInstances_Symbol(), this.getSymbol(), null, "symbol", null, 0, 1, AllInstances.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1946
1947 initEClass(allObjectsEClass, AllObjects.class, "AllObjects", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1948
1949 initEClass(defaultInterpretationEClass, DefaultInterpretation.class, "DefaultInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1950 initEReference(getDefaultInterpretation_Interpretation(), this.getBasicInterpretation(), null, "interpretation", null, 0, 1, DefaultInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1951
1952 initEClass(cdInterpretationEClass, CDInterpretation.class, "CDInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1953
1954 initEClass(classInterpretationEClass, ClassInterpretation.class, "ClassInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1955 initEAttribute(getClassInterpretation_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, ClassInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1956 initEReference(getClassInterpretation_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, ClassInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1957 initEReference(getClassInterpretation_Supertypes(), this.getModelSymbol(), null, "supertypes", null, 0, -1, ClassInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1958 initEReference(getClassInterpretation_Fielt(), this.getFieldRelationInterpretation(), null, "fielt", null, 0, -1, ClassInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1959
1960 initEClass(enumInterpretationEClass, EnumInterpretation.class, "EnumInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1961 initEReference(getEnumInterpretation_Symbol(), this.getModelSymbol(), null, "Symbol", null, 0, 1, EnumInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1962 initEReference(getEnumInterpretation_Objects(), this.getNamedObject(), null, "objects", null, 0, -1, EnumInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1963
1964 initEClass(fieldRelationInterpretationEClass, FieldRelationInterpretation.class, "FieldRelationInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1965 initEAttribute(getFieldRelationInterpretation_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1, FieldRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1966 initEReference(getFieldRelationInterpretation_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, FieldRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1967 initEReference(getFieldRelationInterpretation_Multiplicity(), this.getMultiplicityDefinition(), null, "multiplicity", null, 0, 1, FieldRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1968 initEReference(getFieldRelationInterpretation_Target(), this.getSymbol(), null, "target", null, 0, 1, FieldRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1969
1970 initEClass(globalRelationInterpretationEClass, GlobalRelationInterpretation.class, "GlobalRelationInterpretation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1971 initEAttribute(getGlobalRelationInterpretation_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1972 initEReference(getGlobalRelationInterpretation_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1973 initEReference(getGlobalRelationInterpretation_SourceMultiplicity(), this.getMultiplicityDefinition(), null, "sourceMultiplicity", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1974 initEReference(getGlobalRelationInterpretation_Source(), this.getSymbol(), null, "source", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1975 initEReference(getGlobalRelationInterpretation_TargetMultiplicity(), this.getMultiplicityDefinition(), null, "targetMultiplicity", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1976 initEReference(getGlobalRelationInterpretation_Target(), this.getSymbol(), null, "target", null, 0, 1, GlobalRelationInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1977
1978 initEClass(multiplicityDefinitionEClass, MultiplicityDefinition.class, "MultiplicityDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1979 initEAttribute(getMultiplicityDefinition_Lower(), ecorePackage.getEInt(), "lower", null, 0, 1, MultiplicityDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1980 initEAttribute(getMultiplicityDefinition_Upper(), ecorePackage.getEInt(), "upper", null, 0, 1, MultiplicityDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1981 initEAttribute(getMultiplicityDefinition_UnlimitedUpper(), ecorePackage.getEBoolean(), "unlimitedUpper", null, 0, 1, MultiplicityDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1982
1983 initEClass(booleanTrueEClass, BooleanTrue.class, "BooleanTrue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1984
1985 initEClass(booleanFalseEClass, BooleanFalse.class, "BooleanFalse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1986
1987 initEClass(trueEClass, True.class, "True", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1988
1989 initEClass(falseEClass, False.class, "False", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1990
1991 initEClass(unknownEClass, Unknown.class, "Unknown", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1992
1993 initEClass(errorEClass, org.eclipse.viatra.solver.language.solverLanguage.Error.class, "Error", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1994
1995 initEClass(positiveEClass, Positive.class, "Positive", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1996
1997 initEClass(negativeEClass, Negative.class, "Negative", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1998
1999 initEClass(reflexiveClosureEClass, ReflexiveClosure.class, "ReflexiveClosure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2000
2001 initEClass(irreflexiveClosureEClass, IrreflexiveClosure.class, "IrreflexiveClosure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2002
2003 // Create resource
2004 createResource(eNS_URI);
2005 }
2006
2007} //SolverLanguagePackageImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
new file mode 100644
index 00000000..6e660396
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
@@ -0,0 +1,43 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
11import org.eclipse.viatra.solver.language.solverLanguage.Statement;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Statement</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class StatementImpl extends MinimalEObjectImpl.Container implements Statement
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected StatementImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.STATEMENT;
41 }
42
43} //StatementImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringObjectImpl.java
new file mode 100644
index 00000000..7a7866a7
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringObjectImpl.java
@@ -0,0 +1,179 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13import org.eclipse.viatra.solver.language.solverLanguage.StringObject;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>String Object</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringObjectImpl#getValue <em>Value</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class StringObjectImpl extends DataObjectImpl implements StringObject
29{
30 /**
31 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getValue()
35 * @generated
36 * @ordered
37 */
38 protected static final String VALUE_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getValue()
45 * @generated
46 * @ordered
47 */
48 protected String value = VALUE_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected StringObjectImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.STRING_OBJECT;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public String getValue()
78 {
79 return value;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setValue(String newValue)
89 {
90 String oldValue = value;
91 value = newValue;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STRING_OBJECT__VALUE, oldValue, value));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.STRING_OBJECT__VALUE:
107 return getValue();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.STRING_OBJECT__VALUE:
123 setValue((String)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.STRING_OBJECT__VALUE:
140 setValue(VALUE_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.STRING_OBJECT__VALUE:
157 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (value: ");
174 result.append(value);
175 result.append(')');
176 return result.toString();
177 }
178
179} //StringObjectImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringSymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringSymbolImpl.java
new file mode 100644
index 00000000..faf3f06a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringSymbolImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>String Symbol</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class StringSymbolImpl extends DataSymbolImpl implements StringSymbol
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected StringSymbolImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.STRING_SYMBOL;
39 }
40
41} //StringSymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java
new file mode 100644
index 00000000..15d1294e
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SymbolImpl.java
@@ -0,0 +1,43 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
11import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Symbol</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class SymbolImpl extends MinimalEObjectImpl.Container implements Symbol
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected SymbolImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.SYMBOL;
41 }
42
43} //SymbolImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TrueImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TrueImpl.java
new file mode 100644
index 00000000..c0e04a9a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TrueImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9import org.eclipse.viatra.solver.language.solverLanguage.True;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>True</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class TrueImpl extends TruthValueImpl implements True
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected TrueImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.TRUE;
39 }
40
41} //TrueImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TruthValueImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TruthValueImpl.java
new file mode 100644
index 00000000..f5b0fba6
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TruthValueImpl.java
@@ -0,0 +1,43 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
11import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Truth Value</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class TruthValueImpl extends MinimalEObjectImpl.Container implements TruthValue
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected TruthValueImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.TRUTH_VALUE;
41 }
42
43} //TruthValueImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnknownImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnknownImpl.java
new file mode 100644
index 00000000..44195feb
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnknownImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9import org.eclipse.viatra.solver.language.solverLanguage.Unknown;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Unknown</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class UnknownImpl extends TruthValueImpl implements Unknown
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected UnknownImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.UNKNOWN;
39 }
40
41} //UnknownImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedObjectImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedObjectImpl.java
new file mode 100644
index 00000000..39bec164
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedObjectImpl.java
@@ -0,0 +1,179 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Unnamed Object</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedObjectImpl#getName <em>Name</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class UnnamedObjectImpl extends ObjectImpl implements UnnamedObject
29{
30 /**
31 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getName()
35 * @generated
36 * @ordered
37 */
38 protected static final String NAME_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getName()
45 * @generated
46 * @ordered
47 */
48 protected String name = NAME_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected UnnamedObjectImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.UNNAMED_OBJECT;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public String getName()
78 {
79 return name;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setName(String newName)
89 {
90 String oldName = name;
91 name = newName;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_OBJECT__NAME, oldName, name));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.UNNAMED_OBJECT__NAME:
107 return getName();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.UNNAMED_OBJECT__NAME:
123 setName((String)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.UNNAMED_OBJECT__NAME:
140 setName(NAME_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.UNNAMED_OBJECT__NAME:
157 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (name: ");
174 result.append(name);
175 result.append(')');
176 return result.toString();
177 }
178
179} //UnnamedObjectImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java
new file mode 100644
index 00000000..9a254023
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/VariableImpl.java
@@ -0,0 +1,179 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13import org.eclipse.viatra.solver.language.solverLanguage.Variable;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Variable</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.VariableImpl#getName <em>Name</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class VariableImpl extends LiteralImpl implements Variable
29{
30 /**
31 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getName()
35 * @generated
36 * @ordered
37 */
38 protected static final String NAME_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getName()
45 * @generated
46 * @ordered
47 */
48 protected String name = NAME_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected VariableImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.VARIABLE;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public String getName()
78 {
79 return name;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setName(String newName)
89 {
90 String oldName = name;
91 name = newName;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.VARIABLE__NAME, oldName, name));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.VARIABLE__NAME:
107 return getName();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.VARIABLE__NAME:
123 setName((String)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.VARIABLE__NAME:
140 setName(NAME_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.VARIABLE__NAME:
157 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (name: ");
174 result.append(name);
175 result.append(')');
176 return result.toString();
177 }
178
179} //VariableImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
new file mode 100644
index 00000000..e76e359a
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
@@ -0,0 +1,1245 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.util;
5
6import org.eclipse.emf.common.notify.Adapter;
7import org.eclipse.emf.common.notify.Notifier;
8
9import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
10
11import org.eclipse.emf.ecore.EObject;
12
13import org.eclipse.viatra.solver.language.solverLanguage.AllInstances;
14import org.eclipse.viatra.solver.language.solverLanguage.AllObjects;
15import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation;
16import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse;
17import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject;
18import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol;
19import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue;
20import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue;
21import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation;
22import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation;
23import org.eclipse.viatra.solver.language.solverLanguage.ClosureType;
24import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
25import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
26import org.eclipse.viatra.solver.language.solverLanguage.DataObject;
27import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
28import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
29import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
30import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
31import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate;
32import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
33import org.eclipse.viatra.solver.language.solverLanguage.False;
34import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
35import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation;
36import org.eclipse.viatra.solver.language.solverLanguage.IntObject;
37import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol;
38import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
39import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure;
40import org.eclipse.viatra.solver.language.solverLanguage.Literal;
41import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
42import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
43import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
44import org.eclipse.viatra.solver.language.solverLanguage.Negative;
45import org.eclipse.viatra.solver.language.solverLanguage.Parameter;
46import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol;
47import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
48import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
49import org.eclipse.viatra.solver.language.solverLanguage.Positive;
50import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
51import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol;
52import org.eclipse.viatra.solver.language.solverLanguage.Problem;
53import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
54import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
55import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
56import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
57import org.eclipse.viatra.solver.language.solverLanguage.Statement;
58import org.eclipse.viatra.solver.language.solverLanguage.StringObject;
59import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol;
60import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
61import org.eclipse.viatra.solver.language.solverLanguage.True;
62import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
63import org.eclipse.viatra.solver.language.solverLanguage.Unknown;
64import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject;
65import org.eclipse.viatra.solver.language.solverLanguage.Variable;
66
67/**
68 * <!-- begin-user-doc -->
69 * The <b>Adapter Factory</b> for the model.
70 * It provides an adapter <code>createXXX</code> method for each class of the model.
71 * <!-- end-user-doc -->
72 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage
73 * @generated
74 */
75public class SolverLanguageAdapterFactory extends AdapterFactoryImpl
76{
77 /**
78 * The cached model package.
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 protected static SolverLanguagePackage modelPackage;
84
85 /**
86 * Creates an instance of the adapter factory.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public SolverLanguageAdapterFactory()
92 {
93 if (modelPackage == null)
94 {
95 modelPackage = SolverLanguagePackage.eINSTANCE;
96 }
97 }
98
99 /**
100 * Returns whether this factory is applicable for the type of the object.
101 * <!-- begin-user-doc -->
102 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
103 * <!-- end-user-doc -->
104 * @return whether this factory is applicable for the type of the object.
105 * @generated
106 */
107 @Override
108 public boolean isFactoryForType(Object object)
109 {
110 if (object == modelPackage)
111 {
112 return true;
113 }
114 if (object instanceof EObject)
115 {
116 return ((EObject)object).eClass().getEPackage() == modelPackage;
117 }
118 return false;
119 }
120
121 /**
122 * The switch that delegates to the <code>createXXX</code> methods.
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 protected SolverLanguageSwitch<Adapter> modelSwitch =
128 new SolverLanguageSwitch<Adapter>()
129 {
130 @Override
131 public Adapter caseProblem(Problem object)
132 {
133 return createProblemAdapter();
134 }
135 @Override
136 public Adapter caseStatement(Statement object)
137 {
138 return createStatementAdapter();
139 }
140 @Override
141 public Adapter caseBooleanValue(BooleanValue object)
142 {
143 return createBooleanValueAdapter();
144 }
145 @Override
146 public Adapter caseTruthValue(TruthValue object)
147 {
148 return createTruthValueAdapter();
149 }
150 @Override
151 public Adapter caseInterpretation(Interpretation object)
152 {
153 return createInterpretationAdapter();
154 }
155 @Override
156 public Adapter caseBasicInterpretation(BasicInterpretation object)
157 {
158 return createBasicInterpretationAdapter();
159 }
160 @Override
161 public Adapter caseSymbol(Symbol object)
162 {
163 return createSymbolAdapter();
164 }
165 @Override
166 public Adapter caseModelSymbol(ModelSymbol object)
167 {
168 return createModelSymbolAdapter();
169 }
170 @Override
171 public Adapter casePartialitySymbol(PartialitySymbol object)
172 {
173 return createPartialitySymbolAdapter();
174 }
175 @Override
176 public Adapter caseExistSymbol(ExistSymbol object)
177 {
178 return createExistSymbolAdapter();
179 }
180 @Override
181 public Adapter caseEqualsSymbol(EqualsSymbol object)
182 {
183 return createEqualsSymbolAdapter();
184 }
185 @Override
186 public Adapter caseDataSymbol(DataSymbol object)
187 {
188 return createDataSymbolAdapter();
189 }
190 @Override
191 public Adapter caseBooleanSymbol(BooleanSymbol object)
192 {
193 return createBooleanSymbolAdapter();
194 }
195 @Override
196 public Adapter caseIntegerSymbol(IntegerSymbol object)
197 {
198 return createIntegerSymbolAdapter();
199 }
200 @Override
201 public Adapter caseRealSymbol(RealSymbol object)
202 {
203 return createRealSymbolAdapter();
204 }
205 @Override
206 public Adapter caseStringSymbol(StringSymbol object)
207 {
208 return createStringSymbolAdapter();
209 }
210 @Override
211 public Adapter caseComplexObject(ComplexObject object)
212 {
213 return createComplexObjectAdapter();
214 }
215 @Override
216 public Adapter caseObject(org.eclipse.viatra.solver.language.solverLanguage.Object object)
217 {
218 return createObjectAdapter();
219 }
220 @Override
221 public Adapter caseNamedObject(NamedObject object)
222 {
223 return createNamedObjectAdapter();
224 }
225 @Override
226 public Adapter caseUnnamedObject(UnnamedObject object)
227 {
228 return createUnnamedObjectAdapter();
229 }
230 @Override
231 public Adapter caseDataObject(DataObject object)
232 {
233 return createDataObjectAdapter();
234 }
235 @Override
236 public Adapter caseBooleanObject(BooleanObject object)
237 {
238 return createBooleanObjectAdapter();
239 }
240 @Override
241 public Adapter caseIntObject(IntObject object)
242 {
243 return createIntObjectAdapter();
244 }
245 @Override
246 public Adapter caseRealObject(RealObject object)
247 {
248 return createRealObjectAdapter();
249 }
250 @Override
251 public Adapter caseStringObject(StringObject object)
252 {
253 return createStringObjectAdapter();
254 }
255 @Override
256 public Adapter casePredicate(Predicate object)
257 {
258 return createPredicateAdapter();
259 }
260 @Override
261 public Adapter casePredicateSymbol(PredicateSymbol object)
262 {
263 return createPredicateSymbolAdapter();
264 }
265 @Override
266 public Adapter caseErrorPredicate(ErrorPredicate object)
267 {
268 return createErrorPredicateAdapter();
269 }
270 @Override
271 public Adapter caseParameter(Parameter object)
272 {
273 return createParameterAdapter();
274 }
275 @Override
276 public Adapter casePatternBody(PatternBody object)
277 {
278 return createPatternBodyAdapter();
279 }
280 @Override
281 public Adapter casePolarity(Polarity object)
282 {
283 return createPolarityAdapter();
284 }
285 @Override
286 public Adapter caseConstraint(Constraint object)
287 {
288 return createConstraintAdapter();
289 }
290 @Override
291 public Adapter caseClosureType(ClosureType object)
292 {
293 return createClosureTypeAdapter();
294 }
295 @Override
296 public Adapter caseLiteral(Literal object)
297 {
298 return createLiteralAdapter();
299 }
300 @Override
301 public Adapter caseVariable(Variable object)
302 {
303 return createVariableAdapter();
304 }
305 @Override
306 public Adapter caseAllInstances(AllInstances object)
307 {
308 return createAllInstancesAdapter();
309 }
310 @Override
311 public Adapter caseAllObjects(AllObjects object)
312 {
313 return createAllObjectsAdapter();
314 }
315 @Override
316 public Adapter caseDefaultInterpretation(DefaultInterpretation object)
317 {
318 return createDefaultInterpretationAdapter();
319 }
320 @Override
321 public Adapter caseCDInterpretation(CDInterpretation object)
322 {
323 return createCDInterpretationAdapter();
324 }
325 @Override
326 public Adapter caseClassInterpretation(ClassInterpretation object)
327 {
328 return createClassInterpretationAdapter();
329 }
330 @Override
331 public Adapter caseEnumInterpretation(EnumInterpretation object)
332 {
333 return createEnumInterpretationAdapter();
334 }
335 @Override
336 public Adapter caseFieldRelationInterpretation(FieldRelationInterpretation object)
337 {
338 return createFieldRelationInterpretationAdapter();
339 }
340 @Override
341 public Adapter caseGlobalRelationInterpretation(GlobalRelationInterpretation object)
342 {
343 return createGlobalRelationInterpretationAdapter();
344 }
345 @Override
346 public Adapter caseMultiplicityDefinition(MultiplicityDefinition object)
347 {
348 return createMultiplicityDefinitionAdapter();
349 }
350 @Override
351 public Adapter caseBooleanTrue(BooleanTrue object)
352 {
353 return createBooleanTrueAdapter();
354 }
355 @Override
356 public Adapter caseBooleanFalse(BooleanFalse object)
357 {
358 return createBooleanFalseAdapter();
359 }
360 @Override
361 public Adapter caseTrue(True object)
362 {
363 return createTrueAdapter();
364 }
365 @Override
366 public Adapter caseFalse(False object)
367 {
368 return createFalseAdapter();
369 }
370 @Override
371 public Adapter caseUnknown(Unknown object)
372 {
373 return createUnknownAdapter();
374 }
375 @Override
376 public Adapter caseError(org.eclipse.viatra.solver.language.solverLanguage.Error object)
377 {
378 return createErrorAdapter();
379 }
380 @Override
381 public Adapter casePositive(Positive object)
382 {
383 return createPositiveAdapter();
384 }
385 @Override
386 public Adapter caseNegative(Negative object)
387 {
388 return createNegativeAdapter();
389 }
390 @Override
391 public Adapter caseReflexiveClosure(ReflexiveClosure object)
392 {
393 return createReflexiveClosureAdapter();
394 }
395 @Override
396 public Adapter caseIrreflexiveClosure(IrreflexiveClosure object)
397 {
398 return createIrreflexiveClosureAdapter();
399 }
400 @Override
401 public Adapter defaultCase(EObject object)
402 {
403 return createEObjectAdapter();
404 }
405 };
406
407 /**
408 * Creates an adapter for the <code>target</code>.
409 * <!-- begin-user-doc -->
410 * <!-- end-user-doc -->
411 * @param target the object to adapt.
412 * @return the adapter for the <code>target</code>.
413 * @generated
414 */
415 @Override
416 public Adapter createAdapter(Notifier target)
417 {
418 return modelSwitch.doSwitch((EObject)target);
419 }
420
421
422 /**
423 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem <em>Problem</em>}'.
424 * <!-- begin-user-doc -->
425 * This default implementation returns null so that we can easily ignore cases;
426 * it's useful to ignore a case when inheritance will catch all the cases anyway.
427 * <!-- end-user-doc -->
428 * @return the new adapter.
429 * @see org.eclipse.viatra.solver.language.solverLanguage.Problem
430 * @generated
431 */
432 public Adapter createProblemAdapter()
433 {
434 return null;
435 }
436
437 /**
438 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement <em>Statement</em>}'.
439 * <!-- begin-user-doc -->
440 * This default implementation returns null so that we can easily ignore cases;
441 * it's useful to ignore a case when inheritance will catch all the cases anyway.
442 * <!-- end-user-doc -->
443 * @return the new adapter.
444 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement
445 * @generated
446 */
447 public Adapter createStatementAdapter()
448 {
449 return null;
450 }
451
452 /**
453 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanValue <em>Boolean Value</em>}'.
454 * <!-- begin-user-doc -->
455 * This default implementation returns null so that we can easily ignore cases;
456 * it's useful to ignore a case when inheritance will catch all the cases anyway.
457 * <!-- end-user-doc -->
458 * @return the new adapter.
459 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanValue
460 * @generated
461 */
462 public Adapter createBooleanValueAdapter()
463 {
464 return null;
465 }
466
467 /**
468 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TruthValue <em>Truth Value</em>}'.
469 * <!-- begin-user-doc -->
470 * This default implementation returns null so that we can easily ignore cases;
471 * it's useful to ignore a case when inheritance will catch all the cases anyway.
472 * <!-- end-user-doc -->
473 * @return the new adapter.
474 * @see org.eclipse.viatra.solver.language.solverLanguage.TruthValue
475 * @generated
476 */
477 public Adapter createTruthValueAdapter()
478 {
479 return null;
480 }
481
482 /**
483 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interpretation <em>Interpretation</em>}'.
484 * <!-- begin-user-doc -->
485 * This default implementation returns null so that we can easily ignore cases;
486 * it's useful to ignore a case when inheritance will catch all the cases anyway.
487 * <!-- end-user-doc -->
488 * @return the new adapter.
489 * @see org.eclipse.viatra.solver.language.solverLanguage.Interpretation
490 * @generated
491 */
492 public Adapter createInterpretationAdapter()
493 {
494 return null;
495 }
496
497 /**
498 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation <em>Basic Interpretation</em>}'.
499 * <!-- begin-user-doc -->
500 * This default implementation returns null so that we can easily ignore cases;
501 * it's useful to ignore a case when inheritance will catch all the cases anyway.
502 * <!-- end-user-doc -->
503 * @return the new adapter.
504 * @see org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation
505 * @generated
506 */
507 public Adapter createBasicInterpretationAdapter()
508 {
509 return null;
510 }
511
512 /**
513 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Symbol <em>Symbol</em>}'.
514 * <!-- begin-user-doc -->
515 * This default implementation returns null so that we can easily ignore cases;
516 * it's useful to ignore a case when inheritance will catch all the cases anyway.
517 * <!-- end-user-doc -->
518 * @return the new adapter.
519 * @see org.eclipse.viatra.solver.language.solverLanguage.Symbol
520 * @generated
521 */
522 public Adapter createSymbolAdapter()
523 {
524 return null;
525 }
526
527 /**
528 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol <em>Model Symbol</em>}'.
529 * <!-- begin-user-doc -->
530 * This default implementation returns null so that we can easily ignore cases;
531 * it's useful to ignore a case when inheritance will catch all the cases anyway.
532 * <!-- end-user-doc -->
533 * @return the new adapter.
534 * @see org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol
535 * @generated
536 */
537 public Adapter createModelSymbolAdapter()
538 {
539 return null;
540 }
541
542 /**
543 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol <em>Partiality Symbol</em>}'.
544 * <!-- begin-user-doc -->
545 * This default implementation returns null so that we can easily ignore cases;
546 * it's useful to ignore a case when inheritance will catch all the cases anyway.
547 * <!-- end-user-doc -->
548 * @return the new adapter.
549 * @see org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol
550 * @generated
551 */
552 public Adapter createPartialitySymbolAdapter()
553 {
554 return null;
555 }
556
557 /**
558 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol <em>Exist Symbol</em>}'.
559 * <!-- begin-user-doc -->
560 * This default implementation returns null so that we can easily ignore cases;
561 * it's useful to ignore a case when inheritance will catch all the cases anyway.
562 * <!-- end-user-doc -->
563 * @return the new adapter.
564 * @see org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol
565 * @generated
566 */
567 public Adapter createExistSymbolAdapter()
568 {
569 return null;
570 }
571
572 /**
573 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol <em>Equals Symbol</em>}'.
574 * <!-- begin-user-doc -->
575 * This default implementation returns null so that we can easily ignore cases;
576 * it's useful to ignore a case when inheritance will catch all the cases anyway.
577 * <!-- end-user-doc -->
578 * @return the new adapter.
579 * @see org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol
580 * @generated
581 */
582 public Adapter createEqualsSymbolAdapter()
583 {
584 return null;
585 }
586
587 /**
588 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataSymbol <em>Data Symbol</em>}'.
589 * <!-- begin-user-doc -->
590 * This default implementation returns null so that we can easily ignore cases;
591 * it's useful to ignore a case when inheritance will catch all the cases anyway.
592 * <!-- end-user-doc -->
593 * @return the new adapter.
594 * @see org.eclipse.viatra.solver.language.solverLanguage.DataSymbol
595 * @generated
596 */
597 public Adapter createDataSymbolAdapter()
598 {
599 return null;
600 }
601
602 /**
603 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol <em>Boolean Symbol</em>}'.
604 * <!-- begin-user-doc -->
605 * This default implementation returns null so that we can easily ignore cases;
606 * it's useful to ignore a case when inheritance will catch all the cases anyway.
607 * <!-- end-user-doc -->
608 * @return the new adapter.
609 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol
610 * @generated
611 */
612 public Adapter createBooleanSymbolAdapter()
613 {
614 return null;
615 }
616
617 /**
618 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol <em>Integer Symbol</em>}'.
619 * <!-- begin-user-doc -->
620 * This default implementation returns null so that we can easily ignore cases;
621 * it's useful to ignore a case when inheritance will catch all the cases anyway.
622 * <!-- end-user-doc -->
623 * @return the new adapter.
624 * @see org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol
625 * @generated
626 */
627 public Adapter createIntegerSymbolAdapter()
628 {
629 return null;
630 }
631
632 /**
633 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealSymbol <em>Real Symbol</em>}'.
634 * <!-- begin-user-doc -->
635 * This default implementation returns null so that we can easily ignore cases;
636 * it's useful to ignore a case when inheritance will catch all the cases anyway.
637 * <!-- end-user-doc -->
638 * @return the new adapter.
639 * @see org.eclipse.viatra.solver.language.solverLanguage.RealSymbol
640 * @generated
641 */
642 public Adapter createRealSymbolAdapter()
643 {
644 return null;
645 }
646
647 /**
648 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringSymbol <em>String Symbol</em>}'.
649 * <!-- begin-user-doc -->
650 * This default implementation returns null so that we can easily ignore cases;
651 * it's useful to ignore a case when inheritance will catch all the cases anyway.
652 * <!-- end-user-doc -->
653 * @return the new adapter.
654 * @see org.eclipse.viatra.solver.language.solverLanguage.StringSymbol
655 * @generated
656 */
657 public Adapter createStringSymbolAdapter()
658 {
659 return null;
660 }
661
662 /**
663 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ComplexObject <em>Complex Object</em>}'.
664 * <!-- begin-user-doc -->
665 * This default implementation returns null so that we can easily ignore cases;
666 * it's useful to ignore a case when inheritance will catch all the cases anyway.
667 * <!-- end-user-doc -->
668 * @return the new adapter.
669 * @see org.eclipse.viatra.solver.language.solverLanguage.ComplexObject
670 * @generated
671 */
672 public Adapter createComplexObjectAdapter()
673 {
674 return null;
675 }
676
677 /**
678 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Object <em>Object</em>}'.
679 * <!-- begin-user-doc -->
680 * This default implementation returns null so that we can easily ignore cases;
681 * it's useful to ignore a case when inheritance will catch all the cases anyway.
682 * <!-- end-user-doc -->
683 * @return the new adapter.
684 * @see org.eclipse.viatra.solver.language.solverLanguage.Object
685 * @generated
686 */
687 public Adapter createObjectAdapter()
688 {
689 return null;
690 }
691
692 /**
693 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedObject <em>Named Object</em>}'.
694 * <!-- begin-user-doc -->
695 * This default implementation returns null so that we can easily ignore cases;
696 * it's useful to ignore a case when inheritance will catch all the cases anyway.
697 * <!-- end-user-doc -->
698 * @return the new adapter.
699 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedObject
700 * @generated
701 */
702 public Adapter createNamedObjectAdapter()
703 {
704 return null;
705 }
706
707 /**
708 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject <em>Unnamed Object</em>}'.
709 * <!-- begin-user-doc -->
710 * This default implementation returns null so that we can easily ignore cases;
711 * it's useful to ignore a case when inheritance will catch all the cases anyway.
712 * <!-- end-user-doc -->
713 * @return the new adapter.
714 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject
715 * @generated
716 */
717 public Adapter createUnnamedObjectAdapter()
718 {
719 return null;
720 }
721
722 /**
723 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DataObject <em>Data Object</em>}'.
724 * <!-- begin-user-doc -->
725 * This default implementation returns null so that we can easily ignore cases;
726 * it's useful to ignore a case when inheritance will catch all the cases anyway.
727 * <!-- end-user-doc -->
728 * @return the new adapter.
729 * @see org.eclipse.viatra.solver.language.solverLanguage.DataObject
730 * @generated
731 */
732 public Adapter createDataObjectAdapter()
733 {
734 return null;
735 }
736
737 /**
738 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanObject <em>Boolean Object</em>}'.
739 * <!-- begin-user-doc -->
740 * This default implementation returns null so that we can easily ignore cases;
741 * it's useful to ignore a case when inheritance will catch all the cases anyway.
742 * <!-- end-user-doc -->
743 * @return the new adapter.
744 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanObject
745 * @generated
746 */
747 public Adapter createBooleanObjectAdapter()
748 {
749 return null;
750 }
751
752 /**
753 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IntObject <em>Int Object</em>}'.
754 * <!-- begin-user-doc -->
755 * This default implementation returns null so that we can easily ignore cases;
756 * it's useful to ignore a case when inheritance will catch all the cases anyway.
757 * <!-- end-user-doc -->
758 * @return the new adapter.
759 * @see org.eclipse.viatra.solver.language.solverLanguage.IntObject
760 * @generated
761 */
762 public Adapter createIntObjectAdapter()
763 {
764 return null;
765 }
766
767 /**
768 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.RealObject <em>Real Object</em>}'.
769 * <!-- begin-user-doc -->
770 * This default implementation returns null so that we can easily ignore cases;
771 * it's useful to ignore a case when inheritance will catch all the cases anyway.
772 * <!-- end-user-doc -->
773 * @return the new adapter.
774 * @see org.eclipse.viatra.solver.language.solverLanguage.RealObject
775 * @generated
776 */
777 public Adapter createRealObjectAdapter()
778 {
779 return null;
780 }
781
782 /**
783 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringObject <em>String Object</em>}'.
784 * <!-- begin-user-doc -->
785 * This default implementation returns null so that we can easily ignore cases;
786 * it's useful to ignore a case when inheritance will catch all the cases anyway.
787 * <!-- end-user-doc -->
788 * @return the new adapter.
789 * @see org.eclipse.viatra.solver.language.solverLanguage.StringObject
790 * @generated
791 */
792 public Adapter createStringObjectAdapter()
793 {
794 return null;
795 }
796
797 /**
798 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate <em>Predicate</em>}'.
799 * <!-- begin-user-doc -->
800 * This default implementation returns null so that we can easily ignore cases;
801 * it's useful to ignore a case when inheritance will catch all the cases anyway.
802 * <!-- end-user-doc -->
803 * @return the new adapter.
804 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate
805 * @generated
806 */
807 public Adapter createPredicateAdapter()
808 {
809 return null;
810 }
811
812 /**
813 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol <em>Predicate Symbol</em>}'.
814 * <!-- begin-user-doc -->
815 * This default implementation returns null so that we can easily ignore cases;
816 * it's useful to ignore a case when inheritance will catch all the cases anyway.
817 * <!-- end-user-doc -->
818 * @return the new adapter.
819 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol
820 * @generated
821 */
822 public Adapter createPredicateSymbolAdapter()
823 {
824 return null;
825 }
826
827 /**
828 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate <em>Error Predicate</em>}'.
829 * <!-- begin-user-doc -->
830 * This default implementation returns null so that we can easily ignore cases;
831 * it's useful to ignore a case when inheritance will catch all the cases anyway.
832 * <!-- end-user-doc -->
833 * @return the new adapter.
834 * @see org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate
835 * @generated
836 */
837 public Adapter createErrorPredicateAdapter()
838 {
839 return null;
840 }
841
842 /**
843 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter <em>Parameter</em>}'.
844 * <!-- begin-user-doc -->
845 * This default implementation returns null so that we can easily ignore cases;
846 * it's useful to ignore a case when inheritance will catch all the cases anyway.
847 * <!-- end-user-doc -->
848 * @return the new adapter.
849 * @see org.eclipse.viatra.solver.language.solverLanguage.Parameter
850 * @generated
851 */
852 public Adapter createParameterAdapter()
853 {
854 return null;
855 }
856
857 /**
858 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PatternBody <em>Pattern Body</em>}'.
859 * <!-- begin-user-doc -->
860 * This default implementation returns null so that we can easily ignore cases;
861 * it's useful to ignore a case when inheritance will catch all the cases anyway.
862 * <!-- end-user-doc -->
863 * @return the new adapter.
864 * @see org.eclipse.viatra.solver.language.solverLanguage.PatternBody
865 * @generated
866 */
867 public Adapter createPatternBodyAdapter()
868 {
869 return null;
870 }
871
872 /**
873 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Polarity <em>Polarity</em>}'.
874 * <!-- begin-user-doc -->
875 * This default implementation returns null so that we can easily ignore cases;
876 * it's useful to ignore a case when inheritance will catch all the cases anyway.
877 * <!-- end-user-doc -->
878 * @return the new adapter.
879 * @see org.eclipse.viatra.solver.language.solverLanguage.Polarity
880 * @generated
881 */
882 public Adapter createPolarityAdapter()
883 {
884 return null;
885 }
886
887 /**
888 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Constraint <em>Constraint</em>}'.
889 * <!-- begin-user-doc -->
890 * This default implementation returns null so that we can easily ignore cases;
891 * it's useful to ignore a case when inheritance will catch all the cases anyway.
892 * <!-- end-user-doc -->
893 * @return the new adapter.
894 * @see org.eclipse.viatra.solver.language.solverLanguage.Constraint
895 * @generated
896 */
897 public Adapter createConstraintAdapter()
898 {
899 return null;
900 }
901
902 /**
903 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClosureType <em>Closure Type</em>}'.
904 * <!-- begin-user-doc -->
905 * This default implementation returns null so that we can easily ignore cases;
906 * it's useful to ignore a case when inheritance will catch all the cases anyway.
907 * <!-- end-user-doc -->
908 * @return the new adapter.
909 * @see org.eclipse.viatra.solver.language.solverLanguage.ClosureType
910 * @generated
911 */
912 public Adapter createClosureTypeAdapter()
913 {
914 return null;
915 }
916
917 /**
918 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</em>}'.
919 * <!-- begin-user-doc -->
920 * This default implementation returns null so that we can easily ignore cases;
921 * it's useful to ignore a case when inheritance will catch all the cases anyway.
922 * <!-- end-user-doc -->
923 * @return the new adapter.
924 * @see org.eclipse.viatra.solver.language.solverLanguage.Literal
925 * @generated
926 */
927 public Adapter createLiteralAdapter()
928 {
929 return null;
930 }
931
932 /**
933 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Variable <em>Variable</em>}'.
934 * <!-- begin-user-doc -->
935 * This default implementation returns null so that we can easily ignore cases;
936 * it's useful to ignore a case when inheritance will catch all the cases anyway.
937 * <!-- end-user-doc -->
938 * @return the new adapter.
939 * @see org.eclipse.viatra.solver.language.solverLanguage.Variable
940 * @generated
941 */
942 public Adapter createVariableAdapter()
943 {
944 return null;
945 }
946
947 /**
948 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllInstances <em>All Instances</em>}'.
949 * <!-- begin-user-doc -->
950 * This default implementation returns null so that we can easily ignore cases;
951 * it's useful to ignore a case when inheritance will catch all the cases anyway.
952 * <!-- end-user-doc -->
953 * @return the new adapter.
954 * @see org.eclipse.viatra.solver.language.solverLanguage.AllInstances
955 * @generated
956 */
957 public Adapter createAllInstancesAdapter()
958 {
959 return null;
960 }
961
962 /**
963 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.AllObjects <em>All Objects</em>}'.
964 * <!-- begin-user-doc -->
965 * This default implementation returns null so that we can easily ignore cases;
966 * it's useful to ignore a case when inheritance will catch all the cases anyway.
967 * <!-- end-user-doc -->
968 * @return the new adapter.
969 * @see org.eclipse.viatra.solver.language.solverLanguage.AllObjects
970 * @generated
971 */
972 public Adapter createAllObjectsAdapter()
973 {
974 return null;
975 }
976
977 /**
978 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation <em>Default Interpretation</em>}'.
979 * <!-- begin-user-doc -->
980 * This default implementation returns null so that we can easily ignore cases;
981 * it's useful to ignore a case when inheritance will catch all the cases anyway.
982 * <!-- end-user-doc -->
983 * @return the new adapter.
984 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation
985 * @generated
986 */
987 public Adapter createDefaultInterpretationAdapter()
988 {
989 return null;
990 }
991
992 /**
993 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation <em>CD Interpretation</em>}'.
994 * <!-- begin-user-doc -->
995 * This default implementation returns null so that we can easily ignore cases;
996 * it's useful to ignore a case when inheritance will catch all the cases anyway.
997 * <!-- end-user-doc -->
998 * @return the new adapter.
999 * @see org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation
1000 * @generated
1001 */
1002 public Adapter createCDInterpretationAdapter()
1003 {
1004 return null;
1005 }
1006
1007 /**
1008 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation <em>Class Interpretation</em>}'.
1009 * <!-- begin-user-doc -->
1010 * This default implementation returns null so that we can easily ignore cases;
1011 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1012 * <!-- end-user-doc -->
1013 * @return the new adapter.
1014 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation
1015 * @generated
1016 */
1017 public Adapter createClassInterpretationAdapter()
1018 {
1019 return null;
1020 }
1021
1022 /**
1023 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation <em>Enum Interpretation</em>}'.
1024 * <!-- begin-user-doc -->
1025 * This default implementation returns null so that we can easily ignore cases;
1026 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1027 * <!-- end-user-doc -->
1028 * @return the new adapter.
1029 * @see org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation
1030 * @generated
1031 */
1032 public Adapter createEnumInterpretationAdapter()
1033 {
1034 return null;
1035 }
1036
1037 /**
1038 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation <em>Field Relation Interpretation</em>}'.
1039 * <!-- begin-user-doc -->
1040 * This default implementation returns null so that we can easily ignore cases;
1041 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1042 * <!-- end-user-doc -->
1043 * @return the new adapter.
1044 * @see org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation
1045 * @generated
1046 */
1047 public Adapter createFieldRelationInterpretationAdapter()
1048 {
1049 return null;
1050 }
1051
1052 /**
1053 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation <em>Global Relation Interpretation</em>}'.
1054 * <!-- begin-user-doc -->
1055 * This default implementation returns null so that we can easily ignore cases;
1056 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1057 * <!-- end-user-doc -->
1058 * @return the new adapter.
1059 * @see org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation
1060 * @generated
1061 */
1062 public Adapter createGlobalRelationInterpretationAdapter()
1063 {
1064 return null;
1065 }
1066
1067 /**
1068 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition <em>Multiplicity Definition</em>}'.
1069 * <!-- begin-user-doc -->
1070 * This default implementation returns null so that we can easily ignore cases;
1071 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1072 * <!-- end-user-doc -->
1073 * @return the new adapter.
1074 * @see org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition
1075 * @generated
1076 */
1077 public Adapter createMultiplicityDefinitionAdapter()
1078 {
1079 return null;
1080 }
1081
1082 /**
1083 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue <em>Boolean True</em>}'.
1084 * <!-- begin-user-doc -->
1085 * This default implementation returns null so that we can easily ignore cases;
1086 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1087 * <!-- end-user-doc -->
1088 * @return the new adapter.
1089 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue
1090 * @generated
1091 */
1092 public Adapter createBooleanTrueAdapter()
1093 {
1094 return null;
1095 }
1096
1097 /**
1098 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse <em>Boolean False</em>}'.
1099 * <!-- begin-user-doc -->
1100 * This default implementation returns null so that we can easily ignore cases;
1101 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1102 * <!-- end-user-doc -->
1103 * @return the new adapter.
1104 * @see org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse
1105 * @generated
1106 */
1107 public Adapter createBooleanFalseAdapter()
1108 {
1109 return null;
1110 }
1111
1112 /**
1113 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.True <em>True</em>}'.
1114 * <!-- begin-user-doc -->
1115 * This default implementation returns null so that we can easily ignore cases;
1116 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1117 * <!-- end-user-doc -->
1118 * @return the new adapter.
1119 * @see org.eclipse.viatra.solver.language.solverLanguage.True
1120 * @generated
1121 */
1122 public Adapter createTrueAdapter()
1123 {
1124 return null;
1125 }
1126
1127 /**
1128 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.False <em>False</em>}'.
1129 * <!-- begin-user-doc -->
1130 * This default implementation returns null so that we can easily ignore cases;
1131 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1132 * <!-- end-user-doc -->
1133 * @return the new adapter.
1134 * @see org.eclipse.viatra.solver.language.solverLanguage.False
1135 * @generated
1136 */
1137 public Adapter createFalseAdapter()
1138 {
1139 return null;
1140 }
1141
1142 /**
1143 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Unknown <em>Unknown</em>}'.
1144 * <!-- begin-user-doc -->
1145 * This default implementation returns null so that we can easily ignore cases;
1146 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1147 * <!-- end-user-doc -->
1148 * @return the new adapter.
1149 * @see org.eclipse.viatra.solver.language.solverLanguage.Unknown
1150 * @generated
1151 */
1152 public Adapter createUnknownAdapter()
1153 {
1154 return null;
1155 }
1156
1157 /**
1158 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Error <em>Error</em>}'.
1159 * <!-- begin-user-doc -->
1160 * This default implementation returns null so that we can easily ignore cases;
1161 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1162 * <!-- end-user-doc -->
1163 * @return the new adapter.
1164 * @see org.eclipse.viatra.solver.language.solverLanguage.Error
1165 * @generated
1166 */
1167 public Adapter createErrorAdapter()
1168 {
1169 return null;
1170 }
1171
1172 /**
1173 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Positive <em>Positive</em>}'.
1174 * <!-- begin-user-doc -->
1175 * This default implementation returns null so that we can easily ignore cases;
1176 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1177 * <!-- end-user-doc -->
1178 * @return the new adapter.
1179 * @see org.eclipse.viatra.solver.language.solverLanguage.Positive
1180 * @generated
1181 */
1182 public Adapter createPositiveAdapter()
1183 {
1184 return null;
1185 }
1186
1187 /**
1188 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Negative <em>Negative</em>}'.
1189 * <!-- begin-user-doc -->
1190 * This default implementation returns null so that we can easily ignore cases;
1191 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1192 * <!-- end-user-doc -->
1193 * @return the new adapter.
1194 * @see org.eclipse.viatra.solver.language.solverLanguage.Negative
1195 * @generated
1196 */
1197 public Adapter createNegativeAdapter()
1198 {
1199 return null;
1200 }
1201
1202 /**
1203 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure <em>Reflexive Closure</em>}'.
1204 * <!-- begin-user-doc -->
1205 * This default implementation returns null so that we can easily ignore cases;
1206 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1207 * <!-- end-user-doc -->
1208 * @return the new adapter.
1209 * @see org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure
1210 * @generated
1211 */
1212 public Adapter createReflexiveClosureAdapter()
1213 {
1214 return null;
1215 }
1216
1217 /**
1218 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure <em>Irreflexive Closure</em>}'.
1219 * <!-- begin-user-doc -->
1220 * This default implementation returns null so that we can easily ignore cases;
1221 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1222 * <!-- end-user-doc -->
1223 * @return the new adapter.
1224 * @see org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure
1225 * @generated
1226 */
1227 public Adapter createIrreflexiveClosureAdapter()
1228 {
1229 return null;
1230 }
1231
1232 /**
1233 * Creates a new adapter for the default case.
1234 * <!-- begin-user-doc -->
1235 * This default implementation returns null.
1236 * <!-- end-user-doc -->
1237 * @return the new adapter.
1238 * @generated
1239 */
1240 public Adapter createEObjectAdapter()
1241 {
1242 return null;
1243 }
1244
1245} //SolverLanguageAdapterFactory
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
new file mode 100644
index 00000000..9bc874e3
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
@@ -0,0 +1,1464 @@
1/**
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.util;
5
6import org.eclipse.emf.ecore.EObject;
7import org.eclipse.emf.ecore.EPackage;
8
9import org.eclipse.emf.ecore.util.Switch;
10
11import org.eclipse.viatra.solver.language.solverLanguage.AllInstances;
12import org.eclipse.viatra.solver.language.solverLanguage.AllObjects;
13import org.eclipse.viatra.solver.language.solverLanguage.BasicInterpretation;
14import org.eclipse.viatra.solver.language.solverLanguage.BooleanFalse;
15import org.eclipse.viatra.solver.language.solverLanguage.BooleanObject;
16import org.eclipse.viatra.solver.language.solverLanguage.BooleanSymbol;
17import org.eclipse.viatra.solver.language.solverLanguage.BooleanTrue;
18import org.eclipse.viatra.solver.language.solverLanguage.BooleanValue;
19import org.eclipse.viatra.solver.language.solverLanguage.CDInterpretation;
20import org.eclipse.viatra.solver.language.solverLanguage.ClassInterpretation;
21import org.eclipse.viatra.solver.language.solverLanguage.ClosureType;
22import org.eclipse.viatra.solver.language.solverLanguage.ComplexObject;
23import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
24import org.eclipse.viatra.solver.language.solverLanguage.DataObject;
25import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
26import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
27import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
28import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
29import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate;
30import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
31import org.eclipse.viatra.solver.language.solverLanguage.False;
32import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
33import org.eclipse.viatra.solver.language.solverLanguage.GlobalRelationInterpretation;
34import org.eclipse.viatra.solver.language.solverLanguage.IntObject;
35import org.eclipse.viatra.solver.language.solverLanguage.IntegerSymbol;
36import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
37import org.eclipse.viatra.solver.language.solverLanguage.IrreflexiveClosure;
38import org.eclipse.viatra.solver.language.solverLanguage.Literal;
39import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
40import org.eclipse.viatra.solver.language.solverLanguage.MultiplicityDefinition;
41import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
42import org.eclipse.viatra.solver.language.solverLanguage.Negative;
43import org.eclipse.viatra.solver.language.solverLanguage.Parameter;
44import org.eclipse.viatra.solver.language.solverLanguage.PartialitySymbol;
45import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
46import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
47import org.eclipse.viatra.solver.language.solverLanguage.Positive;
48import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
49import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol;
50import org.eclipse.viatra.solver.language.solverLanguage.Problem;
51import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
52import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
53import org.eclipse.viatra.solver.language.solverLanguage.ReflexiveClosure;
54import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
55import org.eclipse.viatra.solver.language.solverLanguage.Statement;
56import org.eclipse.viatra.solver.language.solverLanguage.StringObject;
57import org.eclipse.viatra.solver.language.solverLanguage.StringSymbol;
58import org.eclipse.viatra.solver.language.solverLanguage.Symbol;
59import org.eclipse.viatra.solver.language.solverLanguage.True;
60import org.eclipse.viatra.solver.language.solverLanguage.TruthValue;
61import org.eclipse.viatra.solver.language.solverLanguage.Unknown;
62import org.eclipse.viatra.solver.language.solverLanguage.UnnamedObject;
63import org.eclipse.viatra.solver.language.solverLanguage.Variable;
64
65/**
66 * <!-- begin-user-doc -->
67 * The <b>Switch</b> for the model's inheritance hierarchy.
68 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
69 * to invoke the <code>caseXXX</code> method for each class of the model,
70 * starting with the actual class of the object
71 * and proceeding up the inheritance hierarchy
72 * until a non-null result is returned,
73 * which is the result of the switch.
74 * <!-- end-user-doc -->
75 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage
76 * @generated
77 */
78public class SolverLanguageSwitch<T> extends Switch<T>
79{
80 /**
81 * The cached model package
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 protected static SolverLanguagePackage modelPackage;
87
88 /**
89 * Creates an instance of the switch.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 public SolverLanguageSwitch()
95 {
96 if (modelPackage == null)
97 {
98 modelPackage = SolverLanguagePackage.eINSTANCE;
99 }
100 }
101
102 /**
103 * Checks whether this is a switch for the given package.
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @param ePackage the package in question.
107 * @return whether this is a switch for the given package.
108 * @generated
109 */
110 @Override
111 protected boolean isSwitchFor(EPackage ePackage)
112 {
113 return ePackage == modelPackage;
114 }
115
116 /**
117 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @return the first non-null result returned by a <code>caseXXX</code> call.
121 * @generated
122 */
123 @Override
124 protected T doSwitch(int classifierID, EObject theEObject)
125 {
126 switch (classifierID)
127 {
128 case SolverLanguagePackage.PROBLEM:
129 {
130 Problem problem = (Problem)theEObject;
131 T result = caseProblem(problem);
132 if (result == null) result = defaultCase(theEObject);
133 return result;
134 }
135 case SolverLanguagePackage.STATEMENT:
136 {
137 Statement statement = (Statement)theEObject;
138 T result = caseStatement(statement);
139 if (result == null) result = defaultCase(theEObject);
140 return result;
141 }
142 case SolverLanguagePackage.BOOLEAN_VALUE:
143 {
144 BooleanValue booleanValue = (BooleanValue)theEObject;
145 T result = caseBooleanValue(booleanValue);
146 if (result == null) result = defaultCase(theEObject);
147 return result;
148 }
149 case SolverLanguagePackage.TRUTH_VALUE:
150 {
151 TruthValue truthValue = (TruthValue)theEObject;
152 T result = caseTruthValue(truthValue);
153 if (result == null) result = defaultCase(theEObject);
154 return result;
155 }
156 case SolverLanguagePackage.INTERPRETATION:
157 {
158 Interpretation interpretation = (Interpretation)theEObject;
159 T result = caseInterpretation(interpretation);
160 if (result == null) result = caseStatement(interpretation);
161 if (result == null) result = defaultCase(theEObject);
162 return result;
163 }
164 case SolverLanguagePackage.BASIC_INTERPRETATION:
165 {
166 BasicInterpretation basicInterpretation = (BasicInterpretation)theEObject;
167 T result = caseBasicInterpretation(basicInterpretation);
168 if (result == null) result = caseInterpretation(basicInterpretation);
169 if (result == null) result = caseStatement(basicInterpretation);
170 if (result == null) result = defaultCase(theEObject);
171 return result;
172 }
173 case SolverLanguagePackage.SYMBOL:
174 {
175 Symbol symbol = (Symbol)theEObject;
176 T result = caseSymbol(symbol);
177 if (result == null) result = defaultCase(theEObject);
178 return result;
179 }
180 case SolverLanguagePackage.MODEL_SYMBOL:
181 {
182 ModelSymbol modelSymbol = (ModelSymbol)theEObject;
183 T result = caseModelSymbol(modelSymbol);
184 if (result == null) result = caseSymbol(modelSymbol);
185 if (result == null) result = defaultCase(theEObject);
186 return result;
187 }
188 case SolverLanguagePackage.PARTIALITY_SYMBOL:
189 {
190 PartialitySymbol partialitySymbol = (PartialitySymbol)theEObject;
191 T result = casePartialitySymbol(partialitySymbol);
192 if (result == null) result = caseSymbol(partialitySymbol);
193 if (result == null) result = defaultCase(theEObject);
194 return result;
195 }
196 case SolverLanguagePackage.EXIST_SYMBOL:
197 {
198 ExistSymbol existSymbol = (ExistSymbol)theEObject;
199 T result = caseExistSymbol(existSymbol);
200 if (result == null) result = casePartialitySymbol(existSymbol);
201 if (result == null) result = caseSymbol(existSymbol);
202 if (result == null) result = defaultCase(theEObject);
203 return result;
204 }
205 case SolverLanguagePackage.EQUALS_SYMBOL:
206 {
207 EqualsSymbol equalsSymbol = (EqualsSymbol)theEObject;
208 T result = caseEqualsSymbol(equalsSymbol);
209 if (result == null) result = casePartialitySymbol(equalsSymbol);
210 if (result == null) result = caseSymbol(equalsSymbol);
211 if (result == null) result = defaultCase(theEObject);
212 return result;
213 }
214 case SolverLanguagePackage.DATA_SYMBOL:
215 {
216 DataSymbol dataSymbol = (DataSymbol)theEObject;
217 T result = caseDataSymbol(dataSymbol);
218 if (result == null) result = caseSymbol(dataSymbol);
219 if (result == null) result = defaultCase(theEObject);
220 return result;
221 }
222 case SolverLanguagePackage.BOOLEAN_SYMBOL:
223 {
224 BooleanSymbol booleanSymbol = (BooleanSymbol)theEObject;
225 T result = caseBooleanSymbol(booleanSymbol);
226 if (result == null) result = caseDataSymbol(booleanSymbol);
227 if (result == null) result = caseSymbol(booleanSymbol);
228 if (result == null) result = defaultCase(theEObject);
229 return result;
230 }
231 case SolverLanguagePackage.INTEGER_SYMBOL:
232 {
233 IntegerSymbol integerSymbol = (IntegerSymbol)theEObject;
234 T result = caseIntegerSymbol(integerSymbol);
235 if (result == null) result = caseDataSymbol(integerSymbol);
236 if (result == null) result = caseSymbol(integerSymbol);
237 if (result == null) result = defaultCase(theEObject);
238 return result;
239 }
240 case SolverLanguagePackage.REAL_SYMBOL:
241 {
242 RealSymbol realSymbol = (RealSymbol)theEObject;
243 T result = caseRealSymbol(realSymbol);
244 if (result == null) result = caseDataSymbol(realSymbol);
245 if (result == null) result = caseSymbol(realSymbol);
246 if (result == null) result = defaultCase(theEObject);
247 return result;
248 }
249 case SolverLanguagePackage.STRING_SYMBOL:
250 {
251 StringSymbol stringSymbol = (StringSymbol)theEObject;
252 T result = caseStringSymbol(stringSymbol);
253 if (result == null) result = caseDataSymbol(stringSymbol);
254 if (result == null) result = caseSymbol(stringSymbol);
255 if (result == null) result = defaultCase(theEObject);
256 return result;
257 }
258 case SolverLanguagePackage.COMPLEX_OBJECT:
259 {
260 ComplexObject complexObject = (ComplexObject)theEObject;
261 T result = caseComplexObject(complexObject);
262 if (result == null) result = defaultCase(theEObject);
263 return result;
264 }
265 case SolverLanguagePackage.OBJECT:
266 {
267 org.eclipse.viatra.solver.language.solverLanguage.Object object = (org.eclipse.viatra.solver.language.solverLanguage.Object)theEObject;
268 T result = caseObject(object);
269 if (result == null) result = caseComplexObject(object);
270 if (result == null) result = defaultCase(theEObject);
271 return result;
272 }
273 case SolverLanguagePackage.NAMED_OBJECT:
274 {
275 NamedObject namedObject = (NamedObject)theEObject;
276 T result = caseNamedObject(namedObject);
277 if (result == null) result = caseObject(namedObject);
278 if (result == null) result = caseComplexObject(namedObject);
279 if (result == null) result = defaultCase(theEObject);
280 return result;
281 }
282 case SolverLanguagePackage.UNNAMED_OBJECT:
283 {
284 UnnamedObject unnamedObject = (UnnamedObject)theEObject;
285 T result = caseUnnamedObject(unnamedObject);
286 if (result == null) result = caseObject(unnamedObject);
287 if (result == null) result = caseComplexObject(unnamedObject);
288 if (result == null) result = defaultCase(theEObject);
289 return result;
290 }
291 case SolverLanguagePackage.DATA_OBJECT:
292 {
293 DataObject dataObject = (DataObject)theEObject;
294 T result = caseDataObject(dataObject);
295 if (result == null) result = caseObject(dataObject);
296 if (result == null) result = caseLiteral(dataObject);
297 if (result == null) result = caseComplexObject(dataObject);
298 if (result == null) result = defaultCase(theEObject);
299 return result;
300 }
301 case SolverLanguagePackage.BOOLEAN_OBJECT:
302 {
303 BooleanObject booleanObject = (BooleanObject)theEObject;
304 T result = caseBooleanObject(booleanObject);
305 if (result == null) result = caseDataObject(booleanObject);
306 if (result == null) result = caseObject(booleanObject);
307 if (result == null) result = caseLiteral(booleanObject);
308 if (result == null) result = caseComplexObject(booleanObject);
309 if (result == null) result = defaultCase(theEObject);
310 return result;
311 }
312 case SolverLanguagePackage.INT_OBJECT:
313 {
314 IntObject intObject = (IntObject)theEObject;
315 T result = caseIntObject(intObject);
316 if (result == null) result = caseDataObject(intObject);
317 if (result == null) result = caseObject(intObject);
318 if (result == null) result = caseLiteral(intObject);
319 if (result == null) result = caseComplexObject(intObject);
320 if (result == null) result = defaultCase(theEObject);
321 return result;
322 }
323 case SolverLanguagePackage.REAL_OBJECT:
324 {
325 RealObject realObject = (RealObject)theEObject;
326 T result = caseRealObject(realObject);
327 if (result == null) result = caseDataObject(realObject);
328 if (result == null) result = caseObject(realObject);
329 if (result == null) result = caseLiteral(realObject);
330 if (result == null) result = caseComplexObject(realObject);
331 if (result == null) result = defaultCase(theEObject);
332 return result;
333 }
334 case SolverLanguagePackage.STRING_OBJECT:
335 {
336 StringObject stringObject = (StringObject)theEObject;
337 T result = caseStringObject(stringObject);
338 if (result == null) result = caseDataObject(stringObject);
339 if (result == null) result = caseObject(stringObject);
340 if (result == null) result = caseLiteral(stringObject);
341 if (result == null) result = caseComplexObject(stringObject);
342 if (result == null) result = defaultCase(theEObject);
343 return result;
344 }
345 case SolverLanguagePackage.PREDICATE:
346 {
347 Predicate predicate = (Predicate)theEObject;
348 T result = casePredicate(predicate);
349 if (result == null) result = caseStatement(predicate);
350 if (result == null) result = defaultCase(theEObject);
351 return result;
352 }
353 case SolverLanguagePackage.PREDICATE_SYMBOL:
354 {
355 PredicateSymbol predicateSymbol = (PredicateSymbol)theEObject;
356 T result = casePredicateSymbol(predicateSymbol);
357 if (result == null) result = casePredicate(predicateSymbol);
358 if (result == null) result = caseStatement(predicateSymbol);
359 if (result == null) result = defaultCase(theEObject);
360 return result;
361 }
362 case SolverLanguagePackage.ERROR_PREDICATE:
363 {
364 ErrorPredicate errorPredicate = (ErrorPredicate)theEObject;
365 T result = caseErrorPredicate(errorPredicate);
366 if (result == null) result = casePredicate(errorPredicate);
367 if (result == null) result = caseStatement(errorPredicate);
368 if (result == null) result = defaultCase(theEObject);
369 return result;
370 }
371 case SolverLanguagePackage.PARAMETER:
372 {
373 Parameter parameter = (Parameter)theEObject;
374 T result = caseParameter(parameter);
375 if (result == null) result = defaultCase(theEObject);
376 return result;
377 }
378 case SolverLanguagePackage.PATTERN_BODY:
379 {
380 PatternBody patternBody = (PatternBody)theEObject;
381 T result = casePatternBody(patternBody);
382 if (result == null) result = defaultCase(theEObject);
383 return result;
384 }
385 case SolverLanguagePackage.POLARITY:
386 {
387 Polarity polarity = (Polarity)theEObject;
388 T result = casePolarity(polarity);
389 if (result == null) result = defaultCase(theEObject);
390 return result;
391 }
392 case SolverLanguagePackage.CONSTRAINT:
393 {
394 Constraint constraint = (Constraint)theEObject;
395 T result = caseConstraint(constraint);
396 if (result == null) result = defaultCase(theEObject);
397 return result;
398 }
399 case SolverLanguagePackage.CLOSURE_TYPE:
400 {
401 ClosureType closureType = (ClosureType)theEObject;
402 T result = caseClosureType(closureType);
403 if (result == null) result = defaultCase(theEObject);
404 return result;
405 }
406 case SolverLanguagePackage.LITERAL:
407 {
408 Literal literal = (Literal)theEObject;
409 T result = caseLiteral(literal);
410 if (result == null) result = defaultCase(theEObject);
411 return result;
412 }
413 case SolverLanguagePackage.VARIABLE:
414 {
415 Variable variable = (Variable)theEObject;
416 T result = caseVariable(variable);
417 if (result == null) result = caseLiteral(variable);
418 if (result == null) result = defaultCase(theEObject);
419 return result;
420 }
421 case SolverLanguagePackage.ALL_INSTANCES:
422 {
423 AllInstances allInstances = (AllInstances)theEObject;
424 T result = caseAllInstances(allInstances);
425 if (result == null) result = caseComplexObject(allInstances);
426 if (result == null) result = defaultCase(theEObject);
427 return result;
428 }
429 case SolverLanguagePackage.ALL_OBJECTS:
430 {
431 AllObjects allObjects = (AllObjects)theEObject;
432 T result = caseAllObjects(allObjects);
433 if (result == null) result = caseComplexObject(allObjects);
434 if (result == null) result = defaultCase(theEObject);
435 return result;
436 }
437 case SolverLanguagePackage.DEFAULT_INTERPRETATION:
438 {
439 DefaultInterpretation defaultInterpretation = (DefaultInterpretation)theEObject;
440 T result = caseDefaultInterpretation(defaultInterpretation);
441 if (result == null) result = caseInterpretation(defaultInterpretation);
442 if (result == null) result = caseStatement(defaultInterpretation);
443 if (result == null) result = defaultCase(theEObject);
444 return result;
445 }
446 case SolverLanguagePackage.CD_INTERPRETATION:
447 {
448 CDInterpretation cdInterpretation = (CDInterpretation)theEObject;
449 T result = caseCDInterpretation(cdInterpretation);
450 if (result == null) result = caseInterpretation(cdInterpretation);
451 if (result == null) result = caseStatement(cdInterpretation);
452 if (result == null) result = defaultCase(theEObject);
453 return result;
454 }
455 case SolverLanguagePackage.CLASS_INTERPRETATION:
456 {
457 ClassInterpretation classInterpretation = (ClassInterpretation)theEObject;
458 T result = caseClassInterpretation(classInterpretation);
459 if (result == null) result = caseCDInterpretation(classInterpretation);
460 if (result == null) result = caseInterpretation(classInterpretation);
461 if (result == null) result = caseStatement(classInterpretation);
462 if (result == null) result = defaultCase(theEObject);
463 return result;
464 }
465 case SolverLanguagePackage.ENUM_INTERPRETATION:
466 {
467 EnumInterpretation enumInterpretation = (EnumInterpretation)theEObject;
468 T result = caseEnumInterpretation(enumInterpretation);
469 if (result == null) result = caseCDInterpretation(enumInterpretation);
470 if (result == null) result = caseInterpretation(enumInterpretation);
471 if (result == null) result = caseStatement(enumInterpretation);
472 if (result == null) result = defaultCase(theEObject);
473 return result;
474 }
475 case SolverLanguagePackage.FIELD_RELATION_INTERPRETATION:
476 {
477 FieldRelationInterpretation fieldRelationInterpretation = (FieldRelationInterpretation)theEObject;
478 T result = caseFieldRelationInterpretation(fieldRelationInterpretation);
479 if (result == null) result = defaultCase(theEObject);
480 return result;
481 }
482 case SolverLanguagePackage.GLOBAL_RELATION_INTERPRETATION:
483 {
484 GlobalRelationInterpretation globalRelationInterpretation = (GlobalRelationInterpretation)theEObject;
485 T result = caseGlobalRelationInterpretation(globalRelationInterpretation);
486 if (result == null) result = caseCDInterpretation(globalRelationInterpretation);
487 if (result == null) result = caseInterpretation(globalRelationInterpretation);
488 if (result == null) result = caseStatement(globalRelationInterpretation);
489 if (result == null) result = defaultCase(theEObject);
490 return result;
491 }
492 case SolverLanguagePackage.MULTIPLICITY_DEFINITION:
493 {
494 MultiplicityDefinition multiplicityDefinition = (MultiplicityDefinition)theEObject;
495 T result = caseMultiplicityDefinition(multiplicityDefinition);
496 if (result == null) result = defaultCase(theEObject);
497 return result;
498 }
499 case SolverLanguagePackage.BOOLEAN_TRUE:
500 {
501 BooleanTrue booleanTrue = (BooleanTrue)theEObject;
502 T result = caseBooleanTrue(booleanTrue);
503 if (result == null) result = caseBooleanValue(booleanTrue);
504 if (result == null) result = defaultCase(theEObject);
505 return result;
506 }
507 case SolverLanguagePackage.BOOLEAN_FALSE:
508 {
509 BooleanFalse booleanFalse = (BooleanFalse)theEObject;
510 T result = caseBooleanFalse(booleanFalse);
511 if (result == null) result = caseBooleanValue(booleanFalse);
512 if (result == null) result = defaultCase(theEObject);
513 return result;
514 }
515 case SolverLanguagePackage.TRUE:
516 {
517 True true_ = (True)theEObject;
518 T result = caseTrue(true_);
519 if (result == null) result = caseTruthValue(true_);
520 if (result == null) result = defaultCase(theEObject);
521 return result;
522 }
523 case SolverLanguagePackage.FALSE:
524 {
525 False false_ = (False)theEObject;
526 T result = caseFalse(false_);
527 if (result == null) result = caseTruthValue(false_);
528 if (result == null) result = defaultCase(theEObject);
529 return result;
530 }
531 case SolverLanguagePackage.UNKNOWN:
532 {
533 Unknown unknown = (Unknown)theEObject;
534 T result = caseUnknown(unknown);
535 if (result == null) result = caseTruthValue(unknown);
536 if (result == null) result = defaultCase(theEObject);
537 return result;
538 }
539 case SolverLanguagePackage.ERROR:
540 {
541 org.eclipse.viatra.solver.language.solverLanguage.Error error = (org.eclipse.viatra.solver.language.solverLanguage.Error)theEObject;
542 T result = caseError(error);
543 if (result == null) result = caseTruthValue(error);
544 if (result == null) result = defaultCase(theEObject);
545 return result;
546 }
547 case SolverLanguagePackage.POSITIVE:
548 {
549 Positive positive = (Positive)theEObject;
550 T result = casePositive(positive);
551 if (result == null) result = casePolarity(positive);
552 if (result == null) result = defaultCase(theEObject);
553 return result;
554 }
555 case SolverLanguagePackage.NEGATIVE:
556 {
557 Negative negative = (Negative)theEObject;
558 T result = caseNegative(negative);
559 if (result == null) result = casePolarity(negative);
560 if (result == null) result = defaultCase(theEObject);
561 return result;
562 }
563 case SolverLanguagePackage.REFLEXIVE_CLOSURE:
564 {
565 ReflexiveClosure reflexiveClosure = (ReflexiveClosure)theEObject;
566 T result = caseReflexiveClosure(reflexiveClosure);
567 if (result == null) result = caseClosureType(reflexiveClosure);
568 if (result == null) result = defaultCase(theEObject);
569 return result;
570 }
571 case SolverLanguagePackage.IRREFLEXIVE_CLOSURE:
572 {
573 IrreflexiveClosure irreflexiveClosure = (IrreflexiveClosure)theEObject;
574 T result = caseIrreflexiveClosure(irreflexiveClosure);
575 if (result == null) result = caseClosureType(irreflexiveClosure);
576 if (result == null) result = defaultCase(theEObject);
577 return result;
578 }
579 default: return defaultCase(theEObject);
580 }
581 }
582
583 /**
584 * Returns the result of interpreting the object as an instance of '<em>Problem</em>'.
585 * <!-- begin-user-doc -->
586 * This implementation returns null;
587 * returning a non-null result will terminate the switch.
588 * <!-- end-user-doc -->
589 * @param object the target of the switch.
590 * @return the result of interpreting the object as an instance of '<em>Problem</em>'.
591 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
592 * @generated
593 */
594 public T caseProblem(Problem object)
595 {
596 return null;
597 }
598
599 /**
600 * Returns the result of interpreting the object as an instance of '<em>Statement</em>'.
601 * <!-- begin-user-doc -->
602 * This implementation returns null;
603 * returning a non-null result will terminate the switch.
604 * <!-- end-user-doc -->
605 * @param object the target of the switch.
606 * @return the result of interpreting the object as an instance of '<em>Statement</em>'.
607 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
608 * @generated
609 */
610 public T caseStatement(Statement object)
611 {
612 return null;
613 }
614
615 /**
616 * Returns the result of interpreting the object as an instance of '<em>Boolean Value</em>'.
617 * <!-- begin-user-doc -->
618 * This implementation returns null;
619 * returning a non-null result will terminate the switch.
620 * <!-- end-user-doc -->
621 * @param object the target of the switch.
622 * @return the result of interpreting the object as an instance of '<em>Boolean Value</em>'.
623 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
624 * @generated
625 */
626 public T caseBooleanValue(BooleanValue object)
627 {
628 return null;
629 }
630
631 /**
632 * Returns the result of interpreting the object as an instance of '<em>Truth Value</em>'.
633 * <!-- begin-user-doc -->
634 * This implementation returns null;
635 * returning a non-null result will terminate the switch.
636 * <!-- end-user-doc -->
637 * @param object the target of the switch.
638 * @return the result of interpreting the object as an instance of '<em>Truth Value</em>'.
639 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
640 * @generated
641 */
642 public T caseTruthValue(TruthValue object)
643 {
644 return null;
645 }
646
647 /**
648 * Returns the result of interpreting the object as an instance of '<em>Interpretation</em>'.
649 * <!-- begin-user-doc -->
650 * This implementation returns null;
651 * returning a non-null result will terminate the switch.
652 * <!-- end-user-doc -->
653 * @param object the target of the switch.
654 * @return the result of interpreting the object as an instance of '<em>Interpretation</em>'.
655 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
656 * @generated
657 */
658 public T caseInterpretation(Interpretation object)
659 {
660 return null;
661 }
662
663 /**
664 * Returns the result of interpreting the object as an instance of '<em>Basic Interpretation</em>'.
665 * <!-- begin-user-doc -->
666 * This implementation returns null;
667 * returning a non-null result will terminate the switch.
668 * <!-- end-user-doc -->
669 * @param object the target of the switch.
670 * @return the result of interpreting the object as an instance of '<em>Basic Interpretation</em>'.
671 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
672 * @generated
673 */
674 public T caseBasicInterpretation(BasicInterpretation object)
675 {
676 return null;
677 }
678
679 /**
680 * Returns the result of interpreting the object as an instance of '<em>Symbol</em>'.
681 * <!-- begin-user-doc -->
682 * This implementation returns null;
683 * returning a non-null result will terminate the switch.
684 * <!-- end-user-doc -->
685 * @param object the target of the switch.
686 * @return the result of interpreting the object as an instance of '<em>Symbol</em>'.
687 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
688 * @generated
689 */
690 public T caseSymbol(Symbol object)
691 {
692 return null;
693 }
694
695 /**
696 * Returns the result of interpreting the object as an instance of '<em>Model Symbol</em>'.
697 * <!-- begin-user-doc -->
698 * This implementation returns null;
699 * returning a non-null result will terminate the switch.
700 * <!-- end-user-doc -->
701 * @param object the target of the switch.
702 * @return the result of interpreting the object as an instance of '<em>Model Symbol</em>'.
703 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
704 * @generated
705 */
706 public T caseModelSymbol(ModelSymbol object)
707 {
708 return null;
709 }
710
711 /**
712 * Returns the result of interpreting the object as an instance of '<em>Partiality Symbol</em>'.
713 * <!-- begin-user-doc -->
714 * This implementation returns null;
715 * returning a non-null result will terminate the switch.
716 * <!-- end-user-doc -->
717 * @param object the target of the switch.
718 * @return the result of interpreting the object as an instance of '<em>Partiality Symbol</em>'.
719 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
720 * @generated
721 */
722 public T casePartialitySymbol(PartialitySymbol object)
723 {
724 return null;
725 }
726
727 /**
728 * Returns the result of interpreting the object as an instance of '<em>Exist Symbol</em>'.
729 * <!-- begin-user-doc -->
730 * This implementation returns null;
731 * returning a non-null result will terminate the switch.
732 * <!-- end-user-doc -->
733 * @param object the target of the switch.
734 * @return the result of interpreting the object as an instance of '<em>Exist Symbol</em>'.
735 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
736 * @generated
737 */
738 public T caseExistSymbol(ExistSymbol object)
739 {
740 return null;
741 }
742
743 /**
744 * Returns the result of interpreting the object as an instance of '<em>Equals Symbol</em>'.
745 * <!-- begin-user-doc -->
746 * This implementation returns null;
747 * returning a non-null result will terminate the switch.
748 * <!-- end-user-doc -->
749 * @param object the target of the switch.
750 * @return the result of interpreting the object as an instance of '<em>Equals Symbol</em>'.
751 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
752 * @generated
753 */
754 public T caseEqualsSymbol(EqualsSymbol object)
755 {
756 return null;
757 }
758
759 /**
760 * Returns the result of interpreting the object as an instance of '<em>Data Symbol</em>'.
761 * <!-- begin-user-doc -->
762 * This implementation returns null;
763 * returning a non-null result will terminate the switch.
764 * <!-- end-user-doc -->
765 * @param object the target of the switch.
766 * @return the result of interpreting the object as an instance of '<em>Data Symbol</em>'.
767 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
768 * @generated
769 */
770 public T caseDataSymbol(DataSymbol object)
771 {
772 return null;
773 }
774
775 /**
776 * Returns the result of interpreting the object as an instance of '<em>Boolean Symbol</em>'.
777 * <!-- begin-user-doc -->
778 * This implementation returns null;
779 * returning a non-null result will terminate the switch.
780 * <!-- end-user-doc -->
781 * @param object the target of the switch.
782 * @return the result of interpreting the object as an instance of '<em>Boolean Symbol</em>'.
783 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
784 * @generated
785 */
786 public T caseBooleanSymbol(BooleanSymbol object)
787 {
788 return null;
789 }
790
791 /**
792 * Returns the result of interpreting the object as an instance of '<em>Integer Symbol</em>'.
793 * <!-- begin-user-doc -->
794 * This implementation returns null;
795 * returning a non-null result will terminate the switch.
796 * <!-- end-user-doc -->
797 * @param object the target of the switch.
798 * @return the result of interpreting the object as an instance of '<em>Integer Symbol</em>'.
799 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
800 * @generated
801 */
802 public T caseIntegerSymbol(IntegerSymbol object)
803 {
804 return null;
805 }
806
807 /**
808 * Returns the result of interpreting the object as an instance of '<em>Real Symbol</em>'.
809 * <!-- begin-user-doc -->
810 * This implementation returns null;
811 * returning a non-null result will terminate the switch.
812 * <!-- end-user-doc -->
813 * @param object the target of the switch.
814 * @return the result of interpreting the object as an instance of '<em>Real Symbol</em>'.
815 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
816 * @generated
817 */
818 public T caseRealSymbol(RealSymbol object)
819 {
820 return null;
821 }
822
823 /**
824 * Returns the result of interpreting the object as an instance of '<em>String Symbol</em>'.
825 * <!-- begin-user-doc -->
826 * This implementation returns null;
827 * returning a non-null result will terminate the switch.
828 * <!-- end-user-doc -->
829 * @param object the target of the switch.
830 * @return the result of interpreting the object as an instance of '<em>String Symbol</em>'.
831 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
832 * @generated
833 */
834 public T caseStringSymbol(StringSymbol object)
835 {
836 return null;
837 }
838
839 /**
840 * Returns the result of interpreting the object as an instance of '<em>Complex Object</em>'.
841 * <!-- begin-user-doc -->
842 * This implementation returns null;
843 * returning a non-null result will terminate the switch.
844 * <!-- end-user-doc -->
845 * @param object the target of the switch.
846 * @return the result of interpreting the object as an instance of '<em>Complex Object</em>'.
847 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
848 * @generated
849 */
850 public T caseComplexObject(ComplexObject object)
851 {
852 return null;
853 }
854
855 /**
856 * Returns the result of interpreting the object as an instance of '<em>Object</em>'.
857 * <!-- begin-user-doc -->
858 * This implementation returns null;
859 * returning a non-null result will terminate the switch.
860 * <!-- end-user-doc -->
861 * @param object the target of the switch.
862 * @return the result of interpreting the object as an instance of '<em>Object</em>'.
863 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
864 * @generated
865 */
866 public T caseObject(org.eclipse.viatra.solver.language.solverLanguage.Object object)
867 {
868 return null;
869 }
870
871 /**
872 * Returns the result of interpreting the object as an instance of '<em>Named Object</em>'.
873 * <!-- begin-user-doc -->
874 * This implementation returns null;
875 * returning a non-null result will terminate the switch.
876 * <!-- end-user-doc -->
877 * @param object the target of the switch.
878 * @return the result of interpreting the object as an instance of '<em>Named Object</em>'.
879 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
880 * @generated
881 */
882 public T caseNamedObject(NamedObject object)
883 {
884 return null;
885 }
886
887 /**
888 * Returns the result of interpreting the object as an instance of '<em>Unnamed Object</em>'.
889 * <!-- begin-user-doc -->
890 * This implementation returns null;
891 * returning a non-null result will terminate the switch.
892 * <!-- end-user-doc -->
893 * @param object the target of the switch.
894 * @return the result of interpreting the object as an instance of '<em>Unnamed Object</em>'.
895 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
896 * @generated
897 */
898 public T caseUnnamedObject(UnnamedObject object)
899 {
900 return null;
901 }
902
903 /**
904 * Returns the result of interpreting the object as an instance of '<em>Data Object</em>'.
905 * <!-- begin-user-doc -->
906 * This implementation returns null;
907 * returning a non-null result will terminate the switch.
908 * <!-- end-user-doc -->
909 * @param object the target of the switch.
910 * @return the result of interpreting the object as an instance of '<em>Data Object</em>'.
911 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
912 * @generated
913 */
914 public T caseDataObject(DataObject object)
915 {
916 return null;
917 }
918
919 /**
920 * Returns the result of interpreting the object as an instance of '<em>Boolean Object</em>'.
921 * <!-- begin-user-doc -->
922 * This implementation returns null;
923 * returning a non-null result will terminate the switch.
924 * <!-- end-user-doc -->
925 * @param object the target of the switch.
926 * @return the result of interpreting the object as an instance of '<em>Boolean Object</em>'.
927 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
928 * @generated
929 */
930 public T caseBooleanObject(BooleanObject object)
931 {
932 return null;
933 }
934
935 /**
936 * Returns the result of interpreting the object as an instance of '<em>Int Object</em>'.
937 * <!-- begin-user-doc -->
938 * This implementation returns null;
939 * returning a non-null result will terminate the switch.
940 * <!-- end-user-doc -->
941 * @param object the target of the switch.
942 * @return the result of interpreting the object as an instance of '<em>Int Object</em>'.
943 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
944 * @generated
945 */
946 public T caseIntObject(IntObject object)
947 {
948 return null;
949 }
950
951 /**
952 * Returns the result of interpreting the object as an instance of '<em>Real Object</em>'.
953 * <!-- begin-user-doc -->
954 * This implementation returns null;
955 * returning a non-null result will terminate the switch.
956 * <!-- end-user-doc -->
957 * @param object the target of the switch.
958 * @return the result of interpreting the object as an instance of '<em>Real Object</em>'.
959 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
960 * @generated
961 */
962 public T caseRealObject(RealObject object)
963 {
964 return null;
965 }
966
967 /**
968 * Returns the result of interpreting the object as an instance of '<em>String Object</em>'.
969 * <!-- begin-user-doc -->
970 * This implementation returns null;
971 * returning a non-null result will terminate the switch.
972 * <!-- end-user-doc -->
973 * @param object the target of the switch.
974 * @return the result of interpreting the object as an instance of '<em>String Object</em>'.
975 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
976 * @generated
977 */
978 public T caseStringObject(StringObject object)
979 {
980 return null;
981 }
982
983 /**
984 * Returns the result of interpreting the object as an instance of '<em>Predicate</em>'.
985 * <!-- begin-user-doc -->
986 * This implementation returns null;
987 * returning a non-null result will terminate the switch.
988 * <!-- end-user-doc -->
989 * @param object the target of the switch.
990 * @return the result of interpreting the object as an instance of '<em>Predicate</em>'.
991 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
992 * @generated
993 */
994 public T casePredicate(Predicate object)
995 {
996 return null;
997 }
998
999 /**
1000 * Returns the result of interpreting the object as an instance of '<em>Predicate Symbol</em>'.
1001 * <!-- begin-user-doc -->
1002 * This implementation returns null;
1003 * returning a non-null result will terminate the switch.
1004 * <!-- end-user-doc -->
1005 * @param object the target of the switch.
1006 * @return the result of interpreting the object as an instance of '<em>Predicate Symbol</em>'.
1007 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1008 * @generated
1009 */
1010 public T casePredicateSymbol(PredicateSymbol object)
1011 {
1012 return null;
1013 }
1014
1015 /**
1016 * Returns the result of interpreting the object as an instance of '<em>Error Predicate</em>'.
1017 * <!-- begin-user-doc -->
1018 * This implementation returns null;
1019 * returning a non-null result will terminate the switch.
1020 * <!-- end-user-doc -->
1021 * @param object the target of the switch.
1022 * @return the result of interpreting the object as an instance of '<em>Error Predicate</em>'.
1023 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1024 * @generated
1025 */
1026 public T caseErrorPredicate(ErrorPredicate object)
1027 {
1028 return null;
1029 }
1030
1031 /**
1032 * Returns the result of interpreting the object as an instance of '<em>Parameter</em>'.
1033 * <!-- begin-user-doc -->
1034 * This implementation returns null;
1035 * returning a non-null result will terminate the switch.
1036 * <!-- end-user-doc -->
1037 * @param object the target of the switch.
1038 * @return the result of interpreting the object as an instance of '<em>Parameter</em>'.
1039 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1040 * @generated
1041 */
1042 public T caseParameter(Parameter object)
1043 {
1044 return null;
1045 }
1046
1047 /**
1048 * Returns the result of interpreting the object as an instance of '<em>Pattern Body</em>'.
1049 * <!-- begin-user-doc -->
1050 * This implementation returns null;
1051 * returning a non-null result will terminate the switch.
1052 * <!-- end-user-doc -->
1053 * @param object the target of the switch.
1054 * @return the result of interpreting the object as an instance of '<em>Pattern Body</em>'.
1055 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1056 * @generated
1057 */
1058 public T casePatternBody(PatternBody object)
1059 {
1060 return null;
1061 }
1062
1063 /**
1064 * Returns the result of interpreting the object as an instance of '<em>Polarity</em>'.
1065 * <!-- begin-user-doc -->
1066 * This implementation returns null;
1067 * returning a non-null result will terminate the switch.
1068 * <!-- end-user-doc -->
1069 * @param object the target of the switch.
1070 * @return the result of interpreting the object as an instance of '<em>Polarity</em>'.
1071 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1072 * @generated
1073 */
1074 public T casePolarity(Polarity object)
1075 {
1076 return null;
1077 }
1078
1079 /**
1080 * Returns the result of interpreting the object as an instance of '<em>Constraint</em>'.
1081 * <!-- begin-user-doc -->
1082 * This implementation returns null;
1083 * returning a non-null result will terminate the switch.
1084 * <!-- end-user-doc -->
1085 * @param object the target of the switch.
1086 * @return the result of interpreting the object as an instance of '<em>Constraint</em>'.
1087 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1088 * @generated
1089 */
1090 public T caseConstraint(Constraint object)
1091 {
1092 return null;
1093 }
1094
1095 /**
1096 * Returns the result of interpreting the object as an instance of '<em>Closure Type</em>'.
1097 * <!-- begin-user-doc -->
1098 * This implementation returns null;
1099 * returning a non-null result will terminate the switch.
1100 * <!-- end-user-doc -->
1101 * @param object the target of the switch.
1102 * @return the result of interpreting the object as an instance of '<em>Closure Type</em>'.
1103 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1104 * @generated
1105 */
1106 public T caseClosureType(ClosureType object)
1107 {
1108 return null;
1109 }
1110
1111 /**
1112 * Returns the result of interpreting the object as an instance of '<em>Literal</em>'.
1113 * <!-- begin-user-doc -->
1114 * This implementation returns null;
1115 * returning a non-null result will terminate the switch.
1116 * <!-- end-user-doc -->
1117 * @param object the target of the switch.
1118 * @return the result of interpreting the object as an instance of '<em>Literal</em>'.
1119 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1120 * @generated
1121 */
1122 public T caseLiteral(Literal object)
1123 {
1124 return null;
1125 }
1126
1127 /**
1128 * Returns the result of interpreting the object as an instance of '<em>Variable</em>'.
1129 * <!-- begin-user-doc -->
1130 * This implementation returns null;
1131 * returning a non-null result will terminate the switch.
1132 * <!-- end-user-doc -->
1133 * @param object the target of the switch.
1134 * @return the result of interpreting the object as an instance of '<em>Variable</em>'.
1135 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1136 * @generated
1137 */
1138 public T caseVariable(Variable object)
1139 {
1140 return null;
1141 }
1142
1143 /**
1144 * Returns the result of interpreting the object as an instance of '<em>All Instances</em>'.
1145 * <!-- begin-user-doc -->
1146 * This implementation returns null;
1147 * returning a non-null result will terminate the switch.
1148 * <!-- end-user-doc -->
1149 * @param object the target of the switch.
1150 * @return the result of interpreting the object as an instance of '<em>All Instances</em>'.
1151 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1152 * @generated
1153 */
1154 public T caseAllInstances(AllInstances object)
1155 {
1156 return null;
1157 }
1158
1159 /**
1160 * Returns the result of interpreting the object as an instance of '<em>All Objects</em>'.
1161 * <!-- begin-user-doc -->
1162 * This implementation returns null;
1163 * returning a non-null result will terminate the switch.
1164 * <!-- end-user-doc -->
1165 * @param object the target of the switch.
1166 * @return the result of interpreting the object as an instance of '<em>All Objects</em>'.
1167 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1168 * @generated
1169 */
1170 public T caseAllObjects(AllObjects object)
1171 {
1172 return null;
1173 }
1174
1175 /**
1176 * Returns the result of interpreting the object as an instance of '<em>Default Interpretation</em>'.
1177 * <!-- begin-user-doc -->
1178 * This implementation returns null;
1179 * returning a non-null result will terminate the switch.
1180 * <!-- end-user-doc -->
1181 * @param object the target of the switch.
1182 * @return the result of interpreting the object as an instance of '<em>Default Interpretation</em>'.
1183 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1184 * @generated
1185 */
1186 public T caseDefaultInterpretation(DefaultInterpretation object)
1187 {
1188 return null;
1189 }
1190
1191 /**
1192 * Returns the result of interpreting the object as an instance of '<em>CD Interpretation</em>'.
1193 * <!-- begin-user-doc -->
1194 * This implementation returns null;
1195 * returning a non-null result will terminate the switch.
1196 * <!-- end-user-doc -->
1197 * @param object the target of the switch.
1198 * @return the result of interpreting the object as an instance of '<em>CD Interpretation</em>'.
1199 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1200 * @generated
1201 */
1202 public T caseCDInterpretation(CDInterpretation object)
1203 {
1204 return null;
1205 }
1206
1207 /**
1208 * Returns the result of interpreting the object as an instance of '<em>Class Interpretation</em>'.
1209 * <!-- begin-user-doc -->
1210 * This implementation returns null;
1211 * returning a non-null result will terminate the switch.
1212 * <!-- end-user-doc -->
1213 * @param object the target of the switch.
1214 * @return the result of interpreting the object as an instance of '<em>Class Interpretation</em>'.
1215 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1216 * @generated
1217 */
1218 public T caseClassInterpretation(ClassInterpretation object)
1219 {
1220 return null;
1221 }
1222
1223 /**
1224 * Returns the result of interpreting the object as an instance of '<em>Enum Interpretation</em>'.
1225 * <!-- begin-user-doc -->
1226 * This implementation returns null;
1227 * returning a non-null result will terminate the switch.
1228 * <!-- end-user-doc -->
1229 * @param object the target of the switch.
1230 * @return the result of interpreting the object as an instance of '<em>Enum Interpretation</em>'.
1231 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1232 * @generated
1233 */
1234 public T caseEnumInterpretation(EnumInterpretation object)
1235 {
1236 return null;
1237 }
1238
1239 /**
1240 * Returns the result of interpreting the object as an instance of '<em>Field Relation Interpretation</em>'.
1241 * <!-- begin-user-doc -->
1242 * This implementation returns null;
1243 * returning a non-null result will terminate the switch.
1244 * <!-- end-user-doc -->
1245 * @param object the target of the switch.
1246 * @return the result of interpreting the object as an instance of '<em>Field Relation Interpretation</em>'.
1247 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1248 * @generated
1249 */
1250 public T caseFieldRelationInterpretation(FieldRelationInterpretation object)
1251 {
1252 return null;
1253 }
1254
1255 /**
1256 * Returns the result of interpreting the object as an instance of '<em>Global Relation Interpretation</em>'.
1257 * <!-- begin-user-doc -->
1258 * This implementation returns null;
1259 * returning a non-null result will terminate the switch.
1260 * <!-- end-user-doc -->
1261 * @param object the target of the switch.
1262 * @return the result of interpreting the object as an instance of '<em>Global Relation Interpretation</em>'.
1263 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1264 * @generated
1265 */
1266 public T caseGlobalRelationInterpretation(GlobalRelationInterpretation object)
1267 {
1268 return null;
1269 }
1270
1271 /**
1272 * Returns the result of interpreting the object as an instance of '<em>Multiplicity Definition</em>'.
1273 * <!-- begin-user-doc -->
1274 * This implementation returns null;
1275 * returning a non-null result will terminate the switch.
1276 * <!-- end-user-doc -->
1277 * @param object the target of the switch.
1278 * @return the result of interpreting the object as an instance of '<em>Multiplicity Definition</em>'.
1279 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1280 * @generated
1281 */
1282 public T caseMultiplicityDefinition(MultiplicityDefinition object)
1283 {
1284 return null;
1285 }
1286
1287 /**
1288 * Returns the result of interpreting the object as an instance of '<em>Boolean True</em>'.
1289 * <!-- begin-user-doc -->
1290 * This implementation returns null;
1291 * returning a non-null result will terminate the switch.
1292 * <!-- end-user-doc -->
1293 * @param object the target of the switch.
1294 * @return the result of interpreting the object as an instance of '<em>Boolean True</em>'.
1295 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1296 * @generated
1297 */
1298 public T caseBooleanTrue(BooleanTrue object)
1299 {
1300 return null;
1301 }
1302
1303 /**
1304 * Returns the result of interpreting the object as an instance of '<em>Boolean False</em>'.
1305 * <!-- begin-user-doc -->
1306 * This implementation returns null;
1307 * returning a non-null result will terminate the switch.
1308 * <!-- end-user-doc -->
1309 * @param object the target of the switch.
1310 * @return the result of interpreting the object as an instance of '<em>Boolean False</em>'.
1311 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1312 * @generated
1313 */
1314 public T caseBooleanFalse(BooleanFalse object)
1315 {
1316 return null;
1317 }
1318
1319 /**
1320 * Returns the result of interpreting the object as an instance of '<em>True</em>'.
1321 * <!-- begin-user-doc -->
1322 * This implementation returns null;
1323 * returning a non-null result will terminate the switch.
1324 * <!-- end-user-doc -->
1325 * @param object the target of the switch.
1326 * @return the result of interpreting the object as an instance of '<em>True</em>'.
1327 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1328 * @generated
1329 */
1330 public T caseTrue(True object)
1331 {
1332 return null;
1333 }
1334
1335 /**
1336 * Returns the result of interpreting the object as an instance of '<em>False</em>'.
1337 * <!-- begin-user-doc -->
1338 * This implementation returns null;
1339 * returning a non-null result will terminate the switch.
1340 * <!-- end-user-doc -->
1341 * @param object the target of the switch.
1342 * @return the result of interpreting the object as an instance of '<em>False</em>'.
1343 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1344 * @generated
1345 */
1346 public T caseFalse(False object)
1347 {
1348 return null;
1349 }
1350
1351 /**
1352 * Returns the result of interpreting the object as an instance of '<em>Unknown</em>'.
1353 * <!-- begin-user-doc -->
1354 * This implementation returns null;
1355 * returning a non-null result will terminate the switch.
1356 * <!-- end-user-doc -->
1357 * @param object the target of the switch.
1358 * @return the result of interpreting the object as an instance of '<em>Unknown</em>'.
1359 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1360 * @generated
1361 */
1362 public T caseUnknown(Unknown object)
1363 {
1364 return null;
1365 }
1366
1367 /**
1368 * Returns the result of interpreting the object as an instance of '<em>Error</em>'.
1369 * <!-- begin-user-doc -->
1370 * This implementation returns null;
1371 * returning a non-null result will terminate the switch.
1372 * <!-- end-user-doc -->
1373 * @param object the target of the switch.
1374 * @return the result of interpreting the object as an instance of '<em>Error</em>'.
1375 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1376 * @generated
1377 */
1378 public T caseError(org.eclipse.viatra.solver.language.solverLanguage.Error object)
1379 {
1380 return null;
1381 }
1382
1383 /**
1384 * Returns the result of interpreting the object as an instance of '<em>Positive</em>'.
1385 * <!-- begin-user-doc -->
1386 * This implementation returns null;
1387 * returning a non-null result will terminate the switch.
1388 * <!-- end-user-doc -->
1389 * @param object the target of the switch.
1390 * @return the result of interpreting the object as an instance of '<em>Positive</em>'.
1391 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1392 * @generated
1393 */
1394 public T casePositive(Positive object)
1395 {
1396 return null;
1397 }
1398
1399 /**
1400 * Returns the result of interpreting the object as an instance of '<em>Negative</em>'.
1401 * <!-- begin-user-doc -->
1402 * This implementation returns null;
1403 * returning a non-null result will terminate the switch.
1404 * <!-- end-user-doc -->
1405 * @param object the target of the switch.
1406 * @return the result of interpreting the object as an instance of '<em>Negative</em>'.
1407 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1408 * @generated
1409 */
1410 public T caseNegative(Negative object)
1411 {
1412 return null;
1413 }
1414
1415 /**
1416 * Returns the result of interpreting the object as an instance of '<em>Reflexive Closure</em>'.
1417 * <!-- begin-user-doc -->
1418 * This implementation returns null;
1419 * returning a non-null result will terminate the switch.
1420 * <!-- end-user-doc -->
1421 * @param object the target of the switch.
1422 * @return the result of interpreting the object as an instance of '<em>Reflexive Closure</em>'.
1423 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1424 * @generated
1425 */
1426 public T caseReflexiveClosure(ReflexiveClosure object)
1427 {
1428 return null;
1429 }
1430
1431 /**
1432 * Returns the result of interpreting the object as an instance of '<em>Irreflexive Closure</em>'.
1433 * <!-- begin-user-doc -->
1434 * This implementation returns null;
1435 * returning a non-null result will terminate the switch.
1436 * <!-- end-user-doc -->
1437 * @param object the target of the switch.
1438 * @return the result of interpreting the object as an instance of '<em>Irreflexive Closure</em>'.
1439 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1440 * @generated
1441 */
1442 public T caseIrreflexiveClosure(IrreflexiveClosure object)
1443 {
1444 return null;
1445 }
1446
1447 /**
1448 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
1449 * <!-- begin-user-doc -->
1450 * This implementation returns null;
1451 * returning a non-null result will terminate the switch, but this is the last case anyway.
1452 * <!-- end-user-doc -->
1453 * @param object the target of the switch.
1454 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
1455 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
1456 * @generated
1457 */
1458 @Override
1459 public T defaultCase(EObject object)
1460 {
1461 return null;
1462 }
1463
1464} //SolverLanguageSwitch
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java
new file mode 100644
index 00000000..e4313a24
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java
@@ -0,0 +1,19 @@
1/*
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.validation;
5
6import java.util.ArrayList;
7import java.util.List;
8import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
10
11public abstract class AbstractSolverLanguageValidator extends AbstractDeclarativeValidator {
12
13 @Override
14 protected List<EPackage> getEPackages() {
15 List<EPackage> result = new ArrayList<EPackage>();
16 result.add(org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage.eINSTANCE);
17 return result;
18 }
19}
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageConfigurableIssueCodesProvider.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageConfigurableIssueCodesProvider.java
new file mode 100644
index 00000000..4247dc60
--- /dev/null
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/SolverLanguageConfigurableIssueCodesProvider.java
@@ -0,0 +1,22 @@
1/*
2 * generated by Xtext 2.18.0.M3
3 */
4package org.eclipse.viatra.solver.language.validation;
5
6import org.eclipse.xtext.preferences.PreferenceKey;
7import org.eclipse.xtext.util.IAcceptor;
8import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider;
9import org.eclipse.xtext.validation.SeverityConverter;
10
11@SuppressWarnings("restriction")
12public class SolverLanguageConfigurableIssueCodesProvider extends ConfigurableIssueCodesProvider {
13 protected static final String ISSUE_CODE_PREFIX = "org.eclipse.viatra.solver.language.";
14
15 public static final String DEPRECATED_MODEL_PART = ISSUE_CODE_PREFIX + "deprecatedModelPart";
16
17 @Override
18 protected void initialize(IAcceptor<PreferenceKey> acceptor) {
19 super.initialize(acceptor);
20 acceptor.accept(create(DEPRECATED_MODEL_PART, SeverityConverter.SEVERITY_WARNING));
21 }
22}