aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.viatra.solver.language.parent
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.viatra.solver.language.parent')
-rw-r--r--org.eclipse.viatra.solver.language.parent/.gitignore1
-rw-r--r--org.eclipse.viatra.solver.language.parent/.project17
-rw-r--r--org.eclipse.viatra.solver.language.parent/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--org.eclipse.viatra.solver.language.parent/build.gradle34
-rw-r--r--org.eclipse.viatra.solver.language.parent/gradle/source-layout.gradle28
-rw-r--r--org.eclipse.viatra.solver.language.parent/gradle/wrapper/gradle-wrapper.jarbin55616 -> 0 bytes
-rw-r--r--org.eclipse.viatra.solver.language.parent/gradle/wrapper/gradle-wrapper.properties5
-rwxr-xr-xorg.eclipse.viatra.solver.language.parent/gradlew188
-rw-r--r--org.eclipse.viatra.solver.language.parent/gradlew.bat100
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.classpath30
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.gitignore1
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.project29
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/build.gradle23
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/ProblemIdeModule.java17
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/ProblemIdeSetup.java22
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java160
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/META-INF/services/org.eclipse.xtext.ISetup1
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/AbstractProblemIdeModule.java60
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/PartialProblemContentAssistParser.java33
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/ProblemParser.java181
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.g5038
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.tokens72
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemLexer.java1797
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemParser.java15493
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.classpath19
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.gitignore2
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.project41
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/META-INF/MANIFEST.MF16
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/build.gradle9
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/build.properties10
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/plugin.properties4
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/plugin.xml17
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/problem.aird2085
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java69
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java85
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java82
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java95
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Conjunction.java36
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/EnumDeclaration.java36
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExactMultiplicity.java45
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExistentialQuantifier.java38
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ImplicitVariable.java16
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Literal.java18
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/LogicValue.java227
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Multiplicity.java18
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NamedElement.java46
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NegativeLiteral.java44
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Node.java16
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Parameter.java44
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/PredicateDefinition.java72
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java49
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java195
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java2432
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RangeMultiplicity.java69
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ReferenceDeclaration.java113
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Relation.java16
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ScopeDeclaration.java36
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Statement.java18
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/TypeScope.java92
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/UnboundedMultiplicity.java16
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Variable.java16
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/VariableOrNode.java16
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java247
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java272
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java286
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java335
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java190
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/EnumDeclarationImpl.java150
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ExactMultiplicityImpl.java164
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ImplicitVariableImpl.java37
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/LiteralImpl.java39
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/MultiplicityImpl.java39
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NamedElementImpl.java164
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java229
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeImpl.java37
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ParameterImpl.java158
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/PredicateDefinitionImpl.java262
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java353
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java188
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java1206
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RangeMultiplicityImpl.java219
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ReferenceDeclarationImpl.java378
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RelationImpl.java37
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ScopeDeclarationImpl.java153
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/TypeScopeImpl.java317
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/UnboundedMultiplicityImpl.java37
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableImpl.java37
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableOrNodeImpl.java37
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java594
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java728
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore107
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel97
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.classpath35
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.gitignore1
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.project40
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/build.gradle37
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemServlet.java36
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebModule.java11
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebSetup.java23
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ServerLauncher.java65
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/index.html49
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/script.js20
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/style.css105
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/xtext-resources/generated/mode-problem.js23
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/xtext-gen/org/eclipse/viatra/solver/language/web/AbstractProblemWebModule.java14
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.classpath59
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.gitignore1
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.launch/Generate Problem (problem) Language Infrastructure.launch14
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.project29
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/build.gradle42
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe254
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/Problem.xtext116
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemRuntimeModule.java80
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemStandaloneSetup.java26
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemUtil.java98
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/conversion/ProblemValueConverterService.java17
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/conversion/UpperBoundValueConverter.java35
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/generator/ProblemGenerator.xtend25
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/naming/ProblemQualifiedNameConverter.java15
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemDerivedStateComputer.java299
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemLocationInFileProvider.java32
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemResourceDescriptionStrategy.java89
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemGlobalScopeProvider.java25
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemLocalScopeProvider.java40
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemScopeProvider.java83
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/validation/ProblemValidator.java25
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/resources/org/eclipse/viatra/solver/language/builtin.problem17
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/AbstractProblemRuntimeModule.java201
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/Problem.xtextbinbin6159 -> 0 bytes
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/ProblemStandaloneSetupGenerated.java37
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemAntlrTokenFileProvider.java16
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemParser.java40
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.g1909
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.tokens72
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemLexer.java1797
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java5296
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/scoping/AbstractProblemScopeProvider.java9
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSemanticSequencer.java369
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSyntacticSequencer.java139
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java1706
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/validation/AbstractProblemValidator.java19
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/validation/ProblemConfigurableIssueCodesProvider.java22
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/test/java/org/eclipse/viatra/solver/language/tests/ProblemParsingTest.xtend30
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/test/xtext-gen/org/eclipse/viatra/solver/language/tests/ProblemInjectorProvider.java69
-rw-r--r--org.eclipse.viatra.solver.language.parent/settings.gradle4
148 files changed, 0 insertions, 50108 deletions
diff --git a/org.eclipse.viatra.solver.language.parent/.gitignore b/org.eclipse.viatra.solver.language.parent/.gitignore
deleted file mode 100644
index da88288c..00000000
--- a/org.eclipse.viatra.solver.language.parent/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
1/.gradle/
diff --git a/org.eclipse.viatra.solver.language.parent/.project b/org.eclipse.viatra.solver.language.parent/.project
deleted file mode 100644
index 21b452ad..00000000
--- a/org.eclipse.viatra.solver.language.parent/.project
+++ /dev/null
@@ -1,17 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>org.eclipse.viatra.solver.language.parent</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.buildship.core.gradleprojectbuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 </buildSpec>
14 <natures>
15 <nature>org.eclipse.buildship.core.gradleprojectnature</nature>
16 </natures>
17</projectDescription>
diff --git a/org.eclipse.viatra.solver.language.parent/.settings/org.eclipse.core.resources.prefs b/org.eclipse.viatra.solver.language.parent/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/org.eclipse.viatra.solver.language.parent/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
1eclipse.preferences.version=1
2encoding/<project>=UTF-8
diff --git a/org.eclipse.viatra.solver.language.parent/build.gradle b/org.eclipse.viatra.solver.language.parent/build.gradle
deleted file mode 100644
index 69c33a9d..00000000
--- a/org.eclipse.viatra.solver.language.parent/build.gradle
+++ /dev/null
@@ -1,34 +0,0 @@
1buildscript {
2 repositories {
3 mavenCentral()
4 }
5 dependencies {
6 classpath 'org.xtext:xtext-gradle-plugin:2.0.9-alpha.3'
7 }
8}
9
10subprojects {
11 ext.xtextVersion = '2.26.0.M1'
12 repositories {
13 mavenCentral()
14 }
15
16 apply plugin: 'java'
17 dependencies {
18 compile platform("org.eclipse.xtext:xtext-dev-bom:${xtextVersion}")
19 }
20
21 apply plugin: 'org.xtext.xtend'
22 apply from: "${rootDir}/gradle/source-layout.gradle"
23 apply plugin: 'eclipse'
24
25 group = 'org.eclipse.viatra.solver.language'
26 version = '1.0.0-SNAPSHOT'
27
28 sourceCompatibility = '11'
29 targetCompatibility = '11'
30
31 configurations.all {
32 exclude group: 'asm'
33 }
34}
diff --git a/org.eclipse.viatra.solver.language.parent/gradle/source-layout.gradle b/org.eclipse.viatra.solver.language.parent/gradle/source-layout.gradle
deleted file mode 100644
index d347fb13..00000000
--- a/org.eclipse.viatra.solver.language.parent/gradle/source-layout.gradle
+++ /dev/null
@@ -1,28 +0,0 @@
1sourceSets {
2 main {
3 java.srcDirs = ['src/main/java', 'src/main/xtext-gen']
4 resources.srcDirs = ['src/main/resources', 'src/main/xtext-gen']
5 xtendOutputDir = 'src/main/xtend-gen'
6 }
7 test {
8 java.srcDirs = ['src/test/java', 'src/test/xtext-gen']
9 resources.srcDirs = ['src/test/resources', 'src/test/xtext-gen']
10 xtendOutputDir = 'src/test/xtend-gen'
11 }
12}
13
14jar {
15 from('model') {
16 into('model')
17 }
18 from(sourceSets.main.allSource) {
19 include '**/*.xtext'
20 }
21 manifest {
22 attributes 'Bundle-SymbolicName': project.name
23 }
24}
25
26plugins.withId('war') {
27 webAppDirName = "src/main/webapp"
28}
diff --git a/org.eclipse.viatra.solver.language.parent/gradle/wrapper/gradle-wrapper.jar b/org.eclipse.viatra.solver.language.parent/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 5c2d1cf0..00000000
--- a/org.eclipse.viatra.solver.language.parent/gradle/wrapper/gradle-wrapper.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.viatra.solver.language.parent/gradle/wrapper/gradle-wrapper.properties b/org.eclipse.viatra.solver.language.parent/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index f04d6a20..00000000
--- a/org.eclipse.viatra.solver.language.parent/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,5 +0,0 @@
1distributionBase=GRADLE_USER_HOME
2distributionPath=wrapper/dists
3distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.3-bin.zip
4zipStoreBase=GRADLE_USER_HOME
5zipStorePath=wrapper/dists
diff --git a/org.eclipse.viatra.solver.language.parent/gradlew b/org.eclipse.viatra.solver.language.parent/gradlew
deleted file mode 100755
index 83f2acfd..00000000
--- a/org.eclipse.viatra.solver.language.parent/gradlew
+++ /dev/null
@@ -1,188 +0,0 @@
1#!/usr/bin/env sh
2
3#
4# Copyright 2015 the original author or authors.
5#
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10# https://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17#
18
19##############################################################################
20##
21## Gradle start up script for UN*X
22##
23##############################################################################
24
25# Attempt to set APP_HOME
26# Resolve links: $0 may be a link
27PRG="$0"
28# Need this for relative symlinks.
29while [ -h "$PRG" ] ; do
30 ls=`ls -ld "$PRG"`
31 link=`expr "$ls" : '.*-> \(.*\)$'`
32 if expr "$link" : '/.*' > /dev/null; then
33 PRG="$link"
34 else
35 PRG=`dirname "$PRG"`"/$link"
36 fi
37done
38SAVED="`pwd`"
39cd "`dirname \"$PRG\"`/" >/dev/null
40APP_HOME="`pwd -P`"
41cd "$SAVED" >/dev/null
42
43APP_NAME="Gradle"
44APP_BASE_NAME=`basename "$0"`
45
46# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
47DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
48
49# Use the maximum available, or set MAX_FD != -1 to use that value.
50MAX_FD="maximum"
51
52warn () {
53 echo "$*"
54}
55
56die () {
57 echo
58 echo "$*"
59 echo
60 exit 1
61}
62
63# OS specific support (must be 'true' or 'false').
64cygwin=false
65msys=false
66darwin=false
67nonstop=false
68case "`uname`" in
69 CYGWIN* )
70 cygwin=true
71 ;;
72 Darwin* )
73 darwin=true
74 ;;
75 MINGW* )
76 msys=true
77 ;;
78 NONSTOP* )
79 nonstop=true
80 ;;
81esac
82
83CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
84
85# Determine the Java command to use to start the JVM.
86if [ -n "$JAVA_HOME" ] ; then
87 if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
88 # IBM's JDK on AIX uses strange locations for the executables
89 JAVACMD="$JAVA_HOME/jre/sh/java"
90 else
91 JAVACMD="$JAVA_HOME/bin/java"
92 fi
93 if [ ! -x "$JAVACMD" ] ; then
94 die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
95
96Please set the JAVA_HOME variable in your environment to match the
97location of your Java installation."
98 fi
99else
100 JAVACMD="java"
101 which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
102
103Please set the JAVA_HOME variable in your environment to match the
104location of your Java installation."
105fi
106
107# Increase the maximum file descriptors if we can.
108if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
109 MAX_FD_LIMIT=`ulimit -H -n`
110 if [ $? -eq 0 ] ; then
111 if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
112 MAX_FD="$MAX_FD_LIMIT"
113 fi
114 ulimit -n $MAX_FD
115 if [ $? -ne 0 ] ; then
116 warn "Could not set maximum file descriptor limit: $MAX_FD"
117 fi
118 else
119 warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
120 fi
121fi
122
123# For Darwin, add options to specify how the application appears in the dock
124if $darwin; then
125 GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
126fi
127
128# For Cygwin or MSYS, switch paths to Windows format before running java
129if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
130 APP_HOME=`cygpath --path --mixed "$APP_HOME"`
131 CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
132 JAVACMD=`cygpath --unix "$JAVACMD"`
133
134 # We build the pattern for arguments to be converted via cygpath
135 ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
136 SEP=""
137 for dir in $ROOTDIRSRAW ; do
138 ROOTDIRS="$ROOTDIRS$SEP$dir"
139 SEP="|"
140 done
141 OURCYGPATTERN="(^($ROOTDIRS))"
142 # Add a user-defined pattern to the cygpath arguments
143 if [ "$GRADLE_CYGPATTERN" != "" ] ; then
144 OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
145 fi
146 # Now convert the arguments - kludge to limit ourselves to /bin/sh
147 i=0
148 for arg in "$@" ; do
149 CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
150 CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
151
152 if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
153 eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
154 else
155 eval `echo args$i`="\"$arg\""
156 fi
157 i=$((i+1))
158 done
159 case $i in
160 (0) set -- ;;
161 (1) set -- "$args0" ;;
162 (2) set -- "$args0" "$args1" ;;
163 (3) set -- "$args0" "$args1" "$args2" ;;
164 (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
165 (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
166 (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
167 (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
168 (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
169 (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
170 esac
171fi
172
173# Escape application args
174save () {
175 for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
176 echo " "
177}
178APP_ARGS=$(save "$@")
179
180# Collect all arguments for the java command, following the shell quoting and substitution rules
181eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
182
183# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
184if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
185 cd "$(dirname "$0")"
186fi
187
188exec "$JAVACMD" "$@"
diff --git a/org.eclipse.viatra.solver.language.parent/gradlew.bat b/org.eclipse.viatra.solver.language.parent/gradlew.bat
deleted file mode 100644
index 24467a14..00000000
--- a/org.eclipse.viatra.solver.language.parent/gradlew.bat
+++ /dev/null
@@ -1,100 +0,0 @@
1@rem
2@rem Copyright 2015 the original author or authors.
3@rem
4@rem Licensed under the Apache License, Version 2.0 (the "License");
5@rem you may not use this file except in compliance with the License.
6@rem You may obtain a copy of the License at
7@rem
8@rem https://www.apache.org/licenses/LICENSE-2.0
9@rem
10@rem Unless required by applicable law or agreed to in writing, software
11@rem distributed under the License is distributed on an "AS IS" BASIS,
12@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13@rem See the License for the specific language governing permissions and
14@rem limitations under the License.
15@rem
16
17@if "%DEBUG%" == "" @echo off
18@rem ##########################################################################
19@rem
20@rem Gradle startup script for Windows
21@rem
22@rem ##########################################################################
23
24@rem Set local scope for the variables with windows NT shell
25if "%OS%"=="Windows_NT" setlocal
26
27set DIRNAME=%~dp0
28if "%DIRNAME%" == "" set DIRNAME=.
29set APP_BASE_NAME=%~n0
30set APP_HOME=%DIRNAME%
31
32@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
33set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
34
35@rem Find java.exe
36if defined JAVA_HOME goto findJavaFromJavaHome
37
38set JAVA_EXE=java.exe
39%JAVA_EXE% -version >NUL 2>&1
40if "%ERRORLEVEL%" == "0" goto init
41
42echo.
43echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
44echo.
45echo Please set the JAVA_HOME variable in your environment to match the
46echo location of your Java installation.
47
48goto fail
49
50:findJavaFromJavaHome
51set JAVA_HOME=%JAVA_HOME:"=%
52set JAVA_EXE=%JAVA_HOME%/bin/java.exe
53
54if exist "%JAVA_EXE%" goto init
55
56echo.
57echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
58echo.
59echo Please set the JAVA_HOME variable in your environment to match the
60echo location of your Java installation.
61
62goto fail
63
64:init
65@rem Get command-line arguments, handling Windows variants
66
67if not "%OS%" == "Windows_NT" goto win9xME_args
68
69:win9xME_args
70@rem Slurp the command line arguments.
71set CMD_LINE_ARGS=
72set _SKIP=2
73
74:win9xME_args_slurp
75if "x%~1" == "x" goto execute
76
77set CMD_LINE_ARGS=%*
78
79:execute
80@rem Setup the command line
81
82set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
83
84@rem Execute Gradle
85"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
86
87:end
88@rem End local scope for the variables with windows NT shell
89if "%ERRORLEVEL%"=="0" goto mainEnd
90
91:fail
92rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
93rem the _cmd.exe /c_ return code!
94if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
95exit /b 1
96
97:mainEnd
98if "%OS%"=="Windows_NT" endlocal
99
100:omega
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.classpath b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.classpath
deleted file mode 100644
index b0c652b5..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.classpath
+++ /dev/null
@@ -1,30 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" output="bin/main" path="src/main/java">
4 <attributes>
5 <attribute name="gradle_scope" value="main"/>
6 <attribute name="gradle_used_by_scope" value="main,test"/>
7 </attributes>
8 </classpathentry>
9 <classpathentry kind="src" output="bin/main" path="src/main/xtext-gen">
10 <attributes>
11 <attribute name="gradle_scope" value="main"/>
12 <attribute name="gradle_used_by_scope" value="main,test"/>
13 </attributes>
14 </classpathentry>
15 <classpathentry kind="src" output="bin/main" path="src/main/xtend-gen">
16 <attributes>
17 <attribute name="gradle_scope" value="main"/>
18 <attribute name="gradle_used_by_scope" value="main,test"/>
19 </attributes>
20 </classpathentry>
21 <classpathentry kind="src" output="bin/main" path="src/main/resources">
22 <attributes>
23 <attribute name="gradle_scope" value="main"/>
24 <attribute name="gradle_used_by_scope" value="main,test"/>
25 </attributes>
26 </classpathentry>
27 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11/"/>
28 <classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
29 <classpathentry kind="output" path="bin/default"/>
30</classpath>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.gitignore b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.gitignore
deleted file mode 100644
index 84c048a7..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
1/build/
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.project b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.project
deleted file mode 100644
index a931f0bf..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.project
+++ /dev/null
@@ -1,29 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>org.eclipse.viatra.solver.language.ide</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.jdt.core.javabuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.buildship.core.gradleprojectbuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 </buildSpec>
24 <natures>
25 <nature>org.eclipse.buildship.core.gradleprojectnature</nature>
26 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
27 <nature>org.eclipse.jdt.core.javanature</nature>
28 </natures>
29</projectDescription>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.settings/org.eclipse.core.resources.prefs b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
1eclipse.preferences.version=1
2encoding/<project>=UTF-8
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/build.gradle b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/build.gradle
deleted file mode 100644
index 1b060b13..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/build.gradle
+++ /dev/null
@@ -1,23 +0,0 @@
1plugins {
2 id 'com.github.johnrengelman.shadow' version '5.2.0'
3}
4
5dependencies {
6 compile project(':org.eclipse.viatra.solver.language')
7 compile "org.eclipse.xtext:org.eclipse.xtext.ide:${xtextVersion}"
8 compile "org.eclipse.xtext:org.eclipse.xtext.xbase.ide:${xtextVersion}"
9}
10
11apply plugin: 'application'
12apply plugin: 'com.github.johnrengelman.shadow'
13mainClassName = "org.eclipse.xtext.ide.server.ServerLauncher"
14
15shadowJar {
16 from(project.convention.getPlugin(JavaPluginConvention).sourceSets.main.output)
17 configurations = [project.configurations.runtime]
18 exclude('META-INF/INDEX.LIST', 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA','schema/*',
19 '.options', '.api_description', '*.profile', '*.html', 'about.*', 'about_files/*',
20 'plugin.xml', 'systembundle.properties', 'profile.list')
21 classifier = 'ls'
22 append('plugin.properties')
23}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/ProblemIdeModule.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/ProblemIdeModule.java
deleted file mode 100644
index c6e41049..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/ProblemIdeModule.java
+++ /dev/null
@@ -1,17 +0,0 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language.ide;
5
6import org.eclipse.viatra.solver.language.ide.syntaxcoloring.ProblemSemanticHighlightingCalculator;
7import org.eclipse.xtext.ide.editor.syntaxcoloring.ISemanticHighlightingCalculator;
8
9/**
10 * Use this class to register ide components.
11 */
12public class ProblemIdeModule extends AbstractProblemIdeModule {
13
14 public Class<? extends ISemanticHighlightingCalculator> bindISemanticHighlightingCalculator() {
15 return ProblemSemanticHighlightingCalculator.class;
16 }
17}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/ProblemIdeSetup.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/ProblemIdeSetup.java
deleted file mode 100644
index ca1fec30..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/ProblemIdeSetup.java
+++ /dev/null
@@ -1,22 +0,0 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language.ide;
5
6import com.google.inject.Guice;
7import com.google.inject.Injector;
8import org.eclipse.viatra.solver.language.ProblemRuntimeModule;
9import org.eclipse.viatra.solver.language.ProblemStandaloneSetup;
10import org.eclipse.xtext.util.Modules2;
11
12/**
13 * Initialization support for running Xtext languages as language servers.
14 */
15public class ProblemIdeSetup extends ProblemStandaloneSetup {
16
17 @Override
18 public Injector createInjector() {
19 return Guice.createInjector(Modules2.mixin(new ProblemRuntimeModule(), new ProblemIdeModule()));
20 }
21
22}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java
deleted file mode 100644
index eee5070b..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java
+++ /dev/null
@@ -1,160 +0,0 @@
1package org.eclipse.viatra.solver.language.ide.syntaxcoloring;
2
3import java.util.List;
4
5import org.eclipse.emf.common.util.EList;
6import org.eclipse.emf.ecore.EAttribute;
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EReference;
9import org.eclipse.emf.ecore.resource.Resource;
10import org.eclipse.viatra.solver.language.ProblemUtil;
11import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
12import org.eclipse.viatra.solver.language.model.problem.EnumDeclaration;
13import org.eclipse.viatra.solver.language.model.problem.Node;
14import org.eclipse.viatra.solver.language.model.problem.Parameter;
15import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition;
16import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
17import org.eclipse.viatra.solver.language.model.problem.Variable;
18import org.eclipse.viatra.solver.language.scoping.ProblemGlobalScopeProvider;
19import org.eclipse.xtext.ide.editor.syntaxcoloring.DefaultSemanticHighlightingCalculator;
20import org.eclipse.xtext.ide.editor.syntaxcoloring.IHighlightedPositionAcceptor;
21import org.eclipse.xtext.nodemodel.INode;
22import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
23import org.eclipse.xtext.service.OperationCanceledManager;
24import org.eclipse.xtext.util.CancelIndicator;
25import org.eclipse.xtext.util.SimpleAttributeResolver;
26
27import com.google.common.collect.ImmutableList;
28import com.google.inject.Inject;
29
30public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighlightingCalculator {
31 private static final String BUILTIN_CLASS = "cm-keyword";
32 private static final String CLASS_CLASS = "problem-class";
33 private static final String ABSTRACT_CLASS = "problem-abstract";
34 private static final String ENUM_CLASS = "problem-enum";
35 private static final String REFERENCE_CLASS = "problem-reference";
36 private static final String CONTAINMENT_CLASS = "problem-containment";
37 private static final String PREDICATE_CLASS = "problem-predicate";
38 private static final String ERROR_CLASS = "problem-error";
39 private static final String NODE_CLASS = "problem-node";
40 private static final String ENUM_NODE_CLASS = "problem-enum-node";
41 private static final String NEW_NODE_CLASS = "problem-new-node";
42 private static final String PARAMETER_CLASS = "problem-parameter";
43 private static final String VARIABLE_CLASS = "problem-variable";
44 private static final String SINGLETON_VARIABLE_CLASS = "problem-singleton-variable";
45
46 @Inject
47 private OperationCanceledManager operationCanceledManager;
48
49 @Override
50 protected boolean highlightElement(EObject object, IHighlightedPositionAcceptor acceptor,
51 CancelIndicator cancelIndicator) {
52 highlightName(object, acceptor, cancelIndicator);
53 highlightCrossReferences(object, acceptor, cancelIndicator);
54 return false;
55 }
56
57 protected void highlightName(EObject object, IHighlightedPositionAcceptor acceptor,
58 CancelIndicator cancelIndicator) {
59 String[] highlightClass = getHighlightClass(object);
60 if (highlightClass.length > 0) {
61 EAttribute nameAttribute = SimpleAttributeResolver.NAME_RESOLVER.getAttribute(object);
62 if (nameAttribute != null) {
63 highlightFeature(acceptor, object, nameAttribute, highlightClass);
64 }
65 }
66 }
67
68 protected void highlightCrossReferences(EObject object, IHighlightedPositionAcceptor acceptor,
69 CancelIndicator cancelIndicator) {
70 for (EReference reference : object.eClass().getEAllReferences()) {
71 if (reference.isContainment()) {
72 continue;
73 }
74 operationCanceledManager.checkCanceled(cancelIndicator);
75 if (reference.isMany()) {
76 @SuppressWarnings("unchecked")
77 EList<? extends EObject> values = (EList<? extends EObject>) object.eGet(reference);
78 List<INode> nodes = NodeModelUtils.findNodesForFeature(object, reference);
79 int size = Math.min(values.size(), nodes.size());
80 for (int i = 0; i < size; i++) {
81 EObject valueInList = values.get(i);
82 INode node = nodes.get(i);
83 String[] highlightClass = getHighlightClass(valueInList);
84 if (highlightClass.length > 0) {
85 highlightNode(acceptor, node, highlightClass);
86 }
87 }
88 } else {
89 EObject valueObj = (EObject) object.eGet(reference);
90 String[] highlightClass = getHighlightClass(valueObj);
91 if (highlightClass.length > 0) {
92 highlightFeature(acceptor, object, reference, highlightClass);
93 }
94 }
95 }
96 }
97
98 protected String[] getHighlightClass(EObject eObject) {
99 if (isBuiltIn(eObject)) {
100 return new String[] { BUILTIN_CLASS };
101 }
102 ImmutableList.Builder<String> classesBuilder = ImmutableList.builder();
103 if (eObject instanceof ClassDeclaration) {
104 classesBuilder.add(CLASS_CLASS);
105 ClassDeclaration classDeclaration = (ClassDeclaration) eObject;
106 if (classDeclaration.isAbstract()) {
107 classesBuilder.add(ABSTRACT_CLASS);
108 }
109 }
110 if (eObject instanceof EnumDeclaration) {
111 classesBuilder.add(ENUM_CLASS);
112 }
113 if (eObject instanceof ReferenceDeclaration) {
114 classesBuilder.add(REFERENCE_CLASS);
115 ReferenceDeclaration referenceDeclaration = (ReferenceDeclaration) eObject;
116 if (referenceDeclaration.isContainment()) {
117 classesBuilder.add(CONTAINMENT_CLASS);
118 }
119 }
120 if (eObject instanceof PredicateDefinition) {
121 classesBuilder.add(PREDICATE_CLASS);
122 PredicateDefinition predicateDefinition = (PredicateDefinition) eObject;
123 if (predicateDefinition.isError()) {
124 classesBuilder.add(ERROR_CLASS);
125 }
126 }
127 if (eObject instanceof Node) {
128 classesBuilder.add(NODE_CLASS);
129 Node node = (Node) eObject;
130 if (ProblemUtil.isEnumNode(node)) {
131 classesBuilder.add(ENUM_NODE_CLASS);
132 }
133 if (ProblemUtil.isNewNode(node)) {
134 classesBuilder.add(NEW_NODE_CLASS);
135 }
136 }
137 if (eObject instanceof Parameter) {
138 classesBuilder.add(PARAMETER_CLASS);
139 }
140 if (eObject instanceof Variable) {
141 classesBuilder.add(VARIABLE_CLASS);
142 Variable variable = (Variable) eObject;
143 if (ProblemUtil.isSingletonVariable(variable)) {
144 classesBuilder.add(SINGLETON_VARIABLE_CLASS);
145 }
146 }
147 List<String> classes = classesBuilder.build();
148 return classes.toArray(new String[0]);
149 }
150
151 protected boolean isBuiltIn(EObject eObject) {
152 if (eObject != null) {
153 Resource eResource = eObject.eResource();
154 if (eResource != null) {
155 return ProblemGlobalScopeProvider.BULTIN_LIBRARY_URI.equals(eResource.getURI());
156 }
157 }
158 return false;
159 }
160}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/META-INF/services/org.eclipse.xtext.ISetup b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/META-INF/services/org.eclipse.xtext.ISetup
deleted file mode 100644
index 8e9ec892..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/META-INF/services/org.eclipse.xtext.ISetup
+++ /dev/null
@@ -1 +0,0 @@
1org.eclipse.viatra.solver.language.ide.ProblemIdeSetup
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/AbstractProblemIdeModule.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/AbstractProblemIdeModule.java
deleted file mode 100644
index a44461f9..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/AbstractProblemIdeModule.java
+++ /dev/null
@@ -1,60 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
3 */
4package org.eclipse.viatra.solver.language.ide;
5
6import com.google.inject.Binder;
7import com.google.inject.name.Names;
8import org.eclipse.viatra.solver.language.ide.contentassist.antlr.ProblemParser;
9import org.eclipse.viatra.solver.language.ide.contentassist.antlr.internal.InternalProblemLexer;
10import org.eclipse.xtext.ide.DefaultIdeModule;
11import org.eclipse.xtext.ide.LexerIdeBindings;
12import org.eclipse.xtext.ide.editor.contentassist.FQNPrefixMatcher;
13import org.eclipse.xtext.ide.editor.contentassist.IPrefixMatcher;
14import org.eclipse.xtext.ide.editor.contentassist.IProposalConflictHelper;
15import org.eclipse.xtext.ide.editor.contentassist.antlr.AntlrProposalConflictHelper;
16import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser;
17import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
18import org.eclipse.xtext.ide.refactoring.IRenameStrategy2;
19import org.eclipse.xtext.ide.server.rename.IRenameService2;
20import org.eclipse.xtext.ide.server.rename.RenameService2;
21
22/**
23 * Manual modifications go to {@link ProblemIdeModule}.
24 */
25@SuppressWarnings("all")
26public abstract class AbstractProblemIdeModule extends DefaultIdeModule {
27
28 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
29 public void configureContentAssistLexer(Binder binder) {
30 binder.bind(Lexer.class)
31 .annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST))
32 .to(InternalProblemLexer.class);
33 }
34
35 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
36 public Class<? extends IContentAssistParser> bindIContentAssistParser() {
37 return ProblemParser.class;
38 }
39
40 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
41 public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
42 return AntlrProposalConflictHelper.class;
43 }
44
45 // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
46 public Class<? extends IPrefixMatcher> bindIPrefixMatcher() {
47 return FQNPrefixMatcher.class;
48 }
49
50 // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
51 public Class<? extends IRenameService2> bindIRenameService2() {
52 return RenameService2.class;
53 }
54
55 // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
56 public Class<? extends IRenameStrategy2> bindIRenameStrategy2() {
57 return IRenameStrategy2.DefaultImpl.class;
58 }
59
60}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/PartialProblemContentAssistParser.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/PartialProblemContentAssistParser.java
deleted file mode 100644
index 890ab643..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/PartialProblemContentAssistParser.java
+++ /dev/null
@@ -1,33 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
3 */
4package org.eclipse.viatra.solver.language.ide.contentassist.antlr;
5
6import java.util.Collection;
7import java.util.Collections;
8import org.eclipse.xtext.AbstractRule;
9import org.eclipse.xtext.ide.editor.contentassist.antlr.FollowElement;
10import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
11import org.eclipse.xtext.util.PolymorphicDispatcher;
12
13public class PartialProblemContentAssistParser extends ProblemParser {
14
15 private AbstractRule rule;
16
17 @Override
18 public void initializeFor(AbstractRule rule) {
19 this.rule = rule;
20 }
21
22 @Override
23 protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
24 if (rule == null || rule.eIsProxy())
25 return Collections.emptyList();
26 String methodName = "entryRule" + rule.getName();
27 PolymorphicDispatcher<Collection<FollowElement>> dispatcher =
28 new PolymorphicDispatcher<Collection<FollowElement>>(methodName, 0, 0, Collections.singletonList(parser));
29 dispatcher.invoke();
30 return parser.getFollowElements();
31 }
32
33}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/ProblemParser.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/ProblemParser.java
deleted file mode 100644
index e4142d9f..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/ProblemParser.java
+++ /dev/null
@@ -1,181 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
3 */
4package org.eclipse.viatra.solver.language.ide.contentassist.antlr;
5
6import com.google.common.collect.ImmutableMap;
7import com.google.inject.Inject;
8import com.google.inject.Singleton;
9import java.util.Map;
10import org.eclipse.viatra.solver.language.ide.contentassist.antlr.internal.InternalProblemParser;
11import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess;
12import org.eclipse.xtext.AbstractElement;
13import org.eclipse.xtext.ide.editor.contentassist.antlr.AbstractContentAssistParser;
14
15public class ProblemParser extends AbstractContentAssistParser {
16
17 @Singleton
18 public static final class NameMappings {
19
20 private final Map<AbstractElement, String> mappings;
21
22 @Inject
23 public NameMappings(ProblemGrammarAccess grammarAccess) {
24 ImmutableMap.Builder<AbstractElement, String> builder = ImmutableMap.builder();
25 init(builder, grammarAccess);
26 this.mappings = builder.build();
27 }
28
29 public String getRuleName(AbstractElement element) {
30 return mappings.get(element);
31 }
32
33 private static void init(ImmutableMap.Builder<AbstractElement, String> builder, ProblemGrammarAccess grammarAccess) {
34 builder.put(grammarAccess.getStatementAccess().getAlternatives(), "rule__Statement__Alternatives");
35 builder.put(grammarAccess.getClassDeclarationAccess().getAlternatives_4(), "rule__ClassDeclaration__Alternatives_4");
36 builder.put(grammarAccess.getEnumDeclarationAccess().getAlternatives_2(), "rule__EnumDeclaration__Alternatives_2");
37 builder.put(grammarAccess.getEnumDeclarationAccess().getAlternatives_2_0_1_2(), "rule__EnumDeclaration__Alternatives_2_0_1_2");
38 builder.put(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0(), "rule__ReferenceDeclaration__Alternatives_0");
39 builder.put(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0(), "rule__PredicateDefinition__Alternatives_0");
40 builder.put(grammarAccess.getLiteralAccess().getAlternatives(), "rule__Literal__Alternatives");
41 builder.put(grammarAccess.getAssertionAccess().getAlternatives_0(), "rule__Assertion__Alternatives_0");
42 builder.put(grammarAccess.getTypeScopeAccess().getAlternatives_1(), "rule__TypeScope__Alternatives_1");
43 builder.put(grammarAccess.getMultiplicityAccess().getAlternatives(), "rule__Multiplicity__Alternatives");
44 builder.put(grammarAccess.getDefiniteMultiplicityAccess().getAlternatives(), "rule__DefiniteMultiplicity__Alternatives");
45 builder.put(grammarAccess.getUpperBoundAccess().getAlternatives(), "rule__UpperBound__Alternatives");
46 builder.put(grammarAccess.getQuotedOrUnquotedIdAccess().getAlternatives(), "rule__QuotedOrUnquotedId__Alternatives");
47 builder.put(grammarAccess.getQualifiedNameAccess().getAlternatives(), "rule__QualifiedName__Alternatives");
48 builder.put(grammarAccess.getIdentifierAccess().getAlternatives(), "rule__Identifier__Alternatives");
49 builder.put(grammarAccess.getLogicValueAccess().getAlternatives(), "rule__LogicValue__Alternatives");
50 builder.put(grammarAccess.getShortLogicValueAccess().getAlternatives(), "rule__ShortLogicValue__Alternatives");
51 builder.put(grammarAccess.getProblemAccess().getGroup(), "rule__Problem__Group__0");
52 builder.put(grammarAccess.getProblemAccess().getGroup_0(), "rule__Problem__Group_0__0");
53 builder.put(grammarAccess.getClassDeclarationAccess().getGroup(), "rule__ClassDeclaration__Group__0");
54 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_3(), "rule__ClassDeclaration__Group_3__0");
55 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_3_2(), "rule__ClassDeclaration__Group_3_2__0");
56 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_4_0(), "rule__ClassDeclaration__Group_4_0__0");
57 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_4_0_1(), "rule__ClassDeclaration__Group_4_0_1__0");
58 builder.put(grammarAccess.getEnumDeclarationAccess().getGroup(), "rule__EnumDeclaration__Group__0");
59 builder.put(grammarAccess.getEnumDeclarationAccess().getGroup_2_0(), "rule__EnumDeclaration__Group_2_0__0");
60 builder.put(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1(), "rule__EnumDeclaration__Group_2_0_1__0");
61 builder.put(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1_1(), "rule__EnumDeclaration__Group_2_0_1_1__0");
62 builder.put(grammarAccess.getReferenceDeclarationAccess().getGroup(), "rule__ReferenceDeclaration__Group__0");
63 builder.put(grammarAccess.getReferenceDeclarationAccess().getGroup_2(), "rule__ReferenceDeclaration__Group_2__0");
64 builder.put(grammarAccess.getReferenceDeclarationAccess().getGroup_4(), "rule__ReferenceDeclaration__Group_4__0");
65 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup(), "rule__PredicateDefinition__Group__0");
66 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0(), "rule__PredicateDefinition__Group_0_0__0");
67 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_3(), "rule__PredicateDefinition__Group_3__0");
68 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_3_1(), "rule__PredicateDefinition__Group_3_1__0");
69 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_5(), "rule__PredicateDefinition__Group_5__0");
70 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_5_2(), "rule__PredicateDefinition__Group_5_2__0");
71 builder.put(grammarAccess.getParameterAccess().getGroup(), "rule__Parameter__Group__0");
72 builder.put(grammarAccess.getConjunctionAccess().getGroup(), "rule__Conjunction__Group__0");
73 builder.put(grammarAccess.getConjunctionAccess().getGroup_1(), "rule__Conjunction__Group_1__0");
74 builder.put(grammarAccess.getNegativeLiteralAccess().getGroup(), "rule__NegativeLiteral__Group__0");
75 builder.put(grammarAccess.getAtomAccess().getGroup(), "rule__Atom__Group__0");
76 builder.put(grammarAccess.getAtomAccess().getGroup_3(), "rule__Atom__Group_3__0");
77 builder.put(grammarAccess.getAtomAccess().getGroup_3_1(), "rule__Atom__Group_3_1__0");
78 builder.put(grammarAccess.getAssertionAccess().getGroup(), "rule__Assertion__Group__0");
79 builder.put(grammarAccess.getAssertionAccess().getGroup_0_0(), "rule__Assertion__Group_0_0__0");
80 builder.put(grammarAccess.getAssertionAccess().getGroup_0_0_2(), "rule__Assertion__Group_0_0_2__0");
81 builder.put(grammarAccess.getAssertionAccess().getGroup_0_0_2_1(), "rule__Assertion__Group_0_0_2_1__0");
82 builder.put(grammarAccess.getAssertionAccess().getGroup_0_1(), "rule__Assertion__Group_0_1__0");
83 builder.put(grammarAccess.getAssertionAccess().getGroup_0_1_3(), "rule__Assertion__Group_0_1_3__0");
84 builder.put(grammarAccess.getAssertionAccess().getGroup_0_1_3_1(), "rule__Assertion__Group_0_1_3_1__0");
85 builder.put(grammarAccess.getScopeDeclarationAccess().getGroup(), "rule__ScopeDeclaration__Group__0");
86 builder.put(grammarAccess.getScopeDeclarationAccess().getGroup_2(), "rule__ScopeDeclaration__Group_2__0");
87 builder.put(grammarAccess.getTypeScopeAccess().getGroup(), "rule__TypeScope__Group__0");
88 builder.put(grammarAccess.getRangeMultiplicityAccess().getGroup(), "rule__RangeMultiplicity__Group__0");
89 builder.put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0");
90 builder.put(grammarAccess.getQualifiedNameAccess().getGroup_1_1(), "rule__QualifiedName__Group_1_1__0");
91 builder.put(grammarAccess.getQualifiedNameAccess().getGroup_1_2(), "rule__QualifiedName__Group_1_2__0");
92 builder.put(grammarAccess.getProblemAccess().getNameAssignment_0_1(), "rule__Problem__NameAssignment_0_1");
93 builder.put(grammarAccess.getProblemAccess().getStatementsAssignment_1(), "rule__Problem__StatementsAssignment_1");
94 builder.put(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0(), "rule__ClassDeclaration__AbstractAssignment_0");
95 builder.put(grammarAccess.getClassDeclarationAccess().getNameAssignment_2(), "rule__ClassDeclaration__NameAssignment_2");
96 builder.put(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_1(), "rule__ClassDeclaration__SuperTypesAssignment_3_1");
97 builder.put(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_2_1(), "rule__ClassDeclaration__SuperTypesAssignment_3_2_1");
98 builder.put(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_0_1_0(), "rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0");
99 builder.put(grammarAccess.getEnumDeclarationAccess().getNameAssignment_1(), "rule__EnumDeclaration__NameAssignment_1");
100 builder.put(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_0(), "rule__EnumDeclaration__LiteralsAssignment_2_0_1_0");
101 builder.put(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_1_1(), "rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1");
102 builder.put(grammarAccess.getEnumLiteralAccess().getNameAssignment(), "rule__EnumLiteral__NameAssignment");
103 builder.put(grammarAccess.getReferenceDeclarationAccess().getContainmentAssignment_0_0(), "rule__ReferenceDeclaration__ContainmentAssignment_0_0");
104 builder.put(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeAssignment_1(), "rule__ReferenceDeclaration__ReferenceTypeAssignment_1");
105 builder.put(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_2_1(), "rule__ReferenceDeclaration__MultiplicityAssignment_2_1");
106 builder.put(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_3(), "rule__ReferenceDeclaration__NameAssignment_3");
107 builder.put(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_4_1(), "rule__ReferenceDeclaration__OppositeAssignment_4_1");
108 builder.put(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_0(), "rule__PredicateDefinition__ErrorAssignment_0_0_0");
109 builder.put(grammarAccess.getPredicateDefinitionAccess().getNameAssignment_1(), "rule__PredicateDefinition__NameAssignment_1");
110 builder.put(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_0(), "rule__PredicateDefinition__ParametersAssignment_3_0");
111 builder.put(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_1_1(), "rule__PredicateDefinition__ParametersAssignment_3_1_1");
112 builder.put(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_1(), "rule__PredicateDefinition__BodiesAssignment_5_1");
113 builder.put(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_2_1(), "rule__PredicateDefinition__BodiesAssignment_5_2_1");
114 builder.put(grammarAccess.getParameterAccess().getParameterTypeAssignment_0(), "rule__Parameter__ParameterTypeAssignment_0");
115 builder.put(grammarAccess.getParameterAccess().getNameAssignment_1(), "rule__Parameter__NameAssignment_1");
116 builder.put(grammarAccess.getConjunctionAccess().getLiteralsAssignment_0(), "rule__Conjunction__LiteralsAssignment_0");
117 builder.put(grammarAccess.getConjunctionAccess().getLiteralsAssignment_1_1(), "rule__Conjunction__LiteralsAssignment_1_1");
118 builder.put(grammarAccess.getNegativeLiteralAccess().getAtomAssignment_1(), "rule__NegativeLiteral__AtomAssignment_1");
119 builder.put(grammarAccess.getAtomAccess().getRelationAssignment_0(), "rule__Atom__RelationAssignment_0");
120 builder.put(grammarAccess.getAtomAccess().getTransitiveClosureAssignment_1(), "rule__Atom__TransitiveClosureAssignment_1");
121 builder.put(grammarAccess.getAtomAccess().getArgumentsAssignment_3_0(), "rule__Atom__ArgumentsAssignment_3_0");
122 builder.put(grammarAccess.getAtomAccess().getArgumentsAssignment_3_1_1(), "rule__Atom__ArgumentsAssignment_3_1_1");
123 builder.put(grammarAccess.getArgumentAccess().getVariableOrNodeAssignment(), "rule__Argument__VariableOrNodeAssignment");
124 builder.put(grammarAccess.getAssertionAccess().getRelationAssignment_0_0_0(), "rule__Assertion__RelationAssignment_0_0_0");
125 builder.put(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_0(), "rule__Assertion__ArgumentsAssignment_0_0_2_0");
126 builder.put(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_1_1(), "rule__Assertion__ArgumentsAssignment_0_0_2_1_1");
127 builder.put(grammarAccess.getAssertionAccess().getValueAssignment_0_0_5(), "rule__Assertion__ValueAssignment_0_0_5");
128 builder.put(grammarAccess.getAssertionAccess().getValueAssignment_0_1_0(), "rule__Assertion__ValueAssignment_0_1_0");
129 builder.put(grammarAccess.getAssertionAccess().getRelationAssignment_0_1_1(), "rule__Assertion__RelationAssignment_0_1_1");
130 builder.put(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_0(), "rule__Assertion__ArgumentsAssignment_0_1_3_0");
131 builder.put(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_1_1(), "rule__Assertion__ArgumentsAssignment_0_1_3_1_1");
132 builder.put(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_1(), "rule__ScopeDeclaration__TypeScopesAssignment_1");
133 builder.put(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_2_1(), "rule__ScopeDeclaration__TypeScopesAssignment_2_1");
134 builder.put(grammarAccess.getTypeScopeAccess().getTargetTypeAssignment_0(), "rule__TypeScope__TargetTypeAssignment_0");
135 builder.put(grammarAccess.getTypeScopeAccess().getIncrementAssignment_1_0(), "rule__TypeScope__IncrementAssignment_1_0");
136 builder.put(grammarAccess.getTypeScopeAccess().getMultiplicityAssignment_2(), "rule__TypeScope__MultiplicityAssignment_2");
137 builder.put(grammarAccess.getRangeMultiplicityAccess().getLowerBoundAssignment_0(), "rule__RangeMultiplicity__LowerBoundAssignment_0");
138 builder.put(grammarAccess.getRangeMultiplicityAccess().getUpperBoundAssignment_2(), "rule__RangeMultiplicity__UpperBoundAssignment_2");
139 builder.put(grammarAccess.getExactMultiplicityAccess().getExactValueAssignment(), "rule__ExactMultiplicity__ExactValueAssignment");
140 }
141 }
142
143 @Inject
144 private NameMappings nameMappings;
145
146 @Inject
147 private ProblemGrammarAccess grammarAccess;
148
149 @Override
150 protected InternalProblemParser createParser() {
151 InternalProblemParser result = new InternalProblemParser(null);
152 result.setGrammarAccess(grammarAccess);
153 return result;
154 }
155
156 @Override
157 protected String getRuleName(AbstractElement element) {
158 return nameMappings.getRuleName(element);
159 }
160
161 @Override
162 protected String[] getInitialHiddenTokens() {
163 return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
164 }
165
166 public ProblemGrammarAccess getGrammarAccess() {
167 return this.grammarAccess;
168 }
169
170 public void setGrammarAccess(ProblemGrammarAccess grammarAccess) {
171 this.grammarAccess = grammarAccess;
172 }
173
174 public NameMappings getNameMappings() {
175 return nameMappings;
176 }
177
178 public void setNameMappings(NameMappings nameMappings) {
179 this.nameMappings = nameMappings;
180 }
181}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.g b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.g
deleted file mode 100644
index 0a7c03ba..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.g
+++ /dev/null
@@ -1,5038 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
3 */
4grammar InternalProblem;
5
6options {
7 superClass=AbstractInternalContentAssistParser;
8}
9
10@lexer::header {
11package org.eclipse.viatra.solver.language.ide.contentassist.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.ide.editor.contentassist.antlr.internal.Lexer;
16}
17
18@parser::header {
19package org.eclipse.viatra.solver.language.ide.contentassist.antlr.internal;
20
21import java.io.InputStream;
22import org.eclipse.xtext.*;
23import org.eclipse.xtext.parser.*;
24import org.eclipse.xtext.parser.impl.*;
25import org.eclipse.emf.ecore.util.EcoreUtil;
26import org.eclipse.emf.ecore.EObject;
27import org.eclipse.xtext.parser.antlr.XtextTokenStream;
28import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
29import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
30import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA;
31import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess;
32
33}
34@parser::members {
35 private ProblemGrammarAccess grammarAccess;
36
37 public void setGrammarAccess(ProblemGrammarAccess grammarAccess) {
38 this.grammarAccess = grammarAccess;
39 }
40
41 @Override
42 protected Grammar getGrammar() {
43 return grammarAccess.getGrammar();
44 }
45
46 @Override
47 protected String getValueForTokenName(String tokenName) {
48 return tokenName;
49 }
50}
51
52// Entry rule entryRuleProblem
53entryRuleProblem
54:
55{ before(grammarAccess.getProblemRule()); }
56 ruleProblem
57{ after(grammarAccess.getProblemRule()); }
58 EOF
59;
60
61// Rule Problem
62ruleProblem
63 @init {
64 int stackSize = keepStackSize();
65 }
66 :
67 (
68 { before(grammarAccess.getProblemAccess().getGroup()); }
69 (rule__Problem__Group__0)
70 { after(grammarAccess.getProblemAccess().getGroup()); }
71 )
72;
73finally {
74 restoreStackSize(stackSize);
75}
76
77// Entry rule entryRuleStatement
78entryRuleStatement
79:
80{ before(grammarAccess.getStatementRule()); }
81 ruleStatement
82{ after(grammarAccess.getStatementRule()); }
83 EOF
84;
85
86// Rule Statement
87ruleStatement
88 @init {
89 int stackSize = keepStackSize();
90 }
91 :
92 (
93 { before(grammarAccess.getStatementAccess().getAlternatives()); }
94 (rule__Statement__Alternatives)
95 { after(grammarAccess.getStatementAccess().getAlternatives()); }
96 )
97;
98finally {
99 restoreStackSize(stackSize);
100}
101
102// Entry rule entryRuleClassDeclaration
103entryRuleClassDeclaration
104:
105{ before(grammarAccess.getClassDeclarationRule()); }
106 ruleClassDeclaration
107{ after(grammarAccess.getClassDeclarationRule()); }
108 EOF
109;
110
111// Rule ClassDeclaration
112ruleClassDeclaration
113 @init {
114 int stackSize = keepStackSize();
115 }
116 :
117 (
118 { before(grammarAccess.getClassDeclarationAccess().getGroup()); }
119 (rule__ClassDeclaration__Group__0)
120 { after(grammarAccess.getClassDeclarationAccess().getGroup()); }
121 )
122;
123finally {
124 restoreStackSize(stackSize);
125}
126
127// Entry rule entryRuleEnumDeclaration
128entryRuleEnumDeclaration
129:
130{ before(grammarAccess.getEnumDeclarationRule()); }
131 ruleEnumDeclaration
132{ after(grammarAccess.getEnumDeclarationRule()); }
133 EOF
134;
135
136// Rule EnumDeclaration
137ruleEnumDeclaration
138 @init {
139 int stackSize = keepStackSize();
140 }
141 :
142 (
143 { before(grammarAccess.getEnumDeclarationAccess().getGroup()); }
144 (rule__EnumDeclaration__Group__0)
145 { after(grammarAccess.getEnumDeclarationAccess().getGroup()); }
146 )
147;
148finally {
149 restoreStackSize(stackSize);
150}
151
152// Entry rule entryRuleEnumLiteral
153entryRuleEnumLiteral
154:
155{ before(grammarAccess.getEnumLiteralRule()); }
156 ruleEnumLiteral
157{ after(grammarAccess.getEnumLiteralRule()); }
158 EOF
159;
160
161// Rule EnumLiteral
162ruleEnumLiteral
163 @init {
164 int stackSize = keepStackSize();
165 }
166 :
167 (
168 { before(grammarAccess.getEnumLiteralAccess().getNameAssignment()); }
169 (rule__EnumLiteral__NameAssignment)
170 { after(grammarAccess.getEnumLiteralAccess().getNameAssignment()); }
171 )
172;
173finally {
174 restoreStackSize(stackSize);
175}
176
177// Entry rule entryRuleReferenceDeclaration
178entryRuleReferenceDeclaration
179:
180{ before(grammarAccess.getReferenceDeclarationRule()); }
181 ruleReferenceDeclaration
182{ after(grammarAccess.getReferenceDeclarationRule()); }
183 EOF
184;
185
186// Rule ReferenceDeclaration
187ruleReferenceDeclaration
188 @init {
189 int stackSize = keepStackSize();
190 }
191 :
192 (
193 { before(grammarAccess.getReferenceDeclarationAccess().getGroup()); }
194 (rule__ReferenceDeclaration__Group__0)
195 { after(grammarAccess.getReferenceDeclarationAccess().getGroup()); }
196 )
197;
198finally {
199 restoreStackSize(stackSize);
200}
201
202// Entry rule entryRulePredicateDefinition
203entryRulePredicateDefinition
204:
205{ before(grammarAccess.getPredicateDefinitionRule()); }
206 rulePredicateDefinition
207{ after(grammarAccess.getPredicateDefinitionRule()); }
208 EOF
209;
210
211// Rule PredicateDefinition
212rulePredicateDefinition
213 @init {
214 int stackSize = keepStackSize();
215 }
216 :
217 (
218 { before(grammarAccess.getPredicateDefinitionAccess().getGroup()); }
219 (rule__PredicateDefinition__Group__0)
220 { after(grammarAccess.getPredicateDefinitionAccess().getGroup()); }
221 )
222;
223finally {
224 restoreStackSize(stackSize);
225}
226
227// Entry rule entryRuleParameter
228entryRuleParameter
229:
230{ before(grammarAccess.getParameterRule()); }
231 ruleParameter
232{ after(grammarAccess.getParameterRule()); }
233 EOF
234;
235
236// Rule Parameter
237ruleParameter
238 @init {
239 int stackSize = keepStackSize();
240 }
241 :
242 (
243 { before(grammarAccess.getParameterAccess().getGroup()); }
244 (rule__Parameter__Group__0)
245 { after(grammarAccess.getParameterAccess().getGroup()); }
246 )
247;
248finally {
249 restoreStackSize(stackSize);
250}
251
252// Entry rule entryRuleConjunction
253entryRuleConjunction
254:
255{ before(grammarAccess.getConjunctionRule()); }
256 ruleConjunction
257{ after(grammarAccess.getConjunctionRule()); }
258 EOF
259;
260
261// Rule Conjunction
262ruleConjunction
263 @init {
264 int stackSize = keepStackSize();
265 }
266 :
267 (
268 { before(grammarAccess.getConjunctionAccess().getGroup()); }
269 (rule__Conjunction__Group__0)
270 { after(grammarAccess.getConjunctionAccess().getGroup()); }
271 )
272;
273finally {
274 restoreStackSize(stackSize);
275}
276
277// Entry rule entryRuleLiteral
278entryRuleLiteral
279:
280{ before(grammarAccess.getLiteralRule()); }
281 ruleLiteral
282{ after(grammarAccess.getLiteralRule()); }
283 EOF
284;
285
286// Rule Literal
287ruleLiteral
288 @init {
289 int stackSize = keepStackSize();
290 }
291 :
292 (
293 { before(grammarAccess.getLiteralAccess().getAlternatives()); }
294 (rule__Literal__Alternatives)
295 { after(grammarAccess.getLiteralAccess().getAlternatives()); }
296 )
297;
298finally {
299 restoreStackSize(stackSize);
300}
301
302// Entry rule entryRuleNegativeLiteral
303entryRuleNegativeLiteral
304:
305{ before(grammarAccess.getNegativeLiteralRule()); }
306 ruleNegativeLiteral
307{ after(grammarAccess.getNegativeLiteralRule()); }
308 EOF
309;
310
311// Rule NegativeLiteral
312ruleNegativeLiteral
313 @init {
314 int stackSize = keepStackSize();
315 }
316 :
317 (
318 { before(grammarAccess.getNegativeLiteralAccess().getGroup()); }
319 (rule__NegativeLiteral__Group__0)
320 { after(grammarAccess.getNegativeLiteralAccess().getGroup()); }
321 )
322;
323finally {
324 restoreStackSize(stackSize);
325}
326
327// Entry rule entryRuleAtom
328entryRuleAtom
329:
330{ before(grammarAccess.getAtomRule()); }
331 ruleAtom
332{ after(grammarAccess.getAtomRule()); }
333 EOF
334;
335
336// Rule Atom
337ruleAtom
338 @init {
339 int stackSize = keepStackSize();
340 }
341 :
342 (
343 { before(grammarAccess.getAtomAccess().getGroup()); }
344 (rule__Atom__Group__0)
345 { after(grammarAccess.getAtomAccess().getGroup()); }
346 )
347;
348finally {
349 restoreStackSize(stackSize);
350}
351
352// Entry rule entryRuleArgument
353entryRuleArgument
354:
355{ before(grammarAccess.getArgumentRule()); }
356 ruleArgument
357{ after(grammarAccess.getArgumentRule()); }
358 EOF
359;
360
361// Rule Argument
362ruleArgument
363 @init {
364 int stackSize = keepStackSize();
365 }
366 :
367 (
368 { before(grammarAccess.getArgumentAccess().getVariableOrNodeAssignment()); }
369 (rule__Argument__VariableOrNodeAssignment)
370 { after(grammarAccess.getArgumentAccess().getVariableOrNodeAssignment()); }
371 )
372;
373finally {
374 restoreStackSize(stackSize);
375}
376
377// Entry rule entryRuleAssertion
378entryRuleAssertion
379:
380{ before(grammarAccess.getAssertionRule()); }
381 ruleAssertion
382{ after(grammarAccess.getAssertionRule()); }
383 EOF
384;
385
386// Rule Assertion
387ruleAssertion
388 @init {
389 int stackSize = keepStackSize();
390 }
391 :
392 (
393 { before(grammarAccess.getAssertionAccess().getGroup()); }
394 (rule__Assertion__Group__0)
395 { after(grammarAccess.getAssertionAccess().getGroup()); }
396 )
397;
398finally {
399 restoreStackSize(stackSize);
400}
401
402// Entry rule entryRuleScopeDeclaration
403entryRuleScopeDeclaration
404:
405{ before(grammarAccess.getScopeDeclarationRule()); }
406 ruleScopeDeclaration
407{ after(grammarAccess.getScopeDeclarationRule()); }
408 EOF
409;
410
411// Rule ScopeDeclaration
412ruleScopeDeclaration
413 @init {
414 int stackSize = keepStackSize();
415 }
416 :
417 (
418 { before(grammarAccess.getScopeDeclarationAccess().getGroup()); }
419 (rule__ScopeDeclaration__Group__0)
420 { after(grammarAccess.getScopeDeclarationAccess().getGroup()); }
421 )
422;
423finally {
424 restoreStackSize(stackSize);
425}
426
427// Entry rule entryRuleTypeScope
428entryRuleTypeScope
429:
430{ before(grammarAccess.getTypeScopeRule()); }
431 ruleTypeScope
432{ after(grammarAccess.getTypeScopeRule()); }
433 EOF
434;
435
436// Rule TypeScope
437ruleTypeScope
438 @init {
439 int stackSize = keepStackSize();
440 }
441 :
442 (
443 { before(grammarAccess.getTypeScopeAccess().getGroup()); }
444 (rule__TypeScope__Group__0)
445 { after(grammarAccess.getTypeScopeAccess().getGroup()); }
446 )
447;
448finally {
449 restoreStackSize(stackSize);
450}
451
452// Entry rule entryRuleMultiplicity
453entryRuleMultiplicity
454:
455{ before(grammarAccess.getMultiplicityRule()); }
456 ruleMultiplicity
457{ after(grammarAccess.getMultiplicityRule()); }
458 EOF
459;
460
461// Rule Multiplicity
462ruleMultiplicity
463 @init {
464 int stackSize = keepStackSize();
465 }
466 :
467 (
468 { before(grammarAccess.getMultiplicityAccess().getAlternatives()); }
469 (rule__Multiplicity__Alternatives)
470 { after(grammarAccess.getMultiplicityAccess().getAlternatives()); }
471 )
472;
473finally {
474 restoreStackSize(stackSize);
475}
476
477// Entry rule entryRuleDefiniteMultiplicity
478entryRuleDefiniteMultiplicity
479:
480{ before(grammarAccess.getDefiniteMultiplicityRule()); }
481 ruleDefiniteMultiplicity
482{ after(grammarAccess.getDefiniteMultiplicityRule()); }
483 EOF
484;
485
486// Rule DefiniteMultiplicity
487ruleDefiniteMultiplicity
488 @init {
489 int stackSize = keepStackSize();
490 }
491 :
492 (
493 { before(grammarAccess.getDefiniteMultiplicityAccess().getAlternatives()); }
494 (rule__DefiniteMultiplicity__Alternatives)
495 { after(grammarAccess.getDefiniteMultiplicityAccess().getAlternatives()); }
496 )
497;
498finally {
499 restoreStackSize(stackSize);
500}
501
502// Entry rule entryRuleUnboundedMultiplicity
503entryRuleUnboundedMultiplicity
504:
505{ before(grammarAccess.getUnboundedMultiplicityRule()); }
506 ruleUnboundedMultiplicity
507{ after(grammarAccess.getUnboundedMultiplicityRule()); }
508 EOF
509;
510
511// Rule UnboundedMultiplicity
512ruleUnboundedMultiplicity
513 @init {
514 int stackSize = keepStackSize();
515 }
516 :
517 (
518 { before(grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction()); }
519 ()
520 { after(grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction()); }
521 )
522;
523finally {
524 restoreStackSize(stackSize);
525}
526
527// Entry rule entryRuleRangeMultiplicity
528entryRuleRangeMultiplicity
529:
530{ before(grammarAccess.getRangeMultiplicityRule()); }
531 ruleRangeMultiplicity
532{ after(grammarAccess.getRangeMultiplicityRule()); }
533 EOF
534;
535
536// Rule RangeMultiplicity
537ruleRangeMultiplicity
538 @init {
539 int stackSize = keepStackSize();
540 }
541 :
542 (
543 { before(grammarAccess.getRangeMultiplicityAccess().getGroup()); }
544 (rule__RangeMultiplicity__Group__0)
545 { after(grammarAccess.getRangeMultiplicityAccess().getGroup()); }
546 )
547;
548finally {
549 restoreStackSize(stackSize);
550}
551
552// Entry rule entryRuleExactMultiplicity
553entryRuleExactMultiplicity
554:
555{ before(grammarAccess.getExactMultiplicityRule()); }
556 ruleExactMultiplicity
557{ after(grammarAccess.getExactMultiplicityRule()); }
558 EOF
559;
560
561// Rule ExactMultiplicity
562ruleExactMultiplicity
563 @init {
564 int stackSize = keepStackSize();
565 }
566 :
567 (
568 { before(grammarAccess.getExactMultiplicityAccess().getExactValueAssignment()); }
569 (rule__ExactMultiplicity__ExactValueAssignment)
570 { after(grammarAccess.getExactMultiplicityAccess().getExactValueAssignment()); }
571 )
572;
573finally {
574 restoreStackSize(stackSize);
575}
576
577// Entry rule entryRuleUpperBound
578entryRuleUpperBound
579:
580{ before(grammarAccess.getUpperBoundRule()); }
581 ruleUpperBound
582{ after(grammarAccess.getUpperBoundRule()); }
583 EOF
584;
585
586// Rule UpperBound
587ruleUpperBound
588 @init {
589 int stackSize = keepStackSize();
590 }
591 :
592 (
593 { before(grammarAccess.getUpperBoundAccess().getAlternatives()); }
594 (rule__UpperBound__Alternatives)
595 { after(grammarAccess.getUpperBoundAccess().getAlternatives()); }
596 )
597;
598finally {
599 restoreStackSize(stackSize);
600}
601
602// Entry rule entryRuleQuotedOrUnquotedId
603entryRuleQuotedOrUnquotedId
604:
605{ before(grammarAccess.getQuotedOrUnquotedIdRule()); }
606 ruleQuotedOrUnquotedId
607{ after(grammarAccess.getQuotedOrUnquotedIdRule()); }
608 EOF
609;
610
611// Rule QuotedOrUnquotedId
612ruleQuotedOrUnquotedId
613 @init {
614 int stackSize = keepStackSize();
615 }
616 :
617 (
618 { before(grammarAccess.getQuotedOrUnquotedIdAccess().getAlternatives()); }
619 (rule__QuotedOrUnquotedId__Alternatives)
620 { after(grammarAccess.getQuotedOrUnquotedIdAccess().getAlternatives()); }
621 )
622;
623finally {
624 restoreStackSize(stackSize);
625}
626
627// Entry rule entryRuleQualifiedName
628entryRuleQualifiedName
629:
630{ before(grammarAccess.getQualifiedNameRule()); }
631 ruleQualifiedName
632{ after(grammarAccess.getQualifiedNameRule()); }
633 EOF
634;
635
636// Rule QualifiedName
637ruleQualifiedName
638 @init {
639 int stackSize = keepStackSize();
640 }
641 :
642 (
643 { before(grammarAccess.getQualifiedNameAccess().getAlternatives()); }
644 (rule__QualifiedName__Alternatives)
645 { after(grammarAccess.getQualifiedNameAccess().getAlternatives()); }
646 )
647;
648finally {
649 restoreStackSize(stackSize);
650}
651
652// Entry rule entryRuleIdentifier
653entryRuleIdentifier
654:
655{ before(grammarAccess.getIdentifierRule()); }
656 ruleIdentifier
657{ after(grammarAccess.getIdentifierRule()); }
658 EOF
659;
660
661// Rule Identifier
662ruleIdentifier
663 @init {
664 int stackSize = keepStackSize();
665 }
666 :
667 (
668 { before(grammarAccess.getIdentifierAccess().getAlternatives()); }
669 (rule__Identifier__Alternatives)
670 { after(grammarAccess.getIdentifierAccess().getAlternatives()); }
671 )
672;
673finally {
674 restoreStackSize(stackSize);
675}
676
677// Rule LogicValue
678ruleLogicValue
679 @init {
680 int stackSize = keepStackSize();
681 }
682:
683 (
684 { before(grammarAccess.getLogicValueAccess().getAlternatives()); }
685 (rule__LogicValue__Alternatives)
686 { after(grammarAccess.getLogicValueAccess().getAlternatives()); }
687 )
688;
689finally {
690 restoreStackSize(stackSize);
691}
692
693// Rule ShortLogicValue
694ruleShortLogicValue
695 @init {
696 int stackSize = keepStackSize();
697 }
698:
699 (
700 { before(grammarAccess.getShortLogicValueAccess().getAlternatives()); }
701 (rule__ShortLogicValue__Alternatives)
702 { after(grammarAccess.getShortLogicValueAccess().getAlternatives()); }
703 )
704;
705finally {
706 restoreStackSize(stackSize);
707}
708
709rule__Statement__Alternatives
710 @init {
711 int stackSize = keepStackSize();
712 }
713:
714 (
715 { before(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0()); }
716 ruleClassDeclaration
717 { after(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0()); }
718 )
719 |
720 (
721 { before(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1()); }
722 ruleEnumDeclaration
723 { after(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1()); }
724 )
725 |
726 (
727 { before(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2()); }
728 rulePredicateDefinition
729 { after(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2()); }
730 )
731 |
732 (
733 { before(grammarAccess.getStatementAccess().getAssertionParserRuleCall_3()); }
734 ruleAssertion
735 { after(grammarAccess.getStatementAccess().getAssertionParserRuleCall_3()); }
736 )
737 |
738 (
739 { before(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4()); }
740 ruleScopeDeclaration
741 { after(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4()); }
742 )
743;
744finally {
745 restoreStackSize(stackSize);
746}
747
748rule__ClassDeclaration__Alternatives_4
749 @init {
750 int stackSize = keepStackSize();
751 }
752:
753 (
754 { before(grammarAccess.getClassDeclarationAccess().getGroup_4_0()); }
755 (rule__ClassDeclaration__Group_4_0__0)
756 { after(grammarAccess.getClassDeclarationAccess().getGroup_4_0()); }
757 )
758 |
759 (
760 { before(grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1()); }
761 '.'
762 { after(grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1()); }
763 )
764;
765finally {
766 restoreStackSize(stackSize);
767}
768
769rule__EnumDeclaration__Alternatives_2
770 @init {
771 int stackSize = keepStackSize();
772 }
773:
774 (
775 { before(grammarAccess.getEnumDeclarationAccess().getGroup_2_0()); }
776 (rule__EnumDeclaration__Group_2_0__0)
777 { after(grammarAccess.getEnumDeclarationAccess().getGroup_2_0()); }
778 )
779 |
780 (
781 { before(grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1()); }
782 '.'
783 { after(grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1()); }
784 )
785;
786finally {
787 restoreStackSize(stackSize);
788}
789
790rule__EnumDeclaration__Alternatives_2_0_1_2
791 @init {
792 int stackSize = keepStackSize();
793 }
794:
795 (
796 { before(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0()); }
797 ','
798 { after(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0()); }
799 )
800 |
801 (
802 { before(grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1()); }
803 ';'
804 { after(grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1()); }
805 )
806;
807finally {
808 restoreStackSize(stackSize);
809}
810
811rule__ReferenceDeclaration__Alternatives_0
812 @init {
813 int stackSize = keepStackSize();
814 }
815:
816 (
817 { before(grammarAccess.getReferenceDeclarationAccess().getContainmentAssignment_0_0()); }
818 (rule__ReferenceDeclaration__ContainmentAssignment_0_0)
819 { after(grammarAccess.getReferenceDeclarationAccess().getContainmentAssignment_0_0()); }
820 )
821 |
822 (
823 { before(grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1()); }
824 'refers'
825 { after(grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1()); }
826 )
827;
828finally {
829 restoreStackSize(stackSize);
830}
831
832rule__PredicateDefinition__Alternatives_0
833 @init {
834 int stackSize = keepStackSize();
835 }
836:
837 (
838 { before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0()); }
839 (rule__PredicateDefinition__Group_0_0__0)
840 { after(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0()); }
841 )
842 |
843 (
844 { before(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1()); }
845 'pred'
846 { after(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1()); }
847 )
848;
849finally {
850 restoreStackSize(stackSize);
851}
852
853rule__Literal__Alternatives
854 @init {
855 int stackSize = keepStackSize();
856 }
857:
858 (
859 { before(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0()); }
860 ruleAtom
861 { after(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0()); }
862 )
863 |
864 (
865 { before(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1()); }
866 ruleNegativeLiteral
867 { after(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1()); }
868 )
869;
870finally {
871 restoreStackSize(stackSize);
872}
873
874rule__Assertion__Alternatives_0
875 @init {
876 int stackSize = keepStackSize();
877 }
878:
879 (
880 { before(grammarAccess.getAssertionAccess().getGroup_0_0()); }
881 (rule__Assertion__Group_0_0__0)
882 { after(grammarAccess.getAssertionAccess().getGroup_0_0()); }
883 )
884 |
885 (
886 { before(grammarAccess.getAssertionAccess().getGroup_0_1()); }
887 (rule__Assertion__Group_0_1__0)
888 { after(grammarAccess.getAssertionAccess().getGroup_0_1()); }
889 )
890;
891finally {
892 restoreStackSize(stackSize);
893}
894
895rule__TypeScope__Alternatives_1
896 @init {
897 int stackSize = keepStackSize();
898 }
899:
900 (
901 { before(grammarAccess.getTypeScopeAccess().getIncrementAssignment_1_0()); }
902 (rule__TypeScope__IncrementAssignment_1_0)
903 { after(grammarAccess.getTypeScopeAccess().getIncrementAssignment_1_0()); }
904 )
905 |
906 (
907 { before(grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1()); }
908 '='
909 { after(grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1()); }
910 )
911;
912finally {
913 restoreStackSize(stackSize);
914}
915
916rule__Multiplicity__Alternatives
917 @init {
918 int stackSize = keepStackSize();
919 }
920:
921 (
922 { before(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0()); }
923 ruleUnboundedMultiplicity
924 { after(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0()); }
925 )
926 |
927 (
928 { before(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1()); }
929 ruleDefiniteMultiplicity
930 { after(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1()); }
931 )
932;
933finally {
934 restoreStackSize(stackSize);
935}
936
937rule__DefiniteMultiplicity__Alternatives
938 @init {
939 int stackSize = keepStackSize();
940 }
941:
942 (
943 { before(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); }
944 ruleRangeMultiplicity
945 { after(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); }
946 )
947 |
948 (
949 { before(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); }
950 ruleExactMultiplicity
951 { after(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); }
952 )
953;
954finally {
955 restoreStackSize(stackSize);
956}
957
958rule__UpperBound__Alternatives
959 @init {
960 int stackSize = keepStackSize();
961 }
962:
963 (
964 { before(grammarAccess.getUpperBoundAccess().getINTTerminalRuleCall_0()); }
965 RULE_INT
966 { after(grammarAccess.getUpperBoundAccess().getINTTerminalRuleCall_0()); }
967 )
968 |
969 (
970 { before(grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1()); }
971 '*'
972 { after(grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1()); }
973 )
974;
975finally {
976 restoreStackSize(stackSize);
977}
978
979rule__QuotedOrUnquotedId__Alternatives
980 @init {
981 int stackSize = keepStackSize();
982 }
983:
984 (
985 { before(grammarAccess.getQuotedOrUnquotedIdAccess().getQUOTED_IDTerminalRuleCall_0()); }
986 RULE_QUOTED_ID
987 { after(grammarAccess.getQuotedOrUnquotedIdAccess().getQUOTED_IDTerminalRuleCall_0()); }
988 )
989 |
990 (
991 { before(grammarAccess.getQuotedOrUnquotedIdAccess().getIdentifierParserRuleCall_1()); }
992 ruleIdentifier
993 { after(grammarAccess.getQuotedOrUnquotedIdAccess().getIdentifierParserRuleCall_1()); }
994 )
995;
996finally {
997 restoreStackSize(stackSize);
998}
999
1000rule__QualifiedName__Alternatives
1001 @init {
1002 int stackSize = keepStackSize();
1003 }
1004:
1005 (
1006 { before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0()); }
1007 RULE_QUOTED_ID
1008 { after(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0()); }
1009 )
1010 |
1011 (
1012 { before(grammarAccess.getQualifiedNameAccess().getGroup_1()); }
1013 (rule__QualifiedName__Group_1__0)
1014 { after(grammarAccess.getQualifiedNameAccess().getGroup_1()); }
1015 )
1016;
1017finally {
1018 restoreStackSize(stackSize);
1019}
1020
1021rule__Identifier__Alternatives
1022 @init {
1023 int stackSize = keepStackSize();
1024 }
1025:
1026 (
1027 { before(grammarAccess.getIdentifierAccess().getIDTerminalRuleCall_0()); }
1028 RULE_ID
1029 { after(grammarAccess.getIdentifierAccess().getIDTerminalRuleCall_0()); }
1030 )
1031 |
1032 (
1033 { before(grammarAccess.getIdentifierAccess().getTrueKeyword_1()); }
1034 'true'
1035 { after(grammarAccess.getIdentifierAccess().getTrueKeyword_1()); }
1036 )
1037 |
1038 (
1039 { before(grammarAccess.getIdentifierAccess().getFalseKeyword_2()); }
1040 'false'
1041 { after(grammarAccess.getIdentifierAccess().getFalseKeyword_2()); }
1042 )
1043;
1044finally {
1045 restoreStackSize(stackSize);
1046}
1047
1048rule__LogicValue__Alternatives
1049 @init {
1050 int stackSize = keepStackSize();
1051 }
1052:
1053 (
1054 { before(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); }
1055 ('true')
1056 { after(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); }
1057 )
1058 |
1059 (
1060 { before(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); }
1061 ('false')
1062 { after(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); }
1063 )
1064 |
1065 (
1066 { before(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); }
1067 ('unknown')
1068 { after(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); }
1069 )
1070;
1071finally {
1072 restoreStackSize(stackSize);
1073}
1074
1075rule__ShortLogicValue__Alternatives
1076 @init {
1077 int stackSize = keepStackSize();
1078 }
1079:
1080 (
1081 { before(grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0()); }
1082 ('!')
1083 { after(grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0()); }
1084 )
1085 |
1086 (
1087 { before(grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1()); }
1088 ('?')
1089 { after(grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1()); }
1090 )
1091;
1092finally {
1093 restoreStackSize(stackSize);
1094}
1095
1096rule__Problem__Group__0
1097 @init {
1098 int stackSize = keepStackSize();
1099 }
1100:
1101 rule__Problem__Group__0__Impl
1102 rule__Problem__Group__1
1103;
1104finally {
1105 restoreStackSize(stackSize);
1106}
1107
1108rule__Problem__Group__0__Impl
1109 @init {
1110 int stackSize = keepStackSize();
1111 }
1112:
1113(
1114 { before(grammarAccess.getProblemAccess().getGroup_0()); }
1115 (rule__Problem__Group_0__0)?
1116 { after(grammarAccess.getProblemAccess().getGroup_0()); }
1117)
1118;
1119finally {
1120 restoreStackSize(stackSize);
1121}
1122
1123rule__Problem__Group__1
1124 @init {
1125 int stackSize = keepStackSize();
1126 }
1127:
1128 rule__Problem__Group__1__Impl
1129;
1130finally {
1131 restoreStackSize(stackSize);
1132}
1133
1134rule__Problem__Group__1__Impl
1135 @init {
1136 int stackSize = keepStackSize();
1137 }
1138:
1139(
1140 { before(grammarAccess.getProblemAccess().getStatementsAssignment_1()); }
1141 (rule__Problem__StatementsAssignment_1)*
1142 { after(grammarAccess.getProblemAccess().getStatementsAssignment_1()); }
1143)
1144;
1145finally {
1146 restoreStackSize(stackSize);
1147}
1148
1149
1150rule__Problem__Group_0__0
1151 @init {
1152 int stackSize = keepStackSize();
1153 }
1154:
1155 rule__Problem__Group_0__0__Impl
1156 rule__Problem__Group_0__1
1157;
1158finally {
1159 restoreStackSize(stackSize);
1160}
1161
1162rule__Problem__Group_0__0__Impl
1163 @init {
1164 int stackSize = keepStackSize();
1165 }
1166:
1167(
1168 { before(grammarAccess.getProblemAccess().getProblemKeyword_0_0()); }
1169 'problem'
1170 { after(grammarAccess.getProblemAccess().getProblemKeyword_0_0()); }
1171)
1172;
1173finally {
1174 restoreStackSize(stackSize);
1175}
1176
1177rule__Problem__Group_0__1
1178 @init {
1179 int stackSize = keepStackSize();
1180 }
1181:
1182 rule__Problem__Group_0__1__Impl
1183 rule__Problem__Group_0__2
1184;
1185finally {
1186 restoreStackSize(stackSize);
1187}
1188
1189rule__Problem__Group_0__1__Impl
1190 @init {
1191 int stackSize = keepStackSize();
1192 }
1193:
1194(
1195 { before(grammarAccess.getProblemAccess().getNameAssignment_0_1()); }
1196 (rule__Problem__NameAssignment_0_1)
1197 { after(grammarAccess.getProblemAccess().getNameAssignment_0_1()); }
1198)
1199;
1200finally {
1201 restoreStackSize(stackSize);
1202}
1203
1204rule__Problem__Group_0__2
1205 @init {
1206 int stackSize = keepStackSize();
1207 }
1208:
1209 rule__Problem__Group_0__2__Impl
1210;
1211finally {
1212 restoreStackSize(stackSize);
1213}
1214
1215rule__Problem__Group_0__2__Impl
1216 @init {
1217 int stackSize = keepStackSize();
1218 }
1219:
1220(
1221 { before(grammarAccess.getProblemAccess().getFullStopKeyword_0_2()); }
1222 '.'
1223 { after(grammarAccess.getProblemAccess().getFullStopKeyword_0_2()); }
1224)
1225;
1226finally {
1227 restoreStackSize(stackSize);
1228}
1229
1230
1231rule__ClassDeclaration__Group__0
1232 @init {
1233 int stackSize = keepStackSize();
1234 }
1235:
1236 rule__ClassDeclaration__Group__0__Impl
1237 rule__ClassDeclaration__Group__1
1238;
1239finally {
1240 restoreStackSize(stackSize);
1241}
1242
1243rule__ClassDeclaration__Group__0__Impl
1244 @init {
1245 int stackSize = keepStackSize();
1246 }
1247:
1248(
1249 { before(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0()); }
1250 (rule__ClassDeclaration__AbstractAssignment_0)?
1251 { after(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0()); }
1252)
1253;
1254finally {
1255 restoreStackSize(stackSize);
1256}
1257
1258rule__ClassDeclaration__Group__1
1259 @init {
1260 int stackSize = keepStackSize();
1261 }
1262:
1263 rule__ClassDeclaration__Group__1__Impl
1264 rule__ClassDeclaration__Group__2
1265;
1266finally {
1267 restoreStackSize(stackSize);
1268}
1269
1270rule__ClassDeclaration__Group__1__Impl
1271 @init {
1272 int stackSize = keepStackSize();
1273 }
1274:
1275(
1276 { before(grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); }
1277 'class'
1278 { after(grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); }
1279)
1280;
1281finally {
1282 restoreStackSize(stackSize);
1283}
1284
1285rule__ClassDeclaration__Group__2
1286 @init {
1287 int stackSize = keepStackSize();
1288 }
1289:
1290 rule__ClassDeclaration__Group__2__Impl
1291 rule__ClassDeclaration__Group__3
1292;
1293finally {
1294 restoreStackSize(stackSize);
1295}
1296
1297rule__ClassDeclaration__Group__2__Impl
1298 @init {
1299 int stackSize = keepStackSize();
1300 }
1301:
1302(
1303 { before(grammarAccess.getClassDeclarationAccess().getNameAssignment_2()); }
1304 (rule__ClassDeclaration__NameAssignment_2)
1305 { after(grammarAccess.getClassDeclarationAccess().getNameAssignment_2()); }
1306)
1307;
1308finally {
1309 restoreStackSize(stackSize);
1310}
1311
1312rule__ClassDeclaration__Group__3
1313 @init {
1314 int stackSize = keepStackSize();
1315 }
1316:
1317 rule__ClassDeclaration__Group__3__Impl
1318 rule__ClassDeclaration__Group__4
1319;
1320finally {
1321 restoreStackSize(stackSize);
1322}
1323
1324rule__ClassDeclaration__Group__3__Impl
1325 @init {
1326 int stackSize = keepStackSize();
1327 }
1328:
1329(
1330 { before(grammarAccess.getClassDeclarationAccess().getGroup_3()); }
1331 (rule__ClassDeclaration__Group_3__0)?
1332 { after(grammarAccess.getClassDeclarationAccess().getGroup_3()); }
1333)
1334;
1335finally {
1336 restoreStackSize(stackSize);
1337}
1338
1339rule__ClassDeclaration__Group__4
1340 @init {
1341 int stackSize = keepStackSize();
1342 }
1343:
1344 rule__ClassDeclaration__Group__4__Impl
1345;
1346finally {
1347 restoreStackSize(stackSize);
1348}
1349
1350rule__ClassDeclaration__Group__4__Impl
1351 @init {
1352 int stackSize = keepStackSize();
1353 }
1354:
1355(
1356 { before(grammarAccess.getClassDeclarationAccess().getAlternatives_4()); }
1357 (rule__ClassDeclaration__Alternatives_4)
1358 { after(grammarAccess.getClassDeclarationAccess().getAlternatives_4()); }
1359)
1360;
1361finally {
1362 restoreStackSize(stackSize);
1363}
1364
1365
1366rule__ClassDeclaration__Group_3__0
1367 @init {
1368 int stackSize = keepStackSize();
1369 }
1370:
1371 rule__ClassDeclaration__Group_3__0__Impl
1372 rule__ClassDeclaration__Group_3__1
1373;
1374finally {
1375 restoreStackSize(stackSize);
1376}
1377
1378rule__ClassDeclaration__Group_3__0__Impl
1379 @init {
1380 int stackSize = keepStackSize();
1381 }
1382:
1383(
1384 { before(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0()); }
1385 'extends'
1386 { after(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0()); }
1387)
1388;
1389finally {
1390 restoreStackSize(stackSize);
1391}
1392
1393rule__ClassDeclaration__Group_3__1
1394 @init {
1395 int stackSize = keepStackSize();
1396 }
1397:
1398 rule__ClassDeclaration__Group_3__1__Impl
1399 rule__ClassDeclaration__Group_3__2
1400;
1401finally {
1402 restoreStackSize(stackSize);
1403}
1404
1405rule__ClassDeclaration__Group_3__1__Impl
1406 @init {
1407 int stackSize = keepStackSize();
1408 }
1409:
1410(
1411 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_1()); }
1412 (rule__ClassDeclaration__SuperTypesAssignment_3_1)
1413 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_1()); }
1414)
1415;
1416finally {
1417 restoreStackSize(stackSize);
1418}
1419
1420rule__ClassDeclaration__Group_3__2
1421 @init {
1422 int stackSize = keepStackSize();
1423 }
1424:
1425 rule__ClassDeclaration__Group_3__2__Impl
1426;
1427finally {
1428 restoreStackSize(stackSize);
1429}
1430
1431rule__ClassDeclaration__Group_3__2__Impl
1432 @init {
1433 int stackSize = keepStackSize();
1434 }
1435:
1436(
1437 { before(grammarAccess.getClassDeclarationAccess().getGroup_3_2()); }
1438 (rule__ClassDeclaration__Group_3_2__0)*
1439 { after(grammarAccess.getClassDeclarationAccess().getGroup_3_2()); }
1440)
1441;
1442finally {
1443 restoreStackSize(stackSize);
1444}
1445
1446
1447rule__ClassDeclaration__Group_3_2__0
1448 @init {
1449 int stackSize = keepStackSize();
1450 }
1451:
1452 rule__ClassDeclaration__Group_3_2__0__Impl
1453 rule__ClassDeclaration__Group_3_2__1
1454;
1455finally {
1456 restoreStackSize(stackSize);
1457}
1458
1459rule__ClassDeclaration__Group_3_2__0__Impl
1460 @init {
1461 int stackSize = keepStackSize();
1462 }
1463:
1464(
1465 { before(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0()); }
1466 ','
1467 { after(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0()); }
1468)
1469;
1470finally {
1471 restoreStackSize(stackSize);
1472}
1473
1474rule__ClassDeclaration__Group_3_2__1
1475 @init {
1476 int stackSize = keepStackSize();
1477 }
1478:
1479 rule__ClassDeclaration__Group_3_2__1__Impl
1480;
1481finally {
1482 restoreStackSize(stackSize);
1483}
1484
1485rule__ClassDeclaration__Group_3_2__1__Impl
1486 @init {
1487 int stackSize = keepStackSize();
1488 }
1489:
1490(
1491 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_2_1()); }
1492 (rule__ClassDeclaration__SuperTypesAssignment_3_2_1)
1493 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_2_1()); }
1494)
1495;
1496finally {
1497 restoreStackSize(stackSize);
1498}
1499
1500
1501rule__ClassDeclaration__Group_4_0__0
1502 @init {
1503 int stackSize = keepStackSize();
1504 }
1505:
1506 rule__ClassDeclaration__Group_4_0__0__Impl
1507 rule__ClassDeclaration__Group_4_0__1
1508;
1509finally {
1510 restoreStackSize(stackSize);
1511}
1512
1513rule__ClassDeclaration__Group_4_0__0__Impl
1514 @init {
1515 int stackSize = keepStackSize();
1516 }
1517:
1518(
1519 { before(grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()); }
1520 '{'
1521 { after(grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()); }
1522)
1523;
1524finally {
1525 restoreStackSize(stackSize);
1526}
1527
1528rule__ClassDeclaration__Group_4_0__1
1529 @init {
1530 int stackSize = keepStackSize();
1531 }
1532:
1533 rule__ClassDeclaration__Group_4_0__1__Impl
1534 rule__ClassDeclaration__Group_4_0__2
1535;
1536finally {
1537 restoreStackSize(stackSize);
1538}
1539
1540rule__ClassDeclaration__Group_4_0__1__Impl
1541 @init {
1542 int stackSize = keepStackSize();
1543 }
1544:
1545(
1546 { before(grammarAccess.getClassDeclarationAccess().getGroup_4_0_1()); }
1547 (rule__ClassDeclaration__Group_4_0_1__0)*
1548 { after(grammarAccess.getClassDeclarationAccess().getGroup_4_0_1()); }
1549)
1550;
1551finally {
1552 restoreStackSize(stackSize);
1553}
1554
1555rule__ClassDeclaration__Group_4_0__2
1556 @init {
1557 int stackSize = keepStackSize();
1558 }
1559:
1560 rule__ClassDeclaration__Group_4_0__2__Impl
1561;
1562finally {
1563 restoreStackSize(stackSize);
1564}
1565
1566rule__ClassDeclaration__Group_4_0__2__Impl
1567 @init {
1568 int stackSize = keepStackSize();
1569 }
1570:
1571(
1572 { before(grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2()); }
1573 '}'
1574 { after(grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2()); }
1575)
1576;
1577finally {
1578 restoreStackSize(stackSize);
1579}
1580
1581
1582rule__ClassDeclaration__Group_4_0_1__0
1583 @init {
1584 int stackSize = keepStackSize();
1585 }
1586:
1587 rule__ClassDeclaration__Group_4_0_1__0__Impl
1588 rule__ClassDeclaration__Group_4_0_1__1
1589;
1590finally {
1591 restoreStackSize(stackSize);
1592}
1593
1594rule__ClassDeclaration__Group_4_0_1__0__Impl
1595 @init {
1596 int stackSize = keepStackSize();
1597 }
1598:
1599(
1600 { before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_0_1_0()); }
1601 (rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0)
1602 { after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_0_1_0()); }
1603)
1604;
1605finally {
1606 restoreStackSize(stackSize);
1607}
1608
1609rule__ClassDeclaration__Group_4_0_1__1
1610 @init {
1611 int stackSize = keepStackSize();
1612 }
1613:
1614 rule__ClassDeclaration__Group_4_0_1__1__Impl
1615;
1616finally {
1617 restoreStackSize(stackSize);
1618}
1619
1620rule__ClassDeclaration__Group_4_0_1__1__Impl
1621 @init {
1622 int stackSize = keepStackSize();
1623 }
1624:
1625(
1626 { before(grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1()); }
1627 (';')?
1628 { after(grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1()); }
1629)
1630;
1631finally {
1632 restoreStackSize(stackSize);
1633}
1634
1635
1636rule__EnumDeclaration__Group__0
1637 @init {
1638 int stackSize = keepStackSize();
1639 }
1640:
1641 rule__EnumDeclaration__Group__0__Impl
1642 rule__EnumDeclaration__Group__1
1643;
1644finally {
1645 restoreStackSize(stackSize);
1646}
1647
1648rule__EnumDeclaration__Group__0__Impl
1649 @init {
1650 int stackSize = keepStackSize();
1651 }
1652:
1653(
1654 { before(grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0()); }
1655 'enum'
1656 { after(grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0()); }
1657)
1658;
1659finally {
1660 restoreStackSize(stackSize);
1661}
1662
1663rule__EnumDeclaration__Group__1
1664 @init {
1665 int stackSize = keepStackSize();
1666 }
1667:
1668 rule__EnumDeclaration__Group__1__Impl
1669 rule__EnumDeclaration__Group__2
1670;
1671finally {
1672 restoreStackSize(stackSize);
1673}
1674
1675rule__EnumDeclaration__Group__1__Impl
1676 @init {
1677 int stackSize = keepStackSize();
1678 }
1679:
1680(
1681 { before(grammarAccess.getEnumDeclarationAccess().getNameAssignment_1()); }
1682 (rule__EnumDeclaration__NameAssignment_1)
1683 { after(grammarAccess.getEnumDeclarationAccess().getNameAssignment_1()); }
1684)
1685;
1686finally {
1687 restoreStackSize(stackSize);
1688}
1689
1690rule__EnumDeclaration__Group__2
1691 @init {
1692 int stackSize = keepStackSize();
1693 }
1694:
1695 rule__EnumDeclaration__Group__2__Impl
1696;
1697finally {
1698 restoreStackSize(stackSize);
1699}
1700
1701rule__EnumDeclaration__Group__2__Impl
1702 @init {
1703 int stackSize = keepStackSize();
1704 }
1705:
1706(
1707 { before(grammarAccess.getEnumDeclarationAccess().getAlternatives_2()); }
1708 (rule__EnumDeclaration__Alternatives_2)
1709 { after(grammarAccess.getEnumDeclarationAccess().getAlternatives_2()); }
1710)
1711;
1712finally {
1713 restoreStackSize(stackSize);
1714}
1715
1716
1717rule__EnumDeclaration__Group_2_0__0
1718 @init {
1719 int stackSize = keepStackSize();
1720 }
1721:
1722 rule__EnumDeclaration__Group_2_0__0__Impl
1723 rule__EnumDeclaration__Group_2_0__1
1724;
1725finally {
1726 restoreStackSize(stackSize);
1727}
1728
1729rule__EnumDeclaration__Group_2_0__0__Impl
1730 @init {
1731 int stackSize = keepStackSize();
1732 }
1733:
1734(
1735 { before(grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0()); }
1736 '{'
1737 { after(grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0()); }
1738)
1739;
1740finally {
1741 restoreStackSize(stackSize);
1742}
1743
1744rule__EnumDeclaration__Group_2_0__1
1745 @init {
1746 int stackSize = keepStackSize();
1747 }
1748:
1749 rule__EnumDeclaration__Group_2_0__1__Impl
1750 rule__EnumDeclaration__Group_2_0__2
1751;
1752finally {
1753 restoreStackSize(stackSize);
1754}
1755
1756rule__EnumDeclaration__Group_2_0__1__Impl
1757 @init {
1758 int stackSize = keepStackSize();
1759 }
1760:
1761(
1762 { before(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1()); }
1763 (rule__EnumDeclaration__Group_2_0_1__0)?
1764 { after(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1()); }
1765)
1766;
1767finally {
1768 restoreStackSize(stackSize);
1769}
1770
1771rule__EnumDeclaration__Group_2_0__2
1772 @init {
1773 int stackSize = keepStackSize();
1774 }
1775:
1776 rule__EnumDeclaration__Group_2_0__2__Impl
1777;
1778finally {
1779 restoreStackSize(stackSize);
1780}
1781
1782rule__EnumDeclaration__Group_2_0__2__Impl
1783 @init {
1784 int stackSize = keepStackSize();
1785 }
1786:
1787(
1788 { before(grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2()); }
1789 '}'
1790 { after(grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2()); }
1791)
1792;
1793finally {
1794 restoreStackSize(stackSize);
1795}
1796
1797
1798rule__EnumDeclaration__Group_2_0_1__0
1799 @init {
1800 int stackSize = keepStackSize();
1801 }
1802:
1803 rule__EnumDeclaration__Group_2_0_1__0__Impl
1804 rule__EnumDeclaration__Group_2_0_1__1
1805;
1806finally {
1807 restoreStackSize(stackSize);
1808}
1809
1810rule__EnumDeclaration__Group_2_0_1__0__Impl
1811 @init {
1812 int stackSize = keepStackSize();
1813 }
1814:
1815(
1816 { before(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_0()); }
1817 (rule__EnumDeclaration__LiteralsAssignment_2_0_1_0)
1818 { after(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_0()); }
1819)
1820;
1821finally {
1822 restoreStackSize(stackSize);
1823}
1824
1825rule__EnumDeclaration__Group_2_0_1__1
1826 @init {
1827 int stackSize = keepStackSize();
1828 }
1829:
1830 rule__EnumDeclaration__Group_2_0_1__1__Impl
1831 rule__EnumDeclaration__Group_2_0_1__2
1832;
1833finally {
1834 restoreStackSize(stackSize);
1835}
1836
1837rule__EnumDeclaration__Group_2_0_1__1__Impl
1838 @init {
1839 int stackSize = keepStackSize();
1840 }
1841:
1842(
1843 { before(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1_1()); }
1844 (rule__EnumDeclaration__Group_2_0_1_1__0)*
1845 { after(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1_1()); }
1846)
1847;
1848finally {
1849 restoreStackSize(stackSize);
1850}
1851
1852rule__EnumDeclaration__Group_2_0_1__2
1853 @init {
1854 int stackSize = keepStackSize();
1855 }
1856:
1857 rule__EnumDeclaration__Group_2_0_1__2__Impl
1858;
1859finally {
1860 restoreStackSize(stackSize);
1861}
1862
1863rule__EnumDeclaration__Group_2_0_1__2__Impl
1864 @init {
1865 int stackSize = keepStackSize();
1866 }
1867:
1868(
1869 { before(grammarAccess.getEnumDeclarationAccess().getAlternatives_2_0_1_2()); }
1870 (rule__EnumDeclaration__Alternatives_2_0_1_2)?
1871 { after(grammarAccess.getEnumDeclarationAccess().getAlternatives_2_0_1_2()); }
1872)
1873;
1874finally {
1875 restoreStackSize(stackSize);
1876}
1877
1878
1879rule__EnumDeclaration__Group_2_0_1_1__0
1880 @init {
1881 int stackSize = keepStackSize();
1882 }
1883:
1884 rule__EnumDeclaration__Group_2_0_1_1__0__Impl
1885 rule__EnumDeclaration__Group_2_0_1_1__1
1886;
1887finally {
1888 restoreStackSize(stackSize);
1889}
1890
1891rule__EnumDeclaration__Group_2_0_1_1__0__Impl
1892 @init {
1893 int stackSize = keepStackSize();
1894 }
1895:
1896(
1897 { before(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0()); }
1898 ','
1899 { after(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0()); }
1900)
1901;
1902finally {
1903 restoreStackSize(stackSize);
1904}
1905
1906rule__EnumDeclaration__Group_2_0_1_1__1
1907 @init {
1908 int stackSize = keepStackSize();
1909 }
1910:
1911 rule__EnumDeclaration__Group_2_0_1_1__1__Impl
1912;
1913finally {
1914 restoreStackSize(stackSize);
1915}
1916
1917rule__EnumDeclaration__Group_2_0_1_1__1__Impl
1918 @init {
1919 int stackSize = keepStackSize();
1920 }
1921:
1922(
1923 { before(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_1_1()); }
1924 (rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1)
1925 { after(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_1_1()); }
1926)
1927;
1928finally {
1929 restoreStackSize(stackSize);
1930}
1931
1932
1933rule__ReferenceDeclaration__Group__0
1934 @init {
1935 int stackSize = keepStackSize();
1936 }
1937:
1938 rule__ReferenceDeclaration__Group__0__Impl
1939 rule__ReferenceDeclaration__Group__1
1940;
1941finally {
1942 restoreStackSize(stackSize);
1943}
1944
1945rule__ReferenceDeclaration__Group__0__Impl
1946 @init {
1947 int stackSize = keepStackSize();
1948 }
1949:
1950(
1951 { before(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0()); }
1952 (rule__ReferenceDeclaration__Alternatives_0)?
1953 { after(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0()); }
1954)
1955;
1956finally {
1957 restoreStackSize(stackSize);
1958}
1959
1960rule__ReferenceDeclaration__Group__1
1961 @init {
1962 int stackSize = keepStackSize();
1963 }
1964:
1965 rule__ReferenceDeclaration__Group__1__Impl
1966 rule__ReferenceDeclaration__Group__2
1967;
1968finally {
1969 restoreStackSize(stackSize);
1970}
1971
1972rule__ReferenceDeclaration__Group__1__Impl
1973 @init {
1974 int stackSize = keepStackSize();
1975 }
1976:
1977(
1978 { before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeAssignment_1()); }
1979 (rule__ReferenceDeclaration__ReferenceTypeAssignment_1)
1980 { after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeAssignment_1()); }
1981)
1982;
1983finally {
1984 restoreStackSize(stackSize);
1985}
1986
1987rule__ReferenceDeclaration__Group__2
1988 @init {
1989 int stackSize = keepStackSize();
1990 }
1991:
1992 rule__ReferenceDeclaration__Group__2__Impl
1993 rule__ReferenceDeclaration__Group__3
1994;
1995finally {
1996 restoreStackSize(stackSize);
1997}
1998
1999rule__ReferenceDeclaration__Group__2__Impl
2000 @init {
2001 int stackSize = keepStackSize();
2002 }
2003:
2004(
2005 { before(grammarAccess.getReferenceDeclarationAccess().getGroup_2()); }
2006 (rule__ReferenceDeclaration__Group_2__0)?
2007 { after(grammarAccess.getReferenceDeclarationAccess().getGroup_2()); }
2008)
2009;
2010finally {
2011 restoreStackSize(stackSize);
2012}
2013
2014rule__ReferenceDeclaration__Group__3
2015 @init {
2016 int stackSize = keepStackSize();
2017 }
2018:
2019 rule__ReferenceDeclaration__Group__3__Impl
2020 rule__ReferenceDeclaration__Group__4
2021;
2022finally {
2023 restoreStackSize(stackSize);
2024}
2025
2026rule__ReferenceDeclaration__Group__3__Impl
2027 @init {
2028 int stackSize = keepStackSize();
2029 }
2030:
2031(
2032 { before(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_3()); }
2033 (rule__ReferenceDeclaration__NameAssignment_3)
2034 { after(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_3()); }
2035)
2036;
2037finally {
2038 restoreStackSize(stackSize);
2039}
2040
2041rule__ReferenceDeclaration__Group__4
2042 @init {
2043 int stackSize = keepStackSize();
2044 }
2045:
2046 rule__ReferenceDeclaration__Group__4__Impl
2047;
2048finally {
2049 restoreStackSize(stackSize);
2050}
2051
2052rule__ReferenceDeclaration__Group__4__Impl
2053 @init {
2054 int stackSize = keepStackSize();
2055 }
2056:
2057(
2058 { before(grammarAccess.getReferenceDeclarationAccess().getGroup_4()); }
2059 (rule__ReferenceDeclaration__Group_4__0)?
2060 { after(grammarAccess.getReferenceDeclarationAccess().getGroup_4()); }
2061)
2062;
2063finally {
2064 restoreStackSize(stackSize);
2065}
2066
2067
2068rule__ReferenceDeclaration__Group_2__0
2069 @init {
2070 int stackSize = keepStackSize();
2071 }
2072:
2073 rule__ReferenceDeclaration__Group_2__0__Impl
2074 rule__ReferenceDeclaration__Group_2__1
2075;
2076finally {
2077 restoreStackSize(stackSize);
2078}
2079
2080rule__ReferenceDeclaration__Group_2__0__Impl
2081 @init {
2082 int stackSize = keepStackSize();
2083 }
2084:
2085(
2086 { before(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0()); }
2087 '['
2088 { after(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0()); }
2089)
2090;
2091finally {
2092 restoreStackSize(stackSize);
2093}
2094
2095rule__ReferenceDeclaration__Group_2__1
2096 @init {
2097 int stackSize = keepStackSize();
2098 }
2099:
2100 rule__ReferenceDeclaration__Group_2__1__Impl
2101 rule__ReferenceDeclaration__Group_2__2
2102;
2103finally {
2104 restoreStackSize(stackSize);
2105}
2106
2107rule__ReferenceDeclaration__Group_2__1__Impl
2108 @init {
2109 int stackSize = keepStackSize();
2110 }
2111:
2112(
2113 { before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_2_1()); }
2114 (rule__ReferenceDeclaration__MultiplicityAssignment_2_1)
2115 { after(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_2_1()); }
2116)
2117;
2118finally {
2119 restoreStackSize(stackSize);
2120}
2121
2122rule__ReferenceDeclaration__Group_2__2
2123 @init {
2124 int stackSize = keepStackSize();
2125 }
2126:
2127 rule__ReferenceDeclaration__Group_2__2__Impl
2128;
2129finally {
2130 restoreStackSize(stackSize);
2131}
2132
2133rule__ReferenceDeclaration__Group_2__2__Impl
2134 @init {
2135 int stackSize = keepStackSize();
2136 }
2137:
2138(
2139 { before(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2()); }
2140 ']'
2141 { after(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2()); }
2142)
2143;
2144finally {
2145 restoreStackSize(stackSize);
2146}
2147
2148
2149rule__ReferenceDeclaration__Group_4__0
2150 @init {
2151 int stackSize = keepStackSize();
2152 }
2153:
2154 rule__ReferenceDeclaration__Group_4__0__Impl
2155 rule__ReferenceDeclaration__Group_4__1
2156;
2157finally {
2158 restoreStackSize(stackSize);
2159}
2160
2161rule__ReferenceDeclaration__Group_4__0__Impl
2162 @init {
2163 int stackSize = keepStackSize();
2164 }
2165:
2166(
2167 { before(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0()); }
2168 'opposite'
2169 { after(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0()); }
2170)
2171;
2172finally {
2173 restoreStackSize(stackSize);
2174}
2175
2176rule__ReferenceDeclaration__Group_4__1
2177 @init {
2178 int stackSize = keepStackSize();
2179 }
2180:
2181 rule__ReferenceDeclaration__Group_4__1__Impl
2182;
2183finally {
2184 restoreStackSize(stackSize);
2185}
2186
2187rule__ReferenceDeclaration__Group_4__1__Impl
2188 @init {
2189 int stackSize = keepStackSize();
2190 }
2191:
2192(
2193 { before(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_4_1()); }
2194 (rule__ReferenceDeclaration__OppositeAssignment_4_1)
2195 { after(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_4_1()); }
2196)
2197;
2198finally {
2199 restoreStackSize(stackSize);
2200}
2201
2202
2203rule__PredicateDefinition__Group__0
2204 @init {
2205 int stackSize = keepStackSize();
2206 }
2207:
2208 rule__PredicateDefinition__Group__0__Impl
2209 rule__PredicateDefinition__Group__1
2210;
2211finally {
2212 restoreStackSize(stackSize);
2213}
2214
2215rule__PredicateDefinition__Group__0__Impl
2216 @init {
2217 int stackSize = keepStackSize();
2218 }
2219:
2220(
2221 { before(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0()); }
2222 (rule__PredicateDefinition__Alternatives_0)
2223 { after(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0()); }
2224)
2225;
2226finally {
2227 restoreStackSize(stackSize);
2228}
2229
2230rule__PredicateDefinition__Group__1
2231 @init {
2232 int stackSize = keepStackSize();
2233 }
2234:
2235 rule__PredicateDefinition__Group__1__Impl
2236 rule__PredicateDefinition__Group__2
2237;
2238finally {
2239 restoreStackSize(stackSize);
2240}
2241
2242rule__PredicateDefinition__Group__1__Impl
2243 @init {
2244 int stackSize = keepStackSize();
2245 }
2246:
2247(
2248 { before(grammarAccess.getPredicateDefinitionAccess().getNameAssignment_1()); }
2249 (rule__PredicateDefinition__NameAssignment_1)
2250 { after(grammarAccess.getPredicateDefinitionAccess().getNameAssignment_1()); }
2251)
2252;
2253finally {
2254 restoreStackSize(stackSize);
2255}
2256
2257rule__PredicateDefinition__Group__2
2258 @init {
2259 int stackSize = keepStackSize();
2260 }
2261:
2262 rule__PredicateDefinition__Group__2__Impl
2263 rule__PredicateDefinition__Group__3
2264;
2265finally {
2266 restoreStackSize(stackSize);
2267}
2268
2269rule__PredicateDefinition__Group__2__Impl
2270 @init {
2271 int stackSize = keepStackSize();
2272 }
2273:
2274(
2275 { before(grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2()); }
2276 '('
2277 { after(grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2()); }
2278)
2279;
2280finally {
2281 restoreStackSize(stackSize);
2282}
2283
2284rule__PredicateDefinition__Group__3
2285 @init {
2286 int stackSize = keepStackSize();
2287 }
2288:
2289 rule__PredicateDefinition__Group__3__Impl
2290 rule__PredicateDefinition__Group__4
2291;
2292finally {
2293 restoreStackSize(stackSize);
2294}
2295
2296rule__PredicateDefinition__Group__3__Impl
2297 @init {
2298 int stackSize = keepStackSize();
2299 }
2300:
2301(
2302 { before(grammarAccess.getPredicateDefinitionAccess().getGroup_3()); }
2303 (rule__PredicateDefinition__Group_3__0)?
2304 { after(grammarAccess.getPredicateDefinitionAccess().getGroup_3()); }
2305)
2306;
2307finally {
2308 restoreStackSize(stackSize);
2309}
2310
2311rule__PredicateDefinition__Group__4
2312 @init {
2313 int stackSize = keepStackSize();
2314 }
2315:
2316 rule__PredicateDefinition__Group__4__Impl
2317 rule__PredicateDefinition__Group__5
2318;
2319finally {
2320 restoreStackSize(stackSize);
2321}
2322
2323rule__PredicateDefinition__Group__4__Impl
2324 @init {
2325 int stackSize = keepStackSize();
2326 }
2327:
2328(
2329 { before(grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4()); }
2330 ')'
2331 { after(grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4()); }
2332)
2333;
2334finally {
2335 restoreStackSize(stackSize);
2336}
2337
2338rule__PredicateDefinition__Group__5
2339 @init {
2340 int stackSize = keepStackSize();
2341 }
2342:
2343 rule__PredicateDefinition__Group__5__Impl
2344 rule__PredicateDefinition__Group__6
2345;
2346finally {
2347 restoreStackSize(stackSize);
2348}
2349
2350rule__PredicateDefinition__Group__5__Impl
2351 @init {
2352 int stackSize = keepStackSize();
2353 }
2354:
2355(
2356 { before(grammarAccess.getPredicateDefinitionAccess().getGroup_5()); }
2357 (rule__PredicateDefinition__Group_5__0)?
2358 { after(grammarAccess.getPredicateDefinitionAccess().getGroup_5()); }
2359)
2360;
2361finally {
2362 restoreStackSize(stackSize);
2363}
2364
2365rule__PredicateDefinition__Group__6
2366 @init {
2367 int stackSize = keepStackSize();
2368 }
2369:
2370 rule__PredicateDefinition__Group__6__Impl
2371;
2372finally {
2373 restoreStackSize(stackSize);
2374}
2375
2376rule__PredicateDefinition__Group__6__Impl
2377 @init {
2378 int stackSize = keepStackSize();
2379 }
2380:
2381(
2382 { before(grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6()); }
2383 '.'
2384 { after(grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6()); }
2385)
2386;
2387finally {
2388 restoreStackSize(stackSize);
2389}
2390
2391
2392rule__PredicateDefinition__Group_0_0__0
2393 @init {
2394 int stackSize = keepStackSize();
2395 }
2396:
2397 rule__PredicateDefinition__Group_0_0__0__Impl
2398 rule__PredicateDefinition__Group_0_0__1
2399;
2400finally {
2401 restoreStackSize(stackSize);
2402}
2403
2404rule__PredicateDefinition__Group_0_0__0__Impl
2405 @init {
2406 int stackSize = keepStackSize();
2407 }
2408:
2409(
2410 { before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_0()); }
2411 (rule__PredicateDefinition__ErrorAssignment_0_0_0)
2412 { after(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_0()); }
2413)
2414;
2415finally {
2416 restoreStackSize(stackSize);
2417}
2418
2419rule__PredicateDefinition__Group_0_0__1
2420 @init {
2421 int stackSize = keepStackSize();
2422 }
2423:
2424 rule__PredicateDefinition__Group_0_0__1__Impl
2425;
2426finally {
2427 restoreStackSize(stackSize);
2428}
2429
2430rule__PredicateDefinition__Group_0_0__1__Impl
2431 @init {
2432 int stackSize = keepStackSize();
2433 }
2434:
2435(
2436 { before(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1()); }
2437 ('pred')?
2438 { after(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1()); }
2439)
2440;
2441finally {
2442 restoreStackSize(stackSize);
2443}
2444
2445
2446rule__PredicateDefinition__Group_3__0
2447 @init {
2448 int stackSize = keepStackSize();
2449 }
2450:
2451 rule__PredicateDefinition__Group_3__0__Impl
2452 rule__PredicateDefinition__Group_3__1
2453;
2454finally {
2455 restoreStackSize(stackSize);
2456}
2457
2458rule__PredicateDefinition__Group_3__0__Impl
2459 @init {
2460 int stackSize = keepStackSize();
2461 }
2462:
2463(
2464 { before(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_0()); }
2465 (rule__PredicateDefinition__ParametersAssignment_3_0)
2466 { after(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_0()); }
2467)
2468;
2469finally {
2470 restoreStackSize(stackSize);
2471}
2472
2473rule__PredicateDefinition__Group_3__1
2474 @init {
2475 int stackSize = keepStackSize();
2476 }
2477:
2478 rule__PredicateDefinition__Group_3__1__Impl
2479;
2480finally {
2481 restoreStackSize(stackSize);
2482}
2483
2484rule__PredicateDefinition__Group_3__1__Impl
2485 @init {
2486 int stackSize = keepStackSize();
2487 }
2488:
2489(
2490 { before(grammarAccess.getPredicateDefinitionAccess().getGroup_3_1()); }
2491 (rule__PredicateDefinition__Group_3_1__0)*
2492 { after(grammarAccess.getPredicateDefinitionAccess().getGroup_3_1()); }
2493)
2494;
2495finally {
2496 restoreStackSize(stackSize);
2497}
2498
2499
2500rule__PredicateDefinition__Group_3_1__0
2501 @init {
2502 int stackSize = keepStackSize();
2503 }
2504:
2505 rule__PredicateDefinition__Group_3_1__0__Impl
2506 rule__PredicateDefinition__Group_3_1__1
2507;
2508finally {
2509 restoreStackSize(stackSize);
2510}
2511
2512rule__PredicateDefinition__Group_3_1__0__Impl
2513 @init {
2514 int stackSize = keepStackSize();
2515 }
2516:
2517(
2518 { before(grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0()); }
2519 ','
2520 { after(grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0()); }
2521)
2522;
2523finally {
2524 restoreStackSize(stackSize);
2525}
2526
2527rule__PredicateDefinition__Group_3_1__1
2528 @init {
2529 int stackSize = keepStackSize();
2530 }
2531:
2532 rule__PredicateDefinition__Group_3_1__1__Impl
2533;
2534finally {
2535 restoreStackSize(stackSize);
2536}
2537
2538rule__PredicateDefinition__Group_3_1__1__Impl
2539 @init {
2540 int stackSize = keepStackSize();
2541 }
2542:
2543(
2544 { before(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_1_1()); }
2545 (rule__PredicateDefinition__ParametersAssignment_3_1_1)
2546 { after(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_1_1()); }
2547)
2548;
2549finally {
2550 restoreStackSize(stackSize);
2551}
2552
2553
2554rule__PredicateDefinition__Group_5__0
2555 @init {
2556 int stackSize = keepStackSize();
2557 }
2558:
2559 rule__PredicateDefinition__Group_5__0__Impl
2560 rule__PredicateDefinition__Group_5__1
2561;
2562finally {
2563 restoreStackSize(stackSize);
2564}
2565
2566rule__PredicateDefinition__Group_5__0__Impl
2567 @init {
2568 int stackSize = keepStackSize();
2569 }
2570:
2571(
2572 { before(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0()); }
2573 ':-'
2574 { after(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0()); }
2575)
2576;
2577finally {
2578 restoreStackSize(stackSize);
2579}
2580
2581rule__PredicateDefinition__Group_5__1
2582 @init {
2583 int stackSize = keepStackSize();
2584 }
2585:
2586 rule__PredicateDefinition__Group_5__1__Impl
2587 rule__PredicateDefinition__Group_5__2
2588;
2589finally {
2590 restoreStackSize(stackSize);
2591}
2592
2593rule__PredicateDefinition__Group_5__1__Impl
2594 @init {
2595 int stackSize = keepStackSize();
2596 }
2597:
2598(
2599 { before(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_1()); }
2600 (rule__PredicateDefinition__BodiesAssignment_5_1)
2601 { after(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_1()); }
2602)
2603;
2604finally {
2605 restoreStackSize(stackSize);
2606}
2607
2608rule__PredicateDefinition__Group_5__2
2609 @init {
2610 int stackSize = keepStackSize();
2611 }
2612:
2613 rule__PredicateDefinition__Group_5__2__Impl
2614;
2615finally {
2616 restoreStackSize(stackSize);
2617}
2618
2619rule__PredicateDefinition__Group_5__2__Impl
2620 @init {
2621 int stackSize = keepStackSize();
2622 }
2623:
2624(
2625 { before(grammarAccess.getPredicateDefinitionAccess().getGroup_5_2()); }
2626 (rule__PredicateDefinition__Group_5_2__0)*
2627 { after(grammarAccess.getPredicateDefinitionAccess().getGroup_5_2()); }
2628)
2629;
2630finally {
2631 restoreStackSize(stackSize);
2632}
2633
2634
2635rule__PredicateDefinition__Group_5_2__0
2636 @init {
2637 int stackSize = keepStackSize();
2638 }
2639:
2640 rule__PredicateDefinition__Group_5_2__0__Impl
2641 rule__PredicateDefinition__Group_5_2__1
2642;
2643finally {
2644 restoreStackSize(stackSize);
2645}
2646
2647rule__PredicateDefinition__Group_5_2__0__Impl
2648 @init {
2649 int stackSize = keepStackSize();
2650 }
2651:
2652(
2653 { before(grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0()); }
2654 ';'
2655 { after(grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0()); }
2656)
2657;
2658finally {
2659 restoreStackSize(stackSize);
2660}
2661
2662rule__PredicateDefinition__Group_5_2__1
2663 @init {
2664 int stackSize = keepStackSize();
2665 }
2666:
2667 rule__PredicateDefinition__Group_5_2__1__Impl
2668;
2669finally {
2670 restoreStackSize(stackSize);
2671}
2672
2673rule__PredicateDefinition__Group_5_2__1__Impl
2674 @init {
2675 int stackSize = keepStackSize();
2676 }
2677:
2678(
2679 { before(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_2_1()); }
2680 (rule__PredicateDefinition__BodiesAssignment_5_2_1)
2681 { after(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_2_1()); }
2682)
2683;
2684finally {
2685 restoreStackSize(stackSize);
2686}
2687
2688
2689rule__Parameter__Group__0
2690 @init {
2691 int stackSize = keepStackSize();
2692 }
2693:
2694 rule__Parameter__Group__0__Impl
2695 rule__Parameter__Group__1
2696;
2697finally {
2698 restoreStackSize(stackSize);
2699}
2700
2701rule__Parameter__Group__0__Impl
2702 @init {
2703 int stackSize = keepStackSize();
2704 }
2705:
2706(
2707 { before(grammarAccess.getParameterAccess().getParameterTypeAssignment_0()); }
2708 (rule__Parameter__ParameterTypeAssignment_0)?
2709 { after(grammarAccess.getParameterAccess().getParameterTypeAssignment_0()); }
2710)
2711;
2712finally {
2713 restoreStackSize(stackSize);
2714}
2715
2716rule__Parameter__Group__1
2717 @init {
2718 int stackSize = keepStackSize();
2719 }
2720:
2721 rule__Parameter__Group__1__Impl
2722;
2723finally {
2724 restoreStackSize(stackSize);
2725}
2726
2727rule__Parameter__Group__1__Impl
2728 @init {
2729 int stackSize = keepStackSize();
2730 }
2731:
2732(
2733 { before(grammarAccess.getParameterAccess().getNameAssignment_1()); }
2734 (rule__Parameter__NameAssignment_1)
2735 { after(grammarAccess.getParameterAccess().getNameAssignment_1()); }
2736)
2737;
2738finally {
2739 restoreStackSize(stackSize);
2740}
2741
2742
2743rule__Conjunction__Group__0
2744 @init {
2745 int stackSize = keepStackSize();
2746 }
2747:
2748 rule__Conjunction__Group__0__Impl
2749 rule__Conjunction__Group__1
2750;
2751finally {
2752 restoreStackSize(stackSize);
2753}
2754
2755rule__Conjunction__Group__0__Impl
2756 @init {
2757 int stackSize = keepStackSize();
2758 }
2759:
2760(
2761 { before(grammarAccess.getConjunctionAccess().getLiteralsAssignment_0()); }
2762 (rule__Conjunction__LiteralsAssignment_0)
2763 { after(grammarAccess.getConjunctionAccess().getLiteralsAssignment_0()); }
2764)
2765;
2766finally {
2767 restoreStackSize(stackSize);
2768}
2769
2770rule__Conjunction__Group__1
2771 @init {
2772 int stackSize = keepStackSize();
2773 }
2774:
2775 rule__Conjunction__Group__1__Impl
2776;
2777finally {
2778 restoreStackSize(stackSize);
2779}
2780
2781rule__Conjunction__Group__1__Impl
2782 @init {
2783 int stackSize = keepStackSize();
2784 }
2785:
2786(
2787 { before(grammarAccess.getConjunctionAccess().getGroup_1()); }
2788 (rule__Conjunction__Group_1__0)*
2789 { after(grammarAccess.getConjunctionAccess().getGroup_1()); }
2790)
2791;
2792finally {
2793 restoreStackSize(stackSize);
2794}
2795
2796
2797rule__Conjunction__Group_1__0
2798 @init {
2799 int stackSize = keepStackSize();
2800 }
2801:
2802 rule__Conjunction__Group_1__0__Impl
2803 rule__Conjunction__Group_1__1
2804;
2805finally {
2806 restoreStackSize(stackSize);
2807}
2808
2809rule__Conjunction__Group_1__0__Impl
2810 @init {
2811 int stackSize = keepStackSize();
2812 }
2813:
2814(
2815 { before(grammarAccess.getConjunctionAccess().getCommaKeyword_1_0()); }
2816 ','
2817 { after(grammarAccess.getConjunctionAccess().getCommaKeyword_1_0()); }
2818)
2819;
2820finally {
2821 restoreStackSize(stackSize);
2822}
2823
2824rule__Conjunction__Group_1__1
2825 @init {
2826 int stackSize = keepStackSize();
2827 }
2828:
2829 rule__Conjunction__Group_1__1__Impl
2830;
2831finally {
2832 restoreStackSize(stackSize);
2833}
2834
2835rule__Conjunction__Group_1__1__Impl
2836 @init {
2837 int stackSize = keepStackSize();
2838 }
2839:
2840(
2841 { before(grammarAccess.getConjunctionAccess().getLiteralsAssignment_1_1()); }
2842 (rule__Conjunction__LiteralsAssignment_1_1)
2843 { after(grammarAccess.getConjunctionAccess().getLiteralsAssignment_1_1()); }
2844)
2845;
2846finally {
2847 restoreStackSize(stackSize);
2848}
2849
2850
2851rule__NegativeLiteral__Group__0
2852 @init {
2853 int stackSize = keepStackSize();
2854 }
2855:
2856 rule__NegativeLiteral__Group__0__Impl
2857 rule__NegativeLiteral__Group__1
2858;
2859finally {
2860 restoreStackSize(stackSize);
2861}
2862
2863rule__NegativeLiteral__Group__0__Impl
2864 @init {
2865 int stackSize = keepStackSize();
2866 }
2867:
2868(
2869 { before(grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0()); }
2870 '!'
2871 { after(grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0()); }
2872)
2873;
2874finally {
2875 restoreStackSize(stackSize);
2876}
2877
2878rule__NegativeLiteral__Group__1
2879 @init {
2880 int stackSize = keepStackSize();
2881 }
2882:
2883 rule__NegativeLiteral__Group__1__Impl
2884;
2885finally {
2886 restoreStackSize(stackSize);
2887}
2888
2889rule__NegativeLiteral__Group__1__Impl
2890 @init {
2891 int stackSize = keepStackSize();
2892 }
2893:
2894(
2895 { before(grammarAccess.getNegativeLiteralAccess().getAtomAssignment_1()); }
2896 (rule__NegativeLiteral__AtomAssignment_1)
2897 { after(grammarAccess.getNegativeLiteralAccess().getAtomAssignment_1()); }
2898)
2899;
2900finally {
2901 restoreStackSize(stackSize);
2902}
2903
2904
2905rule__Atom__Group__0
2906 @init {
2907 int stackSize = keepStackSize();
2908 }
2909:
2910 rule__Atom__Group__0__Impl
2911 rule__Atom__Group__1
2912;
2913finally {
2914 restoreStackSize(stackSize);
2915}
2916
2917rule__Atom__Group__0__Impl
2918 @init {
2919 int stackSize = keepStackSize();
2920 }
2921:
2922(
2923 { before(grammarAccess.getAtomAccess().getRelationAssignment_0()); }
2924 (rule__Atom__RelationAssignment_0)
2925 { after(grammarAccess.getAtomAccess().getRelationAssignment_0()); }
2926)
2927;
2928finally {
2929 restoreStackSize(stackSize);
2930}
2931
2932rule__Atom__Group__1
2933 @init {
2934 int stackSize = keepStackSize();
2935 }
2936:
2937 rule__Atom__Group__1__Impl
2938 rule__Atom__Group__2
2939;
2940finally {
2941 restoreStackSize(stackSize);
2942}
2943
2944rule__Atom__Group__1__Impl
2945 @init {
2946 int stackSize = keepStackSize();
2947 }
2948:
2949(
2950 { before(grammarAccess.getAtomAccess().getTransitiveClosureAssignment_1()); }
2951 (rule__Atom__TransitiveClosureAssignment_1)?
2952 { after(grammarAccess.getAtomAccess().getTransitiveClosureAssignment_1()); }
2953)
2954;
2955finally {
2956 restoreStackSize(stackSize);
2957}
2958
2959rule__Atom__Group__2
2960 @init {
2961 int stackSize = keepStackSize();
2962 }
2963:
2964 rule__Atom__Group__2__Impl
2965 rule__Atom__Group__3
2966;
2967finally {
2968 restoreStackSize(stackSize);
2969}
2970
2971rule__Atom__Group__2__Impl
2972 @init {
2973 int stackSize = keepStackSize();
2974 }
2975:
2976(
2977 { before(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2()); }
2978 '('
2979 { after(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2()); }
2980)
2981;
2982finally {
2983 restoreStackSize(stackSize);
2984}
2985
2986rule__Atom__Group__3
2987 @init {
2988 int stackSize = keepStackSize();
2989 }
2990:
2991 rule__Atom__Group__3__Impl
2992 rule__Atom__Group__4
2993;
2994finally {
2995 restoreStackSize(stackSize);
2996}
2997
2998rule__Atom__Group__3__Impl
2999 @init {
3000 int stackSize = keepStackSize();
3001 }
3002:
3003(
3004 { before(grammarAccess.getAtomAccess().getGroup_3()); }
3005 (rule__Atom__Group_3__0)?
3006 { after(grammarAccess.getAtomAccess().getGroup_3()); }
3007)
3008;
3009finally {
3010 restoreStackSize(stackSize);
3011}
3012
3013rule__Atom__Group__4
3014 @init {
3015 int stackSize = keepStackSize();
3016 }
3017:
3018 rule__Atom__Group__4__Impl
3019;
3020finally {
3021 restoreStackSize(stackSize);
3022}
3023
3024rule__Atom__Group__4__Impl
3025 @init {
3026 int stackSize = keepStackSize();
3027 }
3028:
3029(
3030 { before(grammarAccess.getAtomAccess().getRightParenthesisKeyword_4()); }
3031 ')'
3032 { after(grammarAccess.getAtomAccess().getRightParenthesisKeyword_4()); }
3033)
3034;
3035finally {
3036 restoreStackSize(stackSize);
3037}
3038
3039
3040rule__Atom__Group_3__0
3041 @init {
3042 int stackSize = keepStackSize();
3043 }
3044:
3045 rule__Atom__Group_3__0__Impl
3046 rule__Atom__Group_3__1
3047;
3048finally {
3049 restoreStackSize(stackSize);
3050}
3051
3052rule__Atom__Group_3__0__Impl
3053 @init {
3054 int stackSize = keepStackSize();
3055 }
3056:
3057(
3058 { before(grammarAccess.getAtomAccess().getArgumentsAssignment_3_0()); }
3059 (rule__Atom__ArgumentsAssignment_3_0)
3060 { after(grammarAccess.getAtomAccess().getArgumentsAssignment_3_0()); }
3061)
3062;
3063finally {
3064 restoreStackSize(stackSize);
3065}
3066
3067rule__Atom__Group_3__1
3068 @init {
3069 int stackSize = keepStackSize();
3070 }
3071:
3072 rule__Atom__Group_3__1__Impl
3073;
3074finally {
3075 restoreStackSize(stackSize);
3076}
3077
3078rule__Atom__Group_3__1__Impl
3079 @init {
3080 int stackSize = keepStackSize();
3081 }
3082:
3083(
3084 { before(grammarAccess.getAtomAccess().getGroup_3_1()); }
3085 (rule__Atom__Group_3_1__0)*
3086 { after(grammarAccess.getAtomAccess().getGroup_3_1()); }
3087)
3088;
3089finally {
3090 restoreStackSize(stackSize);
3091}
3092
3093
3094rule__Atom__Group_3_1__0
3095 @init {
3096 int stackSize = keepStackSize();
3097 }
3098:
3099 rule__Atom__Group_3_1__0__Impl
3100 rule__Atom__Group_3_1__1
3101;
3102finally {
3103 restoreStackSize(stackSize);
3104}
3105
3106rule__Atom__Group_3_1__0__Impl
3107 @init {
3108 int stackSize = keepStackSize();
3109 }
3110:
3111(
3112 { before(grammarAccess.getAtomAccess().getCommaKeyword_3_1_0()); }
3113 ','
3114 { after(grammarAccess.getAtomAccess().getCommaKeyword_3_1_0()); }
3115)
3116;
3117finally {
3118 restoreStackSize(stackSize);
3119}
3120
3121rule__Atom__Group_3_1__1
3122 @init {
3123 int stackSize = keepStackSize();
3124 }
3125:
3126 rule__Atom__Group_3_1__1__Impl
3127;
3128finally {
3129 restoreStackSize(stackSize);
3130}
3131
3132rule__Atom__Group_3_1__1__Impl
3133 @init {
3134 int stackSize = keepStackSize();
3135 }
3136:
3137(
3138 { before(grammarAccess.getAtomAccess().getArgumentsAssignment_3_1_1()); }
3139 (rule__Atom__ArgumentsAssignment_3_1_1)
3140 { after(grammarAccess.getAtomAccess().getArgumentsAssignment_3_1_1()); }
3141)
3142;
3143finally {
3144 restoreStackSize(stackSize);
3145}
3146
3147
3148rule__Assertion__Group__0
3149 @init {
3150 int stackSize = keepStackSize();
3151 }
3152:
3153 rule__Assertion__Group__0__Impl
3154 rule__Assertion__Group__1
3155;
3156finally {
3157 restoreStackSize(stackSize);
3158}
3159
3160rule__Assertion__Group__0__Impl
3161 @init {
3162 int stackSize = keepStackSize();
3163 }
3164:
3165(
3166 { before(grammarAccess.getAssertionAccess().getAlternatives_0()); }
3167 (rule__Assertion__Alternatives_0)
3168 { after(grammarAccess.getAssertionAccess().getAlternatives_0()); }
3169)
3170;
3171finally {
3172 restoreStackSize(stackSize);
3173}
3174
3175rule__Assertion__Group__1
3176 @init {
3177 int stackSize = keepStackSize();
3178 }
3179:
3180 rule__Assertion__Group__1__Impl
3181;
3182finally {
3183 restoreStackSize(stackSize);
3184}
3185
3186rule__Assertion__Group__1__Impl
3187 @init {
3188 int stackSize = keepStackSize();
3189 }
3190:
3191(
3192 { before(grammarAccess.getAssertionAccess().getFullStopKeyword_1()); }
3193 '.'
3194 { after(grammarAccess.getAssertionAccess().getFullStopKeyword_1()); }
3195)
3196;
3197finally {
3198 restoreStackSize(stackSize);
3199}
3200
3201
3202rule__Assertion__Group_0_0__0
3203 @init {
3204 int stackSize = keepStackSize();
3205 }
3206:
3207 rule__Assertion__Group_0_0__0__Impl
3208 rule__Assertion__Group_0_0__1
3209;
3210finally {
3211 restoreStackSize(stackSize);
3212}
3213
3214rule__Assertion__Group_0_0__0__Impl
3215 @init {
3216 int stackSize = keepStackSize();
3217 }
3218:
3219(
3220 { before(grammarAccess.getAssertionAccess().getRelationAssignment_0_0_0()); }
3221 (rule__Assertion__RelationAssignment_0_0_0)
3222 { after(grammarAccess.getAssertionAccess().getRelationAssignment_0_0_0()); }
3223)
3224;
3225finally {
3226 restoreStackSize(stackSize);
3227}
3228
3229rule__Assertion__Group_0_0__1
3230 @init {
3231 int stackSize = keepStackSize();
3232 }
3233:
3234 rule__Assertion__Group_0_0__1__Impl
3235 rule__Assertion__Group_0_0__2
3236;
3237finally {
3238 restoreStackSize(stackSize);
3239}
3240
3241rule__Assertion__Group_0_0__1__Impl
3242 @init {
3243 int stackSize = keepStackSize();
3244 }
3245:
3246(
3247 { before(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1()); }
3248 '('
3249 { after(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1()); }
3250)
3251;
3252finally {
3253 restoreStackSize(stackSize);
3254}
3255
3256rule__Assertion__Group_0_0__2
3257 @init {
3258 int stackSize = keepStackSize();
3259 }
3260:
3261 rule__Assertion__Group_0_0__2__Impl
3262 rule__Assertion__Group_0_0__3
3263;
3264finally {
3265 restoreStackSize(stackSize);
3266}
3267
3268rule__Assertion__Group_0_0__2__Impl
3269 @init {
3270 int stackSize = keepStackSize();
3271 }
3272:
3273(
3274 { before(grammarAccess.getAssertionAccess().getGroup_0_0_2()); }
3275 (rule__Assertion__Group_0_0_2__0)?
3276 { after(grammarAccess.getAssertionAccess().getGroup_0_0_2()); }
3277)
3278;
3279finally {
3280 restoreStackSize(stackSize);
3281}
3282
3283rule__Assertion__Group_0_0__3
3284 @init {
3285 int stackSize = keepStackSize();
3286 }
3287:
3288 rule__Assertion__Group_0_0__3__Impl
3289 rule__Assertion__Group_0_0__4
3290;
3291finally {
3292 restoreStackSize(stackSize);
3293}
3294
3295rule__Assertion__Group_0_0__3__Impl
3296 @init {
3297 int stackSize = keepStackSize();
3298 }
3299:
3300(
3301 { before(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3()); }
3302 ')'
3303 { after(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3()); }
3304)
3305;
3306finally {
3307 restoreStackSize(stackSize);
3308}
3309
3310rule__Assertion__Group_0_0__4
3311 @init {
3312 int stackSize = keepStackSize();
3313 }
3314:
3315 rule__Assertion__Group_0_0__4__Impl
3316 rule__Assertion__Group_0_0__5
3317;
3318finally {
3319 restoreStackSize(stackSize);
3320}
3321
3322rule__Assertion__Group_0_0__4__Impl
3323 @init {
3324 int stackSize = keepStackSize();
3325 }
3326:
3327(
3328 { before(grammarAccess.getAssertionAccess().getColonKeyword_0_0_4()); }
3329 ':'
3330 { after(grammarAccess.getAssertionAccess().getColonKeyword_0_0_4()); }
3331)
3332;
3333finally {
3334 restoreStackSize(stackSize);
3335}
3336
3337rule__Assertion__Group_0_0__5
3338 @init {
3339 int stackSize = keepStackSize();
3340 }
3341:
3342 rule__Assertion__Group_0_0__5__Impl
3343;
3344finally {
3345 restoreStackSize(stackSize);
3346}
3347
3348rule__Assertion__Group_0_0__5__Impl
3349 @init {
3350 int stackSize = keepStackSize();
3351 }
3352:
3353(
3354 { before(grammarAccess.getAssertionAccess().getValueAssignment_0_0_5()); }
3355 (rule__Assertion__ValueAssignment_0_0_5)
3356 { after(grammarAccess.getAssertionAccess().getValueAssignment_0_0_5()); }
3357)
3358;
3359finally {
3360 restoreStackSize(stackSize);
3361}
3362
3363
3364rule__Assertion__Group_0_0_2__0
3365 @init {
3366 int stackSize = keepStackSize();
3367 }
3368:
3369 rule__Assertion__Group_0_0_2__0__Impl
3370 rule__Assertion__Group_0_0_2__1
3371;
3372finally {
3373 restoreStackSize(stackSize);
3374}
3375
3376rule__Assertion__Group_0_0_2__0__Impl
3377 @init {
3378 int stackSize = keepStackSize();
3379 }
3380:
3381(
3382 { before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_0()); }
3383 (rule__Assertion__ArgumentsAssignment_0_0_2_0)
3384 { after(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_0()); }
3385)
3386;
3387finally {
3388 restoreStackSize(stackSize);
3389}
3390
3391rule__Assertion__Group_0_0_2__1
3392 @init {
3393 int stackSize = keepStackSize();
3394 }
3395:
3396 rule__Assertion__Group_0_0_2__1__Impl
3397;
3398finally {
3399 restoreStackSize(stackSize);
3400}
3401
3402rule__Assertion__Group_0_0_2__1__Impl
3403 @init {
3404 int stackSize = keepStackSize();
3405 }
3406:
3407(
3408 { before(grammarAccess.getAssertionAccess().getGroup_0_0_2_1()); }
3409 (rule__Assertion__Group_0_0_2_1__0)*
3410 { after(grammarAccess.getAssertionAccess().getGroup_0_0_2_1()); }
3411)
3412;
3413finally {
3414 restoreStackSize(stackSize);
3415}
3416
3417
3418rule__Assertion__Group_0_0_2_1__0
3419 @init {
3420 int stackSize = keepStackSize();
3421 }
3422:
3423 rule__Assertion__Group_0_0_2_1__0__Impl
3424 rule__Assertion__Group_0_0_2_1__1
3425;
3426finally {
3427 restoreStackSize(stackSize);
3428}
3429
3430rule__Assertion__Group_0_0_2_1__0__Impl
3431 @init {
3432 int stackSize = keepStackSize();
3433 }
3434:
3435(
3436 { before(grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0()); }
3437 ','
3438 { after(grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0()); }
3439)
3440;
3441finally {
3442 restoreStackSize(stackSize);
3443}
3444
3445rule__Assertion__Group_0_0_2_1__1
3446 @init {
3447 int stackSize = keepStackSize();
3448 }
3449:
3450 rule__Assertion__Group_0_0_2_1__1__Impl
3451;
3452finally {
3453 restoreStackSize(stackSize);
3454}
3455
3456rule__Assertion__Group_0_0_2_1__1__Impl
3457 @init {
3458 int stackSize = keepStackSize();
3459 }
3460:
3461(
3462 { before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_1_1()); }
3463 (rule__Assertion__ArgumentsAssignment_0_0_2_1_1)
3464 { after(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_1_1()); }
3465)
3466;
3467finally {
3468 restoreStackSize(stackSize);
3469}
3470
3471
3472rule__Assertion__Group_0_1__0
3473 @init {
3474 int stackSize = keepStackSize();
3475 }
3476:
3477 rule__Assertion__Group_0_1__0__Impl
3478 rule__Assertion__Group_0_1__1
3479;
3480finally {
3481 restoreStackSize(stackSize);
3482}
3483
3484rule__Assertion__Group_0_1__0__Impl
3485 @init {
3486 int stackSize = keepStackSize();
3487 }
3488:
3489(
3490 { before(grammarAccess.getAssertionAccess().getValueAssignment_0_1_0()); }
3491 (rule__Assertion__ValueAssignment_0_1_0)?
3492 { after(grammarAccess.getAssertionAccess().getValueAssignment_0_1_0()); }
3493)
3494;
3495finally {
3496 restoreStackSize(stackSize);
3497}
3498
3499rule__Assertion__Group_0_1__1
3500 @init {
3501 int stackSize = keepStackSize();
3502 }
3503:
3504 rule__Assertion__Group_0_1__1__Impl
3505 rule__Assertion__Group_0_1__2
3506;
3507finally {
3508 restoreStackSize(stackSize);
3509}
3510
3511rule__Assertion__Group_0_1__1__Impl
3512 @init {
3513 int stackSize = keepStackSize();
3514 }
3515:
3516(
3517 { before(grammarAccess.getAssertionAccess().getRelationAssignment_0_1_1()); }
3518 (rule__Assertion__RelationAssignment_0_1_1)
3519 { after(grammarAccess.getAssertionAccess().getRelationAssignment_0_1_1()); }
3520)
3521;
3522finally {
3523 restoreStackSize(stackSize);
3524}
3525
3526rule__Assertion__Group_0_1__2
3527 @init {
3528 int stackSize = keepStackSize();
3529 }
3530:
3531 rule__Assertion__Group_0_1__2__Impl
3532 rule__Assertion__Group_0_1__3
3533;
3534finally {
3535 restoreStackSize(stackSize);
3536}
3537
3538rule__Assertion__Group_0_1__2__Impl
3539 @init {
3540 int stackSize = keepStackSize();
3541 }
3542:
3543(
3544 { before(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2()); }
3545 '('
3546 { after(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2()); }
3547)
3548;
3549finally {
3550 restoreStackSize(stackSize);
3551}
3552
3553rule__Assertion__Group_0_1__3
3554 @init {
3555 int stackSize = keepStackSize();
3556 }
3557:
3558 rule__Assertion__Group_0_1__3__Impl
3559 rule__Assertion__Group_0_1__4
3560;
3561finally {
3562 restoreStackSize(stackSize);
3563}
3564
3565rule__Assertion__Group_0_1__3__Impl
3566 @init {
3567 int stackSize = keepStackSize();
3568 }
3569:
3570(
3571 { before(grammarAccess.getAssertionAccess().getGroup_0_1_3()); }
3572 (rule__Assertion__Group_0_1_3__0)?
3573 { after(grammarAccess.getAssertionAccess().getGroup_0_1_3()); }
3574)
3575;
3576finally {
3577 restoreStackSize(stackSize);
3578}
3579
3580rule__Assertion__Group_0_1__4
3581 @init {
3582 int stackSize = keepStackSize();
3583 }
3584:
3585 rule__Assertion__Group_0_1__4__Impl
3586;
3587finally {
3588 restoreStackSize(stackSize);
3589}
3590
3591rule__Assertion__Group_0_1__4__Impl
3592 @init {
3593 int stackSize = keepStackSize();
3594 }
3595:
3596(
3597 { before(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4()); }
3598 ')'
3599 { after(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4()); }
3600)
3601;
3602finally {
3603 restoreStackSize(stackSize);
3604}
3605
3606
3607rule__Assertion__Group_0_1_3__0
3608 @init {
3609 int stackSize = keepStackSize();
3610 }
3611:
3612 rule__Assertion__Group_0_1_3__0__Impl
3613 rule__Assertion__Group_0_1_3__1
3614;
3615finally {
3616 restoreStackSize(stackSize);
3617}
3618
3619rule__Assertion__Group_0_1_3__0__Impl
3620 @init {
3621 int stackSize = keepStackSize();
3622 }
3623:
3624(
3625 { before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_0()); }
3626 (rule__Assertion__ArgumentsAssignment_0_1_3_0)
3627 { after(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_0()); }
3628)
3629;
3630finally {
3631 restoreStackSize(stackSize);
3632}
3633
3634rule__Assertion__Group_0_1_3__1
3635 @init {
3636 int stackSize = keepStackSize();
3637 }
3638:
3639 rule__Assertion__Group_0_1_3__1__Impl
3640;
3641finally {
3642 restoreStackSize(stackSize);
3643}
3644
3645rule__Assertion__Group_0_1_3__1__Impl
3646 @init {
3647 int stackSize = keepStackSize();
3648 }
3649:
3650(
3651 { before(grammarAccess.getAssertionAccess().getGroup_0_1_3_1()); }
3652 (rule__Assertion__Group_0_1_3_1__0)*
3653 { after(grammarAccess.getAssertionAccess().getGroup_0_1_3_1()); }
3654)
3655;
3656finally {
3657 restoreStackSize(stackSize);
3658}
3659
3660
3661rule__Assertion__Group_0_1_3_1__0
3662 @init {
3663 int stackSize = keepStackSize();
3664 }
3665:
3666 rule__Assertion__Group_0_1_3_1__0__Impl
3667 rule__Assertion__Group_0_1_3_1__1
3668;
3669finally {
3670 restoreStackSize(stackSize);
3671}
3672
3673rule__Assertion__Group_0_1_3_1__0__Impl
3674 @init {
3675 int stackSize = keepStackSize();
3676 }
3677:
3678(
3679 { before(grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0()); }
3680 ','
3681 { after(grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0()); }
3682)
3683;
3684finally {
3685 restoreStackSize(stackSize);
3686}
3687
3688rule__Assertion__Group_0_1_3_1__1
3689 @init {
3690 int stackSize = keepStackSize();
3691 }
3692:
3693 rule__Assertion__Group_0_1_3_1__1__Impl
3694;
3695finally {
3696 restoreStackSize(stackSize);
3697}
3698
3699rule__Assertion__Group_0_1_3_1__1__Impl
3700 @init {
3701 int stackSize = keepStackSize();
3702 }
3703:
3704(
3705 { before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_1_1()); }
3706 (rule__Assertion__ArgumentsAssignment_0_1_3_1_1)
3707 { after(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_1_1()); }
3708)
3709;
3710finally {
3711 restoreStackSize(stackSize);
3712}
3713
3714
3715rule__ScopeDeclaration__Group__0
3716 @init {
3717 int stackSize = keepStackSize();
3718 }
3719:
3720 rule__ScopeDeclaration__Group__0__Impl
3721 rule__ScopeDeclaration__Group__1
3722;
3723finally {
3724 restoreStackSize(stackSize);
3725}
3726
3727rule__ScopeDeclaration__Group__0__Impl
3728 @init {
3729 int stackSize = keepStackSize();
3730 }
3731:
3732(
3733 { before(grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0()); }
3734 'scope'
3735 { after(grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0()); }
3736)
3737;
3738finally {
3739 restoreStackSize(stackSize);
3740}
3741
3742rule__ScopeDeclaration__Group__1
3743 @init {
3744 int stackSize = keepStackSize();
3745 }
3746:
3747 rule__ScopeDeclaration__Group__1__Impl
3748 rule__ScopeDeclaration__Group__2
3749;
3750finally {
3751 restoreStackSize(stackSize);
3752}
3753
3754rule__ScopeDeclaration__Group__1__Impl
3755 @init {
3756 int stackSize = keepStackSize();
3757 }
3758:
3759(
3760 { before(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_1()); }
3761 (rule__ScopeDeclaration__TypeScopesAssignment_1)
3762 { after(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_1()); }
3763)
3764;
3765finally {
3766 restoreStackSize(stackSize);
3767}
3768
3769rule__ScopeDeclaration__Group__2
3770 @init {
3771 int stackSize = keepStackSize();
3772 }
3773:
3774 rule__ScopeDeclaration__Group__2__Impl
3775 rule__ScopeDeclaration__Group__3
3776;
3777finally {
3778 restoreStackSize(stackSize);
3779}
3780
3781rule__ScopeDeclaration__Group__2__Impl
3782 @init {
3783 int stackSize = keepStackSize();
3784 }
3785:
3786(
3787 { before(grammarAccess.getScopeDeclarationAccess().getGroup_2()); }
3788 (rule__ScopeDeclaration__Group_2__0)*
3789 { after(grammarAccess.getScopeDeclarationAccess().getGroup_2()); }
3790)
3791;
3792finally {
3793 restoreStackSize(stackSize);
3794}
3795
3796rule__ScopeDeclaration__Group__3
3797 @init {
3798 int stackSize = keepStackSize();
3799 }
3800:
3801 rule__ScopeDeclaration__Group__3__Impl
3802;
3803finally {
3804 restoreStackSize(stackSize);
3805}
3806
3807rule__ScopeDeclaration__Group__3__Impl
3808 @init {
3809 int stackSize = keepStackSize();
3810 }
3811:
3812(
3813 { before(grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3()); }
3814 '.'
3815 { after(grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3()); }
3816)
3817;
3818finally {
3819 restoreStackSize(stackSize);
3820}
3821
3822
3823rule__ScopeDeclaration__Group_2__0
3824 @init {
3825 int stackSize = keepStackSize();
3826 }
3827:
3828 rule__ScopeDeclaration__Group_2__0__Impl
3829 rule__ScopeDeclaration__Group_2__1
3830;
3831finally {
3832 restoreStackSize(stackSize);
3833}
3834
3835rule__ScopeDeclaration__Group_2__0__Impl
3836 @init {
3837 int stackSize = keepStackSize();
3838 }
3839:
3840(
3841 { before(grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0()); }
3842 ','
3843 { after(grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0()); }
3844)
3845;
3846finally {
3847 restoreStackSize(stackSize);
3848}
3849
3850rule__ScopeDeclaration__Group_2__1
3851 @init {
3852 int stackSize = keepStackSize();
3853 }
3854:
3855 rule__ScopeDeclaration__Group_2__1__Impl
3856;
3857finally {
3858 restoreStackSize(stackSize);
3859}
3860
3861rule__ScopeDeclaration__Group_2__1__Impl
3862 @init {
3863 int stackSize = keepStackSize();
3864 }
3865:
3866(
3867 { before(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_2_1()); }
3868 (rule__ScopeDeclaration__TypeScopesAssignment_2_1)
3869 { after(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_2_1()); }
3870)
3871;
3872finally {
3873 restoreStackSize(stackSize);
3874}
3875
3876
3877rule__TypeScope__Group__0
3878 @init {
3879 int stackSize = keepStackSize();
3880 }
3881:
3882 rule__TypeScope__Group__0__Impl
3883 rule__TypeScope__Group__1
3884;
3885finally {
3886 restoreStackSize(stackSize);
3887}
3888
3889rule__TypeScope__Group__0__Impl
3890 @init {
3891 int stackSize = keepStackSize();
3892 }
3893:
3894(
3895 { before(grammarAccess.getTypeScopeAccess().getTargetTypeAssignment_0()); }
3896 (rule__TypeScope__TargetTypeAssignment_0)
3897 { after(grammarAccess.getTypeScopeAccess().getTargetTypeAssignment_0()); }
3898)
3899;
3900finally {
3901 restoreStackSize(stackSize);
3902}
3903
3904rule__TypeScope__Group__1
3905 @init {
3906 int stackSize = keepStackSize();
3907 }
3908:
3909 rule__TypeScope__Group__1__Impl
3910 rule__TypeScope__Group__2
3911;
3912finally {
3913 restoreStackSize(stackSize);
3914}
3915
3916rule__TypeScope__Group__1__Impl
3917 @init {
3918 int stackSize = keepStackSize();
3919 }
3920:
3921(
3922 { before(grammarAccess.getTypeScopeAccess().getAlternatives_1()); }
3923 (rule__TypeScope__Alternatives_1)
3924 { after(grammarAccess.getTypeScopeAccess().getAlternatives_1()); }
3925)
3926;
3927finally {
3928 restoreStackSize(stackSize);
3929}
3930
3931rule__TypeScope__Group__2
3932 @init {
3933 int stackSize = keepStackSize();
3934 }
3935:
3936 rule__TypeScope__Group__2__Impl
3937;
3938finally {
3939 restoreStackSize(stackSize);
3940}
3941
3942rule__TypeScope__Group__2__Impl
3943 @init {
3944 int stackSize = keepStackSize();
3945 }
3946:
3947(
3948 { before(grammarAccess.getTypeScopeAccess().getMultiplicityAssignment_2()); }
3949 (rule__TypeScope__MultiplicityAssignment_2)
3950 { after(grammarAccess.getTypeScopeAccess().getMultiplicityAssignment_2()); }
3951)
3952;
3953finally {
3954 restoreStackSize(stackSize);
3955}
3956
3957
3958rule__RangeMultiplicity__Group__0
3959 @init {
3960 int stackSize = keepStackSize();
3961 }
3962:
3963 rule__RangeMultiplicity__Group__0__Impl
3964 rule__RangeMultiplicity__Group__1
3965;
3966finally {
3967 restoreStackSize(stackSize);
3968}
3969
3970rule__RangeMultiplicity__Group__0__Impl
3971 @init {
3972 int stackSize = keepStackSize();
3973 }
3974:
3975(
3976 { before(grammarAccess.getRangeMultiplicityAccess().getLowerBoundAssignment_0()); }
3977 (rule__RangeMultiplicity__LowerBoundAssignment_0)
3978 { after(grammarAccess.getRangeMultiplicityAccess().getLowerBoundAssignment_0()); }
3979)
3980;
3981finally {
3982 restoreStackSize(stackSize);
3983}
3984
3985rule__RangeMultiplicity__Group__1
3986 @init {
3987 int stackSize = keepStackSize();
3988 }
3989:
3990 rule__RangeMultiplicity__Group__1__Impl
3991 rule__RangeMultiplicity__Group__2
3992;
3993finally {
3994 restoreStackSize(stackSize);
3995}
3996
3997rule__RangeMultiplicity__Group__1__Impl
3998 @init {
3999 int stackSize = keepStackSize();
4000 }
4001:
4002(
4003 { before(grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1()); }
4004 '..'
4005 { after(grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1()); }
4006)
4007;
4008finally {
4009 restoreStackSize(stackSize);
4010}
4011
4012rule__RangeMultiplicity__Group__2
4013 @init {
4014 int stackSize = keepStackSize();
4015 }
4016:
4017 rule__RangeMultiplicity__Group__2__Impl
4018;
4019finally {
4020 restoreStackSize(stackSize);
4021}
4022
4023rule__RangeMultiplicity__Group__2__Impl
4024 @init {
4025 int stackSize = keepStackSize();
4026 }
4027:
4028(
4029 { before(grammarAccess.getRangeMultiplicityAccess().getUpperBoundAssignment_2()); }
4030 (rule__RangeMultiplicity__UpperBoundAssignment_2)
4031 { after(grammarAccess.getRangeMultiplicityAccess().getUpperBoundAssignment_2()); }
4032)
4033;
4034finally {
4035 restoreStackSize(stackSize);
4036}
4037
4038
4039rule__QualifiedName__Group_1__0
4040 @init {
4041 int stackSize = keepStackSize();
4042 }
4043:
4044 rule__QualifiedName__Group_1__0__Impl
4045 rule__QualifiedName__Group_1__1
4046;
4047finally {
4048 restoreStackSize(stackSize);
4049}
4050
4051rule__QualifiedName__Group_1__0__Impl
4052 @init {
4053 int stackSize = keepStackSize();
4054 }
4055:
4056(
4057 { before(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_0()); }
4058 ruleIdentifier
4059 { after(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_0()); }
4060)
4061;
4062finally {
4063 restoreStackSize(stackSize);
4064}
4065
4066rule__QualifiedName__Group_1__1
4067 @init {
4068 int stackSize = keepStackSize();
4069 }
4070:
4071 rule__QualifiedName__Group_1__1__Impl
4072 rule__QualifiedName__Group_1__2
4073;
4074finally {
4075 restoreStackSize(stackSize);
4076}
4077
4078rule__QualifiedName__Group_1__1__Impl
4079 @init {
4080 int stackSize = keepStackSize();
4081 }
4082:
4083(
4084 { before(grammarAccess.getQualifiedNameAccess().getGroup_1_1()); }
4085 (rule__QualifiedName__Group_1_1__0)*
4086 { after(grammarAccess.getQualifiedNameAccess().getGroup_1_1()); }
4087)
4088;
4089finally {
4090 restoreStackSize(stackSize);
4091}
4092
4093rule__QualifiedName__Group_1__2
4094 @init {
4095 int stackSize = keepStackSize();
4096 }
4097:
4098 rule__QualifiedName__Group_1__2__Impl
4099;
4100finally {
4101 restoreStackSize(stackSize);
4102}
4103
4104rule__QualifiedName__Group_1__2__Impl
4105 @init {
4106 int stackSize = keepStackSize();
4107 }
4108:
4109(
4110 { before(grammarAccess.getQualifiedNameAccess().getGroup_1_2()); }
4111 (rule__QualifiedName__Group_1_2__0)?
4112 { after(grammarAccess.getQualifiedNameAccess().getGroup_1_2()); }
4113)
4114;
4115finally {
4116 restoreStackSize(stackSize);
4117}
4118
4119
4120rule__QualifiedName__Group_1_1__0
4121 @init {
4122 int stackSize = keepStackSize();
4123 }
4124:
4125 rule__QualifiedName__Group_1_1__0__Impl
4126 rule__QualifiedName__Group_1_1__1
4127;
4128finally {
4129 restoreStackSize(stackSize);
4130}
4131
4132rule__QualifiedName__Group_1_1__0__Impl
4133 @init {
4134 int stackSize = keepStackSize();
4135 }
4136:
4137(
4138 { before(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0()); }
4139 ':'
4140 { after(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0()); }
4141)
4142;
4143finally {
4144 restoreStackSize(stackSize);
4145}
4146
4147rule__QualifiedName__Group_1_1__1
4148 @init {
4149 int stackSize = keepStackSize();
4150 }
4151:
4152 rule__QualifiedName__Group_1_1__1__Impl
4153;
4154finally {
4155 restoreStackSize(stackSize);
4156}
4157
4158rule__QualifiedName__Group_1_1__1__Impl
4159 @init {
4160 int stackSize = keepStackSize();
4161 }
4162:
4163(
4164 { before(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1()); }
4165 ruleIdentifier
4166 { after(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1()); }
4167)
4168;
4169finally {
4170 restoreStackSize(stackSize);
4171}
4172
4173
4174rule__QualifiedName__Group_1_2__0
4175 @init {
4176 int stackSize = keepStackSize();
4177 }
4178:
4179 rule__QualifiedName__Group_1_2__0__Impl
4180 rule__QualifiedName__Group_1_2__1
4181;
4182finally {
4183 restoreStackSize(stackSize);
4184}
4185
4186rule__QualifiedName__Group_1_2__0__Impl
4187 @init {
4188 int stackSize = keepStackSize();
4189 }
4190:
4191(
4192 { before(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0()); }
4193 ':'
4194 { after(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0()); }
4195)
4196;
4197finally {
4198 restoreStackSize(stackSize);
4199}
4200
4201rule__QualifiedName__Group_1_2__1
4202 @init {
4203 int stackSize = keepStackSize();
4204 }
4205:
4206 rule__QualifiedName__Group_1_2__1__Impl
4207;
4208finally {
4209 restoreStackSize(stackSize);
4210}
4211
4212rule__QualifiedName__Group_1_2__1__Impl
4213 @init {
4214 int stackSize = keepStackSize();
4215 }
4216:
4217(
4218 { before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1()); }
4219 RULE_QUOTED_ID
4220 { after(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1()); }
4221)
4222;
4223finally {
4224 restoreStackSize(stackSize);
4225}
4226
4227
4228rule__Problem__NameAssignment_0_1
4229 @init {
4230 int stackSize = keepStackSize();
4231 }
4232:
4233 (
4234 { before(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0()); }
4235 ruleIdentifier
4236 { after(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0()); }
4237 )
4238;
4239finally {
4240 restoreStackSize(stackSize);
4241}
4242
4243rule__Problem__StatementsAssignment_1
4244 @init {
4245 int stackSize = keepStackSize();
4246 }
4247:
4248 (
4249 { before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0()); }
4250 ruleStatement
4251 { after(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0()); }
4252 )
4253;
4254finally {
4255 restoreStackSize(stackSize);
4256}
4257
4258rule__ClassDeclaration__AbstractAssignment_0
4259 @init {
4260 int stackSize = keepStackSize();
4261 }
4262:
4263 (
4264 { before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); }
4265 (
4266 { before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); }
4267 'abstract'
4268 { after(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); }
4269 )
4270 { after(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); }
4271 )
4272;
4273finally {
4274 restoreStackSize(stackSize);
4275}
4276
4277rule__ClassDeclaration__NameAssignment_2
4278 @init {
4279 int stackSize = keepStackSize();
4280 }
4281:
4282 (
4283 { before(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0()); }
4284 ruleIdentifier
4285 { after(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0()); }
4286 )
4287;
4288finally {
4289 restoreStackSize(stackSize);
4290}
4291
4292rule__ClassDeclaration__SuperTypesAssignment_3_1
4293 @init {
4294 int stackSize = keepStackSize();
4295 }
4296:
4297 (
4298 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0()); }
4299 (
4300 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1()); }
4301 ruleQualifiedName
4302 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1()); }
4303 )
4304 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0()); }
4305 )
4306;
4307finally {
4308 restoreStackSize(stackSize);
4309}
4310
4311rule__ClassDeclaration__SuperTypesAssignment_3_2_1
4312 @init {
4313 int stackSize = keepStackSize();
4314 }
4315:
4316 (
4317 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0()); }
4318 (
4319 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1()); }
4320 ruleQualifiedName
4321 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1()); }
4322 )
4323 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0()); }
4324 )
4325;
4326finally {
4327 restoreStackSize(stackSize);
4328}
4329
4330rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0
4331 @init {
4332 int stackSize = keepStackSize();
4333 }
4334:
4335 (
4336 { before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0()); }
4337 ruleReferenceDeclaration
4338 { after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0()); }
4339 )
4340;
4341finally {
4342 restoreStackSize(stackSize);
4343}
4344
4345rule__EnumDeclaration__NameAssignment_1
4346 @init {
4347 int stackSize = keepStackSize();
4348 }
4349:
4350 (
4351 { before(grammarAccess.getEnumDeclarationAccess().getNameIdentifierParserRuleCall_1_0()); }
4352 ruleIdentifier
4353 { after(grammarAccess.getEnumDeclarationAccess().getNameIdentifierParserRuleCall_1_0()); }
4354 )
4355;
4356finally {
4357 restoreStackSize(stackSize);
4358}
4359
4360rule__EnumDeclaration__LiteralsAssignment_2_0_1_0
4361 @init {
4362 int stackSize = keepStackSize();
4363 }
4364:
4365 (
4366 { before(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0()); }
4367 ruleEnumLiteral
4368 { after(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0()); }
4369 )
4370;
4371finally {
4372 restoreStackSize(stackSize);
4373}
4374
4375rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1
4376 @init {
4377 int stackSize = keepStackSize();
4378 }
4379:
4380 (
4381 { before(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0()); }
4382 ruleEnumLiteral
4383 { after(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0()); }
4384 )
4385;
4386finally {
4387 restoreStackSize(stackSize);
4388}
4389
4390rule__EnumLiteral__NameAssignment
4391 @init {
4392 int stackSize = keepStackSize();
4393 }
4394:
4395 (
4396 { before(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0()); }
4397 ruleQuotedOrUnquotedId
4398 { after(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0()); }
4399 )
4400;
4401finally {
4402 restoreStackSize(stackSize);
4403}
4404
4405rule__ReferenceDeclaration__ContainmentAssignment_0_0
4406 @init {
4407 int stackSize = keepStackSize();
4408 }
4409:
4410 (
4411 { before(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); }
4412 (
4413 { before(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); }
4414 'contains'
4415 { after(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); }
4416 )
4417 { after(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); }
4418 )
4419;
4420finally {
4421 restoreStackSize(stackSize);
4422}
4423
4424rule__ReferenceDeclaration__ReferenceTypeAssignment_1
4425 @init {
4426 int stackSize = keepStackSize();
4427 }
4428:
4429 (
4430 { before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0()); }
4431 (
4432 { before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1()); }
4433 ruleQualifiedName
4434 { after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1()); }
4435 )
4436 { after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0()); }
4437 )
4438;
4439finally {
4440 restoreStackSize(stackSize);
4441}
4442
4443rule__ReferenceDeclaration__MultiplicityAssignment_2_1
4444 @init {
4445 int stackSize = keepStackSize();
4446 }
4447:
4448 (
4449 { before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0()); }
4450 ruleMultiplicity
4451 { after(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0()); }
4452 )
4453;
4454finally {
4455 restoreStackSize(stackSize);
4456}
4457
4458rule__ReferenceDeclaration__NameAssignment_3
4459 @init {
4460 int stackSize = keepStackSize();
4461 }
4462:
4463 (
4464 { before(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0()); }
4465 ruleIdentifier
4466 { after(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0()); }
4467 )
4468;
4469finally {
4470 restoreStackSize(stackSize);
4471}
4472
4473rule__ReferenceDeclaration__OppositeAssignment_4_1
4474 @init {
4475 int stackSize = keepStackSize();
4476 }
4477:
4478 (
4479 { before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0()); }
4480 (
4481 { before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1()); }
4482 ruleQualifiedName
4483 { after(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1()); }
4484 )
4485 { after(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0()); }
4486 )
4487;
4488finally {
4489 restoreStackSize(stackSize);
4490}
4491
4492rule__PredicateDefinition__ErrorAssignment_0_0_0
4493 @init {
4494 int stackSize = keepStackSize();
4495 }
4496:
4497 (
4498 { before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); }
4499 (
4500 { before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); }
4501 'error'
4502 { after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); }
4503 )
4504 { after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); }
4505 )
4506;
4507finally {
4508 restoreStackSize(stackSize);
4509}
4510
4511rule__PredicateDefinition__NameAssignment_1
4512 @init {
4513 int stackSize = keepStackSize();
4514 }
4515:
4516 (
4517 { before(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0()); }
4518 ruleIdentifier
4519 { after(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0()); }
4520 )
4521;
4522finally {
4523 restoreStackSize(stackSize);
4524}
4525
4526rule__PredicateDefinition__ParametersAssignment_3_0
4527 @init {
4528 int stackSize = keepStackSize();
4529 }
4530:
4531 (
4532 { before(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0()); }
4533 ruleParameter
4534 { after(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0()); }
4535 )
4536;
4537finally {
4538 restoreStackSize(stackSize);
4539}
4540
4541rule__PredicateDefinition__ParametersAssignment_3_1_1
4542 @init {
4543 int stackSize = keepStackSize();
4544 }
4545:
4546 (
4547 { before(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0()); }
4548 ruleParameter
4549 { after(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0()); }
4550 )
4551;
4552finally {
4553 restoreStackSize(stackSize);
4554}
4555
4556rule__PredicateDefinition__BodiesAssignment_5_1
4557 @init {
4558 int stackSize = keepStackSize();
4559 }
4560:
4561 (
4562 { before(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0()); }
4563 ruleConjunction
4564 { after(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0()); }
4565 )
4566;
4567finally {
4568 restoreStackSize(stackSize);
4569}
4570
4571rule__PredicateDefinition__BodiesAssignment_5_2_1
4572 @init {
4573 int stackSize = keepStackSize();
4574 }
4575:
4576 (
4577 { before(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0()); }
4578 ruleConjunction
4579 { after(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0()); }
4580 )
4581;
4582finally {
4583 restoreStackSize(stackSize);
4584}
4585
4586rule__Parameter__ParameterTypeAssignment_0
4587 @init {
4588 int stackSize = keepStackSize();
4589 }
4590:
4591 (
4592 { before(grammarAccess.getParameterAccess().getParameterTypeRelationCrossReference_0_0()); }
4593 (
4594 { before(grammarAccess.getParameterAccess().getParameterTypeRelationQualifiedNameParserRuleCall_0_0_1()); }
4595 ruleQualifiedName
4596 { after(grammarAccess.getParameterAccess().getParameterTypeRelationQualifiedNameParserRuleCall_0_0_1()); }
4597 )
4598 { after(grammarAccess.getParameterAccess().getParameterTypeRelationCrossReference_0_0()); }
4599 )
4600;
4601finally {
4602 restoreStackSize(stackSize);
4603}
4604
4605rule__Parameter__NameAssignment_1
4606 @init {
4607 int stackSize = keepStackSize();
4608 }
4609:
4610 (
4611 { before(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0()); }
4612 ruleIdentifier
4613 { after(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0()); }
4614 )
4615;
4616finally {
4617 restoreStackSize(stackSize);
4618}
4619
4620rule__Conjunction__LiteralsAssignment_0
4621 @init {
4622 int stackSize = keepStackSize();
4623 }
4624:
4625 (
4626 { before(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0()); }
4627 ruleLiteral
4628 { after(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0()); }
4629 )
4630;
4631finally {
4632 restoreStackSize(stackSize);
4633}
4634
4635rule__Conjunction__LiteralsAssignment_1_1
4636 @init {
4637 int stackSize = keepStackSize();
4638 }
4639:
4640 (
4641 { before(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0()); }
4642 ruleLiteral
4643 { after(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0()); }
4644 )
4645;
4646finally {
4647 restoreStackSize(stackSize);
4648}
4649
4650rule__NegativeLiteral__AtomAssignment_1
4651 @init {
4652 int stackSize = keepStackSize();
4653 }
4654:
4655 (
4656 { before(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0()); }
4657 ruleAtom
4658 { after(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0()); }
4659 )
4660;
4661finally {
4662 restoreStackSize(stackSize);
4663}
4664
4665rule__Atom__RelationAssignment_0
4666 @init {
4667 int stackSize = keepStackSize();
4668 }
4669:
4670 (
4671 { before(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0()); }
4672 (
4673 { before(grammarAccess.getAtomAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_1()); }
4674 ruleQualifiedName
4675 { after(grammarAccess.getAtomAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_1()); }
4676 )
4677 { after(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0()); }
4678 )
4679;
4680finally {
4681 restoreStackSize(stackSize);
4682}
4683
4684rule__Atom__TransitiveClosureAssignment_1
4685 @init {
4686 int stackSize = keepStackSize();
4687 }
4688:
4689 (
4690 { before(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); }
4691 (
4692 { before(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); }
4693 '+'
4694 { after(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); }
4695 )
4696 { after(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); }
4697 )
4698;
4699finally {
4700 restoreStackSize(stackSize);
4701}
4702
4703rule__Atom__ArgumentsAssignment_3_0
4704 @init {
4705 int stackSize = keepStackSize();
4706 }
4707:
4708 (
4709 { before(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0()); }
4710 ruleArgument
4711 { after(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0()); }
4712 )
4713;
4714finally {
4715 restoreStackSize(stackSize);
4716}
4717
4718rule__Atom__ArgumentsAssignment_3_1_1
4719 @init {
4720 int stackSize = keepStackSize();
4721 }
4722:
4723 (
4724 { before(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0()); }
4725 ruleArgument
4726 { after(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0()); }
4727 )
4728;
4729finally {
4730 restoreStackSize(stackSize);
4731}
4732
4733rule__Argument__VariableOrNodeAssignment
4734 @init {
4735 int stackSize = keepStackSize();
4736 }
4737:
4738 (
4739 { before(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0()); }
4740 (
4741 { before(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1()); }
4742 ruleQualifiedName
4743 { after(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1()); }
4744 )
4745 { after(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0()); }
4746 )
4747;
4748finally {
4749 restoreStackSize(stackSize);
4750}
4751
4752rule__Assertion__RelationAssignment_0_0_0
4753 @init {
4754 int stackSize = keepStackSize();
4755 }
4756:
4757 (
4758 { before(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0()); }
4759 (
4760 { before(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1()); }
4761 ruleQualifiedName
4762 { after(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1()); }
4763 )
4764 { after(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0()); }
4765 )
4766;
4767finally {
4768 restoreStackSize(stackSize);
4769}
4770
4771rule__Assertion__ArgumentsAssignment_0_0_2_0
4772 @init {
4773 int stackSize = keepStackSize();
4774 }
4775:
4776 (
4777 { before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0()); }
4778 (
4779 { before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1()); }
4780 ruleQualifiedName
4781 { after(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1()); }
4782 )
4783 { after(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0()); }
4784 )
4785;
4786finally {
4787 restoreStackSize(stackSize);
4788}
4789
4790rule__Assertion__ArgumentsAssignment_0_0_2_1_1
4791 @init {
4792 int stackSize = keepStackSize();
4793 }
4794:
4795 (
4796 { before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0()); }
4797 (
4798 { before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1()); }
4799 ruleQualifiedName
4800 { after(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1()); }
4801 )
4802 { after(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0()); }
4803 )
4804;
4805finally {
4806 restoreStackSize(stackSize);
4807}
4808
4809rule__Assertion__ValueAssignment_0_0_5
4810 @init {
4811 int stackSize = keepStackSize();
4812 }
4813:
4814 (
4815 { before(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0()); }
4816 ruleLogicValue
4817 { after(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0()); }
4818 )
4819;
4820finally {
4821 restoreStackSize(stackSize);
4822}
4823
4824rule__Assertion__ValueAssignment_0_1_0
4825 @init {
4826 int stackSize = keepStackSize();
4827 }
4828:
4829 (
4830 { before(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0()); }
4831 ruleShortLogicValue
4832 { after(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0()); }
4833 )
4834;
4835finally {
4836 restoreStackSize(stackSize);
4837}
4838
4839rule__Assertion__RelationAssignment_0_1_1
4840 @init {
4841 int stackSize = keepStackSize();
4842 }
4843:
4844 (
4845 { before(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0()); }
4846 (
4847 { before(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1()); }
4848 ruleQualifiedName
4849 { after(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1()); }
4850 )
4851 { after(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0()); }
4852 )
4853;
4854finally {
4855 restoreStackSize(stackSize);
4856}
4857
4858rule__Assertion__ArgumentsAssignment_0_1_3_0
4859 @init {
4860 int stackSize = keepStackSize();
4861 }
4862:
4863 (
4864 { before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0()); }
4865 (
4866 { before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1()); }
4867 ruleQualifiedName
4868 { after(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1()); }
4869 )
4870 { after(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0()); }
4871 )
4872;
4873finally {
4874 restoreStackSize(stackSize);
4875}
4876
4877rule__Assertion__ArgumentsAssignment_0_1_3_1_1
4878 @init {
4879 int stackSize = keepStackSize();
4880 }
4881:
4882 (
4883 { before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0()); }
4884 (
4885 { before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1()); }
4886 ruleQualifiedName
4887 { after(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1()); }
4888 )
4889 { after(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0()); }
4890 )
4891;
4892finally {
4893 restoreStackSize(stackSize);
4894}
4895
4896rule__ScopeDeclaration__TypeScopesAssignment_1
4897 @init {
4898 int stackSize = keepStackSize();
4899 }
4900:
4901 (
4902 { before(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0()); }
4903 ruleTypeScope
4904 { after(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0()); }
4905 )
4906;
4907finally {
4908 restoreStackSize(stackSize);
4909}
4910
4911rule__ScopeDeclaration__TypeScopesAssignment_2_1
4912 @init {
4913 int stackSize = keepStackSize();
4914 }
4915:
4916 (
4917 { before(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0()); }
4918 ruleTypeScope
4919 { after(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0()); }
4920 )
4921;
4922finally {
4923 restoreStackSize(stackSize);
4924}
4925
4926rule__TypeScope__TargetTypeAssignment_0
4927 @init {
4928 int stackSize = keepStackSize();
4929 }
4930:
4931 (
4932 { before(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0()); }
4933 (
4934 { before(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1()); }
4935 RULE_ID
4936 { after(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1()); }
4937 )
4938 { after(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0()); }
4939 )
4940;
4941finally {
4942 restoreStackSize(stackSize);
4943}
4944
4945rule__TypeScope__IncrementAssignment_1_0
4946 @init {
4947 int stackSize = keepStackSize();
4948 }
4949:
4950 (
4951 { before(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); }
4952 (
4953 { before(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); }
4954 '+='
4955 { after(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); }
4956 )
4957 { after(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); }
4958 )
4959;
4960finally {
4961 restoreStackSize(stackSize);
4962}
4963
4964rule__TypeScope__MultiplicityAssignment_2
4965 @init {
4966 int stackSize = keepStackSize();
4967 }
4968:
4969 (
4970 { before(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0()); }
4971 ruleDefiniteMultiplicity
4972 { after(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0()); }
4973 )
4974;
4975finally {
4976 restoreStackSize(stackSize);
4977}
4978
4979rule__RangeMultiplicity__LowerBoundAssignment_0
4980 @init {
4981 int stackSize = keepStackSize();
4982 }
4983:
4984 (
4985 { before(grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0()); }
4986 RULE_INT
4987 { after(grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0()); }
4988 )
4989;
4990finally {
4991 restoreStackSize(stackSize);
4992}
4993
4994rule__RangeMultiplicity__UpperBoundAssignment_2
4995 @init {
4996 int stackSize = keepStackSize();
4997 }
4998:
4999 (
5000 { before(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0()); }
5001 ruleUpperBound
5002 { after(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0()); }
5003 )
5004;
5005finally {
5006 restoreStackSize(stackSize);
5007}
5008
5009rule__ExactMultiplicity__ExactValueAssignment
5010 @init {
5011 int stackSize = keepStackSize();
5012 }
5013:
5014 (
5015 { before(grammarAccess.getExactMultiplicityAccess().getExactValueINTTerminalRuleCall_0()); }
5016 RULE_INT
5017 { after(grammarAccess.getExactMultiplicityAccess().getExactValueINTTerminalRuleCall_0()); }
5018 )
5019;
5020finally {
5021 restoreStackSize(stackSize);
5022}
5023
5024RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"';
5025
5026RULE_QUOTED_ID : '\'' ('\\' .|~(('\\'|'\'')))* '\'';
5027
5028RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
5029
5030RULE_INT : ('0'..'9')+;
5031
5032RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
5033
5034RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
5035
5036RULE_WS : (' '|'\t'|'\r'|'\n')+;
5037
5038RULE_ANY_OTHER : .;
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.tokens b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.tokens
deleted file mode 100644
index c0cdd3c6..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.tokens
+++ /dev/null
@@ -1,72 +0,0 @@
1'!'=22
2'('=33
3')'=34
4'*'=18
5'+'=42
6'+='=43
7','=13
8'.'=12
9'..'=38
10':'=36
11':-'=35
12';'=14
13'='=17
14'?'=23
15'['=30
16']'=31
17'abstract'=39
18'class'=25
19'contains'=40
20'enum'=29
21'error'=41
22'extends'=26
23'false'=20
24'opposite'=32
25'pred'=16
26'problem'=24
27'refers'=15
28'scope'=37
29'true'=19
30'unknown'=21
31'{'=27
32'}'=28
33RULE_ANY_OTHER=11
34RULE_ID=6
35RULE_INT=4
36RULE_ML_COMMENT=8
37RULE_QUOTED_ID=5
38RULE_SL_COMMENT=9
39RULE_STRING=7
40RULE_WS=10
41T__12=12
42T__13=13
43T__14=14
44T__15=15
45T__16=16
46T__17=17
47T__18=18
48T__19=19
49T__20=20
50T__21=21
51T__22=22
52T__23=23
53T__24=24
54T__25=25
55T__26=26
56T__27=27
57T__28=28
58T__29=29
59T__30=30
60T__31=31
61T__32=32
62T__33=33
63T__34=34
64T__35=35
65T__36=36
66T__37=37
67T__38=38
68T__39=39
69T__40=40
70T__41=41
71T__42=42
72T__43=43
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemLexer.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemLexer.java
deleted file mode 100644
index e8f6f12d..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemLexer.java
+++ /dev/null
@@ -1,1797 +0,0 @@
1package org.eclipse.viatra.solver.language.ide.contentassist.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.ide.editor.contentassist.antlr.internal.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 InternalProblemLexer extends Lexer {
15 public static final int T__19=19;
16 public static final int T__15=15;
17 public static final int T__16=16;
18 public static final int T__17=17;
19 public static final int T__18=18;
20 public static final int T__12=12;
21 public static final int T__13=13;
22 public static final int T__14=14;
23 public static final int RULE_ID=6;
24 public static final int RULE_QUOTED_ID=5;
25 public static final int T__26=26;
26 public static final int T__27=27;
27 public static final int T__28=28;
28 public static final int RULE_INT=4;
29 public static final int T__29=29;
30 public static final int T__22=22;
31 public static final int RULE_ML_COMMENT=8;
32 public static final int T__23=23;
33 public static final int T__24=24;
34 public static final int T__25=25;
35 public static final int T__20=20;
36 public static final int T__21=21;
37 public static final int RULE_STRING=7;
38 public static final int RULE_SL_COMMENT=9;
39 public static final int T__37=37;
40 public static final int T__38=38;
41 public static final int T__39=39;
42 public static final int T__33=33;
43 public static final int T__34=34;
44 public static final int T__35=35;
45 public static final int T__36=36;
46 public static final int EOF=-1;
47 public static final int T__30=30;
48 public static final int T__31=31;
49 public static final int T__32=32;
50 public static final int RULE_WS=10;
51 public static final int RULE_ANY_OTHER=11;
52 public static final int T__40=40;
53 public static final int T__41=41;
54 public static final int T__42=42;
55 public static final int T__43=43;
56
57 // delegates
58 // delegators
59
60 public InternalProblemLexer() {;}
61 public InternalProblemLexer(CharStream input) {
62 this(input, new RecognizerSharedState());
63 }
64 public InternalProblemLexer(CharStream input, RecognizerSharedState state) {
65 super(input,state);
66
67 }
68 public String getGrammarFileName() { return "InternalProblem.g"; }
69
70 // $ANTLR start "T__12"
71 public final void mT__12() throws RecognitionException {
72 try {
73 int _type = T__12;
74 int _channel = DEFAULT_TOKEN_CHANNEL;
75 // InternalProblem.g:11:7: ( '.' )
76 // InternalProblem.g:11:9: '.'
77 {
78 match('.');
79
80 }
81
82 state.type = _type;
83 state.channel = _channel;
84 }
85 finally {
86 }
87 }
88 // $ANTLR end "T__12"
89
90 // $ANTLR start "T__13"
91 public final void mT__13() throws RecognitionException {
92 try {
93 int _type = T__13;
94 int _channel = DEFAULT_TOKEN_CHANNEL;
95 // InternalProblem.g:12:7: ( ',' )
96 // InternalProblem.g:12:9: ','
97 {
98 match(',');
99
100 }
101
102 state.type = _type;
103 state.channel = _channel;
104 }
105 finally {
106 }
107 }
108 // $ANTLR end "T__13"
109
110 // $ANTLR start "T__14"
111 public final void mT__14() throws RecognitionException {
112 try {
113 int _type = T__14;
114 int _channel = DEFAULT_TOKEN_CHANNEL;
115 // InternalProblem.g:13:7: ( ';' )
116 // InternalProblem.g:13:9: ';'
117 {
118 match(';');
119
120 }
121
122 state.type = _type;
123 state.channel = _channel;
124 }
125 finally {
126 }
127 }
128 // $ANTLR end "T__14"
129
130 // $ANTLR start "T__15"
131 public final void mT__15() throws RecognitionException {
132 try {
133 int _type = T__15;
134 int _channel = DEFAULT_TOKEN_CHANNEL;
135 // InternalProblem.g:14:7: ( 'refers' )
136 // InternalProblem.g:14:9: 'refers'
137 {
138 match("refers");
139
140
141 }
142
143 state.type = _type;
144 state.channel = _channel;
145 }
146 finally {
147 }
148 }
149 // $ANTLR end "T__15"
150
151 // $ANTLR start "T__16"
152 public final void mT__16() throws RecognitionException {
153 try {
154 int _type = T__16;
155 int _channel = DEFAULT_TOKEN_CHANNEL;
156 // InternalProblem.g:15:7: ( 'pred' )
157 // InternalProblem.g:15:9: 'pred'
158 {
159 match("pred");
160
161
162 }
163
164 state.type = _type;
165 state.channel = _channel;
166 }
167 finally {
168 }
169 }
170 // $ANTLR end "T__16"
171
172 // $ANTLR start "T__17"
173 public final void mT__17() throws RecognitionException {
174 try {
175 int _type = T__17;
176 int _channel = DEFAULT_TOKEN_CHANNEL;
177 // InternalProblem.g:16:7: ( '=' )
178 // InternalProblem.g:16:9: '='
179 {
180 match('=');
181
182 }
183
184 state.type = _type;
185 state.channel = _channel;
186 }
187 finally {
188 }
189 }
190 // $ANTLR end "T__17"
191
192 // $ANTLR start "T__18"
193 public final void mT__18() throws RecognitionException {
194 try {
195 int _type = T__18;
196 int _channel = DEFAULT_TOKEN_CHANNEL;
197 // InternalProblem.g:17:7: ( '*' )
198 // InternalProblem.g:17:9: '*'
199 {
200 match('*');
201
202 }
203
204 state.type = _type;
205 state.channel = _channel;
206 }
207 finally {
208 }
209 }
210 // $ANTLR end "T__18"
211
212 // $ANTLR start "T__19"
213 public final void mT__19() throws RecognitionException {
214 try {
215 int _type = T__19;
216 int _channel = DEFAULT_TOKEN_CHANNEL;
217 // InternalProblem.g:18:7: ( 'true' )
218 // InternalProblem.g:18:9: 'true'
219 {
220 match("true");
221
222
223 }
224
225 state.type = _type;
226 state.channel = _channel;
227 }
228 finally {
229 }
230 }
231 // $ANTLR end "T__19"
232
233 // $ANTLR start "T__20"
234 public final void mT__20() throws RecognitionException {
235 try {
236 int _type = T__20;
237 int _channel = DEFAULT_TOKEN_CHANNEL;
238 // InternalProblem.g:19:7: ( 'false' )
239 // InternalProblem.g:19:9: 'false'
240 {
241 match("false");
242
243
244 }
245
246 state.type = _type;
247 state.channel = _channel;
248 }
249 finally {
250 }
251 }
252 // $ANTLR end "T__20"
253
254 // $ANTLR start "T__21"
255 public final void mT__21() throws RecognitionException {
256 try {
257 int _type = T__21;
258 int _channel = DEFAULT_TOKEN_CHANNEL;
259 // InternalProblem.g:20:7: ( 'unknown' )
260 // InternalProblem.g:20:9: 'unknown'
261 {
262 match("unknown");
263
264
265 }
266
267 state.type = _type;
268 state.channel = _channel;
269 }
270 finally {
271 }
272 }
273 // $ANTLR end "T__21"
274
275 // $ANTLR start "T__22"
276 public final void mT__22() throws RecognitionException {
277 try {
278 int _type = T__22;
279 int _channel = DEFAULT_TOKEN_CHANNEL;
280 // InternalProblem.g:21:7: ( '!' )
281 // InternalProblem.g:21:9: '!'
282 {
283 match('!');
284
285 }
286
287 state.type = _type;
288 state.channel = _channel;
289 }
290 finally {
291 }
292 }
293 // $ANTLR end "T__22"
294
295 // $ANTLR start "T__23"
296 public final void mT__23() throws RecognitionException {
297 try {
298 int _type = T__23;
299 int _channel = DEFAULT_TOKEN_CHANNEL;
300 // InternalProblem.g:22:7: ( '?' )
301 // InternalProblem.g:22:9: '?'
302 {
303 match('?');
304
305 }
306
307 state.type = _type;
308 state.channel = _channel;
309 }
310 finally {
311 }
312 }
313 // $ANTLR end "T__23"
314
315 // $ANTLR start "T__24"
316 public final void mT__24() throws RecognitionException {
317 try {
318 int _type = T__24;
319 int _channel = DEFAULT_TOKEN_CHANNEL;
320 // InternalProblem.g:23:7: ( 'problem' )
321 // InternalProblem.g:23:9: 'problem'
322 {
323 match("problem");
324
325
326 }
327
328 state.type = _type;
329 state.channel = _channel;
330 }
331 finally {
332 }
333 }
334 // $ANTLR end "T__24"
335
336 // $ANTLR start "T__25"
337 public final void mT__25() throws RecognitionException {
338 try {
339 int _type = T__25;
340 int _channel = DEFAULT_TOKEN_CHANNEL;
341 // InternalProblem.g:24:7: ( 'class' )
342 // InternalProblem.g:24:9: 'class'
343 {
344 match("class");
345
346
347 }
348
349 state.type = _type;
350 state.channel = _channel;
351 }
352 finally {
353 }
354 }
355 // $ANTLR end "T__25"
356
357 // $ANTLR start "T__26"
358 public final void mT__26() throws RecognitionException {
359 try {
360 int _type = T__26;
361 int _channel = DEFAULT_TOKEN_CHANNEL;
362 // InternalProblem.g:25:7: ( 'extends' )
363 // InternalProblem.g:25:9: 'extends'
364 {
365 match("extends");
366
367
368 }
369
370 state.type = _type;
371 state.channel = _channel;
372 }
373 finally {
374 }
375 }
376 // $ANTLR end "T__26"
377
378 // $ANTLR start "T__27"
379 public final void mT__27() throws RecognitionException {
380 try {
381 int _type = T__27;
382 int _channel = DEFAULT_TOKEN_CHANNEL;
383 // InternalProblem.g:26:7: ( '{' )
384 // InternalProblem.g:26:9: '{'
385 {
386 match('{');
387
388 }
389
390 state.type = _type;
391 state.channel = _channel;
392 }
393 finally {
394 }
395 }
396 // $ANTLR end "T__27"
397
398 // $ANTLR start "T__28"
399 public final void mT__28() throws RecognitionException {
400 try {
401 int _type = T__28;
402 int _channel = DEFAULT_TOKEN_CHANNEL;
403 // InternalProblem.g:27:7: ( '}' )
404 // InternalProblem.g:27:9: '}'
405 {
406 match('}');
407
408 }
409
410 state.type = _type;
411 state.channel = _channel;
412 }
413 finally {
414 }
415 }
416 // $ANTLR end "T__28"
417
418 // $ANTLR start "T__29"
419 public final void mT__29() throws RecognitionException {
420 try {
421 int _type = T__29;
422 int _channel = DEFAULT_TOKEN_CHANNEL;
423 // InternalProblem.g:28:7: ( 'enum' )
424 // InternalProblem.g:28:9: 'enum'
425 {
426 match("enum");
427
428
429 }
430
431 state.type = _type;
432 state.channel = _channel;
433 }
434 finally {
435 }
436 }
437 // $ANTLR end "T__29"
438
439 // $ANTLR start "T__30"
440 public final void mT__30() throws RecognitionException {
441 try {
442 int _type = T__30;
443 int _channel = DEFAULT_TOKEN_CHANNEL;
444 // InternalProblem.g:29:7: ( '[' )
445 // InternalProblem.g:29:9: '['
446 {
447 match('[');
448
449 }
450
451 state.type = _type;
452 state.channel = _channel;
453 }
454 finally {
455 }
456 }
457 // $ANTLR end "T__30"
458
459 // $ANTLR start "T__31"
460 public final void mT__31() throws RecognitionException {
461 try {
462 int _type = T__31;
463 int _channel = DEFAULT_TOKEN_CHANNEL;
464 // InternalProblem.g:30:7: ( ']' )
465 // InternalProblem.g:30:9: ']'
466 {
467 match(']');
468
469 }
470
471 state.type = _type;
472 state.channel = _channel;
473 }
474 finally {
475 }
476 }
477 // $ANTLR end "T__31"
478
479 // $ANTLR start "T__32"
480 public final void mT__32() throws RecognitionException {
481 try {
482 int _type = T__32;
483 int _channel = DEFAULT_TOKEN_CHANNEL;
484 // InternalProblem.g:31:7: ( 'opposite' )
485 // InternalProblem.g:31:9: 'opposite'
486 {
487 match("opposite");
488
489
490 }
491
492 state.type = _type;
493 state.channel = _channel;
494 }
495 finally {
496 }
497 }
498 // $ANTLR end "T__32"
499
500 // $ANTLR start "T__33"
501 public final void mT__33() throws RecognitionException {
502 try {
503 int _type = T__33;
504 int _channel = DEFAULT_TOKEN_CHANNEL;
505 // InternalProblem.g:32:7: ( '(' )
506 // InternalProblem.g:32:9: '('
507 {
508 match('(');
509
510 }
511
512 state.type = _type;
513 state.channel = _channel;
514 }
515 finally {
516 }
517 }
518 // $ANTLR end "T__33"
519
520 // $ANTLR start "T__34"
521 public final void mT__34() throws RecognitionException {
522 try {
523 int _type = T__34;
524 int _channel = DEFAULT_TOKEN_CHANNEL;
525 // InternalProblem.g:33:7: ( ')' )
526 // InternalProblem.g:33:9: ')'
527 {
528 match(')');
529
530 }
531
532 state.type = _type;
533 state.channel = _channel;
534 }
535 finally {
536 }
537 }
538 // $ANTLR end "T__34"
539
540 // $ANTLR start "T__35"
541 public final void mT__35() throws RecognitionException {
542 try {
543 int _type = T__35;
544 int _channel = DEFAULT_TOKEN_CHANNEL;
545 // InternalProblem.g:34:7: ( ':-' )
546 // InternalProblem.g:34:9: ':-'
547 {
548 match(":-");
549
550
551 }
552
553 state.type = _type;
554 state.channel = _channel;
555 }
556 finally {
557 }
558 }
559 // $ANTLR end "T__35"
560
561 // $ANTLR start "T__36"
562 public final void mT__36() throws RecognitionException {
563 try {
564 int _type = T__36;
565 int _channel = DEFAULT_TOKEN_CHANNEL;
566 // InternalProblem.g:35:7: ( ':' )
567 // InternalProblem.g:35:9: ':'
568 {
569 match(':');
570
571 }
572
573 state.type = _type;
574 state.channel = _channel;
575 }
576 finally {
577 }
578 }
579 // $ANTLR end "T__36"
580
581 // $ANTLR start "T__37"
582 public final void mT__37() throws RecognitionException {
583 try {
584 int _type = T__37;
585 int _channel = DEFAULT_TOKEN_CHANNEL;
586 // InternalProblem.g:36:7: ( 'scope' )
587 // InternalProblem.g:36:9: 'scope'
588 {
589 match("scope");
590
591
592 }
593
594 state.type = _type;
595 state.channel = _channel;
596 }
597 finally {
598 }
599 }
600 // $ANTLR end "T__37"
601
602 // $ANTLR start "T__38"
603 public final void mT__38() throws RecognitionException {
604 try {
605 int _type = T__38;
606 int _channel = DEFAULT_TOKEN_CHANNEL;
607 // InternalProblem.g:37:7: ( '..' )
608 // InternalProblem.g:37:9: '..'
609 {
610 match("..");
611
612
613 }
614
615 state.type = _type;
616 state.channel = _channel;
617 }
618 finally {
619 }
620 }
621 // $ANTLR end "T__38"
622
623 // $ANTLR start "T__39"
624 public final void mT__39() throws RecognitionException {
625 try {
626 int _type = T__39;
627 int _channel = DEFAULT_TOKEN_CHANNEL;
628 // InternalProblem.g:38:7: ( 'abstract' )
629 // InternalProblem.g:38:9: 'abstract'
630 {
631 match("abstract");
632
633
634 }
635
636 state.type = _type;
637 state.channel = _channel;
638 }
639 finally {
640 }
641 }
642 // $ANTLR end "T__39"
643
644 // $ANTLR start "T__40"
645 public final void mT__40() throws RecognitionException {
646 try {
647 int _type = T__40;
648 int _channel = DEFAULT_TOKEN_CHANNEL;
649 // InternalProblem.g:39:7: ( 'contains' )
650 // InternalProblem.g:39:9: 'contains'
651 {
652 match("contains");
653
654
655 }
656
657 state.type = _type;
658 state.channel = _channel;
659 }
660 finally {
661 }
662 }
663 // $ANTLR end "T__40"
664
665 // $ANTLR start "T__41"
666 public final void mT__41() throws RecognitionException {
667 try {
668 int _type = T__41;
669 int _channel = DEFAULT_TOKEN_CHANNEL;
670 // InternalProblem.g:40:7: ( 'error' )
671 // InternalProblem.g:40:9: 'error'
672 {
673 match("error");
674
675
676 }
677
678 state.type = _type;
679 state.channel = _channel;
680 }
681 finally {
682 }
683 }
684 // $ANTLR end "T__41"
685
686 // $ANTLR start "T__42"
687 public final void mT__42() throws RecognitionException {
688 try {
689 int _type = T__42;
690 int _channel = DEFAULT_TOKEN_CHANNEL;
691 // InternalProblem.g:41:7: ( '+' )
692 // InternalProblem.g:41:9: '+'
693 {
694 match('+');
695
696 }
697
698 state.type = _type;
699 state.channel = _channel;
700 }
701 finally {
702 }
703 }
704 // $ANTLR end "T__42"
705
706 // $ANTLR start "T__43"
707 public final void mT__43() throws RecognitionException {
708 try {
709 int _type = T__43;
710 int _channel = DEFAULT_TOKEN_CHANNEL;
711 // InternalProblem.g:42:7: ( '+=' )
712 // InternalProblem.g:42:9: '+='
713 {
714 match("+=");
715
716
717 }
718
719 state.type = _type;
720 state.channel = _channel;
721 }
722 finally {
723 }
724 }
725 // $ANTLR end "T__43"
726
727 // $ANTLR start "RULE_STRING"
728 public final void mRULE_STRING() throws RecognitionException {
729 try {
730 int _type = RULE_STRING;
731 int _channel = DEFAULT_TOKEN_CHANNEL;
732 // InternalProblem.g:5024:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
733 // InternalProblem.g:5024:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
734 {
735 match('\"');
736 // InternalProblem.g:5024:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
737 loop1:
738 do {
739 int alt1=3;
740 int LA1_0 = input.LA(1);
741
742 if ( (LA1_0=='\\') ) {
743 alt1=1;
744 }
745 else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) {
746 alt1=2;
747 }
748
749
750 switch (alt1) {
751 case 1 :
752 // InternalProblem.g:5024:20: '\\\\' .
753 {
754 match('\\');
755 matchAny();
756
757 }
758 break;
759 case 2 :
760 // InternalProblem.g:5024:27: ~ ( ( '\\\\' | '\"' ) )
761 {
762 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
763 input.consume();
764
765 }
766 else {
767 MismatchedSetException mse = new MismatchedSetException(null,input);
768 recover(mse);
769 throw mse;}
770
771
772 }
773 break;
774
775 default :
776 break loop1;
777 }
778 } while (true);
779
780 match('\"');
781
782 }
783
784 state.type = _type;
785 state.channel = _channel;
786 }
787 finally {
788 }
789 }
790 // $ANTLR end "RULE_STRING"
791
792 // $ANTLR start "RULE_QUOTED_ID"
793 public final void mRULE_QUOTED_ID() throws RecognitionException {
794 try {
795 int _type = RULE_QUOTED_ID;
796 int _channel = DEFAULT_TOKEN_CHANNEL;
797 // InternalProblem.g:5026:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
798 // InternalProblem.g:5026:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
799 {
800 match('\'');
801 // InternalProblem.g:5026:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
802 loop2:
803 do {
804 int alt2=3;
805 int LA2_0 = input.LA(1);
806
807 if ( (LA2_0=='\\') ) {
808 alt2=1;
809 }
810 else if ( ((LA2_0>='\u0000' && LA2_0<='&')||(LA2_0>='(' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) {
811 alt2=2;
812 }
813
814
815 switch (alt2) {
816 case 1 :
817 // InternalProblem.g:5026:24: '\\\\' .
818 {
819 match('\\');
820 matchAny();
821
822 }
823 break;
824 case 2 :
825 // InternalProblem.g:5026:31: ~ ( ( '\\\\' | '\\'' ) )
826 {
827 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
828 input.consume();
829
830 }
831 else {
832 MismatchedSetException mse = new MismatchedSetException(null,input);
833 recover(mse);
834 throw mse;}
835
836
837 }
838 break;
839
840 default :
841 break loop2;
842 }
843 } while (true);
844
845 match('\'');
846
847 }
848
849 state.type = _type;
850 state.channel = _channel;
851 }
852 finally {
853 }
854 }
855 // $ANTLR end "RULE_QUOTED_ID"
856
857 // $ANTLR start "RULE_ID"
858 public final void mRULE_ID() throws RecognitionException {
859 try {
860 int _type = RULE_ID;
861 int _channel = DEFAULT_TOKEN_CHANNEL;
862 // InternalProblem.g:5028:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
863 // InternalProblem.g:5028:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
864 {
865 // InternalProblem.g:5028:11: ( '^' )?
866 int alt3=2;
867 int LA3_0 = input.LA(1);
868
869 if ( (LA3_0=='^') ) {
870 alt3=1;
871 }
872 switch (alt3) {
873 case 1 :
874 // InternalProblem.g:5028:11: '^'
875 {
876 match('^');
877
878 }
879 break;
880
881 }
882
883 if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
884 input.consume();
885
886 }
887 else {
888 MismatchedSetException mse = new MismatchedSetException(null,input);
889 recover(mse);
890 throw mse;}
891
892 // InternalProblem.g:5028:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
893 loop4:
894 do {
895 int alt4=2;
896 int LA4_0 = input.LA(1);
897
898 if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
899 alt4=1;
900 }
901
902
903 switch (alt4) {
904 case 1 :
905 // InternalProblem.g:
906 {
907 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') ) {
908 input.consume();
909
910 }
911 else {
912 MismatchedSetException mse = new MismatchedSetException(null,input);
913 recover(mse);
914 throw mse;}
915
916
917 }
918 break;
919
920 default :
921 break loop4;
922 }
923 } while (true);
924
925
926 }
927
928 state.type = _type;
929 state.channel = _channel;
930 }
931 finally {
932 }
933 }
934 // $ANTLR end "RULE_ID"
935
936 // $ANTLR start "RULE_INT"
937 public final void mRULE_INT() throws RecognitionException {
938 try {
939 int _type = RULE_INT;
940 int _channel = DEFAULT_TOKEN_CHANNEL;
941 // InternalProblem.g:5030:10: ( ( '0' .. '9' )+ )
942 // InternalProblem.g:5030:12: ( '0' .. '9' )+
943 {
944 // InternalProblem.g:5030:12: ( '0' .. '9' )+
945 int cnt5=0;
946 loop5:
947 do {
948 int alt5=2;
949 int LA5_0 = input.LA(1);
950
951 if ( ((LA5_0>='0' && LA5_0<='9')) ) {
952 alt5=1;
953 }
954
955
956 switch (alt5) {
957 case 1 :
958 // InternalProblem.g:5030:13: '0' .. '9'
959 {
960 matchRange('0','9');
961
962 }
963 break;
964
965 default :
966 if ( cnt5 >= 1 ) break loop5;
967 EarlyExitException eee =
968 new EarlyExitException(5, input);
969 throw eee;
970 }
971 cnt5++;
972 } while (true);
973
974
975 }
976
977 state.type = _type;
978 state.channel = _channel;
979 }
980 finally {
981 }
982 }
983 // $ANTLR end "RULE_INT"
984
985 // $ANTLR start "RULE_ML_COMMENT"
986 public final void mRULE_ML_COMMENT() throws RecognitionException {
987 try {
988 int _type = RULE_ML_COMMENT;
989 int _channel = DEFAULT_TOKEN_CHANNEL;
990 // InternalProblem.g:5032:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
991 // InternalProblem.g:5032:19: '/*' ( options {greedy=false; } : . )* '*/'
992 {
993 match("/*");
994
995 // InternalProblem.g:5032:24: ( options {greedy=false; } : . )*
996 loop6:
997 do {
998 int alt6=2;
999 int LA6_0 = input.LA(1);
1000
1001 if ( (LA6_0=='*') ) {
1002 int LA6_1 = input.LA(2);
1003
1004 if ( (LA6_1=='/') ) {
1005 alt6=2;
1006 }
1007 else if ( ((LA6_1>='\u0000' && LA6_1<='.')||(LA6_1>='0' && LA6_1<='\uFFFF')) ) {
1008 alt6=1;
1009 }
1010
1011
1012 }
1013 else if ( ((LA6_0>='\u0000' && LA6_0<=')')||(LA6_0>='+' && LA6_0<='\uFFFF')) ) {
1014 alt6=1;
1015 }
1016
1017
1018 switch (alt6) {
1019 case 1 :
1020 // InternalProblem.g:5032:52: .
1021 {
1022 matchAny();
1023
1024 }
1025 break;
1026
1027 default :
1028 break loop6;
1029 }
1030 } while (true);
1031
1032 match("*/");
1033
1034
1035 }
1036
1037 state.type = _type;
1038 state.channel = _channel;
1039 }
1040 finally {
1041 }
1042 }
1043 // $ANTLR end "RULE_ML_COMMENT"
1044
1045 // $ANTLR start "RULE_SL_COMMENT"
1046 public final void mRULE_SL_COMMENT() throws RecognitionException {
1047 try {
1048 int _type = RULE_SL_COMMENT;
1049 int _channel = DEFAULT_TOKEN_CHANNEL;
1050 // InternalProblem.g:5034:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
1051 // InternalProblem.g:5034:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
1052 {
1053 match("//");
1054
1055 // InternalProblem.g:5034:24: (~ ( ( '\\n' | '\\r' ) ) )*
1056 loop7:
1057 do {
1058 int alt7=2;
1059 int LA7_0 = input.LA(1);
1060
1061 if ( ((LA7_0>='\u0000' && LA7_0<='\t')||(LA7_0>='\u000B' && LA7_0<='\f')||(LA7_0>='\u000E' && LA7_0<='\uFFFF')) ) {
1062 alt7=1;
1063 }
1064
1065
1066 switch (alt7) {
1067 case 1 :
1068 // InternalProblem.g:5034:24: ~ ( ( '\\n' | '\\r' ) )
1069 {
1070 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') ) {
1071 input.consume();
1072
1073 }
1074 else {
1075 MismatchedSetException mse = new MismatchedSetException(null,input);
1076 recover(mse);
1077 throw mse;}
1078
1079
1080 }
1081 break;
1082
1083 default :
1084 break loop7;
1085 }
1086 } while (true);
1087
1088 // InternalProblem.g:5034:40: ( ( '\\r' )? '\\n' )?
1089 int alt9=2;
1090 int LA9_0 = input.LA(1);
1091
1092 if ( (LA9_0=='\n'||LA9_0=='\r') ) {
1093 alt9=1;
1094 }
1095 switch (alt9) {
1096 case 1 :
1097 // InternalProblem.g:5034:41: ( '\\r' )? '\\n'
1098 {
1099 // InternalProblem.g:5034:41: ( '\\r' )?
1100 int alt8=2;
1101 int LA8_0 = input.LA(1);
1102
1103 if ( (LA8_0=='\r') ) {
1104 alt8=1;
1105 }
1106 switch (alt8) {
1107 case 1 :
1108 // InternalProblem.g:5034:41: '\\r'
1109 {
1110 match('\r');
1111
1112 }
1113 break;
1114
1115 }
1116
1117 match('\n');
1118
1119 }
1120 break;
1121
1122 }
1123
1124
1125 }
1126
1127 state.type = _type;
1128 state.channel = _channel;
1129 }
1130 finally {
1131 }
1132 }
1133 // $ANTLR end "RULE_SL_COMMENT"
1134
1135 // $ANTLR start "RULE_WS"
1136 public final void mRULE_WS() throws RecognitionException {
1137 try {
1138 int _type = RULE_WS;
1139 int _channel = DEFAULT_TOKEN_CHANNEL;
1140 // InternalProblem.g:5036:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
1141 // InternalProblem.g:5036:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1142 {
1143 // InternalProblem.g:5036:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1144 int cnt10=0;
1145 loop10:
1146 do {
1147 int alt10=2;
1148 int LA10_0 = input.LA(1);
1149
1150 if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {
1151 alt10=1;
1152 }
1153
1154
1155 switch (alt10) {
1156 case 1 :
1157 // InternalProblem.g:
1158 {
1159 if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
1160 input.consume();
1161
1162 }
1163 else {
1164 MismatchedSetException mse = new MismatchedSetException(null,input);
1165 recover(mse);
1166 throw mse;}
1167
1168
1169 }
1170 break;
1171
1172 default :
1173 if ( cnt10 >= 1 ) break loop10;
1174 EarlyExitException eee =
1175 new EarlyExitException(10, input);
1176 throw eee;
1177 }
1178 cnt10++;
1179 } while (true);
1180
1181
1182 }
1183
1184 state.type = _type;
1185 state.channel = _channel;
1186 }
1187 finally {
1188 }
1189 }
1190 // $ANTLR end "RULE_WS"
1191
1192 // $ANTLR start "RULE_ANY_OTHER"
1193 public final void mRULE_ANY_OTHER() throws RecognitionException {
1194 try {
1195 int _type = RULE_ANY_OTHER;
1196 int _channel = DEFAULT_TOKEN_CHANNEL;
1197 // InternalProblem.g:5038:16: ( . )
1198 // InternalProblem.g:5038:18: .
1199 {
1200 matchAny();
1201
1202 }
1203
1204 state.type = _type;
1205 state.channel = _channel;
1206 }
1207 finally {
1208 }
1209 }
1210 // $ANTLR end "RULE_ANY_OTHER"
1211
1212 public void mTokens() throws RecognitionException {
1213 // InternalProblem.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
1214 int alt11=40;
1215 alt11 = dfa11.predict(input);
1216 switch (alt11) {
1217 case 1 :
1218 // InternalProblem.g:1:10: T__12
1219 {
1220 mT__12();
1221
1222 }
1223 break;
1224 case 2 :
1225 // InternalProblem.g:1:16: T__13
1226 {
1227 mT__13();
1228
1229 }
1230 break;
1231 case 3 :
1232 // InternalProblem.g:1:22: T__14
1233 {
1234 mT__14();
1235
1236 }
1237 break;
1238 case 4 :
1239 // InternalProblem.g:1:28: T__15
1240 {
1241 mT__15();
1242
1243 }
1244 break;
1245 case 5 :
1246 // InternalProblem.g:1:34: T__16
1247 {
1248 mT__16();
1249
1250 }
1251 break;
1252 case 6 :
1253 // InternalProblem.g:1:40: T__17
1254 {
1255 mT__17();
1256
1257 }
1258 break;
1259 case 7 :
1260 // InternalProblem.g:1:46: T__18
1261 {
1262 mT__18();
1263
1264 }
1265 break;
1266 case 8 :
1267 // InternalProblem.g:1:52: T__19
1268 {
1269 mT__19();
1270
1271 }
1272 break;
1273 case 9 :
1274 // InternalProblem.g:1:58: T__20
1275 {
1276 mT__20();
1277
1278 }
1279 break;
1280 case 10 :
1281 // InternalProblem.g:1:64: T__21
1282 {
1283 mT__21();
1284
1285 }
1286 break;
1287 case 11 :
1288 // InternalProblem.g:1:70: T__22
1289 {
1290 mT__22();
1291
1292 }
1293 break;
1294 case 12 :
1295 // InternalProblem.g:1:76: T__23
1296 {
1297 mT__23();
1298
1299 }
1300 break;
1301 case 13 :
1302 // InternalProblem.g:1:82: T__24
1303 {
1304 mT__24();
1305
1306 }
1307 break;
1308 case 14 :
1309 // InternalProblem.g:1:88: T__25
1310 {
1311 mT__25();
1312
1313 }
1314 break;
1315 case 15 :
1316 // InternalProblem.g:1:94: T__26
1317 {
1318 mT__26();
1319
1320 }
1321 break;
1322 case 16 :
1323 // InternalProblem.g:1:100: T__27
1324 {
1325 mT__27();
1326
1327 }
1328 break;
1329 case 17 :
1330 // InternalProblem.g:1:106: T__28
1331 {
1332 mT__28();
1333
1334 }
1335 break;
1336 case 18 :
1337 // InternalProblem.g:1:112: T__29
1338 {
1339 mT__29();
1340
1341 }
1342 break;
1343 case 19 :
1344 // InternalProblem.g:1:118: T__30
1345 {
1346 mT__30();
1347
1348 }
1349 break;
1350 case 20 :
1351 // InternalProblem.g:1:124: T__31
1352 {
1353 mT__31();
1354
1355 }
1356 break;
1357 case 21 :
1358 // InternalProblem.g:1:130: T__32
1359 {
1360 mT__32();
1361
1362 }
1363 break;
1364 case 22 :
1365 // InternalProblem.g:1:136: T__33
1366 {
1367 mT__33();
1368
1369 }
1370 break;
1371 case 23 :
1372 // InternalProblem.g:1:142: T__34
1373 {
1374 mT__34();
1375
1376 }
1377 break;
1378 case 24 :
1379 // InternalProblem.g:1:148: T__35
1380 {
1381 mT__35();
1382
1383 }
1384 break;
1385 case 25 :
1386 // InternalProblem.g:1:154: T__36
1387 {
1388 mT__36();
1389
1390 }
1391 break;
1392 case 26 :
1393 // InternalProblem.g:1:160: T__37
1394 {
1395 mT__37();
1396
1397 }
1398 break;
1399 case 27 :
1400 // InternalProblem.g:1:166: T__38
1401 {
1402 mT__38();
1403
1404 }
1405 break;
1406 case 28 :
1407 // InternalProblem.g:1:172: T__39
1408 {
1409 mT__39();
1410
1411 }
1412 break;
1413 case 29 :
1414 // InternalProblem.g:1:178: T__40
1415 {
1416 mT__40();
1417
1418 }
1419 break;
1420 case 30 :
1421 // InternalProblem.g:1:184: T__41
1422 {
1423 mT__41();
1424
1425 }
1426 break;
1427 case 31 :
1428 // InternalProblem.g:1:190: T__42
1429 {
1430 mT__42();
1431
1432 }
1433 break;
1434 case 32 :
1435 // InternalProblem.g:1:196: T__43
1436 {
1437 mT__43();
1438
1439 }
1440 break;
1441 case 33 :
1442 // InternalProblem.g:1:202: RULE_STRING
1443 {
1444 mRULE_STRING();
1445
1446 }
1447 break;
1448 case 34 :
1449 // InternalProblem.g:1:214: RULE_QUOTED_ID
1450 {
1451 mRULE_QUOTED_ID();
1452
1453 }
1454 break;
1455 case 35 :
1456 // InternalProblem.g:1:229: RULE_ID
1457 {
1458 mRULE_ID();
1459
1460 }
1461 break;
1462 case 36 :
1463 // InternalProblem.g:1:237: RULE_INT
1464 {
1465 mRULE_INT();
1466
1467 }
1468 break;
1469 case 37 :
1470 // InternalProblem.g:1:246: RULE_ML_COMMENT
1471 {
1472 mRULE_ML_COMMENT();
1473
1474 }
1475 break;
1476 case 38 :
1477 // InternalProblem.g:1:262: RULE_SL_COMMENT
1478 {
1479 mRULE_SL_COMMENT();
1480
1481 }
1482 break;
1483 case 39 :
1484 // InternalProblem.g:1:278: RULE_WS
1485 {
1486 mRULE_WS();
1487
1488 }
1489 break;
1490 case 40 :
1491 // InternalProblem.g:1:286: RULE_ANY_OTHER
1492 {
1493 mRULE_ANY_OTHER();
1494
1495 }
1496 break;
1497
1498 }
1499
1500 }
1501
1502
1503 protected DFA11 dfa11 = new DFA11(this);
1504 static final String DFA11_eotS =
1505 "\1\uffff\1\43\2\uffff\2\47\2\uffff\3\47\2\uffff\2\47\4\uffff\1\47\2\uffff\1\75\2\47\1\101\3\41\2\uffff\1\41\6\uffff\1\47\1\uffff\1\47\2\uffff\3\47\2\uffff\5\47\4\uffff\1\47\4\uffff\2\47\10\uffff\17\47\1\145\1\47\1\147\5\47\1\155\5\47\1\uffff\1\47\1\uffff\1\164\1\47\1\166\2\47\1\uffff\1\171\1\47\1\173\1\47\1\175\1\47\1\uffff\1\47\1\uffff\2\47\1\uffff\1\47\1\uffff\1\47\1\uffff\1\u0084\1\u0085\1\47\1\u0087\2\47\2\uffff\1\u008a\1\uffff\1\u008b\1\u008c\3\uffff";
1506 static final String DFA11_eofS =
1507 "\u008d\uffff";
1508 static final String DFA11_minS =
1509 "\1\0\1\56\2\uffff\1\145\1\162\2\uffff\1\162\1\141\1\156\2\uffff\1\154\1\156\4\uffff\1\160\2\uffff\1\55\1\143\1\142\1\75\2\0\1\101\2\uffff\1\52\6\uffff\1\146\1\uffff\1\145\2\uffff\1\165\1\154\1\153\2\uffff\1\141\1\156\1\164\1\165\1\162\4\uffff\1\160\4\uffff\1\157\1\163\10\uffff\1\145\1\144\1\142\1\145\1\163\1\156\1\163\1\164\1\145\1\155\2\157\1\160\1\164\1\162\1\60\1\154\1\60\1\145\1\157\1\163\1\141\1\156\1\60\1\162\1\163\1\145\1\162\1\163\1\uffff\1\145\1\uffff\1\60\1\167\1\60\1\151\1\144\1\uffff\1\60\1\151\1\60\1\141\1\60\1\155\1\uffff\1\156\1\uffff\1\156\1\163\1\uffff\1\164\1\uffff\1\143\1\uffff\2\60\1\163\1\60\1\145\1\164\2\uffff\1\60\1\uffff\2\60\3\uffff";
1510 static final String DFA11_maxS =
1511 "\1\uffff\1\56\2\uffff\1\145\1\162\2\uffff\1\162\1\141\1\156\2\uffff\1\157\1\170\4\uffff\1\160\2\uffff\1\55\1\143\1\142\1\75\2\uffff\1\172\2\uffff\1\57\6\uffff\1\146\1\uffff\1\157\2\uffff\1\165\1\154\1\153\2\uffff\1\141\1\156\1\164\1\165\1\162\4\uffff\1\160\4\uffff\1\157\1\163\10\uffff\1\145\1\144\1\142\1\145\1\163\1\156\1\163\1\164\1\145\1\155\2\157\1\160\1\164\1\162\1\172\1\154\1\172\1\145\1\157\1\163\1\141\1\156\1\172\1\162\1\163\1\145\1\162\1\163\1\uffff\1\145\1\uffff\1\172\1\167\1\172\1\151\1\144\1\uffff\1\172\1\151\1\172\1\141\1\172\1\155\1\uffff\1\156\1\uffff\1\156\1\163\1\uffff\1\164\1\uffff\1\143\1\uffff\2\172\1\163\1\172\1\145\1\164\2\uffff\1\172\1\uffff\2\172\3\uffff";
1512 static final String DFA11_acceptS =
1513 "\2\uffff\1\2\1\3\2\uffff\1\6\1\7\3\uffff\1\13\1\14\2\uffff\1\20\1\21\1\23\1\24\1\uffff\1\26\1\27\7\uffff\1\43\1\44\1\uffff\1\47\1\50\1\33\1\1\1\2\1\3\1\uffff\1\43\1\uffff\1\6\1\7\3\uffff\1\13\1\14\5\uffff\1\20\1\21\1\23\1\24\1\uffff\1\26\1\27\1\30\1\31\2\uffff\1\40\1\37\1\41\1\42\1\44\1\45\1\46\1\47\35\uffff\1\5\1\uffff\1\10\5\uffff\1\22\6\uffff\1\11\1\uffff\1\16\2\uffff\1\36\1\uffff\1\32\1\uffff\1\4\6\uffff\1\15\1\12\1\uffff\1\17\2\uffff\1\35\1\25\1\34";
1514 static final String DFA11_specialS =
1515 "\1\2\31\uffff\1\1\1\0\161\uffff}>";
1516 static final String[] DFA11_transitionS = {
1517 "\11\41\2\40\2\41\1\40\22\41\1\40\1\13\1\32\4\41\1\33\1\24\1\25\1\7\1\31\1\2\1\41\1\1\1\37\12\36\1\26\1\3\1\41\1\6\1\41\1\14\1\41\32\35\1\21\1\41\1\22\1\34\1\35\1\41\1\30\1\35\1\15\1\35\1\16\1\11\10\35\1\23\1\5\1\35\1\4\1\27\1\10\1\12\5\35\1\17\1\41\1\20\uff82\41",
1518 "\1\42",
1519 "",
1520 "",
1521 "\1\46",
1522 "\1\50",
1523 "",
1524 "",
1525 "\1\53",
1526 "\1\54",
1527 "\1\55",
1528 "",
1529 "",
1530 "\1\60\2\uffff\1\61",
1531 "\1\63\3\uffff\1\64\5\uffff\1\62",
1532 "",
1533 "",
1534 "",
1535 "",
1536 "\1\71",
1537 "",
1538 "",
1539 "\1\74",
1540 "\1\76",
1541 "\1\77",
1542 "\1\100",
1543 "\0\102",
1544 "\0\103",
1545 "\32\47\4\uffff\1\47\1\uffff\32\47",
1546 "",
1547 "",
1548 "\1\105\4\uffff\1\106",
1549 "",
1550 "",
1551 "",
1552 "",
1553 "",
1554 "",
1555 "\1\110",
1556 "",
1557 "\1\111\11\uffff\1\112",
1558 "",
1559 "",
1560 "\1\113",
1561 "\1\114",
1562 "\1\115",
1563 "",
1564 "",
1565 "\1\116",
1566 "\1\117",
1567 "\1\120",
1568 "\1\121",
1569 "\1\122",
1570 "",
1571 "",
1572 "",
1573 "",
1574 "\1\123",
1575 "",
1576 "",
1577 "",
1578 "",
1579 "\1\124",
1580 "\1\125",
1581 "",
1582 "",
1583 "",
1584 "",
1585 "",
1586 "",
1587 "",
1588 "",
1589 "\1\126",
1590 "\1\127",
1591 "\1\130",
1592 "\1\131",
1593 "\1\132",
1594 "\1\133",
1595 "\1\134",
1596 "\1\135",
1597 "\1\136",
1598 "\1\137",
1599 "\1\140",
1600 "\1\141",
1601 "\1\142",
1602 "\1\143",
1603 "\1\144",
1604 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1605 "\1\146",
1606 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1607 "\1\150",
1608 "\1\151",
1609 "\1\152",
1610 "\1\153",
1611 "\1\154",
1612 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1613 "\1\156",
1614 "\1\157",
1615 "\1\160",
1616 "\1\161",
1617 "\1\162",
1618 "",
1619 "\1\163",
1620 "",
1621 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1622 "\1\165",
1623 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1624 "\1\167",
1625 "\1\170",
1626 "",
1627 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1628 "\1\172",
1629 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1630 "\1\174",
1631 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1632 "\1\176",
1633 "",
1634 "\1\177",
1635 "",
1636 "\1\u0080",
1637 "\1\u0081",
1638 "",
1639 "\1\u0082",
1640 "",
1641 "\1\u0083",
1642 "",
1643 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1644 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1645 "\1\u0086",
1646 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1647 "\1\u0088",
1648 "\1\u0089",
1649 "",
1650 "",
1651 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1652 "",
1653 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1654 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1655 "",
1656 "",
1657 ""
1658 };
1659
1660 static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
1661 static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
1662 static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
1663 static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
1664 static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
1665 static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
1666 static final short[][] DFA11_transition;
1667
1668 static {
1669 int numStates = DFA11_transitionS.length;
1670 DFA11_transition = new short[numStates][];
1671 for (int i=0; i<numStates; i++) {
1672 DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
1673 }
1674 }
1675
1676 class DFA11 extends DFA {
1677
1678 public DFA11(BaseRecognizer recognizer) {
1679 this.recognizer = recognizer;
1680 this.decisionNumber = 11;
1681 this.eot = DFA11_eot;
1682 this.eof = DFA11_eof;
1683 this.min = DFA11_min;
1684 this.max = DFA11_max;
1685 this.accept = DFA11_accept;
1686 this.special = DFA11_special;
1687 this.transition = DFA11_transition;
1688 }
1689 public String getDescription() {
1690 return "1:1: Tokens : ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
1691 }
1692 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
1693 IntStream input = _input;
1694 int _s = s;
1695 switch ( s ) {
1696 case 0 :
1697 int LA11_27 = input.LA(1);
1698
1699 s = -1;
1700 if ( ((LA11_27>='\u0000' && LA11_27<='\uFFFF')) ) {s = 67;}
1701
1702 else s = 33;
1703
1704 if ( s>=0 ) return s;
1705 break;
1706 case 1 :
1707 int LA11_26 = input.LA(1);
1708
1709 s = -1;
1710 if ( ((LA11_26>='\u0000' && LA11_26<='\uFFFF')) ) {s = 66;}
1711
1712 else s = 33;
1713
1714 if ( s>=0 ) return s;
1715 break;
1716 case 2 :
1717 int LA11_0 = input.LA(1);
1718
1719 s = -1;
1720 if ( (LA11_0=='.') ) {s = 1;}
1721
1722 else if ( (LA11_0==',') ) {s = 2;}
1723
1724 else if ( (LA11_0==';') ) {s = 3;}
1725
1726 else if ( (LA11_0=='r') ) {s = 4;}
1727
1728 else if ( (LA11_0=='p') ) {s = 5;}
1729
1730 else if ( (LA11_0=='=') ) {s = 6;}
1731
1732 else if ( (LA11_0=='*') ) {s = 7;}
1733
1734 else if ( (LA11_0=='t') ) {s = 8;}
1735
1736 else if ( (LA11_0=='f') ) {s = 9;}
1737
1738 else if ( (LA11_0=='u') ) {s = 10;}
1739
1740 else if ( (LA11_0=='!') ) {s = 11;}
1741
1742 else if ( (LA11_0=='?') ) {s = 12;}
1743
1744 else if ( (LA11_0=='c') ) {s = 13;}
1745
1746 else if ( (LA11_0=='e') ) {s = 14;}
1747
1748 else if ( (LA11_0=='{') ) {s = 15;}
1749
1750 else if ( (LA11_0=='}') ) {s = 16;}
1751
1752 else if ( (LA11_0=='[') ) {s = 17;}
1753
1754 else if ( (LA11_0==']') ) {s = 18;}
1755
1756 else if ( (LA11_0=='o') ) {s = 19;}
1757
1758 else if ( (LA11_0=='(') ) {s = 20;}
1759
1760 else if ( (LA11_0==')') ) {s = 21;}
1761
1762 else if ( (LA11_0==':') ) {s = 22;}
1763
1764 else if ( (LA11_0=='s') ) {s = 23;}
1765
1766 else if ( (LA11_0=='a') ) {s = 24;}
1767
1768 else if ( (LA11_0=='+') ) {s = 25;}
1769
1770 else if ( (LA11_0=='\"') ) {s = 26;}
1771
1772 else if ( (LA11_0=='\'') ) {s = 27;}
1773
1774 else if ( (LA11_0=='^') ) {s = 28;}
1775
1776 else if ( ((LA11_0>='A' && LA11_0<='Z')||LA11_0=='_'||LA11_0=='b'||LA11_0=='d'||(LA11_0>='g' && LA11_0<='n')||LA11_0=='q'||(LA11_0>='v' && LA11_0<='z')) ) {s = 29;}
1777
1778 else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 30;}
1779
1780 else if ( (LA11_0=='/') ) {s = 31;}
1781
1782 else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 32;}
1783
1784 else if ( ((LA11_0>='\u0000' && LA11_0<='\b')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\u001F')||(LA11_0>='#' && LA11_0<='&')||LA11_0=='-'||LA11_0=='<'||LA11_0=='>'||LA11_0=='@'||LA11_0=='\\'||LA11_0=='`'||LA11_0=='|'||(LA11_0>='~' && LA11_0<='\uFFFF')) ) {s = 33;}
1785
1786 if ( s>=0 ) return s;
1787 break;
1788 }
1789 NoViableAltException nvae =
1790 new NoViableAltException(getDescription(), 11, _s, input);
1791 error(nvae);
1792 throw nvae;
1793 }
1794 }
1795
1796
1797} \ No newline at end of file
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemParser.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemParser.java
deleted file mode 100644
index 0f70a158..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemParser.java
+++ /dev/null
@@ -1,15493 +0,0 @@
1package org.eclipse.viatra.solver.language.ide.contentassist.antlr.internal;
2
3import java.io.InputStream;
4import org.eclipse.xtext.*;
5import org.eclipse.xtext.parser.*;
6import org.eclipse.xtext.parser.impl.*;
7import org.eclipse.emf.ecore.util.EcoreUtil;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.xtext.parser.antlr.XtextTokenStream;
10import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
11import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
12import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA;
13import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess;
14
15
16
17import org.antlr.runtime.*;
18import java.util.Stack;
19import java.util.List;
20import java.util.ArrayList;
21
22@SuppressWarnings("all")
23public class InternalProblemParser extends AbstractInternalContentAssistParser {
24 public static final String[] tokenNames = new String[] {
25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_QUOTED_ID", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'.'", "','", "';'", "'refers'", "'pred'", "'='", "'*'", "'true'", "'false'", "'unknown'", "'!'", "'?'", "'problem'", "'class'", "'extends'", "'{'", "'}'", "'enum'", "'['", "']'", "'opposite'", "'('", "')'", "':-'", "':'", "'scope'", "'..'", "'abstract'", "'contains'", "'error'", "'+'", "'+='"
26 };
27 public static final int T__19=19;
28 public static final int T__15=15;
29 public static final int T__16=16;
30 public static final int T__17=17;
31 public static final int T__18=18;
32 public static final int T__12=12;
33 public static final int T__13=13;
34 public static final int T__14=14;
35 public static final int RULE_ID=6;
36 public static final int RULE_QUOTED_ID=5;
37 public static final int T__26=26;
38 public static final int T__27=27;
39 public static final int T__28=28;
40 public static final int RULE_INT=4;
41 public static final int T__29=29;
42 public static final int T__22=22;
43 public static final int RULE_ML_COMMENT=8;
44 public static final int T__23=23;
45 public static final int T__24=24;
46 public static final int T__25=25;
47 public static final int T__20=20;
48 public static final int T__21=21;
49 public static final int RULE_STRING=7;
50 public static final int RULE_SL_COMMENT=9;
51 public static final int T__37=37;
52 public static final int T__38=38;
53 public static final int T__39=39;
54 public static final int T__33=33;
55 public static final int T__34=34;
56 public static final int T__35=35;
57 public static final int T__36=36;
58 public static final int EOF=-1;
59 public static final int T__30=30;
60 public static final int T__31=31;
61 public static final int T__32=32;
62 public static final int RULE_WS=10;
63 public static final int RULE_ANY_OTHER=11;
64 public static final int T__40=40;
65 public static final int T__41=41;
66 public static final int T__42=42;
67 public static final int T__43=43;
68
69 // delegates
70 // delegators
71
72
73 public InternalProblemParser(TokenStream input) {
74 this(input, new RecognizerSharedState());
75 }
76 public InternalProblemParser(TokenStream input, RecognizerSharedState state) {
77 super(input, state);
78
79 }
80
81
82 public String[] getTokenNames() { return InternalProblemParser.tokenNames; }
83 public String getGrammarFileName() { return "InternalProblem.g"; }
84
85
86 private ProblemGrammarAccess grammarAccess;
87
88 public void setGrammarAccess(ProblemGrammarAccess grammarAccess) {
89 this.grammarAccess = grammarAccess;
90 }
91
92 @Override
93 protected Grammar getGrammar() {
94 return grammarAccess.getGrammar();
95 }
96
97 @Override
98 protected String getValueForTokenName(String tokenName) {
99 return tokenName;
100 }
101
102
103
104 // $ANTLR start "entryRuleProblem"
105 // InternalProblem.g:53:1: entryRuleProblem : ruleProblem EOF ;
106 public final void entryRuleProblem() throws RecognitionException {
107 try {
108 // InternalProblem.g:54:1: ( ruleProblem EOF )
109 // InternalProblem.g:55:1: ruleProblem EOF
110 {
111 before(grammarAccess.getProblemRule());
112 pushFollow(FOLLOW_1);
113 ruleProblem();
114
115 state._fsp--;
116
117 after(grammarAccess.getProblemRule());
118 match(input,EOF,FOLLOW_2);
119
120 }
121
122 }
123 catch (RecognitionException re) {
124 reportError(re);
125 recover(input,re);
126 }
127 finally {
128 }
129 return ;
130 }
131 // $ANTLR end "entryRuleProblem"
132
133
134 // $ANTLR start "ruleProblem"
135 // InternalProblem.g:62:1: ruleProblem : ( ( rule__Problem__Group__0 ) ) ;
136 public final void ruleProblem() throws RecognitionException {
137
138 int stackSize = keepStackSize();
139
140 try {
141 // InternalProblem.g:66:2: ( ( ( rule__Problem__Group__0 ) ) )
142 // InternalProblem.g:67:2: ( ( rule__Problem__Group__0 ) )
143 {
144 // InternalProblem.g:67:2: ( ( rule__Problem__Group__0 ) )
145 // InternalProblem.g:68:3: ( rule__Problem__Group__0 )
146 {
147 before(grammarAccess.getProblemAccess().getGroup());
148 // InternalProblem.g:69:3: ( rule__Problem__Group__0 )
149 // InternalProblem.g:69:4: rule__Problem__Group__0
150 {
151 pushFollow(FOLLOW_2);
152 rule__Problem__Group__0();
153
154 state._fsp--;
155
156
157 }
158
159 after(grammarAccess.getProblemAccess().getGroup());
160
161 }
162
163
164 }
165
166 }
167 catch (RecognitionException re) {
168 reportError(re);
169 recover(input,re);
170 }
171 finally {
172
173 restoreStackSize(stackSize);
174
175 }
176 return ;
177 }
178 // $ANTLR end "ruleProblem"
179
180
181 // $ANTLR start "entryRuleStatement"
182 // InternalProblem.g:78:1: entryRuleStatement : ruleStatement EOF ;
183 public final void entryRuleStatement() throws RecognitionException {
184 try {
185 // InternalProblem.g:79:1: ( ruleStatement EOF )
186 // InternalProblem.g:80:1: ruleStatement EOF
187 {
188 before(grammarAccess.getStatementRule());
189 pushFollow(FOLLOW_1);
190 ruleStatement();
191
192 state._fsp--;
193
194 after(grammarAccess.getStatementRule());
195 match(input,EOF,FOLLOW_2);
196
197 }
198
199 }
200 catch (RecognitionException re) {
201 reportError(re);
202 recover(input,re);
203 }
204 finally {
205 }
206 return ;
207 }
208 // $ANTLR end "entryRuleStatement"
209
210
211 // $ANTLR start "ruleStatement"
212 // InternalProblem.g:87:1: ruleStatement : ( ( rule__Statement__Alternatives ) ) ;
213 public final void ruleStatement() throws RecognitionException {
214
215 int stackSize = keepStackSize();
216
217 try {
218 // InternalProblem.g:91:2: ( ( ( rule__Statement__Alternatives ) ) )
219 // InternalProblem.g:92:2: ( ( rule__Statement__Alternatives ) )
220 {
221 // InternalProblem.g:92:2: ( ( rule__Statement__Alternatives ) )
222 // InternalProblem.g:93:3: ( rule__Statement__Alternatives )
223 {
224 before(grammarAccess.getStatementAccess().getAlternatives());
225 // InternalProblem.g:94:3: ( rule__Statement__Alternatives )
226 // InternalProblem.g:94:4: rule__Statement__Alternatives
227 {
228 pushFollow(FOLLOW_2);
229 rule__Statement__Alternatives();
230
231 state._fsp--;
232
233
234 }
235
236 after(grammarAccess.getStatementAccess().getAlternatives());
237
238 }
239
240
241 }
242
243 }
244 catch (RecognitionException re) {
245 reportError(re);
246 recover(input,re);
247 }
248 finally {
249
250 restoreStackSize(stackSize);
251
252 }
253 return ;
254 }
255 // $ANTLR end "ruleStatement"
256
257
258 // $ANTLR start "entryRuleClassDeclaration"
259 // InternalProblem.g:103:1: entryRuleClassDeclaration : ruleClassDeclaration EOF ;
260 public final void entryRuleClassDeclaration() throws RecognitionException {
261 try {
262 // InternalProblem.g:104:1: ( ruleClassDeclaration EOF )
263 // InternalProblem.g:105:1: ruleClassDeclaration EOF
264 {
265 before(grammarAccess.getClassDeclarationRule());
266 pushFollow(FOLLOW_1);
267 ruleClassDeclaration();
268
269 state._fsp--;
270
271 after(grammarAccess.getClassDeclarationRule());
272 match(input,EOF,FOLLOW_2);
273
274 }
275
276 }
277 catch (RecognitionException re) {
278 reportError(re);
279 recover(input,re);
280 }
281 finally {
282 }
283 return ;
284 }
285 // $ANTLR end "entryRuleClassDeclaration"
286
287
288 // $ANTLR start "ruleClassDeclaration"
289 // InternalProblem.g:112:1: ruleClassDeclaration : ( ( rule__ClassDeclaration__Group__0 ) ) ;
290 public final void ruleClassDeclaration() throws RecognitionException {
291
292 int stackSize = keepStackSize();
293
294 try {
295 // InternalProblem.g:116:2: ( ( ( rule__ClassDeclaration__Group__0 ) ) )
296 // InternalProblem.g:117:2: ( ( rule__ClassDeclaration__Group__0 ) )
297 {
298 // InternalProblem.g:117:2: ( ( rule__ClassDeclaration__Group__0 ) )
299 // InternalProblem.g:118:3: ( rule__ClassDeclaration__Group__0 )
300 {
301 before(grammarAccess.getClassDeclarationAccess().getGroup());
302 // InternalProblem.g:119:3: ( rule__ClassDeclaration__Group__0 )
303 // InternalProblem.g:119:4: rule__ClassDeclaration__Group__0
304 {
305 pushFollow(FOLLOW_2);
306 rule__ClassDeclaration__Group__0();
307
308 state._fsp--;
309
310
311 }
312
313 after(grammarAccess.getClassDeclarationAccess().getGroup());
314
315 }
316
317
318 }
319
320 }
321 catch (RecognitionException re) {
322 reportError(re);
323 recover(input,re);
324 }
325 finally {
326
327 restoreStackSize(stackSize);
328
329 }
330 return ;
331 }
332 // $ANTLR end "ruleClassDeclaration"
333
334
335 // $ANTLR start "entryRuleEnumDeclaration"
336 // InternalProblem.g:128:1: entryRuleEnumDeclaration : ruleEnumDeclaration EOF ;
337 public final void entryRuleEnumDeclaration() throws RecognitionException {
338 try {
339 // InternalProblem.g:129:1: ( ruleEnumDeclaration EOF )
340 // InternalProblem.g:130:1: ruleEnumDeclaration EOF
341 {
342 before(grammarAccess.getEnumDeclarationRule());
343 pushFollow(FOLLOW_1);
344 ruleEnumDeclaration();
345
346 state._fsp--;
347
348 after(grammarAccess.getEnumDeclarationRule());
349 match(input,EOF,FOLLOW_2);
350
351 }
352
353 }
354 catch (RecognitionException re) {
355 reportError(re);
356 recover(input,re);
357 }
358 finally {
359 }
360 return ;
361 }
362 // $ANTLR end "entryRuleEnumDeclaration"
363
364
365 // $ANTLR start "ruleEnumDeclaration"
366 // InternalProblem.g:137:1: ruleEnumDeclaration : ( ( rule__EnumDeclaration__Group__0 ) ) ;
367 public final void ruleEnumDeclaration() throws RecognitionException {
368
369 int stackSize = keepStackSize();
370
371 try {
372 // InternalProblem.g:141:2: ( ( ( rule__EnumDeclaration__Group__0 ) ) )
373 // InternalProblem.g:142:2: ( ( rule__EnumDeclaration__Group__0 ) )
374 {
375 // InternalProblem.g:142:2: ( ( rule__EnumDeclaration__Group__0 ) )
376 // InternalProblem.g:143:3: ( rule__EnumDeclaration__Group__0 )
377 {
378 before(grammarAccess.getEnumDeclarationAccess().getGroup());
379 // InternalProblem.g:144:3: ( rule__EnumDeclaration__Group__0 )
380 // InternalProblem.g:144:4: rule__EnumDeclaration__Group__0
381 {
382 pushFollow(FOLLOW_2);
383 rule__EnumDeclaration__Group__0();
384
385 state._fsp--;
386
387
388 }
389
390 after(grammarAccess.getEnumDeclarationAccess().getGroup());
391
392 }
393
394
395 }
396
397 }
398 catch (RecognitionException re) {
399 reportError(re);
400 recover(input,re);
401 }
402 finally {
403
404 restoreStackSize(stackSize);
405
406 }
407 return ;
408 }
409 // $ANTLR end "ruleEnumDeclaration"
410
411
412 // $ANTLR start "entryRuleEnumLiteral"
413 // InternalProblem.g:153:1: entryRuleEnumLiteral : ruleEnumLiteral EOF ;
414 public final void entryRuleEnumLiteral() throws RecognitionException {
415 try {
416 // InternalProblem.g:154:1: ( ruleEnumLiteral EOF )
417 // InternalProblem.g:155:1: ruleEnumLiteral EOF
418 {
419 before(grammarAccess.getEnumLiteralRule());
420 pushFollow(FOLLOW_1);
421 ruleEnumLiteral();
422
423 state._fsp--;
424
425 after(grammarAccess.getEnumLiteralRule());
426 match(input,EOF,FOLLOW_2);
427
428 }
429
430 }
431 catch (RecognitionException re) {
432 reportError(re);
433 recover(input,re);
434 }
435 finally {
436 }
437 return ;
438 }
439 // $ANTLR end "entryRuleEnumLiteral"
440
441
442 // $ANTLR start "ruleEnumLiteral"
443 // InternalProblem.g:162:1: ruleEnumLiteral : ( ( rule__EnumLiteral__NameAssignment ) ) ;
444 public final void ruleEnumLiteral() throws RecognitionException {
445
446 int stackSize = keepStackSize();
447
448 try {
449 // InternalProblem.g:166:2: ( ( ( rule__EnumLiteral__NameAssignment ) ) )
450 // InternalProblem.g:167:2: ( ( rule__EnumLiteral__NameAssignment ) )
451 {
452 // InternalProblem.g:167:2: ( ( rule__EnumLiteral__NameAssignment ) )
453 // InternalProblem.g:168:3: ( rule__EnumLiteral__NameAssignment )
454 {
455 before(grammarAccess.getEnumLiteralAccess().getNameAssignment());
456 // InternalProblem.g:169:3: ( rule__EnumLiteral__NameAssignment )
457 // InternalProblem.g:169:4: rule__EnumLiteral__NameAssignment
458 {
459 pushFollow(FOLLOW_2);
460 rule__EnumLiteral__NameAssignment();
461
462 state._fsp--;
463
464
465 }
466
467 after(grammarAccess.getEnumLiteralAccess().getNameAssignment());
468
469 }
470
471
472 }
473
474 }
475 catch (RecognitionException re) {
476 reportError(re);
477 recover(input,re);
478 }
479 finally {
480
481 restoreStackSize(stackSize);
482
483 }
484 return ;
485 }
486 // $ANTLR end "ruleEnumLiteral"
487
488
489 // $ANTLR start "entryRuleReferenceDeclaration"
490 // InternalProblem.g:178:1: entryRuleReferenceDeclaration : ruleReferenceDeclaration EOF ;
491 public final void entryRuleReferenceDeclaration() throws RecognitionException {
492 try {
493 // InternalProblem.g:179:1: ( ruleReferenceDeclaration EOF )
494 // InternalProblem.g:180:1: ruleReferenceDeclaration EOF
495 {
496 before(grammarAccess.getReferenceDeclarationRule());
497 pushFollow(FOLLOW_1);
498 ruleReferenceDeclaration();
499
500 state._fsp--;
501
502 after(grammarAccess.getReferenceDeclarationRule());
503 match(input,EOF,FOLLOW_2);
504
505 }
506
507 }
508 catch (RecognitionException re) {
509 reportError(re);
510 recover(input,re);
511 }
512 finally {
513 }
514 return ;
515 }
516 // $ANTLR end "entryRuleReferenceDeclaration"
517
518
519 // $ANTLR start "ruleReferenceDeclaration"
520 // InternalProblem.g:187:1: ruleReferenceDeclaration : ( ( rule__ReferenceDeclaration__Group__0 ) ) ;
521 public final void ruleReferenceDeclaration() throws RecognitionException {
522
523 int stackSize = keepStackSize();
524
525 try {
526 // InternalProblem.g:191:2: ( ( ( rule__ReferenceDeclaration__Group__0 ) ) )
527 // InternalProblem.g:192:2: ( ( rule__ReferenceDeclaration__Group__0 ) )
528 {
529 // InternalProblem.g:192:2: ( ( rule__ReferenceDeclaration__Group__0 ) )
530 // InternalProblem.g:193:3: ( rule__ReferenceDeclaration__Group__0 )
531 {
532 before(grammarAccess.getReferenceDeclarationAccess().getGroup());
533 // InternalProblem.g:194:3: ( rule__ReferenceDeclaration__Group__0 )
534 // InternalProblem.g:194:4: rule__ReferenceDeclaration__Group__0
535 {
536 pushFollow(FOLLOW_2);
537 rule__ReferenceDeclaration__Group__0();
538
539 state._fsp--;
540
541
542 }
543
544 after(grammarAccess.getReferenceDeclarationAccess().getGroup());
545
546 }
547
548
549 }
550
551 }
552 catch (RecognitionException re) {
553 reportError(re);
554 recover(input,re);
555 }
556 finally {
557
558 restoreStackSize(stackSize);
559
560 }
561 return ;
562 }
563 // $ANTLR end "ruleReferenceDeclaration"
564
565
566 // $ANTLR start "entryRulePredicateDefinition"
567 // InternalProblem.g:203:1: entryRulePredicateDefinition : rulePredicateDefinition EOF ;
568 public final void entryRulePredicateDefinition() throws RecognitionException {
569 try {
570 // InternalProblem.g:204:1: ( rulePredicateDefinition EOF )
571 // InternalProblem.g:205:1: rulePredicateDefinition EOF
572 {
573 before(grammarAccess.getPredicateDefinitionRule());
574 pushFollow(FOLLOW_1);
575 rulePredicateDefinition();
576
577 state._fsp--;
578
579 after(grammarAccess.getPredicateDefinitionRule());
580 match(input,EOF,FOLLOW_2);
581
582 }
583
584 }
585 catch (RecognitionException re) {
586 reportError(re);
587 recover(input,re);
588 }
589 finally {
590 }
591 return ;
592 }
593 // $ANTLR end "entryRulePredicateDefinition"
594
595
596 // $ANTLR start "rulePredicateDefinition"
597 // InternalProblem.g:212:1: rulePredicateDefinition : ( ( rule__PredicateDefinition__Group__0 ) ) ;
598 public final void rulePredicateDefinition() throws RecognitionException {
599
600 int stackSize = keepStackSize();
601
602 try {
603 // InternalProblem.g:216:2: ( ( ( rule__PredicateDefinition__Group__0 ) ) )
604 // InternalProblem.g:217:2: ( ( rule__PredicateDefinition__Group__0 ) )
605 {
606 // InternalProblem.g:217:2: ( ( rule__PredicateDefinition__Group__0 ) )
607 // InternalProblem.g:218:3: ( rule__PredicateDefinition__Group__0 )
608 {
609 before(grammarAccess.getPredicateDefinitionAccess().getGroup());
610 // InternalProblem.g:219:3: ( rule__PredicateDefinition__Group__0 )
611 // InternalProblem.g:219:4: rule__PredicateDefinition__Group__0
612 {
613 pushFollow(FOLLOW_2);
614 rule__PredicateDefinition__Group__0();
615
616 state._fsp--;
617
618
619 }
620
621 after(grammarAccess.getPredicateDefinitionAccess().getGroup());
622
623 }
624
625
626 }
627
628 }
629 catch (RecognitionException re) {
630 reportError(re);
631 recover(input,re);
632 }
633 finally {
634
635 restoreStackSize(stackSize);
636
637 }
638 return ;
639 }
640 // $ANTLR end "rulePredicateDefinition"
641
642
643 // $ANTLR start "entryRuleParameter"
644 // InternalProblem.g:228:1: entryRuleParameter : ruleParameter EOF ;
645 public final void entryRuleParameter() throws RecognitionException {
646 try {
647 // InternalProblem.g:229:1: ( ruleParameter EOF )
648 // InternalProblem.g:230:1: ruleParameter EOF
649 {
650 before(grammarAccess.getParameterRule());
651 pushFollow(FOLLOW_1);
652 ruleParameter();
653
654 state._fsp--;
655
656 after(grammarAccess.getParameterRule());
657 match(input,EOF,FOLLOW_2);
658
659 }
660
661 }
662 catch (RecognitionException re) {
663 reportError(re);
664 recover(input,re);
665 }
666 finally {
667 }
668 return ;
669 }
670 // $ANTLR end "entryRuleParameter"
671
672
673 // $ANTLR start "ruleParameter"
674 // InternalProblem.g:237:1: ruleParameter : ( ( rule__Parameter__Group__0 ) ) ;
675 public final void ruleParameter() throws RecognitionException {
676
677 int stackSize = keepStackSize();
678
679 try {
680 // InternalProblem.g:241:2: ( ( ( rule__Parameter__Group__0 ) ) )
681 // InternalProblem.g:242:2: ( ( rule__Parameter__Group__0 ) )
682 {
683 // InternalProblem.g:242:2: ( ( rule__Parameter__Group__0 ) )
684 // InternalProblem.g:243:3: ( rule__Parameter__Group__0 )
685 {
686 before(grammarAccess.getParameterAccess().getGroup());
687 // InternalProblem.g:244:3: ( rule__Parameter__Group__0 )
688 // InternalProblem.g:244:4: rule__Parameter__Group__0
689 {
690 pushFollow(FOLLOW_2);
691 rule__Parameter__Group__0();
692
693 state._fsp--;
694
695
696 }
697
698 after(grammarAccess.getParameterAccess().getGroup());
699
700 }
701
702
703 }
704
705 }
706 catch (RecognitionException re) {
707 reportError(re);
708 recover(input,re);
709 }
710 finally {
711
712 restoreStackSize(stackSize);
713
714 }
715 return ;
716 }
717 // $ANTLR end "ruleParameter"
718
719
720 // $ANTLR start "entryRuleConjunction"
721 // InternalProblem.g:253:1: entryRuleConjunction : ruleConjunction EOF ;
722 public final void entryRuleConjunction() throws RecognitionException {
723 try {
724 // InternalProblem.g:254:1: ( ruleConjunction EOF )
725 // InternalProblem.g:255:1: ruleConjunction EOF
726 {
727 before(grammarAccess.getConjunctionRule());
728 pushFollow(FOLLOW_1);
729 ruleConjunction();
730
731 state._fsp--;
732
733 after(grammarAccess.getConjunctionRule());
734 match(input,EOF,FOLLOW_2);
735
736 }
737
738 }
739 catch (RecognitionException re) {
740 reportError(re);
741 recover(input,re);
742 }
743 finally {
744 }
745 return ;
746 }
747 // $ANTLR end "entryRuleConjunction"
748
749
750 // $ANTLR start "ruleConjunction"
751 // InternalProblem.g:262:1: ruleConjunction : ( ( rule__Conjunction__Group__0 ) ) ;
752 public final void ruleConjunction() throws RecognitionException {
753
754 int stackSize = keepStackSize();
755
756 try {
757 // InternalProblem.g:266:2: ( ( ( rule__Conjunction__Group__0 ) ) )
758 // InternalProblem.g:267:2: ( ( rule__Conjunction__Group__0 ) )
759 {
760 // InternalProblem.g:267:2: ( ( rule__Conjunction__Group__0 ) )
761 // InternalProblem.g:268:3: ( rule__Conjunction__Group__0 )
762 {
763 before(grammarAccess.getConjunctionAccess().getGroup());
764 // InternalProblem.g:269:3: ( rule__Conjunction__Group__0 )
765 // InternalProblem.g:269:4: rule__Conjunction__Group__0
766 {
767 pushFollow(FOLLOW_2);
768 rule__Conjunction__Group__0();
769
770 state._fsp--;
771
772
773 }
774
775 after(grammarAccess.getConjunctionAccess().getGroup());
776
777 }
778
779
780 }
781
782 }
783 catch (RecognitionException re) {
784 reportError(re);
785 recover(input,re);
786 }
787 finally {
788
789 restoreStackSize(stackSize);
790
791 }
792 return ;
793 }
794 // $ANTLR end "ruleConjunction"
795
796
797 // $ANTLR start "entryRuleLiteral"
798 // InternalProblem.g:278:1: entryRuleLiteral : ruleLiteral EOF ;
799 public final void entryRuleLiteral() throws RecognitionException {
800 try {
801 // InternalProblem.g:279:1: ( ruleLiteral EOF )
802 // InternalProblem.g:280:1: ruleLiteral EOF
803 {
804 before(grammarAccess.getLiteralRule());
805 pushFollow(FOLLOW_1);
806 ruleLiteral();
807
808 state._fsp--;
809
810 after(grammarAccess.getLiteralRule());
811 match(input,EOF,FOLLOW_2);
812
813 }
814
815 }
816 catch (RecognitionException re) {
817 reportError(re);
818 recover(input,re);
819 }
820 finally {
821 }
822 return ;
823 }
824 // $ANTLR end "entryRuleLiteral"
825
826
827 // $ANTLR start "ruleLiteral"
828 // InternalProblem.g:287:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ;
829 public final void ruleLiteral() throws RecognitionException {
830
831 int stackSize = keepStackSize();
832
833 try {
834 // InternalProblem.g:291:2: ( ( ( rule__Literal__Alternatives ) ) )
835 // InternalProblem.g:292:2: ( ( rule__Literal__Alternatives ) )
836 {
837 // InternalProblem.g:292:2: ( ( rule__Literal__Alternatives ) )
838 // InternalProblem.g:293:3: ( rule__Literal__Alternatives )
839 {
840 before(grammarAccess.getLiteralAccess().getAlternatives());
841 // InternalProblem.g:294:3: ( rule__Literal__Alternatives )
842 // InternalProblem.g:294:4: rule__Literal__Alternatives
843 {
844 pushFollow(FOLLOW_2);
845 rule__Literal__Alternatives();
846
847 state._fsp--;
848
849
850 }
851
852 after(grammarAccess.getLiteralAccess().getAlternatives());
853
854 }
855
856
857 }
858
859 }
860 catch (RecognitionException re) {
861 reportError(re);
862 recover(input,re);
863 }
864 finally {
865
866 restoreStackSize(stackSize);
867
868 }
869 return ;
870 }
871 // $ANTLR end "ruleLiteral"
872
873
874 // $ANTLR start "entryRuleNegativeLiteral"
875 // InternalProblem.g:303:1: entryRuleNegativeLiteral : ruleNegativeLiteral EOF ;
876 public final void entryRuleNegativeLiteral() throws RecognitionException {
877 try {
878 // InternalProblem.g:304:1: ( ruleNegativeLiteral EOF )
879 // InternalProblem.g:305:1: ruleNegativeLiteral EOF
880 {
881 before(grammarAccess.getNegativeLiteralRule());
882 pushFollow(FOLLOW_1);
883 ruleNegativeLiteral();
884
885 state._fsp--;
886
887 after(grammarAccess.getNegativeLiteralRule());
888 match(input,EOF,FOLLOW_2);
889
890 }
891
892 }
893 catch (RecognitionException re) {
894 reportError(re);
895 recover(input,re);
896 }
897 finally {
898 }
899 return ;
900 }
901 // $ANTLR end "entryRuleNegativeLiteral"
902
903
904 // $ANTLR start "ruleNegativeLiteral"
905 // InternalProblem.g:312:1: ruleNegativeLiteral : ( ( rule__NegativeLiteral__Group__0 ) ) ;
906 public final void ruleNegativeLiteral() throws RecognitionException {
907
908 int stackSize = keepStackSize();
909
910 try {
911 // InternalProblem.g:316:2: ( ( ( rule__NegativeLiteral__Group__0 ) ) )
912 // InternalProblem.g:317:2: ( ( rule__NegativeLiteral__Group__0 ) )
913 {
914 // InternalProblem.g:317:2: ( ( rule__NegativeLiteral__Group__0 ) )
915 // InternalProblem.g:318:3: ( rule__NegativeLiteral__Group__0 )
916 {
917 before(grammarAccess.getNegativeLiteralAccess().getGroup());
918 // InternalProblem.g:319:3: ( rule__NegativeLiteral__Group__0 )
919 // InternalProblem.g:319:4: rule__NegativeLiteral__Group__0
920 {
921 pushFollow(FOLLOW_2);
922 rule__NegativeLiteral__Group__0();
923
924 state._fsp--;
925
926
927 }
928
929 after(grammarAccess.getNegativeLiteralAccess().getGroup());
930
931 }
932
933
934 }
935
936 }
937 catch (RecognitionException re) {
938 reportError(re);
939 recover(input,re);
940 }
941 finally {
942
943 restoreStackSize(stackSize);
944
945 }
946 return ;
947 }
948 // $ANTLR end "ruleNegativeLiteral"
949
950
951 // $ANTLR start "entryRuleAtom"
952 // InternalProblem.g:328:1: entryRuleAtom : ruleAtom EOF ;
953 public final void entryRuleAtom() throws RecognitionException {
954 try {
955 // InternalProblem.g:329:1: ( ruleAtom EOF )
956 // InternalProblem.g:330:1: ruleAtom EOF
957 {
958 before(grammarAccess.getAtomRule());
959 pushFollow(FOLLOW_1);
960 ruleAtom();
961
962 state._fsp--;
963
964 after(grammarAccess.getAtomRule());
965 match(input,EOF,FOLLOW_2);
966
967 }
968
969 }
970 catch (RecognitionException re) {
971 reportError(re);
972 recover(input,re);
973 }
974 finally {
975 }
976 return ;
977 }
978 // $ANTLR end "entryRuleAtom"
979
980
981 // $ANTLR start "ruleAtom"
982 // InternalProblem.g:337:1: ruleAtom : ( ( rule__Atom__Group__0 ) ) ;
983 public final void ruleAtom() throws RecognitionException {
984
985 int stackSize = keepStackSize();
986
987 try {
988 // InternalProblem.g:341:2: ( ( ( rule__Atom__Group__0 ) ) )
989 // InternalProblem.g:342:2: ( ( rule__Atom__Group__0 ) )
990 {
991 // InternalProblem.g:342:2: ( ( rule__Atom__Group__0 ) )
992 // InternalProblem.g:343:3: ( rule__Atom__Group__0 )
993 {
994 before(grammarAccess.getAtomAccess().getGroup());
995 // InternalProblem.g:344:3: ( rule__Atom__Group__0 )
996 // InternalProblem.g:344:4: rule__Atom__Group__0
997 {
998 pushFollow(FOLLOW_2);
999 rule__Atom__Group__0();
1000
1001 state._fsp--;
1002
1003
1004 }
1005
1006 after(grammarAccess.getAtomAccess().getGroup());
1007
1008 }
1009
1010
1011 }
1012
1013 }
1014 catch (RecognitionException re) {
1015 reportError(re);
1016 recover(input,re);
1017 }
1018 finally {
1019
1020 restoreStackSize(stackSize);
1021
1022 }
1023 return ;
1024 }
1025 // $ANTLR end "ruleAtom"
1026
1027
1028 // $ANTLR start "entryRuleArgument"
1029 // InternalProblem.g:353:1: entryRuleArgument : ruleArgument EOF ;
1030 public final void entryRuleArgument() throws RecognitionException {
1031 try {
1032 // InternalProblem.g:354:1: ( ruleArgument EOF )
1033 // InternalProblem.g:355:1: ruleArgument EOF
1034 {
1035 before(grammarAccess.getArgumentRule());
1036 pushFollow(FOLLOW_1);
1037 ruleArgument();
1038
1039 state._fsp--;
1040
1041 after(grammarAccess.getArgumentRule());
1042 match(input,EOF,FOLLOW_2);
1043
1044 }
1045
1046 }
1047 catch (RecognitionException re) {
1048 reportError(re);
1049 recover(input,re);
1050 }
1051 finally {
1052 }
1053 return ;
1054 }
1055 // $ANTLR end "entryRuleArgument"
1056
1057
1058 // $ANTLR start "ruleArgument"
1059 // InternalProblem.g:362:1: ruleArgument : ( ( rule__Argument__VariableOrNodeAssignment ) ) ;
1060 public final void ruleArgument() throws RecognitionException {
1061
1062 int stackSize = keepStackSize();
1063
1064 try {
1065 // InternalProblem.g:366:2: ( ( ( rule__Argument__VariableOrNodeAssignment ) ) )
1066 // InternalProblem.g:367:2: ( ( rule__Argument__VariableOrNodeAssignment ) )
1067 {
1068 // InternalProblem.g:367:2: ( ( rule__Argument__VariableOrNodeAssignment ) )
1069 // InternalProblem.g:368:3: ( rule__Argument__VariableOrNodeAssignment )
1070 {
1071 before(grammarAccess.getArgumentAccess().getVariableOrNodeAssignment());
1072 // InternalProblem.g:369:3: ( rule__Argument__VariableOrNodeAssignment )
1073 // InternalProblem.g:369:4: rule__Argument__VariableOrNodeAssignment
1074 {
1075 pushFollow(FOLLOW_2);
1076 rule__Argument__VariableOrNodeAssignment();
1077
1078 state._fsp--;
1079
1080
1081 }
1082
1083 after(grammarAccess.getArgumentAccess().getVariableOrNodeAssignment());
1084
1085 }
1086
1087
1088 }
1089
1090 }
1091 catch (RecognitionException re) {
1092 reportError(re);
1093 recover(input,re);
1094 }
1095 finally {
1096
1097 restoreStackSize(stackSize);
1098
1099 }
1100 return ;
1101 }
1102 // $ANTLR end "ruleArgument"
1103
1104
1105 // $ANTLR start "entryRuleAssertion"
1106 // InternalProblem.g:378:1: entryRuleAssertion : ruleAssertion EOF ;
1107 public final void entryRuleAssertion() throws RecognitionException {
1108 try {
1109 // InternalProblem.g:379:1: ( ruleAssertion EOF )
1110 // InternalProblem.g:380:1: ruleAssertion EOF
1111 {
1112 before(grammarAccess.getAssertionRule());
1113 pushFollow(FOLLOW_1);
1114 ruleAssertion();
1115
1116 state._fsp--;
1117
1118 after(grammarAccess.getAssertionRule());
1119 match(input,EOF,FOLLOW_2);
1120
1121 }
1122
1123 }
1124 catch (RecognitionException re) {
1125 reportError(re);
1126 recover(input,re);
1127 }
1128 finally {
1129 }
1130 return ;
1131 }
1132 // $ANTLR end "entryRuleAssertion"
1133
1134
1135 // $ANTLR start "ruleAssertion"
1136 // InternalProblem.g:387:1: ruleAssertion : ( ( rule__Assertion__Group__0 ) ) ;
1137 public final void ruleAssertion() throws RecognitionException {
1138
1139 int stackSize = keepStackSize();
1140
1141 try {
1142 // InternalProblem.g:391:2: ( ( ( rule__Assertion__Group__0 ) ) )
1143 // InternalProblem.g:392:2: ( ( rule__Assertion__Group__0 ) )
1144 {
1145 // InternalProblem.g:392:2: ( ( rule__Assertion__Group__0 ) )
1146 // InternalProblem.g:393:3: ( rule__Assertion__Group__0 )
1147 {
1148 before(grammarAccess.getAssertionAccess().getGroup());
1149 // InternalProblem.g:394:3: ( rule__Assertion__Group__0 )
1150 // InternalProblem.g:394:4: rule__Assertion__Group__0
1151 {
1152 pushFollow(FOLLOW_2);
1153 rule__Assertion__Group__0();
1154
1155 state._fsp--;
1156
1157
1158 }
1159
1160 after(grammarAccess.getAssertionAccess().getGroup());
1161
1162 }
1163
1164
1165 }
1166
1167 }
1168 catch (RecognitionException re) {
1169 reportError(re);
1170 recover(input,re);
1171 }
1172 finally {
1173
1174 restoreStackSize(stackSize);
1175
1176 }
1177 return ;
1178 }
1179 // $ANTLR end "ruleAssertion"
1180
1181
1182 // $ANTLR start "entryRuleScopeDeclaration"
1183 // InternalProblem.g:403:1: entryRuleScopeDeclaration : ruleScopeDeclaration EOF ;
1184 public final void entryRuleScopeDeclaration() throws RecognitionException {
1185 try {
1186 // InternalProblem.g:404:1: ( ruleScopeDeclaration EOF )
1187 // InternalProblem.g:405:1: ruleScopeDeclaration EOF
1188 {
1189 before(grammarAccess.getScopeDeclarationRule());
1190 pushFollow(FOLLOW_1);
1191 ruleScopeDeclaration();
1192
1193 state._fsp--;
1194
1195 after(grammarAccess.getScopeDeclarationRule());
1196 match(input,EOF,FOLLOW_2);
1197
1198 }
1199
1200 }
1201 catch (RecognitionException re) {
1202 reportError(re);
1203 recover(input,re);
1204 }
1205 finally {
1206 }
1207 return ;
1208 }
1209 // $ANTLR end "entryRuleScopeDeclaration"
1210
1211
1212 // $ANTLR start "ruleScopeDeclaration"
1213 // InternalProblem.g:412:1: ruleScopeDeclaration : ( ( rule__ScopeDeclaration__Group__0 ) ) ;
1214 public final void ruleScopeDeclaration() throws RecognitionException {
1215
1216 int stackSize = keepStackSize();
1217
1218 try {
1219 // InternalProblem.g:416:2: ( ( ( rule__ScopeDeclaration__Group__0 ) ) )
1220 // InternalProblem.g:417:2: ( ( rule__ScopeDeclaration__Group__0 ) )
1221 {
1222 // InternalProblem.g:417:2: ( ( rule__ScopeDeclaration__Group__0 ) )
1223 // InternalProblem.g:418:3: ( rule__ScopeDeclaration__Group__0 )
1224 {
1225 before(grammarAccess.getScopeDeclarationAccess().getGroup());
1226 // InternalProblem.g:419:3: ( rule__ScopeDeclaration__Group__0 )
1227 // InternalProblem.g:419:4: rule__ScopeDeclaration__Group__0
1228 {
1229 pushFollow(FOLLOW_2);
1230 rule__ScopeDeclaration__Group__0();
1231
1232 state._fsp--;
1233
1234
1235 }
1236
1237 after(grammarAccess.getScopeDeclarationAccess().getGroup());
1238
1239 }
1240
1241
1242 }
1243
1244 }
1245 catch (RecognitionException re) {
1246 reportError(re);
1247 recover(input,re);
1248 }
1249 finally {
1250
1251 restoreStackSize(stackSize);
1252
1253 }
1254 return ;
1255 }
1256 // $ANTLR end "ruleScopeDeclaration"
1257
1258
1259 // $ANTLR start "entryRuleTypeScope"
1260 // InternalProblem.g:428:1: entryRuleTypeScope : ruleTypeScope EOF ;
1261 public final void entryRuleTypeScope() throws RecognitionException {
1262 try {
1263 // InternalProblem.g:429:1: ( ruleTypeScope EOF )
1264 // InternalProblem.g:430:1: ruleTypeScope EOF
1265 {
1266 before(grammarAccess.getTypeScopeRule());
1267 pushFollow(FOLLOW_1);
1268 ruleTypeScope();
1269
1270 state._fsp--;
1271
1272 after(grammarAccess.getTypeScopeRule());
1273 match(input,EOF,FOLLOW_2);
1274
1275 }
1276
1277 }
1278 catch (RecognitionException re) {
1279 reportError(re);
1280 recover(input,re);
1281 }
1282 finally {
1283 }
1284 return ;
1285 }
1286 // $ANTLR end "entryRuleTypeScope"
1287
1288
1289 // $ANTLR start "ruleTypeScope"
1290 // InternalProblem.g:437:1: ruleTypeScope : ( ( rule__TypeScope__Group__0 ) ) ;
1291 public final void ruleTypeScope() throws RecognitionException {
1292
1293 int stackSize = keepStackSize();
1294
1295 try {
1296 // InternalProblem.g:441:2: ( ( ( rule__TypeScope__Group__0 ) ) )
1297 // InternalProblem.g:442:2: ( ( rule__TypeScope__Group__0 ) )
1298 {
1299 // InternalProblem.g:442:2: ( ( rule__TypeScope__Group__0 ) )
1300 // InternalProblem.g:443:3: ( rule__TypeScope__Group__0 )
1301 {
1302 before(grammarAccess.getTypeScopeAccess().getGroup());
1303 // InternalProblem.g:444:3: ( rule__TypeScope__Group__0 )
1304 // InternalProblem.g:444:4: rule__TypeScope__Group__0
1305 {
1306 pushFollow(FOLLOW_2);
1307 rule__TypeScope__Group__0();
1308
1309 state._fsp--;
1310
1311
1312 }
1313
1314 after(grammarAccess.getTypeScopeAccess().getGroup());
1315
1316 }
1317
1318
1319 }
1320
1321 }
1322 catch (RecognitionException re) {
1323 reportError(re);
1324 recover(input,re);
1325 }
1326 finally {
1327
1328 restoreStackSize(stackSize);
1329
1330 }
1331 return ;
1332 }
1333 // $ANTLR end "ruleTypeScope"
1334
1335
1336 // $ANTLR start "entryRuleMultiplicity"
1337 // InternalProblem.g:453:1: entryRuleMultiplicity : ruleMultiplicity EOF ;
1338 public final void entryRuleMultiplicity() throws RecognitionException {
1339 try {
1340 // InternalProblem.g:454:1: ( ruleMultiplicity EOF )
1341 // InternalProblem.g:455:1: ruleMultiplicity EOF
1342 {
1343 before(grammarAccess.getMultiplicityRule());
1344 pushFollow(FOLLOW_1);
1345 ruleMultiplicity();
1346
1347 state._fsp--;
1348
1349 after(grammarAccess.getMultiplicityRule());
1350 match(input,EOF,FOLLOW_2);
1351
1352 }
1353
1354 }
1355 catch (RecognitionException re) {
1356 reportError(re);
1357 recover(input,re);
1358 }
1359 finally {
1360 }
1361 return ;
1362 }
1363 // $ANTLR end "entryRuleMultiplicity"
1364
1365
1366 // $ANTLR start "ruleMultiplicity"
1367 // InternalProblem.g:462:1: ruleMultiplicity : ( ( rule__Multiplicity__Alternatives ) ) ;
1368 public final void ruleMultiplicity() throws RecognitionException {
1369
1370 int stackSize = keepStackSize();
1371
1372 try {
1373 // InternalProblem.g:466:2: ( ( ( rule__Multiplicity__Alternatives ) ) )
1374 // InternalProblem.g:467:2: ( ( rule__Multiplicity__Alternatives ) )
1375 {
1376 // InternalProblem.g:467:2: ( ( rule__Multiplicity__Alternatives ) )
1377 // InternalProblem.g:468:3: ( rule__Multiplicity__Alternatives )
1378 {
1379 before(grammarAccess.getMultiplicityAccess().getAlternatives());
1380 // InternalProblem.g:469:3: ( rule__Multiplicity__Alternatives )
1381 // InternalProblem.g:469:4: rule__Multiplicity__Alternatives
1382 {
1383 pushFollow(FOLLOW_2);
1384 rule__Multiplicity__Alternatives();
1385
1386 state._fsp--;
1387
1388
1389 }
1390
1391 after(grammarAccess.getMultiplicityAccess().getAlternatives());
1392
1393 }
1394
1395
1396 }
1397
1398 }
1399 catch (RecognitionException re) {
1400 reportError(re);
1401 recover(input,re);
1402 }
1403 finally {
1404
1405 restoreStackSize(stackSize);
1406
1407 }
1408 return ;
1409 }
1410 // $ANTLR end "ruleMultiplicity"
1411
1412
1413 // $ANTLR start "entryRuleDefiniteMultiplicity"
1414 // InternalProblem.g:478:1: entryRuleDefiniteMultiplicity : ruleDefiniteMultiplicity EOF ;
1415 public final void entryRuleDefiniteMultiplicity() throws RecognitionException {
1416 try {
1417 // InternalProblem.g:479:1: ( ruleDefiniteMultiplicity EOF )
1418 // InternalProblem.g:480:1: ruleDefiniteMultiplicity EOF
1419 {
1420 before(grammarAccess.getDefiniteMultiplicityRule());
1421 pushFollow(FOLLOW_1);
1422 ruleDefiniteMultiplicity();
1423
1424 state._fsp--;
1425
1426 after(grammarAccess.getDefiniteMultiplicityRule());
1427 match(input,EOF,FOLLOW_2);
1428
1429 }
1430
1431 }
1432 catch (RecognitionException re) {
1433 reportError(re);
1434 recover(input,re);
1435 }
1436 finally {
1437 }
1438 return ;
1439 }
1440 // $ANTLR end "entryRuleDefiniteMultiplicity"
1441
1442
1443 // $ANTLR start "ruleDefiniteMultiplicity"
1444 // InternalProblem.g:487:1: ruleDefiniteMultiplicity : ( ( rule__DefiniteMultiplicity__Alternatives ) ) ;
1445 public final void ruleDefiniteMultiplicity() throws RecognitionException {
1446
1447 int stackSize = keepStackSize();
1448
1449 try {
1450 // InternalProblem.g:491:2: ( ( ( rule__DefiniteMultiplicity__Alternatives ) ) )
1451 // InternalProblem.g:492:2: ( ( rule__DefiniteMultiplicity__Alternatives ) )
1452 {
1453 // InternalProblem.g:492:2: ( ( rule__DefiniteMultiplicity__Alternatives ) )
1454 // InternalProblem.g:493:3: ( rule__DefiniteMultiplicity__Alternatives )
1455 {
1456 before(grammarAccess.getDefiniteMultiplicityAccess().getAlternatives());
1457 // InternalProblem.g:494:3: ( rule__DefiniteMultiplicity__Alternatives )
1458 // InternalProblem.g:494:4: rule__DefiniteMultiplicity__Alternatives
1459 {
1460 pushFollow(FOLLOW_2);
1461 rule__DefiniteMultiplicity__Alternatives();
1462
1463 state._fsp--;
1464
1465
1466 }
1467
1468 after(grammarAccess.getDefiniteMultiplicityAccess().getAlternatives());
1469
1470 }
1471
1472
1473 }
1474
1475 }
1476 catch (RecognitionException re) {
1477 reportError(re);
1478 recover(input,re);
1479 }
1480 finally {
1481
1482 restoreStackSize(stackSize);
1483
1484 }
1485 return ;
1486 }
1487 // $ANTLR end "ruleDefiniteMultiplicity"
1488
1489
1490 // $ANTLR start "entryRuleUnboundedMultiplicity"
1491 // InternalProblem.g:503:1: entryRuleUnboundedMultiplicity : ruleUnboundedMultiplicity EOF ;
1492 public final void entryRuleUnboundedMultiplicity() throws RecognitionException {
1493 try {
1494 // InternalProblem.g:504:1: ( ruleUnboundedMultiplicity EOF )
1495 // InternalProblem.g:505:1: ruleUnboundedMultiplicity EOF
1496 {
1497 before(grammarAccess.getUnboundedMultiplicityRule());
1498 pushFollow(FOLLOW_1);
1499 ruleUnboundedMultiplicity();
1500
1501 state._fsp--;
1502
1503 after(grammarAccess.getUnboundedMultiplicityRule());
1504 match(input,EOF,FOLLOW_2);
1505
1506 }
1507
1508 }
1509 catch (RecognitionException re) {
1510 reportError(re);
1511 recover(input,re);
1512 }
1513 finally {
1514 }
1515 return ;
1516 }
1517 // $ANTLR end "entryRuleUnboundedMultiplicity"
1518
1519
1520 // $ANTLR start "ruleUnboundedMultiplicity"
1521 // InternalProblem.g:512:1: ruleUnboundedMultiplicity : ( () ) ;
1522 public final void ruleUnboundedMultiplicity() throws RecognitionException {
1523
1524 int stackSize = keepStackSize();
1525
1526 try {
1527 // InternalProblem.g:516:2: ( ( () ) )
1528 // InternalProblem.g:517:2: ( () )
1529 {
1530 // InternalProblem.g:517:2: ( () )
1531 // InternalProblem.g:518:3: ()
1532 {
1533 before(grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction());
1534 // InternalProblem.g:519:3: ()
1535 // InternalProblem.g:519:4:
1536 {
1537 }
1538
1539 after(grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction());
1540
1541 }
1542
1543
1544 }
1545
1546 }
1547 finally {
1548
1549 restoreStackSize(stackSize);
1550
1551 }
1552 return ;
1553 }
1554 // $ANTLR end "ruleUnboundedMultiplicity"
1555
1556
1557 // $ANTLR start "entryRuleRangeMultiplicity"
1558 // InternalProblem.g:528:1: entryRuleRangeMultiplicity : ruleRangeMultiplicity EOF ;
1559 public final void entryRuleRangeMultiplicity() throws RecognitionException {
1560 try {
1561 // InternalProblem.g:529:1: ( ruleRangeMultiplicity EOF )
1562 // InternalProblem.g:530:1: ruleRangeMultiplicity EOF
1563 {
1564 before(grammarAccess.getRangeMultiplicityRule());
1565 pushFollow(FOLLOW_1);
1566 ruleRangeMultiplicity();
1567
1568 state._fsp--;
1569
1570 after(grammarAccess.getRangeMultiplicityRule());
1571 match(input,EOF,FOLLOW_2);
1572
1573 }
1574
1575 }
1576 catch (RecognitionException re) {
1577 reportError(re);
1578 recover(input,re);
1579 }
1580 finally {
1581 }
1582 return ;
1583 }
1584 // $ANTLR end "entryRuleRangeMultiplicity"
1585
1586
1587 // $ANTLR start "ruleRangeMultiplicity"
1588 // InternalProblem.g:537:1: ruleRangeMultiplicity : ( ( rule__RangeMultiplicity__Group__0 ) ) ;
1589 public final void ruleRangeMultiplicity() throws RecognitionException {
1590
1591 int stackSize = keepStackSize();
1592
1593 try {
1594 // InternalProblem.g:541:2: ( ( ( rule__RangeMultiplicity__Group__0 ) ) )
1595 // InternalProblem.g:542:2: ( ( rule__RangeMultiplicity__Group__0 ) )
1596 {
1597 // InternalProblem.g:542:2: ( ( rule__RangeMultiplicity__Group__0 ) )
1598 // InternalProblem.g:543:3: ( rule__RangeMultiplicity__Group__0 )
1599 {
1600 before(grammarAccess.getRangeMultiplicityAccess().getGroup());
1601 // InternalProblem.g:544:3: ( rule__RangeMultiplicity__Group__0 )
1602 // InternalProblem.g:544:4: rule__RangeMultiplicity__Group__0
1603 {
1604 pushFollow(FOLLOW_2);
1605 rule__RangeMultiplicity__Group__0();
1606
1607 state._fsp--;
1608
1609
1610 }
1611
1612 after(grammarAccess.getRangeMultiplicityAccess().getGroup());
1613
1614 }
1615
1616
1617 }
1618
1619 }
1620 catch (RecognitionException re) {
1621 reportError(re);
1622 recover(input,re);
1623 }
1624 finally {
1625
1626 restoreStackSize(stackSize);
1627
1628 }
1629 return ;
1630 }
1631 // $ANTLR end "ruleRangeMultiplicity"
1632
1633
1634 // $ANTLR start "entryRuleExactMultiplicity"
1635 // InternalProblem.g:553:1: entryRuleExactMultiplicity : ruleExactMultiplicity EOF ;
1636 public final void entryRuleExactMultiplicity() throws RecognitionException {
1637 try {
1638 // InternalProblem.g:554:1: ( ruleExactMultiplicity EOF )
1639 // InternalProblem.g:555:1: ruleExactMultiplicity EOF
1640 {
1641 before(grammarAccess.getExactMultiplicityRule());
1642 pushFollow(FOLLOW_1);
1643 ruleExactMultiplicity();
1644
1645 state._fsp--;
1646
1647 after(grammarAccess.getExactMultiplicityRule());
1648 match(input,EOF,FOLLOW_2);
1649
1650 }
1651
1652 }
1653 catch (RecognitionException re) {
1654 reportError(re);
1655 recover(input,re);
1656 }
1657 finally {
1658 }
1659 return ;
1660 }
1661 // $ANTLR end "entryRuleExactMultiplicity"
1662
1663
1664 // $ANTLR start "ruleExactMultiplicity"
1665 // InternalProblem.g:562:1: ruleExactMultiplicity : ( ( rule__ExactMultiplicity__ExactValueAssignment ) ) ;
1666 public final void ruleExactMultiplicity() throws RecognitionException {
1667
1668 int stackSize = keepStackSize();
1669
1670 try {
1671 // InternalProblem.g:566:2: ( ( ( rule__ExactMultiplicity__ExactValueAssignment ) ) )
1672 // InternalProblem.g:567:2: ( ( rule__ExactMultiplicity__ExactValueAssignment ) )
1673 {
1674 // InternalProblem.g:567:2: ( ( rule__ExactMultiplicity__ExactValueAssignment ) )
1675 // InternalProblem.g:568:3: ( rule__ExactMultiplicity__ExactValueAssignment )
1676 {
1677 before(grammarAccess.getExactMultiplicityAccess().getExactValueAssignment());
1678 // InternalProblem.g:569:3: ( rule__ExactMultiplicity__ExactValueAssignment )
1679 // InternalProblem.g:569:4: rule__ExactMultiplicity__ExactValueAssignment
1680 {
1681 pushFollow(FOLLOW_2);
1682 rule__ExactMultiplicity__ExactValueAssignment();
1683
1684 state._fsp--;
1685
1686
1687 }
1688
1689 after(grammarAccess.getExactMultiplicityAccess().getExactValueAssignment());
1690
1691 }
1692
1693
1694 }
1695
1696 }
1697 catch (RecognitionException re) {
1698 reportError(re);
1699 recover(input,re);
1700 }
1701 finally {
1702
1703 restoreStackSize(stackSize);
1704
1705 }
1706 return ;
1707 }
1708 // $ANTLR end "ruleExactMultiplicity"
1709
1710
1711 // $ANTLR start "entryRuleUpperBound"
1712 // InternalProblem.g:578:1: entryRuleUpperBound : ruleUpperBound EOF ;
1713 public final void entryRuleUpperBound() throws RecognitionException {
1714 try {
1715 // InternalProblem.g:579:1: ( ruleUpperBound EOF )
1716 // InternalProblem.g:580:1: ruleUpperBound EOF
1717 {
1718 before(grammarAccess.getUpperBoundRule());
1719 pushFollow(FOLLOW_1);
1720 ruleUpperBound();
1721
1722 state._fsp--;
1723
1724 after(grammarAccess.getUpperBoundRule());
1725 match(input,EOF,FOLLOW_2);
1726
1727 }
1728
1729 }
1730 catch (RecognitionException re) {
1731 reportError(re);
1732 recover(input,re);
1733 }
1734 finally {
1735 }
1736 return ;
1737 }
1738 // $ANTLR end "entryRuleUpperBound"
1739
1740
1741 // $ANTLR start "ruleUpperBound"
1742 // InternalProblem.g:587:1: ruleUpperBound : ( ( rule__UpperBound__Alternatives ) ) ;
1743 public final void ruleUpperBound() throws RecognitionException {
1744
1745 int stackSize = keepStackSize();
1746
1747 try {
1748 // InternalProblem.g:591:2: ( ( ( rule__UpperBound__Alternatives ) ) )
1749 // InternalProblem.g:592:2: ( ( rule__UpperBound__Alternatives ) )
1750 {
1751 // InternalProblem.g:592:2: ( ( rule__UpperBound__Alternatives ) )
1752 // InternalProblem.g:593:3: ( rule__UpperBound__Alternatives )
1753 {
1754 before(grammarAccess.getUpperBoundAccess().getAlternatives());
1755 // InternalProblem.g:594:3: ( rule__UpperBound__Alternatives )
1756 // InternalProblem.g:594:4: rule__UpperBound__Alternatives
1757 {
1758 pushFollow(FOLLOW_2);
1759 rule__UpperBound__Alternatives();
1760
1761 state._fsp--;
1762
1763
1764 }
1765
1766 after(grammarAccess.getUpperBoundAccess().getAlternatives());
1767
1768 }
1769
1770
1771 }
1772
1773 }
1774 catch (RecognitionException re) {
1775 reportError(re);
1776 recover(input,re);
1777 }
1778 finally {
1779
1780 restoreStackSize(stackSize);
1781
1782 }
1783 return ;
1784 }
1785 // $ANTLR end "ruleUpperBound"
1786
1787
1788 // $ANTLR start "entryRuleQuotedOrUnquotedId"
1789 // InternalProblem.g:603:1: entryRuleQuotedOrUnquotedId : ruleQuotedOrUnquotedId EOF ;
1790 public final void entryRuleQuotedOrUnquotedId() throws RecognitionException {
1791 try {
1792 // InternalProblem.g:604:1: ( ruleQuotedOrUnquotedId EOF )
1793 // InternalProblem.g:605:1: ruleQuotedOrUnquotedId EOF
1794 {
1795 before(grammarAccess.getQuotedOrUnquotedIdRule());
1796 pushFollow(FOLLOW_1);
1797 ruleQuotedOrUnquotedId();
1798
1799 state._fsp--;
1800
1801 after(grammarAccess.getQuotedOrUnquotedIdRule());
1802 match(input,EOF,FOLLOW_2);
1803
1804 }
1805
1806 }
1807 catch (RecognitionException re) {
1808 reportError(re);
1809 recover(input,re);
1810 }
1811 finally {
1812 }
1813 return ;
1814 }
1815 // $ANTLR end "entryRuleQuotedOrUnquotedId"
1816
1817
1818 // $ANTLR start "ruleQuotedOrUnquotedId"
1819 // InternalProblem.g:612:1: ruleQuotedOrUnquotedId : ( ( rule__QuotedOrUnquotedId__Alternatives ) ) ;
1820 public final void ruleQuotedOrUnquotedId() throws RecognitionException {
1821
1822 int stackSize = keepStackSize();
1823
1824 try {
1825 // InternalProblem.g:616:2: ( ( ( rule__QuotedOrUnquotedId__Alternatives ) ) )
1826 // InternalProblem.g:617:2: ( ( rule__QuotedOrUnquotedId__Alternatives ) )
1827 {
1828 // InternalProblem.g:617:2: ( ( rule__QuotedOrUnquotedId__Alternatives ) )
1829 // InternalProblem.g:618:3: ( rule__QuotedOrUnquotedId__Alternatives )
1830 {
1831 before(grammarAccess.getQuotedOrUnquotedIdAccess().getAlternatives());
1832 // InternalProblem.g:619:3: ( rule__QuotedOrUnquotedId__Alternatives )
1833 // InternalProblem.g:619:4: rule__QuotedOrUnquotedId__Alternatives
1834 {
1835 pushFollow(FOLLOW_2);
1836 rule__QuotedOrUnquotedId__Alternatives();
1837
1838 state._fsp--;
1839
1840
1841 }
1842
1843 after(grammarAccess.getQuotedOrUnquotedIdAccess().getAlternatives());
1844
1845 }
1846
1847
1848 }
1849
1850 }
1851 catch (RecognitionException re) {
1852 reportError(re);
1853 recover(input,re);
1854 }
1855 finally {
1856
1857 restoreStackSize(stackSize);
1858
1859 }
1860 return ;
1861 }
1862 // $ANTLR end "ruleQuotedOrUnquotedId"
1863
1864
1865 // $ANTLR start "entryRuleQualifiedName"
1866 // InternalProblem.g:628:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
1867 public final void entryRuleQualifiedName() throws RecognitionException {
1868 try {
1869 // InternalProblem.g:629:1: ( ruleQualifiedName EOF )
1870 // InternalProblem.g:630:1: ruleQualifiedName EOF
1871 {
1872 before(grammarAccess.getQualifiedNameRule());
1873 pushFollow(FOLLOW_1);
1874 ruleQualifiedName();
1875
1876 state._fsp--;
1877
1878 after(grammarAccess.getQualifiedNameRule());
1879 match(input,EOF,FOLLOW_2);
1880
1881 }
1882
1883 }
1884 catch (RecognitionException re) {
1885 reportError(re);
1886 recover(input,re);
1887 }
1888 finally {
1889 }
1890 return ;
1891 }
1892 // $ANTLR end "entryRuleQualifiedName"
1893
1894
1895 // $ANTLR start "ruleQualifiedName"
1896 // InternalProblem.g:637:1: ruleQualifiedName : ( ( rule__QualifiedName__Alternatives ) ) ;
1897 public final void ruleQualifiedName() throws RecognitionException {
1898
1899 int stackSize = keepStackSize();
1900
1901 try {
1902 // InternalProblem.g:641:2: ( ( ( rule__QualifiedName__Alternatives ) ) )
1903 // InternalProblem.g:642:2: ( ( rule__QualifiedName__Alternatives ) )
1904 {
1905 // InternalProblem.g:642:2: ( ( rule__QualifiedName__Alternatives ) )
1906 // InternalProblem.g:643:3: ( rule__QualifiedName__Alternatives )
1907 {
1908 before(grammarAccess.getQualifiedNameAccess().getAlternatives());
1909 // InternalProblem.g:644:3: ( rule__QualifiedName__Alternatives )
1910 // InternalProblem.g:644:4: rule__QualifiedName__Alternatives
1911 {
1912 pushFollow(FOLLOW_2);
1913 rule__QualifiedName__Alternatives();
1914
1915 state._fsp--;
1916
1917
1918 }
1919
1920 after(grammarAccess.getQualifiedNameAccess().getAlternatives());
1921
1922 }
1923
1924
1925 }
1926
1927 }
1928 catch (RecognitionException re) {
1929 reportError(re);
1930 recover(input,re);
1931 }
1932 finally {
1933
1934 restoreStackSize(stackSize);
1935
1936 }
1937 return ;
1938 }
1939 // $ANTLR end "ruleQualifiedName"
1940
1941
1942 // $ANTLR start "entryRuleIdentifier"
1943 // InternalProblem.g:653:1: entryRuleIdentifier : ruleIdentifier EOF ;
1944 public final void entryRuleIdentifier() throws RecognitionException {
1945 try {
1946 // InternalProblem.g:654:1: ( ruleIdentifier EOF )
1947 // InternalProblem.g:655:1: ruleIdentifier EOF
1948 {
1949 before(grammarAccess.getIdentifierRule());
1950 pushFollow(FOLLOW_1);
1951 ruleIdentifier();
1952
1953 state._fsp--;
1954
1955 after(grammarAccess.getIdentifierRule());
1956 match(input,EOF,FOLLOW_2);
1957
1958 }
1959
1960 }
1961 catch (RecognitionException re) {
1962 reportError(re);
1963 recover(input,re);
1964 }
1965 finally {
1966 }
1967 return ;
1968 }
1969 // $ANTLR end "entryRuleIdentifier"
1970
1971
1972 // $ANTLR start "ruleIdentifier"
1973 // InternalProblem.g:662:1: ruleIdentifier : ( ( rule__Identifier__Alternatives ) ) ;
1974 public final void ruleIdentifier() throws RecognitionException {
1975
1976 int stackSize = keepStackSize();
1977
1978 try {
1979 // InternalProblem.g:666:2: ( ( ( rule__Identifier__Alternatives ) ) )
1980 // InternalProblem.g:667:2: ( ( rule__Identifier__Alternatives ) )
1981 {
1982 // InternalProblem.g:667:2: ( ( rule__Identifier__Alternatives ) )
1983 // InternalProblem.g:668:3: ( rule__Identifier__Alternatives )
1984 {
1985 before(grammarAccess.getIdentifierAccess().getAlternatives());
1986 // InternalProblem.g:669:3: ( rule__Identifier__Alternatives )
1987 // InternalProblem.g:669:4: rule__Identifier__Alternatives
1988 {
1989 pushFollow(FOLLOW_2);
1990 rule__Identifier__Alternatives();
1991
1992 state._fsp--;
1993
1994
1995 }
1996
1997 after(grammarAccess.getIdentifierAccess().getAlternatives());
1998
1999 }
2000
2001
2002 }
2003
2004 }
2005 catch (RecognitionException re) {
2006 reportError(re);
2007 recover(input,re);
2008 }
2009 finally {
2010
2011 restoreStackSize(stackSize);
2012
2013 }
2014 return ;
2015 }
2016 // $ANTLR end "ruleIdentifier"
2017
2018
2019 // $ANTLR start "ruleLogicValue"
2020 // InternalProblem.g:678:1: ruleLogicValue : ( ( rule__LogicValue__Alternatives ) ) ;
2021 public final void ruleLogicValue() throws RecognitionException {
2022
2023 int stackSize = keepStackSize();
2024
2025 try {
2026 // InternalProblem.g:682:1: ( ( ( rule__LogicValue__Alternatives ) ) )
2027 // InternalProblem.g:683:2: ( ( rule__LogicValue__Alternatives ) )
2028 {
2029 // InternalProblem.g:683:2: ( ( rule__LogicValue__Alternatives ) )
2030 // InternalProblem.g:684:3: ( rule__LogicValue__Alternatives )
2031 {
2032 before(grammarAccess.getLogicValueAccess().getAlternatives());
2033 // InternalProblem.g:685:3: ( rule__LogicValue__Alternatives )
2034 // InternalProblem.g:685:4: rule__LogicValue__Alternatives
2035 {
2036 pushFollow(FOLLOW_2);
2037 rule__LogicValue__Alternatives();
2038
2039 state._fsp--;
2040
2041
2042 }
2043
2044 after(grammarAccess.getLogicValueAccess().getAlternatives());
2045
2046 }
2047
2048
2049 }
2050
2051 }
2052 catch (RecognitionException re) {
2053 reportError(re);
2054 recover(input,re);
2055 }
2056 finally {
2057
2058 restoreStackSize(stackSize);
2059
2060 }
2061 return ;
2062 }
2063 // $ANTLR end "ruleLogicValue"
2064
2065
2066 // $ANTLR start "ruleShortLogicValue"
2067 // InternalProblem.g:694:1: ruleShortLogicValue : ( ( rule__ShortLogicValue__Alternatives ) ) ;
2068 public final void ruleShortLogicValue() throws RecognitionException {
2069
2070 int stackSize = keepStackSize();
2071
2072 try {
2073 // InternalProblem.g:698:1: ( ( ( rule__ShortLogicValue__Alternatives ) ) )
2074 // InternalProblem.g:699:2: ( ( rule__ShortLogicValue__Alternatives ) )
2075 {
2076 // InternalProblem.g:699:2: ( ( rule__ShortLogicValue__Alternatives ) )
2077 // InternalProblem.g:700:3: ( rule__ShortLogicValue__Alternatives )
2078 {
2079 before(grammarAccess.getShortLogicValueAccess().getAlternatives());
2080 // InternalProblem.g:701:3: ( rule__ShortLogicValue__Alternatives )
2081 // InternalProblem.g:701:4: rule__ShortLogicValue__Alternatives
2082 {
2083 pushFollow(FOLLOW_2);
2084 rule__ShortLogicValue__Alternatives();
2085
2086 state._fsp--;
2087
2088
2089 }
2090
2091 after(grammarAccess.getShortLogicValueAccess().getAlternatives());
2092
2093 }
2094
2095
2096 }
2097
2098 }
2099 catch (RecognitionException re) {
2100 reportError(re);
2101 recover(input,re);
2102 }
2103 finally {
2104
2105 restoreStackSize(stackSize);
2106
2107 }
2108 return ;
2109 }
2110 // $ANTLR end "ruleShortLogicValue"
2111
2112
2113 // $ANTLR start "rule__Statement__Alternatives"
2114 // InternalProblem.g:709:1: rule__Statement__Alternatives : ( ( ruleClassDeclaration ) | ( ruleEnumDeclaration ) | ( rulePredicateDefinition ) | ( ruleAssertion ) | ( ruleScopeDeclaration ) );
2115 public final void rule__Statement__Alternatives() throws RecognitionException {
2116
2117 int stackSize = keepStackSize();
2118
2119 try {
2120 // InternalProblem.g:713:1: ( ( ruleClassDeclaration ) | ( ruleEnumDeclaration ) | ( rulePredicateDefinition ) | ( ruleAssertion ) | ( ruleScopeDeclaration ) )
2121 int alt1=5;
2122 switch ( input.LA(1) ) {
2123 case 25:
2124 case 39:
2125 {
2126 alt1=1;
2127 }
2128 break;
2129 case 29:
2130 {
2131 alt1=2;
2132 }
2133 break;
2134 case 16:
2135 case 41:
2136 {
2137 alt1=3;
2138 }
2139 break;
2140 case RULE_QUOTED_ID:
2141 case RULE_ID:
2142 case 19:
2143 case 20:
2144 case 22:
2145 case 23:
2146 {
2147 alt1=4;
2148 }
2149 break;
2150 case 37:
2151 {
2152 alt1=5;
2153 }
2154 break;
2155 default:
2156 NoViableAltException nvae =
2157 new NoViableAltException("", 1, 0, input);
2158
2159 throw nvae;
2160 }
2161
2162 switch (alt1) {
2163 case 1 :
2164 // InternalProblem.g:714:2: ( ruleClassDeclaration )
2165 {
2166 // InternalProblem.g:714:2: ( ruleClassDeclaration )
2167 // InternalProblem.g:715:3: ruleClassDeclaration
2168 {
2169 before(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0());
2170 pushFollow(FOLLOW_2);
2171 ruleClassDeclaration();
2172
2173 state._fsp--;
2174
2175 after(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0());
2176
2177 }
2178
2179
2180 }
2181 break;
2182 case 2 :
2183 // InternalProblem.g:720:2: ( ruleEnumDeclaration )
2184 {
2185 // InternalProblem.g:720:2: ( ruleEnumDeclaration )
2186 // InternalProblem.g:721:3: ruleEnumDeclaration
2187 {
2188 before(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1());
2189 pushFollow(FOLLOW_2);
2190 ruleEnumDeclaration();
2191
2192 state._fsp--;
2193
2194 after(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1());
2195
2196 }
2197
2198
2199 }
2200 break;
2201 case 3 :
2202 // InternalProblem.g:726:2: ( rulePredicateDefinition )
2203 {
2204 // InternalProblem.g:726:2: ( rulePredicateDefinition )
2205 // InternalProblem.g:727:3: rulePredicateDefinition
2206 {
2207 before(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2());
2208 pushFollow(FOLLOW_2);
2209 rulePredicateDefinition();
2210
2211 state._fsp--;
2212
2213 after(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2());
2214
2215 }
2216
2217
2218 }
2219 break;
2220 case 4 :
2221 // InternalProblem.g:732:2: ( ruleAssertion )
2222 {
2223 // InternalProblem.g:732:2: ( ruleAssertion )
2224 // InternalProblem.g:733:3: ruleAssertion
2225 {
2226 before(grammarAccess.getStatementAccess().getAssertionParserRuleCall_3());
2227 pushFollow(FOLLOW_2);
2228 ruleAssertion();
2229
2230 state._fsp--;
2231
2232 after(grammarAccess.getStatementAccess().getAssertionParserRuleCall_3());
2233
2234 }
2235
2236
2237 }
2238 break;
2239 case 5 :
2240 // InternalProblem.g:738:2: ( ruleScopeDeclaration )
2241 {
2242 // InternalProblem.g:738:2: ( ruleScopeDeclaration )
2243 // InternalProblem.g:739:3: ruleScopeDeclaration
2244 {
2245 before(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4());
2246 pushFollow(FOLLOW_2);
2247 ruleScopeDeclaration();
2248
2249 state._fsp--;
2250
2251 after(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4());
2252
2253 }
2254
2255
2256 }
2257 break;
2258
2259 }
2260 }
2261 catch (RecognitionException re) {
2262 reportError(re);
2263 recover(input,re);
2264 }
2265 finally {
2266
2267 restoreStackSize(stackSize);
2268
2269 }
2270 return ;
2271 }
2272 // $ANTLR end "rule__Statement__Alternatives"
2273
2274
2275 // $ANTLR start "rule__ClassDeclaration__Alternatives_4"
2276 // InternalProblem.g:748:1: rule__ClassDeclaration__Alternatives_4 : ( ( ( rule__ClassDeclaration__Group_4_0__0 ) ) | ( '.' ) );
2277 public final void rule__ClassDeclaration__Alternatives_4() throws RecognitionException {
2278
2279 int stackSize = keepStackSize();
2280
2281 try {
2282 // InternalProblem.g:752:1: ( ( ( rule__ClassDeclaration__Group_4_0__0 ) ) | ( '.' ) )
2283 int alt2=2;
2284 int LA2_0 = input.LA(1);
2285
2286 if ( (LA2_0==27) ) {
2287 alt2=1;
2288 }
2289 else if ( (LA2_0==12) ) {
2290 alt2=2;
2291 }
2292 else {
2293 NoViableAltException nvae =
2294 new NoViableAltException("", 2, 0, input);
2295
2296 throw nvae;
2297 }
2298 switch (alt2) {
2299 case 1 :
2300 // InternalProblem.g:753:2: ( ( rule__ClassDeclaration__Group_4_0__0 ) )
2301 {
2302 // InternalProblem.g:753:2: ( ( rule__ClassDeclaration__Group_4_0__0 ) )
2303 // InternalProblem.g:754:3: ( rule__ClassDeclaration__Group_4_0__0 )
2304 {
2305 before(grammarAccess.getClassDeclarationAccess().getGroup_4_0());
2306 // InternalProblem.g:755:3: ( rule__ClassDeclaration__Group_4_0__0 )
2307 // InternalProblem.g:755:4: rule__ClassDeclaration__Group_4_0__0
2308 {
2309 pushFollow(FOLLOW_2);
2310 rule__ClassDeclaration__Group_4_0__0();
2311
2312 state._fsp--;
2313
2314
2315 }
2316
2317 after(grammarAccess.getClassDeclarationAccess().getGroup_4_0());
2318
2319 }
2320
2321
2322 }
2323 break;
2324 case 2 :
2325 // InternalProblem.g:759:2: ( '.' )
2326 {
2327 // InternalProblem.g:759:2: ( '.' )
2328 // InternalProblem.g:760:3: '.'
2329 {
2330 before(grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1());
2331 match(input,12,FOLLOW_2);
2332 after(grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1());
2333
2334 }
2335
2336
2337 }
2338 break;
2339
2340 }
2341 }
2342 catch (RecognitionException re) {
2343 reportError(re);
2344 recover(input,re);
2345 }
2346 finally {
2347
2348 restoreStackSize(stackSize);
2349
2350 }
2351 return ;
2352 }
2353 // $ANTLR end "rule__ClassDeclaration__Alternatives_4"
2354
2355
2356 // $ANTLR start "rule__EnumDeclaration__Alternatives_2"
2357 // InternalProblem.g:769:1: rule__EnumDeclaration__Alternatives_2 : ( ( ( rule__EnumDeclaration__Group_2_0__0 ) ) | ( '.' ) );
2358 public final void rule__EnumDeclaration__Alternatives_2() throws RecognitionException {
2359
2360 int stackSize = keepStackSize();
2361
2362 try {
2363 // InternalProblem.g:773:1: ( ( ( rule__EnumDeclaration__Group_2_0__0 ) ) | ( '.' ) )
2364 int alt3=2;
2365 int LA3_0 = input.LA(1);
2366
2367 if ( (LA3_0==27) ) {
2368 alt3=1;
2369 }
2370 else if ( (LA3_0==12) ) {
2371 alt3=2;
2372 }
2373 else {
2374 NoViableAltException nvae =
2375 new NoViableAltException("", 3, 0, input);
2376
2377 throw nvae;
2378 }
2379 switch (alt3) {
2380 case 1 :
2381 // InternalProblem.g:774:2: ( ( rule__EnumDeclaration__Group_2_0__0 ) )
2382 {
2383 // InternalProblem.g:774:2: ( ( rule__EnumDeclaration__Group_2_0__0 ) )
2384 // InternalProblem.g:775:3: ( rule__EnumDeclaration__Group_2_0__0 )
2385 {
2386 before(grammarAccess.getEnumDeclarationAccess().getGroup_2_0());
2387 // InternalProblem.g:776:3: ( rule__EnumDeclaration__Group_2_0__0 )
2388 // InternalProblem.g:776:4: rule__EnumDeclaration__Group_2_0__0
2389 {
2390 pushFollow(FOLLOW_2);
2391 rule__EnumDeclaration__Group_2_0__0();
2392
2393 state._fsp--;
2394
2395
2396 }
2397
2398 after(grammarAccess.getEnumDeclarationAccess().getGroup_2_0());
2399
2400 }
2401
2402
2403 }
2404 break;
2405 case 2 :
2406 // InternalProblem.g:780:2: ( '.' )
2407 {
2408 // InternalProblem.g:780:2: ( '.' )
2409 // InternalProblem.g:781:3: '.'
2410 {
2411 before(grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1());
2412 match(input,12,FOLLOW_2);
2413 after(grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1());
2414
2415 }
2416
2417
2418 }
2419 break;
2420
2421 }
2422 }
2423 catch (RecognitionException re) {
2424 reportError(re);
2425 recover(input,re);
2426 }
2427 finally {
2428
2429 restoreStackSize(stackSize);
2430
2431 }
2432 return ;
2433 }
2434 // $ANTLR end "rule__EnumDeclaration__Alternatives_2"
2435
2436
2437 // $ANTLR start "rule__EnumDeclaration__Alternatives_2_0_1_2"
2438 // InternalProblem.g:790:1: rule__EnumDeclaration__Alternatives_2_0_1_2 : ( ( ',' ) | ( ';' ) );
2439 public final void rule__EnumDeclaration__Alternatives_2_0_1_2() throws RecognitionException {
2440
2441 int stackSize = keepStackSize();
2442
2443 try {
2444 // InternalProblem.g:794:1: ( ( ',' ) | ( ';' ) )
2445 int alt4=2;
2446 int LA4_0 = input.LA(1);
2447
2448 if ( (LA4_0==13) ) {
2449 alt4=1;
2450 }
2451 else if ( (LA4_0==14) ) {
2452 alt4=2;
2453 }
2454 else {
2455 NoViableAltException nvae =
2456 new NoViableAltException("", 4, 0, input);
2457
2458 throw nvae;
2459 }
2460 switch (alt4) {
2461 case 1 :
2462 // InternalProblem.g:795:2: ( ',' )
2463 {
2464 // InternalProblem.g:795:2: ( ',' )
2465 // InternalProblem.g:796:3: ','
2466 {
2467 before(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0());
2468 match(input,13,FOLLOW_2);
2469 after(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0());
2470
2471 }
2472
2473
2474 }
2475 break;
2476 case 2 :
2477 // InternalProblem.g:801:2: ( ';' )
2478 {
2479 // InternalProblem.g:801:2: ( ';' )
2480 // InternalProblem.g:802:3: ';'
2481 {
2482 before(grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1());
2483 match(input,14,FOLLOW_2);
2484 after(grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1());
2485
2486 }
2487
2488
2489 }
2490 break;
2491
2492 }
2493 }
2494 catch (RecognitionException re) {
2495 reportError(re);
2496 recover(input,re);
2497 }
2498 finally {
2499
2500 restoreStackSize(stackSize);
2501
2502 }
2503 return ;
2504 }
2505 // $ANTLR end "rule__EnumDeclaration__Alternatives_2_0_1_2"
2506
2507
2508 // $ANTLR start "rule__ReferenceDeclaration__Alternatives_0"
2509 // InternalProblem.g:811:1: rule__ReferenceDeclaration__Alternatives_0 : ( ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) ) | ( 'refers' ) );
2510 public final void rule__ReferenceDeclaration__Alternatives_0() throws RecognitionException {
2511
2512 int stackSize = keepStackSize();
2513
2514 try {
2515 // InternalProblem.g:815:1: ( ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) ) | ( 'refers' ) )
2516 int alt5=2;
2517 int LA5_0 = input.LA(1);
2518
2519 if ( (LA5_0==40) ) {
2520 alt5=1;
2521 }
2522 else if ( (LA5_0==15) ) {
2523 alt5=2;
2524 }
2525 else {
2526 NoViableAltException nvae =
2527 new NoViableAltException("", 5, 0, input);
2528
2529 throw nvae;
2530 }
2531 switch (alt5) {
2532 case 1 :
2533 // InternalProblem.g:816:2: ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) )
2534 {
2535 // InternalProblem.g:816:2: ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) )
2536 // InternalProblem.g:817:3: ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 )
2537 {
2538 before(grammarAccess.getReferenceDeclarationAccess().getContainmentAssignment_0_0());
2539 // InternalProblem.g:818:3: ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 )
2540 // InternalProblem.g:818:4: rule__ReferenceDeclaration__ContainmentAssignment_0_0
2541 {
2542 pushFollow(FOLLOW_2);
2543 rule__ReferenceDeclaration__ContainmentAssignment_0_0();
2544
2545 state._fsp--;
2546
2547
2548 }
2549
2550 after(grammarAccess.getReferenceDeclarationAccess().getContainmentAssignment_0_0());
2551
2552 }
2553
2554
2555 }
2556 break;
2557 case 2 :
2558 // InternalProblem.g:822:2: ( 'refers' )
2559 {
2560 // InternalProblem.g:822:2: ( 'refers' )
2561 // InternalProblem.g:823:3: 'refers'
2562 {
2563 before(grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
2564 match(input,15,FOLLOW_2);
2565 after(grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
2566
2567 }
2568
2569
2570 }
2571 break;
2572
2573 }
2574 }
2575 catch (RecognitionException re) {
2576 reportError(re);
2577 recover(input,re);
2578 }
2579 finally {
2580
2581 restoreStackSize(stackSize);
2582
2583 }
2584 return ;
2585 }
2586 // $ANTLR end "rule__ReferenceDeclaration__Alternatives_0"
2587
2588
2589 // $ANTLR start "rule__PredicateDefinition__Alternatives_0"
2590 // InternalProblem.g:832:1: rule__PredicateDefinition__Alternatives_0 : ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( 'pred' ) );
2591 public final void rule__PredicateDefinition__Alternatives_0() throws RecognitionException {
2592
2593 int stackSize = keepStackSize();
2594
2595 try {
2596 // InternalProblem.g:836:1: ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( 'pred' ) )
2597 int alt6=2;
2598 int LA6_0 = input.LA(1);
2599
2600 if ( (LA6_0==41) ) {
2601 alt6=1;
2602 }
2603 else if ( (LA6_0==16) ) {
2604 alt6=2;
2605 }
2606 else {
2607 NoViableAltException nvae =
2608 new NoViableAltException("", 6, 0, input);
2609
2610 throw nvae;
2611 }
2612 switch (alt6) {
2613 case 1 :
2614 // InternalProblem.g:837:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) )
2615 {
2616 // InternalProblem.g:837:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) )
2617 // InternalProblem.g:838:3: ( rule__PredicateDefinition__Group_0_0__0 )
2618 {
2619 before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0());
2620 // InternalProblem.g:839:3: ( rule__PredicateDefinition__Group_0_0__0 )
2621 // InternalProblem.g:839:4: rule__PredicateDefinition__Group_0_0__0
2622 {
2623 pushFollow(FOLLOW_2);
2624 rule__PredicateDefinition__Group_0_0__0();
2625
2626 state._fsp--;
2627
2628
2629 }
2630
2631 after(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0());
2632
2633 }
2634
2635
2636 }
2637 break;
2638 case 2 :
2639 // InternalProblem.g:843:2: ( 'pred' )
2640 {
2641 // InternalProblem.g:843:2: ( 'pred' )
2642 // InternalProblem.g:844:3: 'pred'
2643 {
2644 before(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1());
2645 match(input,16,FOLLOW_2);
2646 after(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1());
2647
2648 }
2649
2650
2651 }
2652 break;
2653
2654 }
2655 }
2656 catch (RecognitionException re) {
2657 reportError(re);
2658 recover(input,re);
2659 }
2660 finally {
2661
2662 restoreStackSize(stackSize);
2663
2664 }
2665 return ;
2666 }
2667 // $ANTLR end "rule__PredicateDefinition__Alternatives_0"
2668
2669
2670 // $ANTLR start "rule__Literal__Alternatives"
2671 // InternalProblem.g:853:1: rule__Literal__Alternatives : ( ( ruleAtom ) | ( ruleNegativeLiteral ) );
2672 public final void rule__Literal__Alternatives() throws RecognitionException {
2673
2674 int stackSize = keepStackSize();
2675
2676 try {
2677 // InternalProblem.g:857:1: ( ( ruleAtom ) | ( ruleNegativeLiteral ) )
2678 int alt7=2;
2679 int LA7_0 = input.LA(1);
2680
2681 if ( ((LA7_0>=RULE_QUOTED_ID && LA7_0<=RULE_ID)||(LA7_0>=19 && LA7_0<=20)) ) {
2682 alt7=1;
2683 }
2684 else if ( (LA7_0==22) ) {
2685 alt7=2;
2686 }
2687 else {
2688 NoViableAltException nvae =
2689 new NoViableAltException("", 7, 0, input);
2690
2691 throw nvae;
2692 }
2693 switch (alt7) {
2694 case 1 :
2695 // InternalProblem.g:858:2: ( ruleAtom )
2696 {
2697 // InternalProblem.g:858:2: ( ruleAtom )
2698 // InternalProblem.g:859:3: ruleAtom
2699 {
2700 before(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0());
2701 pushFollow(FOLLOW_2);
2702 ruleAtom();
2703
2704 state._fsp--;
2705
2706 after(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0());
2707
2708 }
2709
2710
2711 }
2712 break;
2713 case 2 :
2714 // InternalProblem.g:864:2: ( ruleNegativeLiteral )
2715 {
2716 // InternalProblem.g:864:2: ( ruleNegativeLiteral )
2717 // InternalProblem.g:865:3: ruleNegativeLiteral
2718 {
2719 before(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1());
2720 pushFollow(FOLLOW_2);
2721 ruleNegativeLiteral();
2722
2723 state._fsp--;
2724
2725 after(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1());
2726
2727 }
2728
2729
2730 }
2731 break;
2732
2733 }
2734 }
2735 catch (RecognitionException re) {
2736 reportError(re);
2737 recover(input,re);
2738 }
2739 finally {
2740
2741 restoreStackSize(stackSize);
2742
2743 }
2744 return ;
2745 }
2746 // $ANTLR end "rule__Literal__Alternatives"
2747
2748
2749 // $ANTLR start "rule__Assertion__Alternatives_0"
2750 // InternalProblem.g:874:1: rule__Assertion__Alternatives_0 : ( ( ( rule__Assertion__Group_0_0__0 ) ) | ( ( rule__Assertion__Group_0_1__0 ) ) );
2751 public final void rule__Assertion__Alternatives_0() throws RecognitionException {
2752
2753 int stackSize = keepStackSize();
2754
2755 try {
2756 // InternalProblem.g:878:1: ( ( ( rule__Assertion__Group_0_0__0 ) ) | ( ( rule__Assertion__Group_0_1__0 ) ) )
2757 int alt8=2;
2758 alt8 = dfa8.predict(input);
2759 switch (alt8) {
2760 case 1 :
2761 // InternalProblem.g:879:2: ( ( rule__Assertion__Group_0_0__0 ) )
2762 {
2763 // InternalProblem.g:879:2: ( ( rule__Assertion__Group_0_0__0 ) )
2764 // InternalProblem.g:880:3: ( rule__Assertion__Group_0_0__0 )
2765 {
2766 before(grammarAccess.getAssertionAccess().getGroup_0_0());
2767 // InternalProblem.g:881:3: ( rule__Assertion__Group_0_0__0 )
2768 // InternalProblem.g:881:4: rule__Assertion__Group_0_0__0
2769 {
2770 pushFollow(FOLLOW_2);
2771 rule__Assertion__Group_0_0__0();
2772
2773 state._fsp--;
2774
2775
2776 }
2777
2778 after(grammarAccess.getAssertionAccess().getGroup_0_0());
2779
2780 }
2781
2782
2783 }
2784 break;
2785 case 2 :
2786 // InternalProblem.g:885:2: ( ( rule__Assertion__Group_0_1__0 ) )
2787 {
2788 // InternalProblem.g:885:2: ( ( rule__Assertion__Group_0_1__0 ) )
2789 // InternalProblem.g:886:3: ( rule__Assertion__Group_0_1__0 )
2790 {
2791 before(grammarAccess.getAssertionAccess().getGroup_0_1());
2792 // InternalProblem.g:887:3: ( rule__Assertion__Group_0_1__0 )
2793 // InternalProblem.g:887:4: rule__Assertion__Group_0_1__0
2794 {
2795 pushFollow(FOLLOW_2);
2796 rule__Assertion__Group_0_1__0();
2797
2798 state._fsp--;
2799
2800
2801 }
2802
2803 after(grammarAccess.getAssertionAccess().getGroup_0_1());
2804
2805 }
2806
2807
2808 }
2809 break;
2810
2811 }
2812 }
2813 catch (RecognitionException re) {
2814 reportError(re);
2815 recover(input,re);
2816 }
2817 finally {
2818
2819 restoreStackSize(stackSize);
2820
2821 }
2822 return ;
2823 }
2824 // $ANTLR end "rule__Assertion__Alternatives_0"
2825
2826
2827 // $ANTLR start "rule__TypeScope__Alternatives_1"
2828 // InternalProblem.g:895:1: rule__TypeScope__Alternatives_1 : ( ( ( rule__TypeScope__IncrementAssignment_1_0 ) ) | ( '=' ) );
2829 public final void rule__TypeScope__Alternatives_1() throws RecognitionException {
2830
2831 int stackSize = keepStackSize();
2832
2833 try {
2834 // InternalProblem.g:899:1: ( ( ( rule__TypeScope__IncrementAssignment_1_0 ) ) | ( '=' ) )
2835 int alt9=2;
2836 int LA9_0 = input.LA(1);
2837
2838 if ( (LA9_0==43) ) {
2839 alt9=1;
2840 }
2841 else if ( (LA9_0==17) ) {
2842 alt9=2;
2843 }
2844 else {
2845 NoViableAltException nvae =
2846 new NoViableAltException("", 9, 0, input);
2847
2848 throw nvae;
2849 }
2850 switch (alt9) {
2851 case 1 :
2852 // InternalProblem.g:900:2: ( ( rule__TypeScope__IncrementAssignment_1_0 ) )
2853 {
2854 // InternalProblem.g:900:2: ( ( rule__TypeScope__IncrementAssignment_1_0 ) )
2855 // InternalProblem.g:901:3: ( rule__TypeScope__IncrementAssignment_1_0 )
2856 {
2857 before(grammarAccess.getTypeScopeAccess().getIncrementAssignment_1_0());
2858 // InternalProblem.g:902:3: ( rule__TypeScope__IncrementAssignment_1_0 )
2859 // InternalProblem.g:902:4: rule__TypeScope__IncrementAssignment_1_0
2860 {
2861 pushFollow(FOLLOW_2);
2862 rule__TypeScope__IncrementAssignment_1_0();
2863
2864 state._fsp--;
2865
2866
2867 }
2868
2869 after(grammarAccess.getTypeScopeAccess().getIncrementAssignment_1_0());
2870
2871 }
2872
2873
2874 }
2875 break;
2876 case 2 :
2877 // InternalProblem.g:906:2: ( '=' )
2878 {
2879 // InternalProblem.g:906:2: ( '=' )
2880 // InternalProblem.g:907:3: '='
2881 {
2882 before(grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1());
2883 match(input,17,FOLLOW_2);
2884 after(grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1());
2885
2886 }
2887
2888
2889 }
2890 break;
2891
2892 }
2893 }
2894 catch (RecognitionException re) {
2895 reportError(re);
2896 recover(input,re);
2897 }
2898 finally {
2899
2900 restoreStackSize(stackSize);
2901
2902 }
2903 return ;
2904 }
2905 // $ANTLR end "rule__TypeScope__Alternatives_1"
2906
2907
2908 // $ANTLR start "rule__Multiplicity__Alternatives"
2909 // InternalProblem.g:916:1: rule__Multiplicity__Alternatives : ( ( ruleUnboundedMultiplicity ) | ( ruleDefiniteMultiplicity ) );
2910 public final void rule__Multiplicity__Alternatives() throws RecognitionException {
2911
2912 int stackSize = keepStackSize();
2913
2914 try {
2915 // InternalProblem.g:920:1: ( ( ruleUnboundedMultiplicity ) | ( ruleDefiniteMultiplicity ) )
2916 int alt10=2;
2917 int LA10_0 = input.LA(1);
2918
2919 if ( (LA10_0==EOF||LA10_0==31) ) {
2920 alt10=1;
2921 }
2922 else if ( (LA10_0==RULE_INT) ) {
2923 alt10=2;
2924 }
2925 else {
2926 NoViableAltException nvae =
2927 new NoViableAltException("", 10, 0, input);
2928
2929 throw nvae;
2930 }
2931 switch (alt10) {
2932 case 1 :
2933 // InternalProblem.g:921:2: ( ruleUnboundedMultiplicity )
2934 {
2935 // InternalProblem.g:921:2: ( ruleUnboundedMultiplicity )
2936 // InternalProblem.g:922:3: ruleUnboundedMultiplicity
2937 {
2938 before(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0());
2939 pushFollow(FOLLOW_2);
2940 ruleUnboundedMultiplicity();
2941
2942 state._fsp--;
2943
2944 after(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0());
2945
2946 }
2947
2948
2949 }
2950 break;
2951 case 2 :
2952 // InternalProblem.g:927:2: ( ruleDefiniteMultiplicity )
2953 {
2954 // InternalProblem.g:927:2: ( ruleDefiniteMultiplicity )
2955 // InternalProblem.g:928:3: ruleDefiniteMultiplicity
2956 {
2957 before(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1());
2958 pushFollow(FOLLOW_2);
2959 ruleDefiniteMultiplicity();
2960
2961 state._fsp--;
2962
2963 after(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1());
2964
2965 }
2966
2967
2968 }
2969 break;
2970
2971 }
2972 }
2973 catch (RecognitionException re) {
2974 reportError(re);
2975 recover(input,re);
2976 }
2977 finally {
2978
2979 restoreStackSize(stackSize);
2980
2981 }
2982 return ;
2983 }
2984 // $ANTLR end "rule__Multiplicity__Alternatives"
2985
2986
2987 // $ANTLR start "rule__DefiniteMultiplicity__Alternatives"
2988 // InternalProblem.g:937:1: rule__DefiniteMultiplicity__Alternatives : ( ( ruleRangeMultiplicity ) | ( ruleExactMultiplicity ) );
2989 public final void rule__DefiniteMultiplicity__Alternatives() throws RecognitionException {
2990
2991 int stackSize = keepStackSize();
2992
2993 try {
2994 // InternalProblem.g:941:1: ( ( ruleRangeMultiplicity ) | ( ruleExactMultiplicity ) )
2995 int alt11=2;
2996 int LA11_0 = input.LA(1);
2997
2998 if ( (LA11_0==RULE_INT) ) {
2999 int LA11_1 = input.LA(2);
3000
3001 if ( (LA11_1==38) ) {
3002 alt11=1;
3003 }
3004 else if ( (LA11_1==EOF||(LA11_1>=12 && LA11_1<=13)||LA11_1==31) ) {
3005 alt11=2;
3006 }
3007 else {
3008 NoViableAltException nvae =
3009 new NoViableAltException("", 11, 1, input);
3010
3011 throw nvae;
3012 }
3013 }
3014 else {
3015 NoViableAltException nvae =
3016 new NoViableAltException("", 11, 0, input);
3017
3018 throw nvae;
3019 }
3020 switch (alt11) {
3021 case 1 :
3022 // InternalProblem.g:942:2: ( ruleRangeMultiplicity )
3023 {
3024 // InternalProblem.g:942:2: ( ruleRangeMultiplicity )
3025 // InternalProblem.g:943:3: ruleRangeMultiplicity
3026 {
3027 before(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0());
3028 pushFollow(FOLLOW_2);
3029 ruleRangeMultiplicity();
3030
3031 state._fsp--;
3032
3033 after(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0());
3034
3035 }
3036
3037
3038 }
3039 break;
3040 case 2 :
3041 // InternalProblem.g:948:2: ( ruleExactMultiplicity )
3042 {
3043 // InternalProblem.g:948:2: ( ruleExactMultiplicity )
3044 // InternalProblem.g:949:3: ruleExactMultiplicity
3045 {
3046 before(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
3047 pushFollow(FOLLOW_2);
3048 ruleExactMultiplicity();
3049
3050 state._fsp--;
3051
3052 after(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
3053
3054 }
3055
3056
3057 }
3058 break;
3059
3060 }
3061 }
3062 catch (RecognitionException re) {
3063 reportError(re);
3064 recover(input,re);
3065 }
3066 finally {
3067
3068 restoreStackSize(stackSize);
3069
3070 }
3071 return ;
3072 }
3073 // $ANTLR end "rule__DefiniteMultiplicity__Alternatives"
3074
3075
3076 // $ANTLR start "rule__UpperBound__Alternatives"
3077 // InternalProblem.g:958:1: rule__UpperBound__Alternatives : ( ( RULE_INT ) | ( '*' ) );
3078 public final void rule__UpperBound__Alternatives() throws RecognitionException {
3079
3080 int stackSize = keepStackSize();
3081
3082 try {
3083 // InternalProblem.g:962:1: ( ( RULE_INT ) | ( '*' ) )
3084 int alt12=2;
3085 int LA12_0 = input.LA(1);
3086
3087 if ( (LA12_0==RULE_INT) ) {
3088 alt12=1;
3089 }
3090 else if ( (LA12_0==18) ) {
3091 alt12=2;
3092 }
3093 else {
3094 NoViableAltException nvae =
3095 new NoViableAltException("", 12, 0, input);
3096
3097 throw nvae;
3098 }
3099 switch (alt12) {
3100 case 1 :
3101 // InternalProblem.g:963:2: ( RULE_INT )
3102 {
3103 // InternalProblem.g:963:2: ( RULE_INT )
3104 // InternalProblem.g:964:3: RULE_INT
3105 {
3106 before(grammarAccess.getUpperBoundAccess().getINTTerminalRuleCall_0());
3107 match(input,RULE_INT,FOLLOW_2);
3108 after(grammarAccess.getUpperBoundAccess().getINTTerminalRuleCall_0());
3109
3110 }
3111
3112
3113 }
3114 break;
3115 case 2 :
3116 // InternalProblem.g:969:2: ( '*' )
3117 {
3118 // InternalProblem.g:969:2: ( '*' )
3119 // InternalProblem.g:970:3: '*'
3120 {
3121 before(grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1());
3122 match(input,18,FOLLOW_2);
3123 after(grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1());
3124
3125 }
3126
3127
3128 }
3129 break;
3130
3131 }
3132 }
3133 catch (RecognitionException re) {
3134 reportError(re);
3135 recover(input,re);
3136 }
3137 finally {
3138
3139 restoreStackSize(stackSize);
3140
3141 }
3142 return ;
3143 }
3144 // $ANTLR end "rule__UpperBound__Alternatives"
3145
3146
3147 // $ANTLR start "rule__QuotedOrUnquotedId__Alternatives"
3148 // InternalProblem.g:979:1: rule__QuotedOrUnquotedId__Alternatives : ( ( RULE_QUOTED_ID ) | ( ruleIdentifier ) );
3149 public final void rule__QuotedOrUnquotedId__Alternatives() throws RecognitionException {
3150
3151 int stackSize = keepStackSize();
3152
3153 try {
3154 // InternalProblem.g:983:1: ( ( RULE_QUOTED_ID ) | ( ruleIdentifier ) )
3155 int alt13=2;
3156 int LA13_0 = input.LA(1);
3157
3158 if ( (LA13_0==RULE_QUOTED_ID) ) {
3159 alt13=1;
3160 }
3161 else if ( (LA13_0==RULE_ID||(LA13_0>=19 && LA13_0<=20)) ) {
3162 alt13=2;
3163 }
3164 else {
3165 NoViableAltException nvae =
3166 new NoViableAltException("", 13, 0, input);
3167
3168 throw nvae;
3169 }
3170 switch (alt13) {
3171 case 1 :
3172 // InternalProblem.g:984:2: ( RULE_QUOTED_ID )
3173 {
3174 // InternalProblem.g:984:2: ( RULE_QUOTED_ID )
3175 // InternalProblem.g:985:3: RULE_QUOTED_ID
3176 {
3177 before(grammarAccess.getQuotedOrUnquotedIdAccess().getQUOTED_IDTerminalRuleCall_0());
3178 match(input,RULE_QUOTED_ID,FOLLOW_2);
3179 after(grammarAccess.getQuotedOrUnquotedIdAccess().getQUOTED_IDTerminalRuleCall_0());
3180
3181 }
3182
3183
3184 }
3185 break;
3186 case 2 :
3187 // InternalProblem.g:990:2: ( ruleIdentifier )
3188 {
3189 // InternalProblem.g:990:2: ( ruleIdentifier )
3190 // InternalProblem.g:991:3: ruleIdentifier
3191 {
3192 before(grammarAccess.getQuotedOrUnquotedIdAccess().getIdentifierParserRuleCall_1());
3193 pushFollow(FOLLOW_2);
3194 ruleIdentifier();
3195
3196 state._fsp--;
3197
3198 after(grammarAccess.getQuotedOrUnquotedIdAccess().getIdentifierParserRuleCall_1());
3199
3200 }
3201
3202
3203 }
3204 break;
3205
3206 }
3207 }
3208 catch (RecognitionException re) {
3209 reportError(re);
3210 recover(input,re);
3211 }
3212 finally {
3213
3214 restoreStackSize(stackSize);
3215
3216 }
3217 return ;
3218 }
3219 // $ANTLR end "rule__QuotedOrUnquotedId__Alternatives"
3220
3221
3222 // $ANTLR start "rule__QualifiedName__Alternatives"
3223 // InternalProblem.g:1000:1: rule__QualifiedName__Alternatives : ( ( RULE_QUOTED_ID ) | ( ( rule__QualifiedName__Group_1__0 ) ) );
3224 public final void rule__QualifiedName__Alternatives() throws RecognitionException {
3225
3226 int stackSize = keepStackSize();
3227
3228 try {
3229 // InternalProblem.g:1004:1: ( ( RULE_QUOTED_ID ) | ( ( rule__QualifiedName__Group_1__0 ) ) )
3230 int alt14=2;
3231 int LA14_0 = input.LA(1);
3232
3233 if ( (LA14_0==RULE_QUOTED_ID) ) {
3234 alt14=1;
3235 }
3236 else if ( (LA14_0==RULE_ID||(LA14_0>=19 && LA14_0<=20)) ) {
3237 alt14=2;
3238 }
3239 else {
3240 NoViableAltException nvae =
3241 new NoViableAltException("", 14, 0, input);
3242
3243 throw nvae;
3244 }
3245 switch (alt14) {
3246 case 1 :
3247 // InternalProblem.g:1005:2: ( RULE_QUOTED_ID )
3248 {
3249 // InternalProblem.g:1005:2: ( RULE_QUOTED_ID )
3250 // InternalProblem.g:1006:3: RULE_QUOTED_ID
3251 {
3252 before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0());
3253 match(input,RULE_QUOTED_ID,FOLLOW_2);
3254 after(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0());
3255
3256 }
3257
3258
3259 }
3260 break;
3261 case 2 :
3262 // InternalProblem.g:1011:2: ( ( rule__QualifiedName__Group_1__0 ) )
3263 {
3264 // InternalProblem.g:1011:2: ( ( rule__QualifiedName__Group_1__0 ) )
3265 // InternalProblem.g:1012:3: ( rule__QualifiedName__Group_1__0 )
3266 {
3267 before(grammarAccess.getQualifiedNameAccess().getGroup_1());
3268 // InternalProblem.g:1013:3: ( rule__QualifiedName__Group_1__0 )
3269 // InternalProblem.g:1013:4: rule__QualifiedName__Group_1__0
3270 {
3271 pushFollow(FOLLOW_2);
3272 rule__QualifiedName__Group_1__0();
3273
3274 state._fsp--;
3275
3276
3277 }
3278
3279 after(grammarAccess.getQualifiedNameAccess().getGroup_1());
3280
3281 }
3282
3283
3284 }
3285 break;
3286
3287 }
3288 }
3289 catch (RecognitionException re) {
3290 reportError(re);
3291 recover(input,re);
3292 }
3293 finally {
3294
3295 restoreStackSize(stackSize);
3296
3297 }
3298 return ;
3299 }
3300 // $ANTLR end "rule__QualifiedName__Alternatives"
3301
3302
3303 // $ANTLR start "rule__Identifier__Alternatives"
3304 // InternalProblem.g:1021:1: rule__Identifier__Alternatives : ( ( RULE_ID ) | ( 'true' ) | ( 'false' ) );
3305 public final void rule__Identifier__Alternatives() throws RecognitionException {
3306
3307 int stackSize = keepStackSize();
3308
3309 try {
3310 // InternalProblem.g:1025:1: ( ( RULE_ID ) | ( 'true' ) | ( 'false' ) )
3311 int alt15=3;
3312 switch ( input.LA(1) ) {
3313 case RULE_ID:
3314 {
3315 alt15=1;
3316 }
3317 break;
3318 case 19:
3319 {
3320 alt15=2;
3321 }
3322 break;
3323 case 20:
3324 {
3325 alt15=3;
3326 }
3327 break;
3328 default:
3329 NoViableAltException nvae =
3330 new NoViableAltException("", 15, 0, input);
3331
3332 throw nvae;
3333 }
3334
3335 switch (alt15) {
3336 case 1 :
3337 // InternalProblem.g:1026:2: ( RULE_ID )
3338 {
3339 // InternalProblem.g:1026:2: ( RULE_ID )
3340 // InternalProblem.g:1027:3: RULE_ID
3341 {
3342 before(grammarAccess.getIdentifierAccess().getIDTerminalRuleCall_0());
3343 match(input,RULE_ID,FOLLOW_2);
3344 after(grammarAccess.getIdentifierAccess().getIDTerminalRuleCall_0());
3345
3346 }
3347
3348
3349 }
3350 break;
3351 case 2 :
3352 // InternalProblem.g:1032:2: ( 'true' )
3353 {
3354 // InternalProblem.g:1032:2: ( 'true' )
3355 // InternalProblem.g:1033:3: 'true'
3356 {
3357 before(grammarAccess.getIdentifierAccess().getTrueKeyword_1());
3358 match(input,19,FOLLOW_2);
3359 after(grammarAccess.getIdentifierAccess().getTrueKeyword_1());
3360
3361 }
3362
3363
3364 }
3365 break;
3366 case 3 :
3367 // InternalProblem.g:1038:2: ( 'false' )
3368 {
3369 // InternalProblem.g:1038:2: ( 'false' )
3370 // InternalProblem.g:1039:3: 'false'
3371 {
3372 before(grammarAccess.getIdentifierAccess().getFalseKeyword_2());
3373 match(input,20,FOLLOW_2);
3374 after(grammarAccess.getIdentifierAccess().getFalseKeyword_2());
3375
3376 }
3377
3378
3379 }
3380 break;
3381
3382 }
3383 }
3384 catch (RecognitionException re) {
3385 reportError(re);
3386 recover(input,re);
3387 }
3388 finally {
3389
3390 restoreStackSize(stackSize);
3391
3392 }
3393 return ;
3394 }
3395 // $ANTLR end "rule__Identifier__Alternatives"
3396
3397
3398 // $ANTLR start "rule__LogicValue__Alternatives"
3399 // InternalProblem.g:1048:1: rule__LogicValue__Alternatives : ( ( ( 'true' ) ) | ( ( 'false' ) ) | ( ( 'unknown' ) ) );
3400 public final void rule__LogicValue__Alternatives() throws RecognitionException {
3401
3402 int stackSize = keepStackSize();
3403
3404 try {
3405 // InternalProblem.g:1052:1: ( ( ( 'true' ) ) | ( ( 'false' ) ) | ( ( 'unknown' ) ) )
3406 int alt16=3;
3407 switch ( input.LA(1) ) {
3408 case 19:
3409 {
3410 alt16=1;
3411 }
3412 break;
3413 case 20:
3414 {
3415 alt16=2;
3416 }
3417 break;
3418 case 21:
3419 {
3420 alt16=3;
3421 }
3422 break;
3423 default:
3424 NoViableAltException nvae =
3425 new NoViableAltException("", 16, 0, input);
3426
3427 throw nvae;
3428 }
3429
3430 switch (alt16) {
3431 case 1 :
3432 // InternalProblem.g:1053:2: ( ( 'true' ) )
3433 {
3434 // InternalProblem.g:1053:2: ( ( 'true' ) )
3435 // InternalProblem.g:1054:3: ( 'true' )
3436 {
3437 before(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
3438 // InternalProblem.g:1055:3: ( 'true' )
3439 // InternalProblem.g:1055:4: 'true'
3440 {
3441 match(input,19,FOLLOW_2);
3442
3443 }
3444
3445 after(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
3446
3447 }
3448
3449
3450 }
3451 break;
3452 case 2 :
3453 // InternalProblem.g:1059:2: ( ( 'false' ) )
3454 {
3455 // InternalProblem.g:1059:2: ( ( 'false' ) )
3456 // InternalProblem.g:1060:3: ( 'false' )
3457 {
3458 before(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
3459 // InternalProblem.g:1061:3: ( 'false' )
3460 // InternalProblem.g:1061:4: 'false'
3461 {
3462 match(input,20,FOLLOW_2);
3463
3464 }
3465
3466 after(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
3467
3468 }
3469
3470
3471 }
3472 break;
3473 case 3 :
3474 // InternalProblem.g:1065:2: ( ( 'unknown' ) )
3475 {
3476 // InternalProblem.g:1065:2: ( ( 'unknown' ) )
3477 // InternalProblem.g:1066:3: ( 'unknown' )
3478 {
3479 before(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
3480 // InternalProblem.g:1067:3: ( 'unknown' )
3481 // InternalProblem.g:1067:4: 'unknown'
3482 {
3483 match(input,21,FOLLOW_2);
3484
3485 }
3486
3487 after(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
3488
3489 }
3490
3491
3492 }
3493 break;
3494
3495 }
3496 }
3497 catch (RecognitionException re) {
3498 reportError(re);
3499 recover(input,re);
3500 }
3501 finally {
3502
3503 restoreStackSize(stackSize);
3504
3505 }
3506 return ;
3507 }
3508 // $ANTLR end "rule__LogicValue__Alternatives"
3509
3510
3511 // $ANTLR start "rule__ShortLogicValue__Alternatives"
3512 // InternalProblem.g:1075:1: rule__ShortLogicValue__Alternatives : ( ( ( '!' ) ) | ( ( '?' ) ) );
3513 public final void rule__ShortLogicValue__Alternatives() throws RecognitionException {
3514
3515 int stackSize = keepStackSize();
3516
3517 try {
3518 // InternalProblem.g:1079:1: ( ( ( '!' ) ) | ( ( '?' ) ) )
3519 int alt17=2;
3520 int LA17_0 = input.LA(1);
3521
3522 if ( (LA17_0==22) ) {
3523 alt17=1;
3524 }
3525 else if ( (LA17_0==23) ) {
3526 alt17=2;
3527 }
3528 else {
3529 NoViableAltException nvae =
3530 new NoViableAltException("", 17, 0, input);
3531
3532 throw nvae;
3533 }
3534 switch (alt17) {
3535 case 1 :
3536 // InternalProblem.g:1080:2: ( ( '!' ) )
3537 {
3538 // InternalProblem.g:1080:2: ( ( '!' ) )
3539 // InternalProblem.g:1081:3: ( '!' )
3540 {
3541 before(grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0());
3542 // InternalProblem.g:1082:3: ( '!' )
3543 // InternalProblem.g:1082:4: '!'
3544 {
3545 match(input,22,FOLLOW_2);
3546
3547 }
3548
3549 after(grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0());
3550
3551 }
3552
3553
3554 }
3555 break;
3556 case 2 :
3557 // InternalProblem.g:1086:2: ( ( '?' ) )
3558 {
3559 // InternalProblem.g:1086:2: ( ( '?' ) )
3560 // InternalProblem.g:1087:3: ( '?' )
3561 {
3562 before(grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1());
3563 // InternalProblem.g:1088:3: ( '?' )
3564 // InternalProblem.g:1088:4: '?'
3565 {
3566 match(input,23,FOLLOW_2);
3567
3568 }
3569
3570 after(grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1());
3571
3572 }
3573
3574
3575 }
3576 break;
3577
3578 }
3579 }
3580 catch (RecognitionException re) {
3581 reportError(re);
3582 recover(input,re);
3583 }
3584 finally {
3585
3586 restoreStackSize(stackSize);
3587
3588 }
3589 return ;
3590 }
3591 // $ANTLR end "rule__ShortLogicValue__Alternatives"
3592
3593
3594 // $ANTLR start "rule__Problem__Group__0"
3595 // InternalProblem.g:1096:1: rule__Problem__Group__0 : rule__Problem__Group__0__Impl rule__Problem__Group__1 ;
3596 public final void rule__Problem__Group__0() throws RecognitionException {
3597
3598 int stackSize = keepStackSize();
3599
3600 try {
3601 // InternalProblem.g:1100:1: ( rule__Problem__Group__0__Impl rule__Problem__Group__1 )
3602 // InternalProblem.g:1101:2: rule__Problem__Group__0__Impl rule__Problem__Group__1
3603 {
3604 pushFollow(FOLLOW_3);
3605 rule__Problem__Group__0__Impl();
3606
3607 state._fsp--;
3608
3609 pushFollow(FOLLOW_2);
3610 rule__Problem__Group__1();
3611
3612 state._fsp--;
3613
3614
3615 }
3616
3617 }
3618 catch (RecognitionException re) {
3619 reportError(re);
3620 recover(input,re);
3621 }
3622 finally {
3623
3624 restoreStackSize(stackSize);
3625
3626 }
3627 return ;
3628 }
3629 // $ANTLR end "rule__Problem__Group__0"
3630
3631
3632 // $ANTLR start "rule__Problem__Group__0__Impl"
3633 // InternalProblem.g:1108:1: rule__Problem__Group__0__Impl : ( ( rule__Problem__Group_0__0 )? ) ;
3634 public final void rule__Problem__Group__0__Impl() throws RecognitionException {
3635
3636 int stackSize = keepStackSize();
3637
3638 try {
3639 // InternalProblem.g:1112:1: ( ( ( rule__Problem__Group_0__0 )? ) )
3640 // InternalProblem.g:1113:1: ( ( rule__Problem__Group_0__0 )? )
3641 {
3642 // InternalProblem.g:1113:1: ( ( rule__Problem__Group_0__0 )? )
3643 // InternalProblem.g:1114:2: ( rule__Problem__Group_0__0 )?
3644 {
3645 before(grammarAccess.getProblemAccess().getGroup_0());
3646 // InternalProblem.g:1115:2: ( rule__Problem__Group_0__0 )?
3647 int alt18=2;
3648 int LA18_0 = input.LA(1);
3649
3650 if ( (LA18_0==24) ) {
3651 alt18=1;
3652 }
3653 switch (alt18) {
3654 case 1 :
3655 // InternalProblem.g:1115:3: rule__Problem__Group_0__0
3656 {
3657 pushFollow(FOLLOW_2);
3658 rule__Problem__Group_0__0();
3659
3660 state._fsp--;
3661
3662
3663 }
3664 break;
3665
3666 }
3667
3668 after(grammarAccess.getProblemAccess().getGroup_0());
3669
3670 }
3671
3672
3673 }
3674
3675 }
3676 catch (RecognitionException re) {
3677 reportError(re);
3678 recover(input,re);
3679 }
3680 finally {
3681
3682 restoreStackSize(stackSize);
3683
3684 }
3685 return ;
3686 }
3687 // $ANTLR end "rule__Problem__Group__0__Impl"
3688
3689
3690 // $ANTLR start "rule__Problem__Group__1"
3691 // InternalProblem.g:1123:1: rule__Problem__Group__1 : rule__Problem__Group__1__Impl ;
3692 public final void rule__Problem__Group__1() throws RecognitionException {
3693
3694 int stackSize = keepStackSize();
3695
3696 try {
3697 // InternalProblem.g:1127:1: ( rule__Problem__Group__1__Impl )
3698 // InternalProblem.g:1128:2: rule__Problem__Group__1__Impl
3699 {
3700 pushFollow(FOLLOW_2);
3701 rule__Problem__Group__1__Impl();
3702
3703 state._fsp--;
3704
3705
3706 }
3707
3708 }
3709 catch (RecognitionException re) {
3710 reportError(re);
3711 recover(input,re);
3712 }
3713 finally {
3714
3715 restoreStackSize(stackSize);
3716
3717 }
3718 return ;
3719 }
3720 // $ANTLR end "rule__Problem__Group__1"
3721
3722
3723 // $ANTLR start "rule__Problem__Group__1__Impl"
3724 // InternalProblem.g:1134:1: rule__Problem__Group__1__Impl : ( ( rule__Problem__StatementsAssignment_1 )* ) ;
3725 public final void rule__Problem__Group__1__Impl() throws RecognitionException {
3726
3727 int stackSize = keepStackSize();
3728
3729 try {
3730 // InternalProblem.g:1138:1: ( ( ( rule__Problem__StatementsAssignment_1 )* ) )
3731 // InternalProblem.g:1139:1: ( ( rule__Problem__StatementsAssignment_1 )* )
3732 {
3733 // InternalProblem.g:1139:1: ( ( rule__Problem__StatementsAssignment_1 )* )
3734 // InternalProblem.g:1140:2: ( rule__Problem__StatementsAssignment_1 )*
3735 {
3736 before(grammarAccess.getProblemAccess().getStatementsAssignment_1());
3737 // InternalProblem.g:1141:2: ( rule__Problem__StatementsAssignment_1 )*
3738 loop19:
3739 do {
3740 int alt19=2;
3741 int LA19_0 = input.LA(1);
3742
3743 if ( ((LA19_0>=RULE_QUOTED_ID && LA19_0<=RULE_ID)||LA19_0==16||(LA19_0>=19 && LA19_0<=20)||(LA19_0>=22 && LA19_0<=23)||LA19_0==25||LA19_0==29||LA19_0==37||LA19_0==39||LA19_0==41) ) {
3744 alt19=1;
3745 }
3746
3747
3748 switch (alt19) {
3749 case 1 :
3750 // InternalProblem.g:1141:3: rule__Problem__StatementsAssignment_1
3751 {
3752 pushFollow(FOLLOW_4);
3753 rule__Problem__StatementsAssignment_1();
3754
3755 state._fsp--;
3756
3757
3758 }
3759 break;
3760
3761 default :
3762 break loop19;
3763 }
3764 } while (true);
3765
3766 after(grammarAccess.getProblemAccess().getStatementsAssignment_1());
3767
3768 }
3769
3770
3771 }
3772
3773 }
3774 catch (RecognitionException re) {
3775 reportError(re);
3776 recover(input,re);
3777 }
3778 finally {
3779
3780 restoreStackSize(stackSize);
3781
3782 }
3783 return ;
3784 }
3785 // $ANTLR end "rule__Problem__Group__1__Impl"
3786
3787
3788 // $ANTLR start "rule__Problem__Group_0__0"
3789 // InternalProblem.g:1150:1: rule__Problem__Group_0__0 : rule__Problem__Group_0__0__Impl rule__Problem__Group_0__1 ;
3790 public final void rule__Problem__Group_0__0() throws RecognitionException {
3791
3792 int stackSize = keepStackSize();
3793
3794 try {
3795 // InternalProblem.g:1154:1: ( rule__Problem__Group_0__0__Impl rule__Problem__Group_0__1 )
3796 // InternalProblem.g:1155:2: rule__Problem__Group_0__0__Impl rule__Problem__Group_0__1
3797 {
3798 pushFollow(FOLLOW_5);
3799 rule__Problem__Group_0__0__Impl();
3800
3801 state._fsp--;
3802
3803 pushFollow(FOLLOW_2);
3804 rule__Problem__Group_0__1();
3805
3806 state._fsp--;
3807
3808
3809 }
3810
3811 }
3812 catch (RecognitionException re) {
3813 reportError(re);
3814 recover(input,re);
3815 }
3816 finally {
3817
3818 restoreStackSize(stackSize);
3819
3820 }
3821 return ;
3822 }
3823 // $ANTLR end "rule__Problem__Group_0__0"
3824
3825
3826 // $ANTLR start "rule__Problem__Group_0__0__Impl"
3827 // InternalProblem.g:1162:1: rule__Problem__Group_0__0__Impl : ( 'problem' ) ;
3828 public final void rule__Problem__Group_0__0__Impl() throws RecognitionException {
3829
3830 int stackSize = keepStackSize();
3831
3832 try {
3833 // InternalProblem.g:1166:1: ( ( 'problem' ) )
3834 // InternalProblem.g:1167:1: ( 'problem' )
3835 {
3836 // InternalProblem.g:1167:1: ( 'problem' )
3837 // InternalProblem.g:1168:2: 'problem'
3838 {
3839 before(grammarAccess.getProblemAccess().getProblemKeyword_0_0());
3840 match(input,24,FOLLOW_2);
3841 after(grammarAccess.getProblemAccess().getProblemKeyword_0_0());
3842
3843 }
3844
3845
3846 }
3847
3848 }
3849 catch (RecognitionException re) {
3850 reportError(re);
3851 recover(input,re);
3852 }
3853 finally {
3854
3855 restoreStackSize(stackSize);
3856
3857 }
3858 return ;
3859 }
3860 // $ANTLR end "rule__Problem__Group_0__0__Impl"
3861
3862
3863 // $ANTLR start "rule__Problem__Group_0__1"
3864 // InternalProblem.g:1177:1: rule__Problem__Group_0__1 : rule__Problem__Group_0__1__Impl rule__Problem__Group_0__2 ;
3865 public final void rule__Problem__Group_0__1() throws RecognitionException {
3866
3867 int stackSize = keepStackSize();
3868
3869 try {
3870 // InternalProblem.g:1181:1: ( rule__Problem__Group_0__1__Impl rule__Problem__Group_0__2 )
3871 // InternalProblem.g:1182:2: rule__Problem__Group_0__1__Impl rule__Problem__Group_0__2
3872 {
3873 pushFollow(FOLLOW_6);
3874 rule__Problem__Group_0__1__Impl();
3875
3876 state._fsp--;
3877
3878 pushFollow(FOLLOW_2);
3879 rule__Problem__Group_0__2();
3880
3881 state._fsp--;
3882
3883
3884 }
3885
3886 }
3887 catch (RecognitionException re) {
3888 reportError(re);
3889 recover(input,re);
3890 }
3891 finally {
3892
3893 restoreStackSize(stackSize);
3894
3895 }
3896 return ;
3897 }
3898 // $ANTLR end "rule__Problem__Group_0__1"
3899
3900
3901 // $ANTLR start "rule__Problem__Group_0__1__Impl"
3902 // InternalProblem.g:1189:1: rule__Problem__Group_0__1__Impl : ( ( rule__Problem__NameAssignment_0_1 ) ) ;
3903 public final void rule__Problem__Group_0__1__Impl() throws RecognitionException {
3904
3905 int stackSize = keepStackSize();
3906
3907 try {
3908 // InternalProblem.g:1193:1: ( ( ( rule__Problem__NameAssignment_0_1 ) ) )
3909 // InternalProblem.g:1194:1: ( ( rule__Problem__NameAssignment_0_1 ) )
3910 {
3911 // InternalProblem.g:1194:1: ( ( rule__Problem__NameAssignment_0_1 ) )
3912 // InternalProblem.g:1195:2: ( rule__Problem__NameAssignment_0_1 )
3913 {
3914 before(grammarAccess.getProblemAccess().getNameAssignment_0_1());
3915 // InternalProblem.g:1196:2: ( rule__Problem__NameAssignment_0_1 )
3916 // InternalProblem.g:1196:3: rule__Problem__NameAssignment_0_1
3917 {
3918 pushFollow(FOLLOW_2);
3919 rule__Problem__NameAssignment_0_1();
3920
3921 state._fsp--;
3922
3923
3924 }
3925
3926 after(grammarAccess.getProblemAccess().getNameAssignment_0_1());
3927
3928 }
3929
3930
3931 }
3932
3933 }
3934 catch (RecognitionException re) {
3935 reportError(re);
3936 recover(input,re);
3937 }
3938 finally {
3939
3940 restoreStackSize(stackSize);
3941
3942 }
3943 return ;
3944 }
3945 // $ANTLR end "rule__Problem__Group_0__1__Impl"
3946
3947
3948 // $ANTLR start "rule__Problem__Group_0__2"
3949 // InternalProblem.g:1204:1: rule__Problem__Group_0__2 : rule__Problem__Group_0__2__Impl ;
3950 public final void rule__Problem__Group_0__2() throws RecognitionException {
3951
3952 int stackSize = keepStackSize();
3953
3954 try {
3955 // InternalProblem.g:1208:1: ( rule__Problem__Group_0__2__Impl )
3956 // InternalProblem.g:1209:2: rule__Problem__Group_0__2__Impl
3957 {
3958 pushFollow(FOLLOW_2);
3959 rule__Problem__Group_0__2__Impl();
3960
3961 state._fsp--;
3962
3963
3964 }
3965
3966 }
3967 catch (RecognitionException re) {
3968 reportError(re);
3969 recover(input,re);
3970 }
3971 finally {
3972
3973 restoreStackSize(stackSize);
3974
3975 }
3976 return ;
3977 }
3978 // $ANTLR end "rule__Problem__Group_0__2"
3979
3980
3981 // $ANTLR start "rule__Problem__Group_0__2__Impl"
3982 // InternalProblem.g:1215:1: rule__Problem__Group_0__2__Impl : ( '.' ) ;
3983 public final void rule__Problem__Group_0__2__Impl() throws RecognitionException {
3984
3985 int stackSize = keepStackSize();
3986
3987 try {
3988 // InternalProblem.g:1219:1: ( ( '.' ) )
3989 // InternalProblem.g:1220:1: ( '.' )
3990 {
3991 // InternalProblem.g:1220:1: ( '.' )
3992 // InternalProblem.g:1221:2: '.'
3993 {
3994 before(grammarAccess.getProblemAccess().getFullStopKeyword_0_2());
3995 match(input,12,FOLLOW_2);
3996 after(grammarAccess.getProblemAccess().getFullStopKeyword_0_2());
3997
3998 }
3999
4000
4001 }
4002
4003 }
4004 catch (RecognitionException re) {
4005 reportError(re);
4006 recover(input,re);
4007 }
4008 finally {
4009
4010 restoreStackSize(stackSize);
4011
4012 }
4013 return ;
4014 }
4015 // $ANTLR end "rule__Problem__Group_0__2__Impl"
4016
4017
4018 // $ANTLR start "rule__ClassDeclaration__Group__0"
4019 // InternalProblem.g:1231:1: rule__ClassDeclaration__Group__0 : rule__ClassDeclaration__Group__0__Impl rule__ClassDeclaration__Group__1 ;
4020 public final void rule__ClassDeclaration__Group__0() throws RecognitionException {
4021
4022 int stackSize = keepStackSize();
4023
4024 try {
4025 // InternalProblem.g:1235:1: ( rule__ClassDeclaration__Group__0__Impl rule__ClassDeclaration__Group__1 )
4026 // InternalProblem.g:1236:2: rule__ClassDeclaration__Group__0__Impl rule__ClassDeclaration__Group__1
4027 {
4028 pushFollow(FOLLOW_7);
4029 rule__ClassDeclaration__Group__0__Impl();
4030
4031 state._fsp--;
4032
4033 pushFollow(FOLLOW_2);
4034 rule__ClassDeclaration__Group__1();
4035
4036 state._fsp--;
4037
4038
4039 }
4040
4041 }
4042 catch (RecognitionException re) {
4043 reportError(re);
4044 recover(input,re);
4045 }
4046 finally {
4047
4048 restoreStackSize(stackSize);
4049
4050 }
4051 return ;
4052 }
4053 // $ANTLR end "rule__ClassDeclaration__Group__0"
4054
4055
4056 // $ANTLR start "rule__ClassDeclaration__Group__0__Impl"
4057 // InternalProblem.g:1243:1: rule__ClassDeclaration__Group__0__Impl : ( ( rule__ClassDeclaration__AbstractAssignment_0 )? ) ;
4058 public final void rule__ClassDeclaration__Group__0__Impl() throws RecognitionException {
4059
4060 int stackSize = keepStackSize();
4061
4062 try {
4063 // InternalProblem.g:1247:1: ( ( ( rule__ClassDeclaration__AbstractAssignment_0 )? ) )
4064 // InternalProblem.g:1248:1: ( ( rule__ClassDeclaration__AbstractAssignment_0 )? )
4065 {
4066 // InternalProblem.g:1248:1: ( ( rule__ClassDeclaration__AbstractAssignment_0 )? )
4067 // InternalProblem.g:1249:2: ( rule__ClassDeclaration__AbstractAssignment_0 )?
4068 {
4069 before(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0());
4070 // InternalProblem.g:1250:2: ( rule__ClassDeclaration__AbstractAssignment_0 )?
4071 int alt20=2;
4072 int LA20_0 = input.LA(1);
4073
4074 if ( (LA20_0==39) ) {
4075 alt20=1;
4076 }
4077 switch (alt20) {
4078 case 1 :
4079 // InternalProblem.g:1250:3: rule__ClassDeclaration__AbstractAssignment_0
4080 {
4081 pushFollow(FOLLOW_2);
4082 rule__ClassDeclaration__AbstractAssignment_0();
4083
4084 state._fsp--;
4085
4086
4087 }
4088 break;
4089
4090 }
4091
4092 after(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0());
4093
4094 }
4095
4096
4097 }
4098
4099 }
4100 catch (RecognitionException re) {
4101 reportError(re);
4102 recover(input,re);
4103 }
4104 finally {
4105
4106 restoreStackSize(stackSize);
4107
4108 }
4109 return ;
4110 }
4111 // $ANTLR end "rule__ClassDeclaration__Group__0__Impl"
4112
4113
4114 // $ANTLR start "rule__ClassDeclaration__Group__1"
4115 // InternalProblem.g:1258:1: rule__ClassDeclaration__Group__1 : rule__ClassDeclaration__Group__1__Impl rule__ClassDeclaration__Group__2 ;
4116 public final void rule__ClassDeclaration__Group__1() throws RecognitionException {
4117
4118 int stackSize = keepStackSize();
4119
4120 try {
4121 // InternalProblem.g:1262:1: ( rule__ClassDeclaration__Group__1__Impl rule__ClassDeclaration__Group__2 )
4122 // InternalProblem.g:1263:2: rule__ClassDeclaration__Group__1__Impl rule__ClassDeclaration__Group__2
4123 {
4124 pushFollow(FOLLOW_5);
4125 rule__ClassDeclaration__Group__1__Impl();
4126
4127 state._fsp--;
4128
4129 pushFollow(FOLLOW_2);
4130 rule__ClassDeclaration__Group__2();
4131
4132 state._fsp--;
4133
4134
4135 }
4136
4137 }
4138 catch (RecognitionException re) {
4139 reportError(re);
4140 recover(input,re);
4141 }
4142 finally {
4143
4144 restoreStackSize(stackSize);
4145
4146 }
4147 return ;
4148 }
4149 // $ANTLR end "rule__ClassDeclaration__Group__1"
4150
4151
4152 // $ANTLR start "rule__ClassDeclaration__Group__1__Impl"
4153 // InternalProblem.g:1270:1: rule__ClassDeclaration__Group__1__Impl : ( 'class' ) ;
4154 public final void rule__ClassDeclaration__Group__1__Impl() throws RecognitionException {
4155
4156 int stackSize = keepStackSize();
4157
4158 try {
4159 // InternalProblem.g:1274:1: ( ( 'class' ) )
4160 // InternalProblem.g:1275:1: ( 'class' )
4161 {
4162 // InternalProblem.g:1275:1: ( 'class' )
4163 // InternalProblem.g:1276:2: 'class'
4164 {
4165 before(grammarAccess.getClassDeclarationAccess().getClassKeyword_1());
4166 match(input,25,FOLLOW_2);
4167 after(grammarAccess.getClassDeclarationAccess().getClassKeyword_1());
4168
4169 }
4170
4171
4172 }
4173
4174 }
4175 catch (RecognitionException re) {
4176 reportError(re);
4177 recover(input,re);
4178 }
4179 finally {
4180
4181 restoreStackSize(stackSize);
4182
4183 }
4184 return ;
4185 }
4186 // $ANTLR end "rule__ClassDeclaration__Group__1__Impl"
4187
4188
4189 // $ANTLR start "rule__ClassDeclaration__Group__2"
4190 // InternalProblem.g:1285:1: rule__ClassDeclaration__Group__2 : rule__ClassDeclaration__Group__2__Impl rule__ClassDeclaration__Group__3 ;
4191 public final void rule__ClassDeclaration__Group__2() throws RecognitionException {
4192
4193 int stackSize = keepStackSize();
4194
4195 try {
4196 // InternalProblem.g:1289:1: ( rule__ClassDeclaration__Group__2__Impl rule__ClassDeclaration__Group__3 )
4197 // InternalProblem.g:1290:2: rule__ClassDeclaration__Group__2__Impl rule__ClassDeclaration__Group__3
4198 {
4199 pushFollow(FOLLOW_8);
4200 rule__ClassDeclaration__Group__2__Impl();
4201
4202 state._fsp--;
4203
4204 pushFollow(FOLLOW_2);
4205 rule__ClassDeclaration__Group__3();
4206
4207 state._fsp--;
4208
4209
4210 }
4211
4212 }
4213 catch (RecognitionException re) {
4214 reportError(re);
4215 recover(input,re);
4216 }
4217 finally {
4218
4219 restoreStackSize(stackSize);
4220
4221 }
4222 return ;
4223 }
4224 // $ANTLR end "rule__ClassDeclaration__Group__2"
4225
4226
4227 // $ANTLR start "rule__ClassDeclaration__Group__2__Impl"
4228 // InternalProblem.g:1297:1: rule__ClassDeclaration__Group__2__Impl : ( ( rule__ClassDeclaration__NameAssignment_2 ) ) ;
4229 public final void rule__ClassDeclaration__Group__2__Impl() throws RecognitionException {
4230
4231 int stackSize = keepStackSize();
4232
4233 try {
4234 // InternalProblem.g:1301:1: ( ( ( rule__ClassDeclaration__NameAssignment_2 ) ) )
4235 // InternalProblem.g:1302:1: ( ( rule__ClassDeclaration__NameAssignment_2 ) )
4236 {
4237 // InternalProblem.g:1302:1: ( ( rule__ClassDeclaration__NameAssignment_2 ) )
4238 // InternalProblem.g:1303:2: ( rule__ClassDeclaration__NameAssignment_2 )
4239 {
4240 before(grammarAccess.getClassDeclarationAccess().getNameAssignment_2());
4241 // InternalProblem.g:1304:2: ( rule__ClassDeclaration__NameAssignment_2 )
4242 // InternalProblem.g:1304:3: rule__ClassDeclaration__NameAssignment_2
4243 {
4244 pushFollow(FOLLOW_2);
4245 rule__ClassDeclaration__NameAssignment_2();
4246
4247 state._fsp--;
4248
4249
4250 }
4251
4252 after(grammarAccess.getClassDeclarationAccess().getNameAssignment_2());
4253
4254 }
4255
4256
4257 }
4258
4259 }
4260 catch (RecognitionException re) {
4261 reportError(re);
4262 recover(input,re);
4263 }
4264 finally {
4265
4266 restoreStackSize(stackSize);
4267
4268 }
4269 return ;
4270 }
4271 // $ANTLR end "rule__ClassDeclaration__Group__2__Impl"
4272
4273
4274 // $ANTLR start "rule__ClassDeclaration__Group__3"
4275 // InternalProblem.g:1312:1: rule__ClassDeclaration__Group__3 : rule__ClassDeclaration__Group__3__Impl rule__ClassDeclaration__Group__4 ;
4276 public final void rule__ClassDeclaration__Group__3() throws RecognitionException {
4277
4278 int stackSize = keepStackSize();
4279
4280 try {
4281 // InternalProblem.g:1316:1: ( rule__ClassDeclaration__Group__3__Impl rule__ClassDeclaration__Group__4 )
4282 // InternalProblem.g:1317:2: rule__ClassDeclaration__Group__3__Impl rule__ClassDeclaration__Group__4
4283 {
4284 pushFollow(FOLLOW_8);
4285 rule__ClassDeclaration__Group__3__Impl();
4286
4287 state._fsp--;
4288
4289 pushFollow(FOLLOW_2);
4290 rule__ClassDeclaration__Group__4();
4291
4292 state._fsp--;
4293
4294
4295 }
4296
4297 }
4298 catch (RecognitionException re) {
4299 reportError(re);
4300 recover(input,re);
4301 }
4302 finally {
4303
4304 restoreStackSize(stackSize);
4305
4306 }
4307 return ;
4308 }
4309 // $ANTLR end "rule__ClassDeclaration__Group__3"
4310
4311
4312 // $ANTLR start "rule__ClassDeclaration__Group__3__Impl"
4313 // InternalProblem.g:1324:1: rule__ClassDeclaration__Group__3__Impl : ( ( rule__ClassDeclaration__Group_3__0 )? ) ;
4314 public final void rule__ClassDeclaration__Group__3__Impl() throws RecognitionException {
4315
4316 int stackSize = keepStackSize();
4317
4318 try {
4319 // InternalProblem.g:1328:1: ( ( ( rule__ClassDeclaration__Group_3__0 )? ) )
4320 // InternalProblem.g:1329:1: ( ( rule__ClassDeclaration__Group_3__0 )? )
4321 {
4322 // InternalProblem.g:1329:1: ( ( rule__ClassDeclaration__Group_3__0 )? )
4323 // InternalProblem.g:1330:2: ( rule__ClassDeclaration__Group_3__0 )?
4324 {
4325 before(grammarAccess.getClassDeclarationAccess().getGroup_3());
4326 // InternalProblem.g:1331:2: ( rule__ClassDeclaration__Group_3__0 )?
4327 int alt21=2;
4328 int LA21_0 = input.LA(1);
4329
4330 if ( (LA21_0==26) ) {
4331 alt21=1;
4332 }
4333 switch (alt21) {
4334 case 1 :
4335 // InternalProblem.g:1331:3: rule__ClassDeclaration__Group_3__0
4336 {
4337 pushFollow(FOLLOW_2);
4338 rule__ClassDeclaration__Group_3__0();
4339
4340 state._fsp--;
4341
4342
4343 }
4344 break;
4345
4346 }
4347
4348 after(grammarAccess.getClassDeclarationAccess().getGroup_3());
4349
4350 }
4351
4352
4353 }
4354
4355 }
4356 catch (RecognitionException re) {
4357 reportError(re);
4358 recover(input,re);
4359 }
4360 finally {
4361
4362 restoreStackSize(stackSize);
4363
4364 }
4365 return ;
4366 }
4367 // $ANTLR end "rule__ClassDeclaration__Group__3__Impl"
4368
4369
4370 // $ANTLR start "rule__ClassDeclaration__Group__4"
4371 // InternalProblem.g:1339:1: rule__ClassDeclaration__Group__4 : rule__ClassDeclaration__Group__4__Impl ;
4372 public final void rule__ClassDeclaration__Group__4() throws RecognitionException {
4373
4374 int stackSize = keepStackSize();
4375
4376 try {
4377 // InternalProblem.g:1343:1: ( rule__ClassDeclaration__Group__4__Impl )
4378 // InternalProblem.g:1344:2: rule__ClassDeclaration__Group__4__Impl
4379 {
4380 pushFollow(FOLLOW_2);
4381 rule__ClassDeclaration__Group__4__Impl();
4382
4383 state._fsp--;
4384
4385
4386 }
4387
4388 }
4389 catch (RecognitionException re) {
4390 reportError(re);
4391 recover(input,re);
4392 }
4393 finally {
4394
4395 restoreStackSize(stackSize);
4396
4397 }
4398 return ;
4399 }
4400 // $ANTLR end "rule__ClassDeclaration__Group__4"
4401
4402
4403 // $ANTLR start "rule__ClassDeclaration__Group__4__Impl"
4404 // InternalProblem.g:1350:1: rule__ClassDeclaration__Group__4__Impl : ( ( rule__ClassDeclaration__Alternatives_4 ) ) ;
4405 public final void rule__ClassDeclaration__Group__4__Impl() throws RecognitionException {
4406
4407 int stackSize = keepStackSize();
4408
4409 try {
4410 // InternalProblem.g:1354:1: ( ( ( rule__ClassDeclaration__Alternatives_4 ) ) )
4411 // InternalProblem.g:1355:1: ( ( rule__ClassDeclaration__Alternatives_4 ) )
4412 {
4413 // InternalProblem.g:1355:1: ( ( rule__ClassDeclaration__Alternatives_4 ) )
4414 // InternalProblem.g:1356:2: ( rule__ClassDeclaration__Alternatives_4 )
4415 {
4416 before(grammarAccess.getClassDeclarationAccess().getAlternatives_4());
4417 // InternalProblem.g:1357:2: ( rule__ClassDeclaration__Alternatives_4 )
4418 // InternalProblem.g:1357:3: rule__ClassDeclaration__Alternatives_4
4419 {
4420 pushFollow(FOLLOW_2);
4421 rule__ClassDeclaration__Alternatives_4();
4422
4423 state._fsp--;
4424
4425
4426 }
4427
4428 after(grammarAccess.getClassDeclarationAccess().getAlternatives_4());
4429
4430 }
4431
4432
4433 }
4434
4435 }
4436 catch (RecognitionException re) {
4437 reportError(re);
4438 recover(input,re);
4439 }
4440 finally {
4441
4442 restoreStackSize(stackSize);
4443
4444 }
4445 return ;
4446 }
4447 // $ANTLR end "rule__ClassDeclaration__Group__4__Impl"
4448
4449
4450 // $ANTLR start "rule__ClassDeclaration__Group_3__0"
4451 // InternalProblem.g:1366:1: rule__ClassDeclaration__Group_3__0 : rule__ClassDeclaration__Group_3__0__Impl rule__ClassDeclaration__Group_3__1 ;
4452 public final void rule__ClassDeclaration__Group_3__0() throws RecognitionException {
4453
4454 int stackSize = keepStackSize();
4455
4456 try {
4457 // InternalProblem.g:1370:1: ( rule__ClassDeclaration__Group_3__0__Impl rule__ClassDeclaration__Group_3__1 )
4458 // InternalProblem.g:1371:2: rule__ClassDeclaration__Group_3__0__Impl rule__ClassDeclaration__Group_3__1
4459 {
4460 pushFollow(FOLLOW_5);
4461 rule__ClassDeclaration__Group_3__0__Impl();
4462
4463 state._fsp--;
4464
4465 pushFollow(FOLLOW_2);
4466 rule__ClassDeclaration__Group_3__1();
4467
4468 state._fsp--;
4469
4470
4471 }
4472
4473 }
4474 catch (RecognitionException re) {
4475 reportError(re);
4476 recover(input,re);
4477 }
4478 finally {
4479
4480 restoreStackSize(stackSize);
4481
4482 }
4483 return ;
4484 }
4485 // $ANTLR end "rule__ClassDeclaration__Group_3__0"
4486
4487
4488 // $ANTLR start "rule__ClassDeclaration__Group_3__0__Impl"
4489 // InternalProblem.g:1378:1: rule__ClassDeclaration__Group_3__0__Impl : ( 'extends' ) ;
4490 public final void rule__ClassDeclaration__Group_3__0__Impl() throws RecognitionException {
4491
4492 int stackSize = keepStackSize();
4493
4494 try {
4495 // InternalProblem.g:1382:1: ( ( 'extends' ) )
4496 // InternalProblem.g:1383:1: ( 'extends' )
4497 {
4498 // InternalProblem.g:1383:1: ( 'extends' )
4499 // InternalProblem.g:1384:2: 'extends'
4500 {
4501 before(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
4502 match(input,26,FOLLOW_2);
4503 after(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
4504
4505 }
4506
4507
4508 }
4509
4510 }
4511 catch (RecognitionException re) {
4512 reportError(re);
4513 recover(input,re);
4514 }
4515 finally {
4516
4517 restoreStackSize(stackSize);
4518
4519 }
4520 return ;
4521 }
4522 // $ANTLR end "rule__ClassDeclaration__Group_3__0__Impl"
4523
4524
4525 // $ANTLR start "rule__ClassDeclaration__Group_3__1"
4526 // InternalProblem.g:1393:1: rule__ClassDeclaration__Group_3__1 : rule__ClassDeclaration__Group_3__1__Impl rule__ClassDeclaration__Group_3__2 ;
4527 public final void rule__ClassDeclaration__Group_3__1() throws RecognitionException {
4528
4529 int stackSize = keepStackSize();
4530
4531 try {
4532 // InternalProblem.g:1397:1: ( rule__ClassDeclaration__Group_3__1__Impl rule__ClassDeclaration__Group_3__2 )
4533 // InternalProblem.g:1398:2: rule__ClassDeclaration__Group_3__1__Impl rule__ClassDeclaration__Group_3__2
4534 {
4535 pushFollow(FOLLOW_9);
4536 rule__ClassDeclaration__Group_3__1__Impl();
4537
4538 state._fsp--;
4539
4540 pushFollow(FOLLOW_2);
4541 rule__ClassDeclaration__Group_3__2();
4542
4543 state._fsp--;
4544
4545
4546 }
4547
4548 }
4549 catch (RecognitionException re) {
4550 reportError(re);
4551 recover(input,re);
4552 }
4553 finally {
4554
4555 restoreStackSize(stackSize);
4556
4557 }
4558 return ;
4559 }
4560 // $ANTLR end "rule__ClassDeclaration__Group_3__1"
4561
4562
4563 // $ANTLR start "rule__ClassDeclaration__Group_3__1__Impl"
4564 // InternalProblem.g:1405:1: rule__ClassDeclaration__Group_3__1__Impl : ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) ) ;
4565 public final void rule__ClassDeclaration__Group_3__1__Impl() throws RecognitionException {
4566
4567 int stackSize = keepStackSize();
4568
4569 try {
4570 // InternalProblem.g:1409:1: ( ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) ) )
4571 // InternalProblem.g:1410:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) )
4572 {
4573 // InternalProblem.g:1410:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) )
4574 // InternalProblem.g:1411:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_1 )
4575 {
4576 before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_1());
4577 // InternalProblem.g:1412:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_1 )
4578 // InternalProblem.g:1412:3: rule__ClassDeclaration__SuperTypesAssignment_3_1
4579 {
4580 pushFollow(FOLLOW_2);
4581 rule__ClassDeclaration__SuperTypesAssignment_3_1();
4582
4583 state._fsp--;
4584
4585
4586 }
4587
4588 after(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_1());
4589
4590 }
4591
4592
4593 }
4594
4595 }
4596 catch (RecognitionException re) {
4597 reportError(re);
4598 recover(input,re);
4599 }
4600 finally {
4601
4602 restoreStackSize(stackSize);
4603
4604 }
4605 return ;
4606 }
4607 // $ANTLR end "rule__ClassDeclaration__Group_3__1__Impl"
4608
4609
4610 // $ANTLR start "rule__ClassDeclaration__Group_3__2"
4611 // InternalProblem.g:1420:1: rule__ClassDeclaration__Group_3__2 : rule__ClassDeclaration__Group_3__2__Impl ;
4612 public final void rule__ClassDeclaration__Group_3__2() throws RecognitionException {
4613
4614 int stackSize = keepStackSize();
4615
4616 try {
4617 // InternalProblem.g:1424:1: ( rule__ClassDeclaration__Group_3__2__Impl )
4618 // InternalProblem.g:1425:2: rule__ClassDeclaration__Group_3__2__Impl
4619 {
4620 pushFollow(FOLLOW_2);
4621 rule__ClassDeclaration__Group_3__2__Impl();
4622
4623 state._fsp--;
4624
4625
4626 }
4627
4628 }
4629 catch (RecognitionException re) {
4630 reportError(re);
4631 recover(input,re);
4632 }
4633 finally {
4634
4635 restoreStackSize(stackSize);
4636
4637 }
4638 return ;
4639 }
4640 // $ANTLR end "rule__ClassDeclaration__Group_3__2"
4641
4642
4643 // $ANTLR start "rule__ClassDeclaration__Group_3__2__Impl"
4644 // InternalProblem.g:1431:1: rule__ClassDeclaration__Group_3__2__Impl : ( ( rule__ClassDeclaration__Group_3_2__0 )* ) ;
4645 public final void rule__ClassDeclaration__Group_3__2__Impl() throws RecognitionException {
4646
4647 int stackSize = keepStackSize();
4648
4649 try {
4650 // InternalProblem.g:1435:1: ( ( ( rule__ClassDeclaration__Group_3_2__0 )* ) )
4651 // InternalProblem.g:1436:1: ( ( rule__ClassDeclaration__Group_3_2__0 )* )
4652 {
4653 // InternalProblem.g:1436:1: ( ( rule__ClassDeclaration__Group_3_2__0 )* )
4654 // InternalProblem.g:1437:2: ( rule__ClassDeclaration__Group_3_2__0 )*
4655 {
4656 before(grammarAccess.getClassDeclarationAccess().getGroup_3_2());
4657 // InternalProblem.g:1438:2: ( rule__ClassDeclaration__Group_3_2__0 )*
4658 loop22:
4659 do {
4660 int alt22=2;
4661 int LA22_0 = input.LA(1);
4662
4663 if ( (LA22_0==13) ) {
4664 alt22=1;
4665 }
4666
4667
4668 switch (alt22) {
4669 case 1 :
4670 // InternalProblem.g:1438:3: rule__ClassDeclaration__Group_3_2__0
4671 {
4672 pushFollow(FOLLOW_10);
4673 rule__ClassDeclaration__Group_3_2__0();
4674
4675 state._fsp--;
4676
4677
4678 }
4679 break;
4680
4681 default :
4682 break loop22;
4683 }
4684 } while (true);
4685
4686 after(grammarAccess.getClassDeclarationAccess().getGroup_3_2());
4687
4688 }
4689
4690
4691 }
4692
4693 }
4694 catch (RecognitionException re) {
4695 reportError(re);
4696 recover(input,re);
4697 }
4698 finally {
4699
4700 restoreStackSize(stackSize);
4701
4702 }
4703 return ;
4704 }
4705 // $ANTLR end "rule__ClassDeclaration__Group_3__2__Impl"
4706
4707
4708 // $ANTLR start "rule__ClassDeclaration__Group_3_2__0"
4709 // InternalProblem.g:1447:1: rule__ClassDeclaration__Group_3_2__0 : rule__ClassDeclaration__Group_3_2__0__Impl rule__ClassDeclaration__Group_3_2__1 ;
4710 public final void rule__ClassDeclaration__Group_3_2__0() throws RecognitionException {
4711
4712 int stackSize = keepStackSize();
4713
4714 try {
4715 // InternalProblem.g:1451:1: ( rule__ClassDeclaration__Group_3_2__0__Impl rule__ClassDeclaration__Group_3_2__1 )
4716 // InternalProblem.g:1452:2: rule__ClassDeclaration__Group_3_2__0__Impl rule__ClassDeclaration__Group_3_2__1
4717 {
4718 pushFollow(FOLLOW_5);
4719 rule__ClassDeclaration__Group_3_2__0__Impl();
4720
4721 state._fsp--;
4722
4723 pushFollow(FOLLOW_2);
4724 rule__ClassDeclaration__Group_3_2__1();
4725
4726 state._fsp--;
4727
4728
4729 }
4730
4731 }
4732 catch (RecognitionException re) {
4733 reportError(re);
4734 recover(input,re);
4735 }
4736 finally {
4737
4738 restoreStackSize(stackSize);
4739
4740 }
4741 return ;
4742 }
4743 // $ANTLR end "rule__ClassDeclaration__Group_3_2__0"
4744
4745
4746 // $ANTLR start "rule__ClassDeclaration__Group_3_2__0__Impl"
4747 // InternalProblem.g:1459:1: rule__ClassDeclaration__Group_3_2__0__Impl : ( ',' ) ;
4748 public final void rule__ClassDeclaration__Group_3_2__0__Impl() throws RecognitionException {
4749
4750 int stackSize = keepStackSize();
4751
4752 try {
4753 // InternalProblem.g:1463:1: ( ( ',' ) )
4754 // InternalProblem.g:1464:1: ( ',' )
4755 {
4756 // InternalProblem.g:1464:1: ( ',' )
4757 // InternalProblem.g:1465:2: ','
4758 {
4759 before(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
4760 match(input,13,FOLLOW_2);
4761 after(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
4762
4763 }
4764
4765
4766 }
4767
4768 }
4769 catch (RecognitionException re) {
4770 reportError(re);
4771 recover(input,re);
4772 }
4773 finally {
4774
4775 restoreStackSize(stackSize);
4776
4777 }
4778 return ;
4779 }
4780 // $ANTLR end "rule__ClassDeclaration__Group_3_2__0__Impl"
4781
4782
4783 // $ANTLR start "rule__ClassDeclaration__Group_3_2__1"
4784 // InternalProblem.g:1474:1: rule__ClassDeclaration__Group_3_2__1 : rule__ClassDeclaration__Group_3_2__1__Impl ;
4785 public final void rule__ClassDeclaration__Group_3_2__1() throws RecognitionException {
4786
4787 int stackSize = keepStackSize();
4788
4789 try {
4790 // InternalProblem.g:1478:1: ( rule__ClassDeclaration__Group_3_2__1__Impl )
4791 // InternalProblem.g:1479:2: rule__ClassDeclaration__Group_3_2__1__Impl
4792 {
4793 pushFollow(FOLLOW_2);
4794 rule__ClassDeclaration__Group_3_2__1__Impl();
4795
4796 state._fsp--;
4797
4798
4799 }
4800
4801 }
4802 catch (RecognitionException re) {
4803 reportError(re);
4804 recover(input,re);
4805 }
4806 finally {
4807
4808 restoreStackSize(stackSize);
4809
4810 }
4811 return ;
4812 }
4813 // $ANTLR end "rule__ClassDeclaration__Group_3_2__1"
4814
4815
4816 // $ANTLR start "rule__ClassDeclaration__Group_3_2__1__Impl"
4817 // InternalProblem.g:1485:1: rule__ClassDeclaration__Group_3_2__1__Impl : ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) ) ;
4818 public final void rule__ClassDeclaration__Group_3_2__1__Impl() throws RecognitionException {
4819
4820 int stackSize = keepStackSize();
4821
4822 try {
4823 // InternalProblem.g:1489:1: ( ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) ) )
4824 // InternalProblem.g:1490:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) )
4825 {
4826 // InternalProblem.g:1490:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) )
4827 // InternalProblem.g:1491:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 )
4828 {
4829 before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_2_1());
4830 // InternalProblem.g:1492:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 )
4831 // InternalProblem.g:1492:3: rule__ClassDeclaration__SuperTypesAssignment_3_2_1
4832 {
4833 pushFollow(FOLLOW_2);
4834 rule__ClassDeclaration__SuperTypesAssignment_3_2_1();
4835
4836 state._fsp--;
4837
4838
4839 }
4840
4841 after(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_2_1());
4842
4843 }
4844
4845
4846 }
4847
4848 }
4849 catch (RecognitionException re) {
4850 reportError(re);
4851 recover(input,re);
4852 }
4853 finally {
4854
4855 restoreStackSize(stackSize);
4856
4857 }
4858 return ;
4859 }
4860 // $ANTLR end "rule__ClassDeclaration__Group_3_2__1__Impl"
4861
4862
4863 // $ANTLR start "rule__ClassDeclaration__Group_4_0__0"
4864 // InternalProblem.g:1501:1: rule__ClassDeclaration__Group_4_0__0 : rule__ClassDeclaration__Group_4_0__0__Impl rule__ClassDeclaration__Group_4_0__1 ;
4865 public final void rule__ClassDeclaration__Group_4_0__0() throws RecognitionException {
4866
4867 int stackSize = keepStackSize();
4868
4869 try {
4870 // InternalProblem.g:1505:1: ( rule__ClassDeclaration__Group_4_0__0__Impl rule__ClassDeclaration__Group_4_0__1 )
4871 // InternalProblem.g:1506:2: rule__ClassDeclaration__Group_4_0__0__Impl rule__ClassDeclaration__Group_4_0__1
4872 {
4873 pushFollow(FOLLOW_11);
4874 rule__ClassDeclaration__Group_4_0__0__Impl();
4875
4876 state._fsp--;
4877
4878 pushFollow(FOLLOW_2);
4879 rule__ClassDeclaration__Group_4_0__1();
4880
4881 state._fsp--;
4882
4883
4884 }
4885
4886 }
4887 catch (RecognitionException re) {
4888 reportError(re);
4889 recover(input,re);
4890 }
4891 finally {
4892
4893 restoreStackSize(stackSize);
4894
4895 }
4896 return ;
4897 }
4898 // $ANTLR end "rule__ClassDeclaration__Group_4_0__0"
4899
4900
4901 // $ANTLR start "rule__ClassDeclaration__Group_4_0__0__Impl"
4902 // InternalProblem.g:1513:1: rule__ClassDeclaration__Group_4_0__0__Impl : ( '{' ) ;
4903 public final void rule__ClassDeclaration__Group_4_0__0__Impl() throws RecognitionException {
4904
4905 int stackSize = keepStackSize();
4906
4907 try {
4908 // InternalProblem.g:1517:1: ( ( '{' ) )
4909 // InternalProblem.g:1518:1: ( '{' )
4910 {
4911 // InternalProblem.g:1518:1: ( '{' )
4912 // InternalProblem.g:1519:2: '{'
4913 {
4914 before(grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
4915 match(input,27,FOLLOW_2);
4916 after(grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
4917
4918 }
4919
4920
4921 }
4922
4923 }
4924 catch (RecognitionException re) {
4925 reportError(re);
4926 recover(input,re);
4927 }
4928 finally {
4929
4930 restoreStackSize(stackSize);
4931
4932 }
4933 return ;
4934 }
4935 // $ANTLR end "rule__ClassDeclaration__Group_4_0__0__Impl"
4936
4937
4938 // $ANTLR start "rule__ClassDeclaration__Group_4_0__1"
4939 // InternalProblem.g:1528:1: rule__ClassDeclaration__Group_4_0__1 : rule__ClassDeclaration__Group_4_0__1__Impl rule__ClassDeclaration__Group_4_0__2 ;
4940 public final void rule__ClassDeclaration__Group_4_0__1() throws RecognitionException {
4941
4942 int stackSize = keepStackSize();
4943
4944 try {
4945 // InternalProblem.g:1532:1: ( rule__ClassDeclaration__Group_4_0__1__Impl rule__ClassDeclaration__Group_4_0__2 )
4946 // InternalProblem.g:1533:2: rule__ClassDeclaration__Group_4_0__1__Impl rule__ClassDeclaration__Group_4_0__2
4947 {
4948 pushFollow(FOLLOW_11);
4949 rule__ClassDeclaration__Group_4_0__1__Impl();
4950
4951 state._fsp--;
4952
4953 pushFollow(FOLLOW_2);
4954 rule__ClassDeclaration__Group_4_0__2();
4955
4956 state._fsp--;
4957
4958
4959 }
4960
4961 }
4962 catch (RecognitionException re) {
4963 reportError(re);
4964 recover(input,re);
4965 }
4966 finally {
4967
4968 restoreStackSize(stackSize);
4969
4970 }
4971 return ;
4972 }
4973 // $ANTLR end "rule__ClassDeclaration__Group_4_0__1"
4974
4975
4976 // $ANTLR start "rule__ClassDeclaration__Group_4_0__1__Impl"
4977 // InternalProblem.g:1540:1: rule__ClassDeclaration__Group_4_0__1__Impl : ( ( rule__ClassDeclaration__Group_4_0_1__0 )* ) ;
4978 public final void rule__ClassDeclaration__Group_4_0__1__Impl() throws RecognitionException {
4979
4980 int stackSize = keepStackSize();
4981
4982 try {
4983 // InternalProblem.g:1544:1: ( ( ( rule__ClassDeclaration__Group_4_0_1__0 )* ) )
4984 // InternalProblem.g:1545:1: ( ( rule__ClassDeclaration__Group_4_0_1__0 )* )
4985 {
4986 // InternalProblem.g:1545:1: ( ( rule__ClassDeclaration__Group_4_0_1__0 )* )
4987 // InternalProblem.g:1546:2: ( rule__ClassDeclaration__Group_4_0_1__0 )*
4988 {
4989 before(grammarAccess.getClassDeclarationAccess().getGroup_4_0_1());
4990 // InternalProblem.g:1547:2: ( rule__ClassDeclaration__Group_4_0_1__0 )*
4991 loop23:
4992 do {
4993 int alt23=2;
4994 int LA23_0 = input.LA(1);
4995
4996 if ( ((LA23_0>=RULE_QUOTED_ID && LA23_0<=RULE_ID)||LA23_0==15||(LA23_0>=19 && LA23_0<=20)||LA23_0==40) ) {
4997 alt23=1;
4998 }
4999
5000
5001 switch (alt23) {
5002 case 1 :
5003 // InternalProblem.g:1547:3: rule__ClassDeclaration__Group_4_0_1__0
5004 {
5005 pushFollow(FOLLOW_12);
5006 rule__ClassDeclaration__Group_4_0_1__0();
5007
5008 state._fsp--;
5009
5010
5011 }
5012 break;
5013
5014 default :
5015 break loop23;
5016 }
5017 } while (true);
5018
5019 after(grammarAccess.getClassDeclarationAccess().getGroup_4_0_1());
5020
5021 }
5022
5023
5024 }
5025
5026 }
5027 catch (RecognitionException re) {
5028 reportError(re);
5029 recover(input,re);
5030 }
5031 finally {
5032
5033 restoreStackSize(stackSize);
5034
5035 }
5036 return ;
5037 }
5038 // $ANTLR end "rule__ClassDeclaration__Group_4_0__1__Impl"
5039
5040
5041 // $ANTLR start "rule__ClassDeclaration__Group_4_0__2"
5042 // InternalProblem.g:1555:1: rule__ClassDeclaration__Group_4_0__2 : rule__ClassDeclaration__Group_4_0__2__Impl ;
5043 public final void rule__ClassDeclaration__Group_4_0__2() throws RecognitionException {
5044
5045 int stackSize = keepStackSize();
5046
5047 try {
5048 // InternalProblem.g:1559:1: ( rule__ClassDeclaration__Group_4_0__2__Impl )
5049 // InternalProblem.g:1560:2: rule__ClassDeclaration__Group_4_0__2__Impl
5050 {
5051 pushFollow(FOLLOW_2);
5052 rule__ClassDeclaration__Group_4_0__2__Impl();
5053
5054 state._fsp--;
5055
5056
5057 }
5058
5059 }
5060 catch (RecognitionException re) {
5061 reportError(re);
5062 recover(input,re);
5063 }
5064 finally {
5065
5066 restoreStackSize(stackSize);
5067
5068 }
5069 return ;
5070 }
5071 // $ANTLR end "rule__ClassDeclaration__Group_4_0__2"
5072
5073
5074 // $ANTLR start "rule__ClassDeclaration__Group_4_0__2__Impl"
5075 // InternalProblem.g:1566:1: rule__ClassDeclaration__Group_4_0__2__Impl : ( '}' ) ;
5076 public final void rule__ClassDeclaration__Group_4_0__2__Impl() throws RecognitionException {
5077
5078 int stackSize = keepStackSize();
5079
5080 try {
5081 // InternalProblem.g:1570:1: ( ( '}' ) )
5082 // InternalProblem.g:1571:1: ( '}' )
5083 {
5084 // InternalProblem.g:1571:1: ( '}' )
5085 // InternalProblem.g:1572:2: '}'
5086 {
5087 before(grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2());
5088 match(input,28,FOLLOW_2);
5089 after(grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2());
5090
5091 }
5092
5093
5094 }
5095
5096 }
5097 catch (RecognitionException re) {
5098 reportError(re);
5099 recover(input,re);
5100 }
5101 finally {
5102
5103 restoreStackSize(stackSize);
5104
5105 }
5106 return ;
5107 }
5108 // $ANTLR end "rule__ClassDeclaration__Group_4_0__2__Impl"
5109
5110
5111 // $ANTLR start "rule__ClassDeclaration__Group_4_0_1__0"
5112 // InternalProblem.g:1582:1: rule__ClassDeclaration__Group_4_0_1__0 : rule__ClassDeclaration__Group_4_0_1__0__Impl rule__ClassDeclaration__Group_4_0_1__1 ;
5113 public final void rule__ClassDeclaration__Group_4_0_1__0() throws RecognitionException {
5114
5115 int stackSize = keepStackSize();
5116
5117 try {
5118 // InternalProblem.g:1586:1: ( rule__ClassDeclaration__Group_4_0_1__0__Impl rule__ClassDeclaration__Group_4_0_1__1 )
5119 // InternalProblem.g:1587:2: rule__ClassDeclaration__Group_4_0_1__0__Impl rule__ClassDeclaration__Group_4_0_1__1
5120 {
5121 pushFollow(FOLLOW_13);
5122 rule__ClassDeclaration__Group_4_0_1__0__Impl();
5123
5124 state._fsp--;
5125
5126 pushFollow(FOLLOW_2);
5127 rule__ClassDeclaration__Group_4_0_1__1();
5128
5129 state._fsp--;
5130
5131
5132 }
5133
5134 }
5135 catch (RecognitionException re) {
5136 reportError(re);
5137 recover(input,re);
5138 }
5139 finally {
5140
5141 restoreStackSize(stackSize);
5142
5143 }
5144 return ;
5145 }
5146 // $ANTLR end "rule__ClassDeclaration__Group_4_0_1__0"
5147
5148
5149 // $ANTLR start "rule__ClassDeclaration__Group_4_0_1__0__Impl"
5150 // InternalProblem.g:1594:1: rule__ClassDeclaration__Group_4_0_1__0__Impl : ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) ) ;
5151 public final void rule__ClassDeclaration__Group_4_0_1__0__Impl() throws RecognitionException {
5152
5153 int stackSize = keepStackSize();
5154
5155 try {
5156 // InternalProblem.g:1598:1: ( ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) ) )
5157 // InternalProblem.g:1599:1: ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) )
5158 {
5159 // InternalProblem.g:1599:1: ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) )
5160 // InternalProblem.g:1600:2: ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 )
5161 {
5162 before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_0_1_0());
5163 // InternalProblem.g:1601:2: ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 )
5164 // InternalProblem.g:1601:3: rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0
5165 {
5166 pushFollow(FOLLOW_2);
5167 rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0();
5168
5169 state._fsp--;
5170
5171
5172 }
5173
5174 after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_0_1_0());
5175
5176 }
5177
5178
5179 }
5180
5181 }
5182 catch (RecognitionException re) {
5183 reportError(re);
5184 recover(input,re);
5185 }
5186 finally {
5187
5188 restoreStackSize(stackSize);
5189
5190 }
5191 return ;
5192 }
5193 // $ANTLR end "rule__ClassDeclaration__Group_4_0_1__0__Impl"
5194
5195
5196 // $ANTLR start "rule__ClassDeclaration__Group_4_0_1__1"
5197 // InternalProblem.g:1609:1: rule__ClassDeclaration__Group_4_0_1__1 : rule__ClassDeclaration__Group_4_0_1__1__Impl ;
5198 public final void rule__ClassDeclaration__Group_4_0_1__1() throws RecognitionException {
5199
5200 int stackSize = keepStackSize();
5201
5202 try {
5203 // InternalProblem.g:1613:1: ( rule__ClassDeclaration__Group_4_0_1__1__Impl )
5204 // InternalProblem.g:1614:2: rule__ClassDeclaration__Group_4_0_1__1__Impl
5205 {
5206 pushFollow(FOLLOW_2);
5207 rule__ClassDeclaration__Group_4_0_1__1__Impl();
5208
5209 state._fsp--;
5210
5211
5212 }
5213
5214 }
5215 catch (RecognitionException re) {
5216 reportError(re);
5217 recover(input,re);
5218 }
5219 finally {
5220
5221 restoreStackSize(stackSize);
5222
5223 }
5224 return ;
5225 }
5226 // $ANTLR end "rule__ClassDeclaration__Group_4_0_1__1"
5227
5228
5229 // $ANTLR start "rule__ClassDeclaration__Group_4_0_1__1__Impl"
5230 // InternalProblem.g:1620:1: rule__ClassDeclaration__Group_4_0_1__1__Impl : ( ( ';' )? ) ;
5231 public final void rule__ClassDeclaration__Group_4_0_1__1__Impl() throws RecognitionException {
5232
5233 int stackSize = keepStackSize();
5234
5235 try {
5236 // InternalProblem.g:1624:1: ( ( ( ';' )? ) )
5237 // InternalProblem.g:1625:1: ( ( ';' )? )
5238 {
5239 // InternalProblem.g:1625:1: ( ( ';' )? )
5240 // InternalProblem.g:1626:2: ( ';' )?
5241 {
5242 before(grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1());
5243 // InternalProblem.g:1627:2: ( ';' )?
5244 int alt24=2;
5245 int LA24_0 = input.LA(1);
5246
5247 if ( (LA24_0==14) ) {
5248 alt24=1;
5249 }
5250 switch (alt24) {
5251 case 1 :
5252 // InternalProblem.g:1627:3: ';'
5253 {
5254 match(input,14,FOLLOW_2);
5255
5256 }
5257 break;
5258
5259 }
5260
5261 after(grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1());
5262
5263 }
5264
5265
5266 }
5267
5268 }
5269 catch (RecognitionException re) {
5270 reportError(re);
5271 recover(input,re);
5272 }
5273 finally {
5274
5275 restoreStackSize(stackSize);
5276
5277 }
5278 return ;
5279 }
5280 // $ANTLR end "rule__ClassDeclaration__Group_4_0_1__1__Impl"
5281
5282
5283 // $ANTLR start "rule__EnumDeclaration__Group__0"
5284 // InternalProblem.g:1636:1: rule__EnumDeclaration__Group__0 : rule__EnumDeclaration__Group__0__Impl rule__EnumDeclaration__Group__1 ;
5285 public final void rule__EnumDeclaration__Group__0() throws RecognitionException {
5286
5287 int stackSize = keepStackSize();
5288
5289 try {
5290 // InternalProblem.g:1640:1: ( rule__EnumDeclaration__Group__0__Impl rule__EnumDeclaration__Group__1 )
5291 // InternalProblem.g:1641:2: rule__EnumDeclaration__Group__0__Impl rule__EnumDeclaration__Group__1
5292 {
5293 pushFollow(FOLLOW_5);
5294 rule__EnumDeclaration__Group__0__Impl();
5295
5296 state._fsp--;
5297
5298 pushFollow(FOLLOW_2);
5299 rule__EnumDeclaration__Group__1();
5300
5301 state._fsp--;
5302
5303
5304 }
5305
5306 }
5307 catch (RecognitionException re) {
5308 reportError(re);
5309 recover(input,re);
5310 }
5311 finally {
5312
5313 restoreStackSize(stackSize);
5314
5315 }
5316 return ;
5317 }
5318 // $ANTLR end "rule__EnumDeclaration__Group__0"
5319
5320
5321 // $ANTLR start "rule__EnumDeclaration__Group__0__Impl"
5322 // InternalProblem.g:1648:1: rule__EnumDeclaration__Group__0__Impl : ( 'enum' ) ;
5323 public final void rule__EnumDeclaration__Group__0__Impl() throws RecognitionException {
5324
5325 int stackSize = keepStackSize();
5326
5327 try {
5328 // InternalProblem.g:1652:1: ( ( 'enum' ) )
5329 // InternalProblem.g:1653:1: ( 'enum' )
5330 {
5331 // InternalProblem.g:1653:1: ( 'enum' )
5332 // InternalProblem.g:1654:2: 'enum'
5333 {
5334 before(grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0());
5335 match(input,29,FOLLOW_2);
5336 after(grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0());
5337
5338 }
5339
5340
5341 }
5342
5343 }
5344 catch (RecognitionException re) {
5345 reportError(re);
5346 recover(input,re);
5347 }
5348 finally {
5349
5350 restoreStackSize(stackSize);
5351
5352 }
5353 return ;
5354 }
5355 // $ANTLR end "rule__EnumDeclaration__Group__0__Impl"
5356
5357
5358 // $ANTLR start "rule__EnumDeclaration__Group__1"
5359 // InternalProblem.g:1663:1: rule__EnumDeclaration__Group__1 : rule__EnumDeclaration__Group__1__Impl rule__EnumDeclaration__Group__2 ;
5360 public final void rule__EnumDeclaration__Group__1() throws RecognitionException {
5361
5362 int stackSize = keepStackSize();
5363
5364 try {
5365 // InternalProblem.g:1667:1: ( rule__EnumDeclaration__Group__1__Impl rule__EnumDeclaration__Group__2 )
5366 // InternalProblem.g:1668:2: rule__EnumDeclaration__Group__1__Impl rule__EnumDeclaration__Group__2
5367 {
5368 pushFollow(FOLLOW_14);
5369 rule__EnumDeclaration__Group__1__Impl();
5370
5371 state._fsp--;
5372
5373 pushFollow(FOLLOW_2);
5374 rule__EnumDeclaration__Group__2();
5375
5376 state._fsp--;
5377
5378
5379 }
5380
5381 }
5382 catch (RecognitionException re) {
5383 reportError(re);
5384 recover(input,re);
5385 }
5386 finally {
5387
5388 restoreStackSize(stackSize);
5389
5390 }
5391 return ;
5392 }
5393 // $ANTLR end "rule__EnumDeclaration__Group__1"
5394
5395
5396 // $ANTLR start "rule__EnumDeclaration__Group__1__Impl"
5397 // InternalProblem.g:1675:1: rule__EnumDeclaration__Group__1__Impl : ( ( rule__EnumDeclaration__NameAssignment_1 ) ) ;
5398 public final void rule__EnumDeclaration__Group__1__Impl() throws RecognitionException {
5399
5400 int stackSize = keepStackSize();
5401
5402 try {
5403 // InternalProblem.g:1679:1: ( ( ( rule__EnumDeclaration__NameAssignment_1 ) ) )
5404 // InternalProblem.g:1680:1: ( ( rule__EnumDeclaration__NameAssignment_1 ) )
5405 {
5406 // InternalProblem.g:1680:1: ( ( rule__EnumDeclaration__NameAssignment_1 ) )
5407 // InternalProblem.g:1681:2: ( rule__EnumDeclaration__NameAssignment_1 )
5408 {
5409 before(grammarAccess.getEnumDeclarationAccess().getNameAssignment_1());
5410 // InternalProblem.g:1682:2: ( rule__EnumDeclaration__NameAssignment_1 )
5411 // InternalProblem.g:1682:3: rule__EnumDeclaration__NameAssignment_1
5412 {
5413 pushFollow(FOLLOW_2);
5414 rule__EnumDeclaration__NameAssignment_1();
5415
5416 state._fsp--;
5417
5418
5419 }
5420
5421 after(grammarAccess.getEnumDeclarationAccess().getNameAssignment_1());
5422
5423 }
5424
5425
5426 }
5427
5428 }
5429 catch (RecognitionException re) {
5430 reportError(re);
5431 recover(input,re);
5432 }
5433 finally {
5434
5435 restoreStackSize(stackSize);
5436
5437 }
5438 return ;
5439 }
5440 // $ANTLR end "rule__EnumDeclaration__Group__1__Impl"
5441
5442
5443 // $ANTLR start "rule__EnumDeclaration__Group__2"
5444 // InternalProblem.g:1690:1: rule__EnumDeclaration__Group__2 : rule__EnumDeclaration__Group__2__Impl ;
5445 public final void rule__EnumDeclaration__Group__2() throws RecognitionException {
5446
5447 int stackSize = keepStackSize();
5448
5449 try {
5450 // InternalProblem.g:1694:1: ( rule__EnumDeclaration__Group__2__Impl )
5451 // InternalProblem.g:1695:2: rule__EnumDeclaration__Group__2__Impl
5452 {
5453 pushFollow(FOLLOW_2);
5454 rule__EnumDeclaration__Group__2__Impl();
5455
5456 state._fsp--;
5457
5458
5459 }
5460
5461 }
5462 catch (RecognitionException re) {
5463 reportError(re);
5464 recover(input,re);
5465 }
5466 finally {
5467
5468 restoreStackSize(stackSize);
5469
5470 }
5471 return ;
5472 }
5473 // $ANTLR end "rule__EnumDeclaration__Group__2"
5474
5475
5476 // $ANTLR start "rule__EnumDeclaration__Group__2__Impl"
5477 // InternalProblem.g:1701:1: rule__EnumDeclaration__Group__2__Impl : ( ( rule__EnumDeclaration__Alternatives_2 ) ) ;
5478 public final void rule__EnumDeclaration__Group__2__Impl() throws RecognitionException {
5479
5480 int stackSize = keepStackSize();
5481
5482 try {
5483 // InternalProblem.g:1705:1: ( ( ( rule__EnumDeclaration__Alternatives_2 ) ) )
5484 // InternalProblem.g:1706:1: ( ( rule__EnumDeclaration__Alternatives_2 ) )
5485 {
5486 // InternalProblem.g:1706:1: ( ( rule__EnumDeclaration__Alternatives_2 ) )
5487 // InternalProblem.g:1707:2: ( rule__EnumDeclaration__Alternatives_2 )
5488 {
5489 before(grammarAccess.getEnumDeclarationAccess().getAlternatives_2());
5490 // InternalProblem.g:1708:2: ( rule__EnumDeclaration__Alternatives_2 )
5491 // InternalProblem.g:1708:3: rule__EnumDeclaration__Alternatives_2
5492 {
5493 pushFollow(FOLLOW_2);
5494 rule__EnumDeclaration__Alternatives_2();
5495
5496 state._fsp--;
5497
5498
5499 }
5500
5501 after(grammarAccess.getEnumDeclarationAccess().getAlternatives_2());
5502
5503 }
5504
5505
5506 }
5507
5508 }
5509 catch (RecognitionException re) {
5510 reportError(re);
5511 recover(input,re);
5512 }
5513 finally {
5514
5515 restoreStackSize(stackSize);
5516
5517 }
5518 return ;
5519 }
5520 // $ANTLR end "rule__EnumDeclaration__Group__2__Impl"
5521
5522
5523 // $ANTLR start "rule__EnumDeclaration__Group_2_0__0"
5524 // InternalProblem.g:1717:1: rule__EnumDeclaration__Group_2_0__0 : rule__EnumDeclaration__Group_2_0__0__Impl rule__EnumDeclaration__Group_2_0__1 ;
5525 public final void rule__EnumDeclaration__Group_2_0__0() throws RecognitionException {
5526
5527 int stackSize = keepStackSize();
5528
5529 try {
5530 // InternalProblem.g:1721:1: ( rule__EnumDeclaration__Group_2_0__0__Impl rule__EnumDeclaration__Group_2_0__1 )
5531 // InternalProblem.g:1722:2: rule__EnumDeclaration__Group_2_0__0__Impl rule__EnumDeclaration__Group_2_0__1
5532 {
5533 pushFollow(FOLLOW_15);
5534 rule__EnumDeclaration__Group_2_0__0__Impl();
5535
5536 state._fsp--;
5537
5538 pushFollow(FOLLOW_2);
5539 rule__EnumDeclaration__Group_2_0__1();
5540
5541 state._fsp--;
5542
5543
5544 }
5545
5546 }
5547 catch (RecognitionException re) {
5548 reportError(re);
5549 recover(input,re);
5550 }
5551 finally {
5552
5553 restoreStackSize(stackSize);
5554
5555 }
5556 return ;
5557 }
5558 // $ANTLR end "rule__EnumDeclaration__Group_2_0__0"
5559
5560
5561 // $ANTLR start "rule__EnumDeclaration__Group_2_0__0__Impl"
5562 // InternalProblem.g:1729:1: rule__EnumDeclaration__Group_2_0__0__Impl : ( '{' ) ;
5563 public final void rule__EnumDeclaration__Group_2_0__0__Impl() throws RecognitionException {
5564
5565 int stackSize = keepStackSize();
5566
5567 try {
5568 // InternalProblem.g:1733:1: ( ( '{' ) )
5569 // InternalProblem.g:1734:1: ( '{' )
5570 {
5571 // InternalProblem.g:1734:1: ( '{' )
5572 // InternalProblem.g:1735:2: '{'
5573 {
5574 before(grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0());
5575 match(input,27,FOLLOW_2);
5576 after(grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0());
5577
5578 }
5579
5580
5581 }
5582
5583 }
5584 catch (RecognitionException re) {
5585 reportError(re);
5586 recover(input,re);
5587 }
5588 finally {
5589
5590 restoreStackSize(stackSize);
5591
5592 }
5593 return ;
5594 }
5595 // $ANTLR end "rule__EnumDeclaration__Group_2_0__0__Impl"
5596
5597
5598 // $ANTLR start "rule__EnumDeclaration__Group_2_0__1"
5599 // InternalProblem.g:1744:1: rule__EnumDeclaration__Group_2_0__1 : rule__EnumDeclaration__Group_2_0__1__Impl rule__EnumDeclaration__Group_2_0__2 ;
5600 public final void rule__EnumDeclaration__Group_2_0__1() throws RecognitionException {
5601
5602 int stackSize = keepStackSize();
5603
5604 try {
5605 // InternalProblem.g:1748:1: ( rule__EnumDeclaration__Group_2_0__1__Impl rule__EnumDeclaration__Group_2_0__2 )
5606 // InternalProblem.g:1749:2: rule__EnumDeclaration__Group_2_0__1__Impl rule__EnumDeclaration__Group_2_0__2
5607 {
5608 pushFollow(FOLLOW_15);
5609 rule__EnumDeclaration__Group_2_0__1__Impl();
5610
5611 state._fsp--;
5612
5613 pushFollow(FOLLOW_2);
5614 rule__EnumDeclaration__Group_2_0__2();
5615
5616 state._fsp--;
5617
5618
5619 }
5620
5621 }
5622 catch (RecognitionException re) {
5623 reportError(re);
5624 recover(input,re);
5625 }
5626 finally {
5627
5628 restoreStackSize(stackSize);
5629
5630 }
5631 return ;
5632 }
5633 // $ANTLR end "rule__EnumDeclaration__Group_2_0__1"
5634
5635
5636 // $ANTLR start "rule__EnumDeclaration__Group_2_0__1__Impl"
5637 // InternalProblem.g:1756:1: rule__EnumDeclaration__Group_2_0__1__Impl : ( ( rule__EnumDeclaration__Group_2_0_1__0 )? ) ;
5638 public final void rule__EnumDeclaration__Group_2_0__1__Impl() throws RecognitionException {
5639
5640 int stackSize = keepStackSize();
5641
5642 try {
5643 // InternalProblem.g:1760:1: ( ( ( rule__EnumDeclaration__Group_2_0_1__0 )? ) )
5644 // InternalProblem.g:1761:1: ( ( rule__EnumDeclaration__Group_2_0_1__0 )? )
5645 {
5646 // InternalProblem.g:1761:1: ( ( rule__EnumDeclaration__Group_2_0_1__0 )? )
5647 // InternalProblem.g:1762:2: ( rule__EnumDeclaration__Group_2_0_1__0 )?
5648 {
5649 before(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1());
5650 // InternalProblem.g:1763:2: ( rule__EnumDeclaration__Group_2_0_1__0 )?
5651 int alt25=2;
5652 int LA25_0 = input.LA(1);
5653
5654 if ( ((LA25_0>=RULE_QUOTED_ID && LA25_0<=RULE_ID)||(LA25_0>=19 && LA25_0<=20)) ) {
5655 alt25=1;
5656 }
5657 switch (alt25) {
5658 case 1 :
5659 // InternalProblem.g:1763:3: rule__EnumDeclaration__Group_2_0_1__0
5660 {
5661 pushFollow(FOLLOW_2);
5662 rule__EnumDeclaration__Group_2_0_1__0();
5663
5664 state._fsp--;
5665
5666
5667 }
5668 break;
5669
5670 }
5671
5672 after(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1());
5673
5674 }
5675
5676
5677 }
5678
5679 }
5680 catch (RecognitionException re) {
5681 reportError(re);
5682 recover(input,re);
5683 }
5684 finally {
5685
5686 restoreStackSize(stackSize);
5687
5688 }
5689 return ;
5690 }
5691 // $ANTLR end "rule__EnumDeclaration__Group_2_0__1__Impl"
5692
5693
5694 // $ANTLR start "rule__EnumDeclaration__Group_2_0__2"
5695 // InternalProblem.g:1771:1: rule__EnumDeclaration__Group_2_0__2 : rule__EnumDeclaration__Group_2_0__2__Impl ;
5696 public final void rule__EnumDeclaration__Group_2_0__2() throws RecognitionException {
5697
5698 int stackSize = keepStackSize();
5699
5700 try {
5701 // InternalProblem.g:1775:1: ( rule__EnumDeclaration__Group_2_0__2__Impl )
5702 // InternalProblem.g:1776:2: rule__EnumDeclaration__Group_2_0__2__Impl
5703 {
5704 pushFollow(FOLLOW_2);
5705 rule__EnumDeclaration__Group_2_0__2__Impl();
5706
5707 state._fsp--;
5708
5709
5710 }
5711
5712 }
5713 catch (RecognitionException re) {
5714 reportError(re);
5715 recover(input,re);
5716 }
5717 finally {
5718
5719 restoreStackSize(stackSize);
5720
5721 }
5722 return ;
5723 }
5724 // $ANTLR end "rule__EnumDeclaration__Group_2_0__2"
5725
5726
5727 // $ANTLR start "rule__EnumDeclaration__Group_2_0__2__Impl"
5728 // InternalProblem.g:1782:1: rule__EnumDeclaration__Group_2_0__2__Impl : ( '}' ) ;
5729 public final void rule__EnumDeclaration__Group_2_0__2__Impl() throws RecognitionException {
5730
5731 int stackSize = keepStackSize();
5732
5733 try {
5734 // InternalProblem.g:1786:1: ( ( '}' ) )
5735 // InternalProblem.g:1787:1: ( '}' )
5736 {
5737 // InternalProblem.g:1787:1: ( '}' )
5738 // InternalProblem.g:1788:2: '}'
5739 {
5740 before(grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2());
5741 match(input,28,FOLLOW_2);
5742 after(grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2());
5743
5744 }
5745
5746
5747 }
5748
5749 }
5750 catch (RecognitionException re) {
5751 reportError(re);
5752 recover(input,re);
5753 }
5754 finally {
5755
5756 restoreStackSize(stackSize);
5757
5758 }
5759 return ;
5760 }
5761 // $ANTLR end "rule__EnumDeclaration__Group_2_0__2__Impl"
5762
5763
5764 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1__0"
5765 // InternalProblem.g:1798:1: rule__EnumDeclaration__Group_2_0_1__0 : rule__EnumDeclaration__Group_2_0_1__0__Impl rule__EnumDeclaration__Group_2_0_1__1 ;
5766 public final void rule__EnumDeclaration__Group_2_0_1__0() throws RecognitionException {
5767
5768 int stackSize = keepStackSize();
5769
5770 try {
5771 // InternalProblem.g:1802:1: ( rule__EnumDeclaration__Group_2_0_1__0__Impl rule__EnumDeclaration__Group_2_0_1__1 )
5772 // InternalProblem.g:1803:2: rule__EnumDeclaration__Group_2_0_1__0__Impl rule__EnumDeclaration__Group_2_0_1__1
5773 {
5774 pushFollow(FOLLOW_16);
5775 rule__EnumDeclaration__Group_2_0_1__0__Impl();
5776
5777 state._fsp--;
5778
5779 pushFollow(FOLLOW_2);
5780 rule__EnumDeclaration__Group_2_0_1__1();
5781
5782 state._fsp--;
5783
5784
5785 }
5786
5787 }
5788 catch (RecognitionException re) {
5789 reportError(re);
5790 recover(input,re);
5791 }
5792 finally {
5793
5794 restoreStackSize(stackSize);
5795
5796 }
5797 return ;
5798 }
5799 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1__0"
5800
5801
5802 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1__0__Impl"
5803 // InternalProblem.g:1810:1: rule__EnumDeclaration__Group_2_0_1__0__Impl : ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_0 ) ) ;
5804 public final void rule__EnumDeclaration__Group_2_0_1__0__Impl() throws RecognitionException {
5805
5806 int stackSize = keepStackSize();
5807
5808 try {
5809 // InternalProblem.g:1814:1: ( ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_0 ) ) )
5810 // InternalProblem.g:1815:1: ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_0 ) )
5811 {
5812 // InternalProblem.g:1815:1: ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_0 ) )
5813 // InternalProblem.g:1816:2: ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_0 )
5814 {
5815 before(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_0());
5816 // InternalProblem.g:1817:2: ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_0 )
5817 // InternalProblem.g:1817:3: rule__EnumDeclaration__LiteralsAssignment_2_0_1_0
5818 {
5819 pushFollow(FOLLOW_2);
5820 rule__EnumDeclaration__LiteralsAssignment_2_0_1_0();
5821
5822 state._fsp--;
5823
5824
5825 }
5826
5827 after(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_0());
5828
5829 }
5830
5831
5832 }
5833
5834 }
5835 catch (RecognitionException re) {
5836 reportError(re);
5837 recover(input,re);
5838 }
5839 finally {
5840
5841 restoreStackSize(stackSize);
5842
5843 }
5844 return ;
5845 }
5846 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1__0__Impl"
5847
5848
5849 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1__1"
5850 // InternalProblem.g:1825:1: rule__EnumDeclaration__Group_2_0_1__1 : rule__EnumDeclaration__Group_2_0_1__1__Impl rule__EnumDeclaration__Group_2_0_1__2 ;
5851 public final void rule__EnumDeclaration__Group_2_0_1__1() throws RecognitionException {
5852
5853 int stackSize = keepStackSize();
5854
5855 try {
5856 // InternalProblem.g:1829:1: ( rule__EnumDeclaration__Group_2_0_1__1__Impl rule__EnumDeclaration__Group_2_0_1__2 )
5857 // InternalProblem.g:1830:2: rule__EnumDeclaration__Group_2_0_1__1__Impl rule__EnumDeclaration__Group_2_0_1__2
5858 {
5859 pushFollow(FOLLOW_16);
5860 rule__EnumDeclaration__Group_2_0_1__1__Impl();
5861
5862 state._fsp--;
5863
5864 pushFollow(FOLLOW_2);
5865 rule__EnumDeclaration__Group_2_0_1__2();
5866
5867 state._fsp--;
5868
5869
5870 }
5871
5872 }
5873 catch (RecognitionException re) {
5874 reportError(re);
5875 recover(input,re);
5876 }
5877 finally {
5878
5879 restoreStackSize(stackSize);
5880
5881 }
5882 return ;
5883 }
5884 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1__1"
5885
5886
5887 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1__1__Impl"
5888 // InternalProblem.g:1837:1: rule__EnumDeclaration__Group_2_0_1__1__Impl : ( ( rule__EnumDeclaration__Group_2_0_1_1__0 )* ) ;
5889 public final void rule__EnumDeclaration__Group_2_0_1__1__Impl() throws RecognitionException {
5890
5891 int stackSize = keepStackSize();
5892
5893 try {
5894 // InternalProblem.g:1841:1: ( ( ( rule__EnumDeclaration__Group_2_0_1_1__0 )* ) )
5895 // InternalProblem.g:1842:1: ( ( rule__EnumDeclaration__Group_2_0_1_1__0 )* )
5896 {
5897 // InternalProblem.g:1842:1: ( ( rule__EnumDeclaration__Group_2_0_1_1__0 )* )
5898 // InternalProblem.g:1843:2: ( rule__EnumDeclaration__Group_2_0_1_1__0 )*
5899 {
5900 before(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1_1());
5901 // InternalProblem.g:1844:2: ( rule__EnumDeclaration__Group_2_0_1_1__0 )*
5902 loop26:
5903 do {
5904 int alt26=2;
5905 int LA26_0 = input.LA(1);
5906
5907 if ( (LA26_0==13) ) {
5908 int LA26_1 = input.LA(2);
5909
5910 if ( ((LA26_1>=RULE_QUOTED_ID && LA26_1<=RULE_ID)||(LA26_1>=19 && LA26_1<=20)) ) {
5911 alt26=1;
5912 }
5913
5914
5915 }
5916
5917
5918 switch (alt26) {
5919 case 1 :
5920 // InternalProblem.g:1844:3: rule__EnumDeclaration__Group_2_0_1_1__0
5921 {
5922 pushFollow(FOLLOW_10);
5923 rule__EnumDeclaration__Group_2_0_1_1__0();
5924
5925 state._fsp--;
5926
5927
5928 }
5929 break;
5930
5931 default :
5932 break loop26;
5933 }
5934 } while (true);
5935
5936 after(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1_1());
5937
5938 }
5939
5940
5941 }
5942
5943 }
5944 catch (RecognitionException re) {
5945 reportError(re);
5946 recover(input,re);
5947 }
5948 finally {
5949
5950 restoreStackSize(stackSize);
5951
5952 }
5953 return ;
5954 }
5955 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1__1__Impl"
5956
5957
5958 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1__2"
5959 // InternalProblem.g:1852:1: rule__EnumDeclaration__Group_2_0_1__2 : rule__EnumDeclaration__Group_2_0_1__2__Impl ;
5960 public final void rule__EnumDeclaration__Group_2_0_1__2() throws RecognitionException {
5961
5962 int stackSize = keepStackSize();
5963
5964 try {
5965 // InternalProblem.g:1856:1: ( rule__EnumDeclaration__Group_2_0_1__2__Impl )
5966 // InternalProblem.g:1857:2: rule__EnumDeclaration__Group_2_0_1__2__Impl
5967 {
5968 pushFollow(FOLLOW_2);
5969 rule__EnumDeclaration__Group_2_0_1__2__Impl();
5970
5971 state._fsp--;
5972
5973
5974 }
5975
5976 }
5977 catch (RecognitionException re) {
5978 reportError(re);
5979 recover(input,re);
5980 }
5981 finally {
5982
5983 restoreStackSize(stackSize);
5984
5985 }
5986 return ;
5987 }
5988 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1__2"
5989
5990
5991 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1__2__Impl"
5992 // InternalProblem.g:1863:1: rule__EnumDeclaration__Group_2_0_1__2__Impl : ( ( rule__EnumDeclaration__Alternatives_2_0_1_2 )? ) ;
5993 public final void rule__EnumDeclaration__Group_2_0_1__2__Impl() throws RecognitionException {
5994
5995 int stackSize = keepStackSize();
5996
5997 try {
5998 // InternalProblem.g:1867:1: ( ( ( rule__EnumDeclaration__Alternatives_2_0_1_2 )? ) )
5999 // InternalProblem.g:1868:1: ( ( rule__EnumDeclaration__Alternatives_2_0_1_2 )? )
6000 {
6001 // InternalProblem.g:1868:1: ( ( rule__EnumDeclaration__Alternatives_2_0_1_2 )? )
6002 // InternalProblem.g:1869:2: ( rule__EnumDeclaration__Alternatives_2_0_1_2 )?
6003 {
6004 before(grammarAccess.getEnumDeclarationAccess().getAlternatives_2_0_1_2());
6005 // InternalProblem.g:1870:2: ( rule__EnumDeclaration__Alternatives_2_0_1_2 )?
6006 int alt27=2;
6007 int LA27_0 = input.LA(1);
6008
6009 if ( ((LA27_0>=13 && LA27_0<=14)) ) {
6010 alt27=1;
6011 }
6012 switch (alt27) {
6013 case 1 :
6014 // InternalProblem.g:1870:3: rule__EnumDeclaration__Alternatives_2_0_1_2
6015 {
6016 pushFollow(FOLLOW_2);
6017 rule__EnumDeclaration__Alternatives_2_0_1_2();
6018
6019 state._fsp--;
6020
6021
6022 }
6023 break;
6024
6025 }
6026
6027 after(grammarAccess.getEnumDeclarationAccess().getAlternatives_2_0_1_2());
6028
6029 }
6030
6031
6032 }
6033
6034 }
6035 catch (RecognitionException re) {
6036 reportError(re);
6037 recover(input,re);
6038 }
6039 finally {
6040
6041 restoreStackSize(stackSize);
6042
6043 }
6044 return ;
6045 }
6046 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1__2__Impl"
6047
6048
6049 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1_1__0"
6050 // InternalProblem.g:1879:1: rule__EnumDeclaration__Group_2_0_1_1__0 : rule__EnumDeclaration__Group_2_0_1_1__0__Impl rule__EnumDeclaration__Group_2_0_1_1__1 ;
6051 public final void rule__EnumDeclaration__Group_2_0_1_1__0() throws RecognitionException {
6052
6053 int stackSize = keepStackSize();
6054
6055 try {
6056 // InternalProblem.g:1883:1: ( rule__EnumDeclaration__Group_2_0_1_1__0__Impl rule__EnumDeclaration__Group_2_0_1_1__1 )
6057 // InternalProblem.g:1884:2: rule__EnumDeclaration__Group_2_0_1_1__0__Impl rule__EnumDeclaration__Group_2_0_1_1__1
6058 {
6059 pushFollow(FOLLOW_5);
6060 rule__EnumDeclaration__Group_2_0_1_1__0__Impl();
6061
6062 state._fsp--;
6063
6064 pushFollow(FOLLOW_2);
6065 rule__EnumDeclaration__Group_2_0_1_1__1();
6066
6067 state._fsp--;
6068
6069
6070 }
6071
6072 }
6073 catch (RecognitionException re) {
6074 reportError(re);
6075 recover(input,re);
6076 }
6077 finally {
6078
6079 restoreStackSize(stackSize);
6080
6081 }
6082 return ;
6083 }
6084 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1_1__0"
6085
6086
6087 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1_1__0__Impl"
6088 // InternalProblem.g:1891:1: rule__EnumDeclaration__Group_2_0_1_1__0__Impl : ( ',' ) ;
6089 public final void rule__EnumDeclaration__Group_2_0_1_1__0__Impl() throws RecognitionException {
6090
6091 int stackSize = keepStackSize();
6092
6093 try {
6094 // InternalProblem.g:1895:1: ( ( ',' ) )
6095 // InternalProblem.g:1896:1: ( ',' )
6096 {
6097 // InternalProblem.g:1896:1: ( ',' )
6098 // InternalProblem.g:1897:2: ','
6099 {
6100 before(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0());
6101 match(input,13,FOLLOW_2);
6102 after(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0());
6103
6104 }
6105
6106
6107 }
6108
6109 }
6110 catch (RecognitionException re) {
6111 reportError(re);
6112 recover(input,re);
6113 }
6114 finally {
6115
6116 restoreStackSize(stackSize);
6117
6118 }
6119 return ;
6120 }
6121 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1_1__0__Impl"
6122
6123
6124 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1_1__1"
6125 // InternalProblem.g:1906:1: rule__EnumDeclaration__Group_2_0_1_1__1 : rule__EnumDeclaration__Group_2_0_1_1__1__Impl ;
6126 public final void rule__EnumDeclaration__Group_2_0_1_1__1() throws RecognitionException {
6127
6128 int stackSize = keepStackSize();
6129
6130 try {
6131 // InternalProblem.g:1910:1: ( rule__EnumDeclaration__Group_2_0_1_1__1__Impl )
6132 // InternalProblem.g:1911:2: rule__EnumDeclaration__Group_2_0_1_1__1__Impl
6133 {
6134 pushFollow(FOLLOW_2);
6135 rule__EnumDeclaration__Group_2_0_1_1__1__Impl();
6136
6137 state._fsp--;
6138
6139
6140 }
6141
6142 }
6143 catch (RecognitionException re) {
6144 reportError(re);
6145 recover(input,re);
6146 }
6147 finally {
6148
6149 restoreStackSize(stackSize);
6150
6151 }
6152 return ;
6153 }
6154 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1_1__1"
6155
6156
6157 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1_1__1__Impl"
6158 // InternalProblem.g:1917:1: rule__EnumDeclaration__Group_2_0_1_1__1__Impl : ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1 ) ) ;
6159 public final void rule__EnumDeclaration__Group_2_0_1_1__1__Impl() throws RecognitionException {
6160
6161 int stackSize = keepStackSize();
6162
6163 try {
6164 // InternalProblem.g:1921:1: ( ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1 ) ) )
6165 // InternalProblem.g:1922:1: ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1 ) )
6166 {
6167 // InternalProblem.g:1922:1: ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1 ) )
6168 // InternalProblem.g:1923:2: ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1 )
6169 {
6170 before(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_1_1());
6171 // InternalProblem.g:1924:2: ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1 )
6172 // InternalProblem.g:1924:3: rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1
6173 {
6174 pushFollow(FOLLOW_2);
6175 rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1();
6176
6177 state._fsp--;
6178
6179
6180 }
6181
6182 after(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_1_1());
6183
6184 }
6185
6186
6187 }
6188
6189 }
6190 catch (RecognitionException re) {
6191 reportError(re);
6192 recover(input,re);
6193 }
6194 finally {
6195
6196 restoreStackSize(stackSize);
6197
6198 }
6199 return ;
6200 }
6201 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1_1__1__Impl"
6202
6203
6204 // $ANTLR start "rule__ReferenceDeclaration__Group__0"
6205 // InternalProblem.g:1933:1: rule__ReferenceDeclaration__Group__0 : rule__ReferenceDeclaration__Group__0__Impl rule__ReferenceDeclaration__Group__1 ;
6206 public final void rule__ReferenceDeclaration__Group__0() throws RecognitionException {
6207
6208 int stackSize = keepStackSize();
6209
6210 try {
6211 // InternalProblem.g:1937:1: ( rule__ReferenceDeclaration__Group__0__Impl rule__ReferenceDeclaration__Group__1 )
6212 // InternalProblem.g:1938:2: rule__ReferenceDeclaration__Group__0__Impl rule__ReferenceDeclaration__Group__1
6213 {
6214 pushFollow(FOLLOW_17);
6215 rule__ReferenceDeclaration__Group__0__Impl();
6216
6217 state._fsp--;
6218
6219 pushFollow(FOLLOW_2);
6220 rule__ReferenceDeclaration__Group__1();
6221
6222 state._fsp--;
6223
6224
6225 }
6226
6227 }
6228 catch (RecognitionException re) {
6229 reportError(re);
6230 recover(input,re);
6231 }
6232 finally {
6233
6234 restoreStackSize(stackSize);
6235
6236 }
6237 return ;
6238 }
6239 // $ANTLR end "rule__ReferenceDeclaration__Group__0"
6240
6241
6242 // $ANTLR start "rule__ReferenceDeclaration__Group__0__Impl"
6243 // InternalProblem.g:1945:1: rule__ReferenceDeclaration__Group__0__Impl : ( ( rule__ReferenceDeclaration__Alternatives_0 )? ) ;
6244 public final void rule__ReferenceDeclaration__Group__0__Impl() throws RecognitionException {
6245
6246 int stackSize = keepStackSize();
6247
6248 try {
6249 // InternalProblem.g:1949:1: ( ( ( rule__ReferenceDeclaration__Alternatives_0 )? ) )
6250 // InternalProblem.g:1950:1: ( ( rule__ReferenceDeclaration__Alternatives_0 )? )
6251 {
6252 // InternalProblem.g:1950:1: ( ( rule__ReferenceDeclaration__Alternatives_0 )? )
6253 // InternalProblem.g:1951:2: ( rule__ReferenceDeclaration__Alternatives_0 )?
6254 {
6255 before(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0());
6256 // InternalProblem.g:1952:2: ( rule__ReferenceDeclaration__Alternatives_0 )?
6257 int alt28=2;
6258 int LA28_0 = input.LA(1);
6259
6260 if ( (LA28_0==15||LA28_0==40) ) {
6261 alt28=1;
6262 }
6263 switch (alt28) {
6264 case 1 :
6265 // InternalProblem.g:1952:3: rule__ReferenceDeclaration__Alternatives_0
6266 {
6267 pushFollow(FOLLOW_2);
6268 rule__ReferenceDeclaration__Alternatives_0();
6269
6270 state._fsp--;
6271
6272
6273 }
6274 break;
6275
6276 }
6277
6278 after(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0());
6279
6280 }
6281
6282
6283 }
6284
6285 }
6286 catch (RecognitionException re) {
6287 reportError(re);
6288 recover(input,re);
6289 }
6290 finally {
6291
6292 restoreStackSize(stackSize);
6293
6294 }
6295 return ;
6296 }
6297 // $ANTLR end "rule__ReferenceDeclaration__Group__0__Impl"
6298
6299
6300 // $ANTLR start "rule__ReferenceDeclaration__Group__1"
6301 // InternalProblem.g:1960:1: rule__ReferenceDeclaration__Group__1 : rule__ReferenceDeclaration__Group__1__Impl rule__ReferenceDeclaration__Group__2 ;
6302 public final void rule__ReferenceDeclaration__Group__1() throws RecognitionException {
6303
6304 int stackSize = keepStackSize();
6305
6306 try {
6307 // InternalProblem.g:1964:1: ( rule__ReferenceDeclaration__Group__1__Impl rule__ReferenceDeclaration__Group__2 )
6308 // InternalProblem.g:1965:2: rule__ReferenceDeclaration__Group__1__Impl rule__ReferenceDeclaration__Group__2
6309 {
6310 pushFollow(FOLLOW_18);
6311 rule__ReferenceDeclaration__Group__1__Impl();
6312
6313 state._fsp--;
6314
6315 pushFollow(FOLLOW_2);
6316 rule__ReferenceDeclaration__Group__2();
6317
6318 state._fsp--;
6319
6320
6321 }
6322
6323 }
6324 catch (RecognitionException re) {
6325 reportError(re);
6326 recover(input,re);
6327 }
6328 finally {
6329
6330 restoreStackSize(stackSize);
6331
6332 }
6333 return ;
6334 }
6335 // $ANTLR end "rule__ReferenceDeclaration__Group__1"
6336
6337
6338 // $ANTLR start "rule__ReferenceDeclaration__Group__1__Impl"
6339 // InternalProblem.g:1972:1: rule__ReferenceDeclaration__Group__1__Impl : ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) ) ;
6340 public final void rule__ReferenceDeclaration__Group__1__Impl() throws RecognitionException {
6341
6342 int stackSize = keepStackSize();
6343
6344 try {
6345 // InternalProblem.g:1976:1: ( ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) ) )
6346 // InternalProblem.g:1977:1: ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) )
6347 {
6348 // InternalProblem.g:1977:1: ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) )
6349 // InternalProblem.g:1978:2: ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 )
6350 {
6351 before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeAssignment_1());
6352 // InternalProblem.g:1979:2: ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 )
6353 // InternalProblem.g:1979:3: rule__ReferenceDeclaration__ReferenceTypeAssignment_1
6354 {
6355 pushFollow(FOLLOW_2);
6356 rule__ReferenceDeclaration__ReferenceTypeAssignment_1();
6357
6358 state._fsp--;
6359
6360
6361 }
6362
6363 after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeAssignment_1());
6364
6365 }
6366
6367
6368 }
6369
6370 }
6371 catch (RecognitionException re) {
6372 reportError(re);
6373 recover(input,re);
6374 }
6375 finally {
6376
6377 restoreStackSize(stackSize);
6378
6379 }
6380 return ;
6381 }
6382 // $ANTLR end "rule__ReferenceDeclaration__Group__1__Impl"
6383
6384
6385 // $ANTLR start "rule__ReferenceDeclaration__Group__2"
6386 // InternalProblem.g:1987:1: rule__ReferenceDeclaration__Group__2 : rule__ReferenceDeclaration__Group__2__Impl rule__ReferenceDeclaration__Group__3 ;
6387 public final void rule__ReferenceDeclaration__Group__2() throws RecognitionException {
6388
6389 int stackSize = keepStackSize();
6390
6391 try {
6392 // InternalProblem.g:1991:1: ( rule__ReferenceDeclaration__Group__2__Impl rule__ReferenceDeclaration__Group__3 )
6393 // InternalProblem.g:1992:2: rule__ReferenceDeclaration__Group__2__Impl rule__ReferenceDeclaration__Group__3
6394 {
6395 pushFollow(FOLLOW_18);
6396 rule__ReferenceDeclaration__Group__2__Impl();
6397
6398 state._fsp--;
6399
6400 pushFollow(FOLLOW_2);
6401 rule__ReferenceDeclaration__Group__3();
6402
6403 state._fsp--;
6404
6405
6406 }
6407
6408 }
6409 catch (RecognitionException re) {
6410 reportError(re);
6411 recover(input,re);
6412 }
6413 finally {
6414
6415 restoreStackSize(stackSize);
6416
6417 }
6418 return ;
6419 }
6420 // $ANTLR end "rule__ReferenceDeclaration__Group__2"
6421
6422
6423 // $ANTLR start "rule__ReferenceDeclaration__Group__2__Impl"
6424 // InternalProblem.g:1999:1: rule__ReferenceDeclaration__Group__2__Impl : ( ( rule__ReferenceDeclaration__Group_2__0 )? ) ;
6425 public final void rule__ReferenceDeclaration__Group__2__Impl() throws RecognitionException {
6426
6427 int stackSize = keepStackSize();
6428
6429 try {
6430 // InternalProblem.g:2003:1: ( ( ( rule__ReferenceDeclaration__Group_2__0 )? ) )
6431 // InternalProblem.g:2004:1: ( ( rule__ReferenceDeclaration__Group_2__0 )? )
6432 {
6433 // InternalProblem.g:2004:1: ( ( rule__ReferenceDeclaration__Group_2__0 )? )
6434 // InternalProblem.g:2005:2: ( rule__ReferenceDeclaration__Group_2__0 )?
6435 {
6436 before(grammarAccess.getReferenceDeclarationAccess().getGroup_2());
6437 // InternalProblem.g:2006:2: ( rule__ReferenceDeclaration__Group_2__0 )?
6438 int alt29=2;
6439 int LA29_0 = input.LA(1);
6440
6441 if ( (LA29_0==30) ) {
6442 alt29=1;
6443 }
6444 switch (alt29) {
6445 case 1 :
6446 // InternalProblem.g:2006:3: rule__ReferenceDeclaration__Group_2__0
6447 {
6448 pushFollow(FOLLOW_2);
6449 rule__ReferenceDeclaration__Group_2__0();
6450
6451 state._fsp--;
6452
6453
6454 }
6455 break;
6456
6457 }
6458
6459 after(grammarAccess.getReferenceDeclarationAccess().getGroup_2());
6460
6461 }
6462
6463
6464 }
6465
6466 }
6467 catch (RecognitionException re) {
6468 reportError(re);
6469 recover(input,re);
6470 }
6471 finally {
6472
6473 restoreStackSize(stackSize);
6474
6475 }
6476 return ;
6477 }
6478 // $ANTLR end "rule__ReferenceDeclaration__Group__2__Impl"
6479
6480
6481 // $ANTLR start "rule__ReferenceDeclaration__Group__3"
6482 // InternalProblem.g:2014:1: rule__ReferenceDeclaration__Group__3 : rule__ReferenceDeclaration__Group__3__Impl rule__ReferenceDeclaration__Group__4 ;
6483 public final void rule__ReferenceDeclaration__Group__3() throws RecognitionException {
6484
6485 int stackSize = keepStackSize();
6486
6487 try {
6488 // InternalProblem.g:2018:1: ( rule__ReferenceDeclaration__Group__3__Impl rule__ReferenceDeclaration__Group__4 )
6489 // InternalProblem.g:2019:2: rule__ReferenceDeclaration__Group__3__Impl rule__ReferenceDeclaration__Group__4
6490 {
6491 pushFollow(FOLLOW_19);
6492 rule__ReferenceDeclaration__Group__3__Impl();
6493
6494 state._fsp--;
6495
6496 pushFollow(FOLLOW_2);
6497 rule__ReferenceDeclaration__Group__4();
6498
6499 state._fsp--;
6500
6501
6502 }
6503
6504 }
6505 catch (RecognitionException re) {
6506 reportError(re);
6507 recover(input,re);
6508 }
6509 finally {
6510
6511 restoreStackSize(stackSize);
6512
6513 }
6514 return ;
6515 }
6516 // $ANTLR end "rule__ReferenceDeclaration__Group__3"
6517
6518
6519 // $ANTLR start "rule__ReferenceDeclaration__Group__3__Impl"
6520 // InternalProblem.g:2026:1: rule__ReferenceDeclaration__Group__3__Impl : ( ( rule__ReferenceDeclaration__NameAssignment_3 ) ) ;
6521 public final void rule__ReferenceDeclaration__Group__3__Impl() throws RecognitionException {
6522
6523 int stackSize = keepStackSize();
6524
6525 try {
6526 // InternalProblem.g:2030:1: ( ( ( rule__ReferenceDeclaration__NameAssignment_3 ) ) )
6527 // InternalProblem.g:2031:1: ( ( rule__ReferenceDeclaration__NameAssignment_3 ) )
6528 {
6529 // InternalProblem.g:2031:1: ( ( rule__ReferenceDeclaration__NameAssignment_3 ) )
6530 // InternalProblem.g:2032:2: ( rule__ReferenceDeclaration__NameAssignment_3 )
6531 {
6532 before(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_3());
6533 // InternalProblem.g:2033:2: ( rule__ReferenceDeclaration__NameAssignment_3 )
6534 // InternalProblem.g:2033:3: rule__ReferenceDeclaration__NameAssignment_3
6535 {
6536 pushFollow(FOLLOW_2);
6537 rule__ReferenceDeclaration__NameAssignment_3();
6538
6539 state._fsp--;
6540
6541
6542 }
6543
6544 after(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_3());
6545
6546 }
6547
6548
6549 }
6550
6551 }
6552 catch (RecognitionException re) {
6553 reportError(re);
6554 recover(input,re);
6555 }
6556 finally {
6557
6558 restoreStackSize(stackSize);
6559
6560 }
6561 return ;
6562 }
6563 // $ANTLR end "rule__ReferenceDeclaration__Group__3__Impl"
6564
6565
6566 // $ANTLR start "rule__ReferenceDeclaration__Group__4"
6567 // InternalProblem.g:2041:1: rule__ReferenceDeclaration__Group__4 : rule__ReferenceDeclaration__Group__4__Impl ;
6568 public final void rule__ReferenceDeclaration__Group__4() throws RecognitionException {
6569
6570 int stackSize = keepStackSize();
6571
6572 try {
6573 // InternalProblem.g:2045:1: ( rule__ReferenceDeclaration__Group__4__Impl )
6574 // InternalProblem.g:2046:2: rule__ReferenceDeclaration__Group__4__Impl
6575 {
6576 pushFollow(FOLLOW_2);
6577 rule__ReferenceDeclaration__Group__4__Impl();
6578
6579 state._fsp--;
6580
6581
6582 }
6583
6584 }
6585 catch (RecognitionException re) {
6586 reportError(re);
6587 recover(input,re);
6588 }
6589 finally {
6590
6591 restoreStackSize(stackSize);
6592
6593 }
6594 return ;
6595 }
6596 // $ANTLR end "rule__ReferenceDeclaration__Group__4"
6597
6598
6599 // $ANTLR start "rule__ReferenceDeclaration__Group__4__Impl"
6600 // InternalProblem.g:2052:1: rule__ReferenceDeclaration__Group__4__Impl : ( ( rule__ReferenceDeclaration__Group_4__0 )? ) ;
6601 public final void rule__ReferenceDeclaration__Group__4__Impl() throws RecognitionException {
6602
6603 int stackSize = keepStackSize();
6604
6605 try {
6606 // InternalProblem.g:2056:1: ( ( ( rule__ReferenceDeclaration__Group_4__0 )? ) )
6607 // InternalProblem.g:2057:1: ( ( rule__ReferenceDeclaration__Group_4__0 )? )
6608 {
6609 // InternalProblem.g:2057:1: ( ( rule__ReferenceDeclaration__Group_4__0 )? )
6610 // InternalProblem.g:2058:2: ( rule__ReferenceDeclaration__Group_4__0 )?
6611 {
6612 before(grammarAccess.getReferenceDeclarationAccess().getGroup_4());
6613 // InternalProblem.g:2059:2: ( rule__ReferenceDeclaration__Group_4__0 )?
6614 int alt30=2;
6615 int LA30_0 = input.LA(1);
6616
6617 if ( (LA30_0==32) ) {
6618 alt30=1;
6619 }
6620 switch (alt30) {
6621 case 1 :
6622 // InternalProblem.g:2059:3: rule__ReferenceDeclaration__Group_4__0
6623 {
6624 pushFollow(FOLLOW_2);
6625 rule__ReferenceDeclaration__Group_4__0();
6626
6627 state._fsp--;
6628
6629
6630 }
6631 break;
6632
6633 }
6634
6635 after(grammarAccess.getReferenceDeclarationAccess().getGroup_4());
6636
6637 }
6638
6639
6640 }
6641
6642 }
6643 catch (RecognitionException re) {
6644 reportError(re);
6645 recover(input,re);
6646 }
6647 finally {
6648
6649 restoreStackSize(stackSize);
6650
6651 }
6652 return ;
6653 }
6654 // $ANTLR end "rule__ReferenceDeclaration__Group__4__Impl"
6655
6656
6657 // $ANTLR start "rule__ReferenceDeclaration__Group_2__0"
6658 // InternalProblem.g:2068:1: rule__ReferenceDeclaration__Group_2__0 : rule__ReferenceDeclaration__Group_2__0__Impl rule__ReferenceDeclaration__Group_2__1 ;
6659 public final void rule__ReferenceDeclaration__Group_2__0() throws RecognitionException {
6660
6661 int stackSize = keepStackSize();
6662
6663 try {
6664 // InternalProblem.g:2072:1: ( rule__ReferenceDeclaration__Group_2__0__Impl rule__ReferenceDeclaration__Group_2__1 )
6665 // InternalProblem.g:2073:2: rule__ReferenceDeclaration__Group_2__0__Impl rule__ReferenceDeclaration__Group_2__1
6666 {
6667 pushFollow(FOLLOW_20);
6668 rule__ReferenceDeclaration__Group_2__0__Impl();
6669
6670 state._fsp--;
6671
6672 pushFollow(FOLLOW_2);
6673 rule__ReferenceDeclaration__Group_2__1();
6674
6675 state._fsp--;
6676
6677
6678 }
6679
6680 }
6681 catch (RecognitionException re) {
6682 reportError(re);
6683 recover(input,re);
6684 }
6685 finally {
6686
6687 restoreStackSize(stackSize);
6688
6689 }
6690 return ;
6691 }
6692 // $ANTLR end "rule__ReferenceDeclaration__Group_2__0"
6693
6694
6695 // $ANTLR start "rule__ReferenceDeclaration__Group_2__0__Impl"
6696 // InternalProblem.g:2080:1: rule__ReferenceDeclaration__Group_2__0__Impl : ( '[' ) ;
6697 public final void rule__ReferenceDeclaration__Group_2__0__Impl() throws RecognitionException {
6698
6699 int stackSize = keepStackSize();
6700
6701 try {
6702 // InternalProblem.g:2084:1: ( ( '[' ) )
6703 // InternalProblem.g:2085:1: ( '[' )
6704 {
6705 // InternalProblem.g:2085:1: ( '[' )
6706 // InternalProblem.g:2086:2: '['
6707 {
6708 before(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0());
6709 match(input,30,FOLLOW_2);
6710 after(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0());
6711
6712 }
6713
6714
6715 }
6716
6717 }
6718 catch (RecognitionException re) {
6719 reportError(re);
6720 recover(input,re);
6721 }
6722 finally {
6723
6724 restoreStackSize(stackSize);
6725
6726 }
6727 return ;
6728 }
6729 // $ANTLR end "rule__ReferenceDeclaration__Group_2__0__Impl"
6730
6731
6732 // $ANTLR start "rule__ReferenceDeclaration__Group_2__1"
6733 // InternalProblem.g:2095:1: rule__ReferenceDeclaration__Group_2__1 : rule__ReferenceDeclaration__Group_2__1__Impl rule__ReferenceDeclaration__Group_2__2 ;
6734 public final void rule__ReferenceDeclaration__Group_2__1() throws RecognitionException {
6735
6736 int stackSize = keepStackSize();
6737
6738 try {
6739 // InternalProblem.g:2099:1: ( rule__ReferenceDeclaration__Group_2__1__Impl rule__ReferenceDeclaration__Group_2__2 )
6740 // InternalProblem.g:2100:2: rule__ReferenceDeclaration__Group_2__1__Impl rule__ReferenceDeclaration__Group_2__2
6741 {
6742 pushFollow(FOLLOW_21);
6743 rule__ReferenceDeclaration__Group_2__1__Impl();
6744
6745 state._fsp--;
6746
6747 pushFollow(FOLLOW_2);
6748 rule__ReferenceDeclaration__Group_2__2();
6749
6750 state._fsp--;
6751
6752
6753 }
6754
6755 }
6756 catch (RecognitionException re) {
6757 reportError(re);
6758 recover(input,re);
6759 }
6760 finally {
6761
6762 restoreStackSize(stackSize);
6763
6764 }
6765 return ;
6766 }
6767 // $ANTLR end "rule__ReferenceDeclaration__Group_2__1"
6768
6769
6770 // $ANTLR start "rule__ReferenceDeclaration__Group_2__1__Impl"
6771 // InternalProblem.g:2107:1: rule__ReferenceDeclaration__Group_2__1__Impl : ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) ) ;
6772 public final void rule__ReferenceDeclaration__Group_2__1__Impl() throws RecognitionException {
6773
6774 int stackSize = keepStackSize();
6775
6776 try {
6777 // InternalProblem.g:2111:1: ( ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) ) )
6778 // InternalProblem.g:2112:1: ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) )
6779 {
6780 // InternalProblem.g:2112:1: ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) )
6781 // InternalProblem.g:2113:2: ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 )
6782 {
6783 before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_2_1());
6784 // InternalProblem.g:2114:2: ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 )
6785 // InternalProblem.g:2114:3: rule__ReferenceDeclaration__MultiplicityAssignment_2_1
6786 {
6787 pushFollow(FOLLOW_2);
6788 rule__ReferenceDeclaration__MultiplicityAssignment_2_1();
6789
6790 state._fsp--;
6791
6792
6793 }
6794
6795 after(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_2_1());
6796
6797 }
6798
6799
6800 }
6801
6802 }
6803 catch (RecognitionException re) {
6804 reportError(re);
6805 recover(input,re);
6806 }
6807 finally {
6808
6809 restoreStackSize(stackSize);
6810
6811 }
6812 return ;
6813 }
6814 // $ANTLR end "rule__ReferenceDeclaration__Group_2__1__Impl"
6815
6816
6817 // $ANTLR start "rule__ReferenceDeclaration__Group_2__2"
6818 // InternalProblem.g:2122:1: rule__ReferenceDeclaration__Group_2__2 : rule__ReferenceDeclaration__Group_2__2__Impl ;
6819 public final void rule__ReferenceDeclaration__Group_2__2() throws RecognitionException {
6820
6821 int stackSize = keepStackSize();
6822
6823 try {
6824 // InternalProblem.g:2126:1: ( rule__ReferenceDeclaration__Group_2__2__Impl )
6825 // InternalProblem.g:2127:2: rule__ReferenceDeclaration__Group_2__2__Impl
6826 {
6827 pushFollow(FOLLOW_2);
6828 rule__ReferenceDeclaration__Group_2__2__Impl();
6829
6830 state._fsp--;
6831
6832
6833 }
6834
6835 }
6836 catch (RecognitionException re) {
6837 reportError(re);
6838 recover(input,re);
6839 }
6840 finally {
6841
6842 restoreStackSize(stackSize);
6843
6844 }
6845 return ;
6846 }
6847 // $ANTLR end "rule__ReferenceDeclaration__Group_2__2"
6848
6849
6850 // $ANTLR start "rule__ReferenceDeclaration__Group_2__2__Impl"
6851 // InternalProblem.g:2133:1: rule__ReferenceDeclaration__Group_2__2__Impl : ( ']' ) ;
6852 public final void rule__ReferenceDeclaration__Group_2__2__Impl() throws RecognitionException {
6853
6854 int stackSize = keepStackSize();
6855
6856 try {
6857 // InternalProblem.g:2137:1: ( ( ']' ) )
6858 // InternalProblem.g:2138:1: ( ']' )
6859 {
6860 // InternalProblem.g:2138:1: ( ']' )
6861 // InternalProblem.g:2139:2: ']'
6862 {
6863 before(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2());
6864 match(input,31,FOLLOW_2);
6865 after(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2());
6866
6867 }
6868
6869
6870 }
6871
6872 }
6873 catch (RecognitionException re) {
6874 reportError(re);
6875 recover(input,re);
6876 }
6877 finally {
6878
6879 restoreStackSize(stackSize);
6880
6881 }
6882 return ;
6883 }
6884 // $ANTLR end "rule__ReferenceDeclaration__Group_2__2__Impl"
6885
6886
6887 // $ANTLR start "rule__ReferenceDeclaration__Group_4__0"
6888 // InternalProblem.g:2149:1: rule__ReferenceDeclaration__Group_4__0 : rule__ReferenceDeclaration__Group_4__0__Impl rule__ReferenceDeclaration__Group_4__1 ;
6889 public final void rule__ReferenceDeclaration__Group_4__0() throws RecognitionException {
6890
6891 int stackSize = keepStackSize();
6892
6893 try {
6894 // InternalProblem.g:2153:1: ( rule__ReferenceDeclaration__Group_4__0__Impl rule__ReferenceDeclaration__Group_4__1 )
6895 // InternalProblem.g:2154:2: rule__ReferenceDeclaration__Group_4__0__Impl rule__ReferenceDeclaration__Group_4__1
6896 {
6897 pushFollow(FOLLOW_5);
6898 rule__ReferenceDeclaration__Group_4__0__Impl();
6899
6900 state._fsp--;
6901
6902 pushFollow(FOLLOW_2);
6903 rule__ReferenceDeclaration__Group_4__1();
6904
6905 state._fsp--;
6906
6907
6908 }
6909
6910 }
6911 catch (RecognitionException re) {
6912 reportError(re);
6913 recover(input,re);
6914 }
6915 finally {
6916
6917 restoreStackSize(stackSize);
6918
6919 }
6920 return ;
6921 }
6922 // $ANTLR end "rule__ReferenceDeclaration__Group_4__0"
6923
6924
6925 // $ANTLR start "rule__ReferenceDeclaration__Group_4__0__Impl"
6926 // InternalProblem.g:2161:1: rule__ReferenceDeclaration__Group_4__0__Impl : ( 'opposite' ) ;
6927 public final void rule__ReferenceDeclaration__Group_4__0__Impl() throws RecognitionException {
6928
6929 int stackSize = keepStackSize();
6930
6931 try {
6932 // InternalProblem.g:2165:1: ( ( 'opposite' ) )
6933 // InternalProblem.g:2166:1: ( 'opposite' )
6934 {
6935 // InternalProblem.g:2166:1: ( 'opposite' )
6936 // InternalProblem.g:2167:2: 'opposite'
6937 {
6938 before(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0());
6939 match(input,32,FOLLOW_2);
6940 after(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0());
6941
6942 }
6943
6944
6945 }
6946
6947 }
6948 catch (RecognitionException re) {
6949 reportError(re);
6950 recover(input,re);
6951 }
6952 finally {
6953
6954 restoreStackSize(stackSize);
6955
6956 }
6957 return ;
6958 }
6959 // $ANTLR end "rule__ReferenceDeclaration__Group_4__0__Impl"
6960
6961
6962 // $ANTLR start "rule__ReferenceDeclaration__Group_4__1"
6963 // InternalProblem.g:2176:1: rule__ReferenceDeclaration__Group_4__1 : rule__ReferenceDeclaration__Group_4__1__Impl ;
6964 public final void rule__ReferenceDeclaration__Group_4__1() throws RecognitionException {
6965
6966 int stackSize = keepStackSize();
6967
6968 try {
6969 // InternalProblem.g:2180:1: ( rule__ReferenceDeclaration__Group_4__1__Impl )
6970 // InternalProblem.g:2181:2: rule__ReferenceDeclaration__Group_4__1__Impl
6971 {
6972 pushFollow(FOLLOW_2);
6973 rule__ReferenceDeclaration__Group_4__1__Impl();
6974
6975 state._fsp--;
6976
6977
6978 }
6979
6980 }
6981 catch (RecognitionException re) {
6982 reportError(re);
6983 recover(input,re);
6984 }
6985 finally {
6986
6987 restoreStackSize(stackSize);
6988
6989 }
6990 return ;
6991 }
6992 // $ANTLR end "rule__ReferenceDeclaration__Group_4__1"
6993
6994
6995 // $ANTLR start "rule__ReferenceDeclaration__Group_4__1__Impl"
6996 // InternalProblem.g:2187:1: rule__ReferenceDeclaration__Group_4__1__Impl : ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) ) ;
6997 public final void rule__ReferenceDeclaration__Group_4__1__Impl() throws RecognitionException {
6998
6999 int stackSize = keepStackSize();
7000
7001 try {
7002 // InternalProblem.g:2191:1: ( ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) ) )
7003 // InternalProblem.g:2192:1: ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) )
7004 {
7005 // InternalProblem.g:2192:1: ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) )
7006 // InternalProblem.g:2193:2: ( rule__ReferenceDeclaration__OppositeAssignment_4_1 )
7007 {
7008 before(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_4_1());
7009 // InternalProblem.g:2194:2: ( rule__ReferenceDeclaration__OppositeAssignment_4_1 )
7010 // InternalProblem.g:2194:3: rule__ReferenceDeclaration__OppositeAssignment_4_1
7011 {
7012 pushFollow(FOLLOW_2);
7013 rule__ReferenceDeclaration__OppositeAssignment_4_1();
7014
7015 state._fsp--;
7016
7017
7018 }
7019
7020 after(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_4_1());
7021
7022 }
7023
7024
7025 }
7026
7027 }
7028 catch (RecognitionException re) {
7029 reportError(re);
7030 recover(input,re);
7031 }
7032 finally {
7033
7034 restoreStackSize(stackSize);
7035
7036 }
7037 return ;
7038 }
7039 // $ANTLR end "rule__ReferenceDeclaration__Group_4__1__Impl"
7040
7041
7042 // $ANTLR start "rule__PredicateDefinition__Group__0"
7043 // InternalProblem.g:2203:1: rule__PredicateDefinition__Group__0 : rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 ;
7044 public final void rule__PredicateDefinition__Group__0() throws RecognitionException {
7045
7046 int stackSize = keepStackSize();
7047
7048 try {
7049 // InternalProblem.g:2207:1: ( rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 )
7050 // InternalProblem.g:2208:2: rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1
7051 {
7052 pushFollow(FOLLOW_5);
7053 rule__PredicateDefinition__Group__0__Impl();
7054
7055 state._fsp--;
7056
7057 pushFollow(FOLLOW_2);
7058 rule__PredicateDefinition__Group__1();
7059
7060 state._fsp--;
7061
7062
7063 }
7064
7065 }
7066 catch (RecognitionException re) {
7067 reportError(re);
7068 recover(input,re);
7069 }
7070 finally {
7071
7072 restoreStackSize(stackSize);
7073
7074 }
7075 return ;
7076 }
7077 // $ANTLR end "rule__PredicateDefinition__Group__0"
7078
7079
7080 // $ANTLR start "rule__PredicateDefinition__Group__0__Impl"
7081 // InternalProblem.g:2215:1: rule__PredicateDefinition__Group__0__Impl : ( ( rule__PredicateDefinition__Alternatives_0 ) ) ;
7082 public final void rule__PredicateDefinition__Group__0__Impl() throws RecognitionException {
7083
7084 int stackSize = keepStackSize();
7085
7086 try {
7087 // InternalProblem.g:2219:1: ( ( ( rule__PredicateDefinition__Alternatives_0 ) ) )
7088 // InternalProblem.g:2220:1: ( ( rule__PredicateDefinition__Alternatives_0 ) )
7089 {
7090 // InternalProblem.g:2220:1: ( ( rule__PredicateDefinition__Alternatives_0 ) )
7091 // InternalProblem.g:2221:2: ( rule__PredicateDefinition__Alternatives_0 )
7092 {
7093 before(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0());
7094 // InternalProblem.g:2222:2: ( rule__PredicateDefinition__Alternatives_0 )
7095 // InternalProblem.g:2222:3: rule__PredicateDefinition__Alternatives_0
7096 {
7097 pushFollow(FOLLOW_2);
7098 rule__PredicateDefinition__Alternatives_0();
7099
7100 state._fsp--;
7101
7102
7103 }
7104
7105 after(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0());
7106
7107 }
7108
7109
7110 }
7111
7112 }
7113 catch (RecognitionException re) {
7114 reportError(re);
7115 recover(input,re);
7116 }
7117 finally {
7118
7119 restoreStackSize(stackSize);
7120
7121 }
7122 return ;
7123 }
7124 // $ANTLR end "rule__PredicateDefinition__Group__0__Impl"
7125
7126
7127 // $ANTLR start "rule__PredicateDefinition__Group__1"
7128 // InternalProblem.g:2230:1: rule__PredicateDefinition__Group__1 : rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 ;
7129 public final void rule__PredicateDefinition__Group__1() throws RecognitionException {
7130
7131 int stackSize = keepStackSize();
7132
7133 try {
7134 // InternalProblem.g:2234:1: ( rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 )
7135 // InternalProblem.g:2235:2: rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2
7136 {
7137 pushFollow(FOLLOW_22);
7138 rule__PredicateDefinition__Group__1__Impl();
7139
7140 state._fsp--;
7141
7142 pushFollow(FOLLOW_2);
7143 rule__PredicateDefinition__Group__2();
7144
7145 state._fsp--;
7146
7147
7148 }
7149
7150 }
7151 catch (RecognitionException re) {
7152 reportError(re);
7153 recover(input,re);
7154 }
7155 finally {
7156
7157 restoreStackSize(stackSize);
7158
7159 }
7160 return ;
7161 }
7162 // $ANTLR end "rule__PredicateDefinition__Group__1"
7163
7164
7165 // $ANTLR start "rule__PredicateDefinition__Group__1__Impl"
7166 // InternalProblem.g:2242:1: rule__PredicateDefinition__Group__1__Impl : ( ( rule__PredicateDefinition__NameAssignment_1 ) ) ;
7167 public final void rule__PredicateDefinition__Group__1__Impl() throws RecognitionException {
7168
7169 int stackSize = keepStackSize();
7170
7171 try {
7172 // InternalProblem.g:2246:1: ( ( ( rule__PredicateDefinition__NameAssignment_1 ) ) )
7173 // InternalProblem.g:2247:1: ( ( rule__PredicateDefinition__NameAssignment_1 ) )
7174 {
7175 // InternalProblem.g:2247:1: ( ( rule__PredicateDefinition__NameAssignment_1 ) )
7176 // InternalProblem.g:2248:2: ( rule__PredicateDefinition__NameAssignment_1 )
7177 {
7178 before(grammarAccess.getPredicateDefinitionAccess().getNameAssignment_1());
7179 // InternalProblem.g:2249:2: ( rule__PredicateDefinition__NameAssignment_1 )
7180 // InternalProblem.g:2249:3: rule__PredicateDefinition__NameAssignment_1
7181 {
7182 pushFollow(FOLLOW_2);
7183 rule__PredicateDefinition__NameAssignment_1();
7184
7185 state._fsp--;
7186
7187
7188 }
7189
7190 after(grammarAccess.getPredicateDefinitionAccess().getNameAssignment_1());
7191
7192 }
7193
7194
7195 }
7196
7197 }
7198 catch (RecognitionException re) {
7199 reportError(re);
7200 recover(input,re);
7201 }
7202 finally {
7203
7204 restoreStackSize(stackSize);
7205
7206 }
7207 return ;
7208 }
7209 // $ANTLR end "rule__PredicateDefinition__Group__1__Impl"
7210
7211
7212 // $ANTLR start "rule__PredicateDefinition__Group__2"
7213 // InternalProblem.g:2257:1: rule__PredicateDefinition__Group__2 : rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 ;
7214 public final void rule__PredicateDefinition__Group__2() throws RecognitionException {
7215
7216 int stackSize = keepStackSize();
7217
7218 try {
7219 // InternalProblem.g:2261:1: ( rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 )
7220 // InternalProblem.g:2262:2: rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3
7221 {
7222 pushFollow(FOLLOW_23);
7223 rule__PredicateDefinition__Group__2__Impl();
7224
7225 state._fsp--;
7226
7227 pushFollow(FOLLOW_2);
7228 rule__PredicateDefinition__Group__3();
7229
7230 state._fsp--;
7231
7232
7233 }
7234
7235 }
7236 catch (RecognitionException re) {
7237 reportError(re);
7238 recover(input,re);
7239 }
7240 finally {
7241
7242 restoreStackSize(stackSize);
7243
7244 }
7245 return ;
7246 }
7247 // $ANTLR end "rule__PredicateDefinition__Group__2"
7248
7249
7250 // $ANTLR start "rule__PredicateDefinition__Group__2__Impl"
7251 // InternalProblem.g:2269:1: rule__PredicateDefinition__Group__2__Impl : ( '(' ) ;
7252 public final void rule__PredicateDefinition__Group__2__Impl() throws RecognitionException {
7253
7254 int stackSize = keepStackSize();
7255
7256 try {
7257 // InternalProblem.g:2273:1: ( ( '(' ) )
7258 // InternalProblem.g:2274:1: ( '(' )
7259 {
7260 // InternalProblem.g:2274:1: ( '(' )
7261 // InternalProblem.g:2275:2: '('
7262 {
7263 before(grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2());
7264 match(input,33,FOLLOW_2);
7265 after(grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2());
7266
7267 }
7268
7269
7270 }
7271
7272 }
7273 catch (RecognitionException re) {
7274 reportError(re);
7275 recover(input,re);
7276 }
7277 finally {
7278
7279 restoreStackSize(stackSize);
7280
7281 }
7282 return ;
7283 }
7284 // $ANTLR end "rule__PredicateDefinition__Group__2__Impl"
7285
7286
7287 // $ANTLR start "rule__PredicateDefinition__Group__3"
7288 // InternalProblem.g:2284:1: rule__PredicateDefinition__Group__3 : rule__PredicateDefinition__Group__3__Impl rule__PredicateDefinition__Group__4 ;
7289 public final void rule__PredicateDefinition__Group__3() throws RecognitionException {
7290
7291 int stackSize = keepStackSize();
7292
7293 try {
7294 // InternalProblem.g:2288:1: ( rule__PredicateDefinition__Group__3__Impl rule__PredicateDefinition__Group__4 )
7295 // InternalProblem.g:2289:2: rule__PredicateDefinition__Group__3__Impl rule__PredicateDefinition__Group__4
7296 {
7297 pushFollow(FOLLOW_23);
7298 rule__PredicateDefinition__Group__3__Impl();
7299
7300 state._fsp--;
7301
7302 pushFollow(FOLLOW_2);
7303 rule__PredicateDefinition__Group__4();
7304
7305 state._fsp--;
7306
7307
7308 }
7309
7310 }
7311 catch (RecognitionException re) {
7312 reportError(re);
7313 recover(input,re);
7314 }
7315 finally {
7316
7317 restoreStackSize(stackSize);
7318
7319 }
7320 return ;
7321 }
7322 // $ANTLR end "rule__PredicateDefinition__Group__3"
7323
7324
7325 // $ANTLR start "rule__PredicateDefinition__Group__3__Impl"
7326 // InternalProblem.g:2296:1: rule__PredicateDefinition__Group__3__Impl : ( ( rule__PredicateDefinition__Group_3__0 )? ) ;
7327 public final void rule__PredicateDefinition__Group__3__Impl() throws RecognitionException {
7328
7329 int stackSize = keepStackSize();
7330
7331 try {
7332 // InternalProblem.g:2300:1: ( ( ( rule__PredicateDefinition__Group_3__0 )? ) )
7333 // InternalProblem.g:2301:1: ( ( rule__PredicateDefinition__Group_3__0 )? )
7334 {
7335 // InternalProblem.g:2301:1: ( ( rule__PredicateDefinition__Group_3__0 )? )
7336 // InternalProblem.g:2302:2: ( rule__PredicateDefinition__Group_3__0 )?
7337 {
7338 before(grammarAccess.getPredicateDefinitionAccess().getGroup_3());
7339 // InternalProblem.g:2303:2: ( rule__PredicateDefinition__Group_3__0 )?
7340 int alt31=2;
7341 int LA31_0 = input.LA(1);
7342
7343 if ( ((LA31_0>=RULE_QUOTED_ID && LA31_0<=RULE_ID)||(LA31_0>=19 && LA31_0<=20)) ) {
7344 alt31=1;
7345 }
7346 switch (alt31) {
7347 case 1 :
7348 // InternalProblem.g:2303:3: rule__PredicateDefinition__Group_3__0
7349 {
7350 pushFollow(FOLLOW_2);
7351 rule__PredicateDefinition__Group_3__0();
7352
7353 state._fsp--;
7354
7355
7356 }
7357 break;
7358
7359 }
7360
7361 after(grammarAccess.getPredicateDefinitionAccess().getGroup_3());
7362
7363 }
7364
7365
7366 }
7367
7368 }
7369 catch (RecognitionException re) {
7370 reportError(re);
7371 recover(input,re);
7372 }
7373 finally {
7374
7375 restoreStackSize(stackSize);
7376
7377 }
7378 return ;
7379 }
7380 // $ANTLR end "rule__PredicateDefinition__Group__3__Impl"
7381
7382
7383 // $ANTLR start "rule__PredicateDefinition__Group__4"
7384 // InternalProblem.g:2311:1: rule__PredicateDefinition__Group__4 : rule__PredicateDefinition__Group__4__Impl rule__PredicateDefinition__Group__5 ;
7385 public final void rule__PredicateDefinition__Group__4() throws RecognitionException {
7386
7387 int stackSize = keepStackSize();
7388
7389 try {
7390 // InternalProblem.g:2315:1: ( rule__PredicateDefinition__Group__4__Impl rule__PredicateDefinition__Group__5 )
7391 // InternalProblem.g:2316:2: rule__PredicateDefinition__Group__4__Impl rule__PredicateDefinition__Group__5
7392 {
7393 pushFollow(FOLLOW_24);
7394 rule__PredicateDefinition__Group__4__Impl();
7395
7396 state._fsp--;
7397
7398 pushFollow(FOLLOW_2);
7399 rule__PredicateDefinition__Group__5();
7400
7401 state._fsp--;
7402
7403
7404 }
7405
7406 }
7407 catch (RecognitionException re) {
7408 reportError(re);
7409 recover(input,re);
7410 }
7411 finally {
7412
7413 restoreStackSize(stackSize);
7414
7415 }
7416 return ;
7417 }
7418 // $ANTLR end "rule__PredicateDefinition__Group__4"
7419
7420
7421 // $ANTLR start "rule__PredicateDefinition__Group__4__Impl"
7422 // InternalProblem.g:2323:1: rule__PredicateDefinition__Group__4__Impl : ( ')' ) ;
7423 public final void rule__PredicateDefinition__Group__4__Impl() throws RecognitionException {
7424
7425 int stackSize = keepStackSize();
7426
7427 try {
7428 // InternalProblem.g:2327:1: ( ( ')' ) )
7429 // InternalProblem.g:2328:1: ( ')' )
7430 {
7431 // InternalProblem.g:2328:1: ( ')' )
7432 // InternalProblem.g:2329:2: ')'
7433 {
7434 before(grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4());
7435 match(input,34,FOLLOW_2);
7436 after(grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4());
7437
7438 }
7439
7440
7441 }
7442
7443 }
7444 catch (RecognitionException re) {
7445 reportError(re);
7446 recover(input,re);
7447 }
7448 finally {
7449
7450 restoreStackSize(stackSize);
7451
7452 }
7453 return ;
7454 }
7455 // $ANTLR end "rule__PredicateDefinition__Group__4__Impl"
7456
7457
7458 // $ANTLR start "rule__PredicateDefinition__Group__5"
7459 // InternalProblem.g:2338:1: rule__PredicateDefinition__Group__5 : rule__PredicateDefinition__Group__5__Impl rule__PredicateDefinition__Group__6 ;
7460 public final void rule__PredicateDefinition__Group__5() throws RecognitionException {
7461
7462 int stackSize = keepStackSize();
7463
7464 try {
7465 // InternalProblem.g:2342:1: ( rule__PredicateDefinition__Group__5__Impl rule__PredicateDefinition__Group__6 )
7466 // InternalProblem.g:2343:2: rule__PredicateDefinition__Group__5__Impl rule__PredicateDefinition__Group__6
7467 {
7468 pushFollow(FOLLOW_24);
7469 rule__PredicateDefinition__Group__5__Impl();
7470
7471 state._fsp--;
7472
7473 pushFollow(FOLLOW_2);
7474 rule__PredicateDefinition__Group__6();
7475
7476 state._fsp--;
7477
7478
7479 }
7480
7481 }
7482 catch (RecognitionException re) {
7483 reportError(re);
7484 recover(input,re);
7485 }
7486 finally {
7487
7488 restoreStackSize(stackSize);
7489
7490 }
7491 return ;
7492 }
7493 // $ANTLR end "rule__PredicateDefinition__Group__5"
7494
7495
7496 // $ANTLR start "rule__PredicateDefinition__Group__5__Impl"
7497 // InternalProblem.g:2350:1: rule__PredicateDefinition__Group__5__Impl : ( ( rule__PredicateDefinition__Group_5__0 )? ) ;
7498 public final void rule__PredicateDefinition__Group__5__Impl() throws RecognitionException {
7499
7500 int stackSize = keepStackSize();
7501
7502 try {
7503 // InternalProblem.g:2354:1: ( ( ( rule__PredicateDefinition__Group_5__0 )? ) )
7504 // InternalProblem.g:2355:1: ( ( rule__PredicateDefinition__Group_5__0 )? )
7505 {
7506 // InternalProblem.g:2355:1: ( ( rule__PredicateDefinition__Group_5__0 )? )
7507 // InternalProblem.g:2356:2: ( rule__PredicateDefinition__Group_5__0 )?
7508 {
7509 before(grammarAccess.getPredicateDefinitionAccess().getGroup_5());
7510 // InternalProblem.g:2357:2: ( rule__PredicateDefinition__Group_5__0 )?
7511 int alt32=2;
7512 int LA32_0 = input.LA(1);
7513
7514 if ( (LA32_0==35) ) {
7515 alt32=1;
7516 }
7517 switch (alt32) {
7518 case 1 :
7519 // InternalProblem.g:2357:3: rule__PredicateDefinition__Group_5__0
7520 {
7521 pushFollow(FOLLOW_2);
7522 rule__PredicateDefinition__Group_5__0();
7523
7524 state._fsp--;
7525
7526
7527 }
7528 break;
7529
7530 }
7531
7532 after(grammarAccess.getPredicateDefinitionAccess().getGroup_5());
7533
7534 }
7535
7536
7537 }
7538
7539 }
7540 catch (RecognitionException re) {
7541 reportError(re);
7542 recover(input,re);
7543 }
7544 finally {
7545
7546 restoreStackSize(stackSize);
7547
7548 }
7549 return ;
7550 }
7551 // $ANTLR end "rule__PredicateDefinition__Group__5__Impl"
7552
7553
7554 // $ANTLR start "rule__PredicateDefinition__Group__6"
7555 // InternalProblem.g:2365:1: rule__PredicateDefinition__Group__6 : rule__PredicateDefinition__Group__6__Impl ;
7556 public final void rule__PredicateDefinition__Group__6() throws RecognitionException {
7557
7558 int stackSize = keepStackSize();
7559
7560 try {
7561 // InternalProblem.g:2369:1: ( rule__PredicateDefinition__Group__6__Impl )
7562 // InternalProblem.g:2370:2: rule__PredicateDefinition__Group__6__Impl
7563 {
7564 pushFollow(FOLLOW_2);
7565 rule__PredicateDefinition__Group__6__Impl();
7566
7567 state._fsp--;
7568
7569
7570 }
7571
7572 }
7573 catch (RecognitionException re) {
7574 reportError(re);
7575 recover(input,re);
7576 }
7577 finally {
7578
7579 restoreStackSize(stackSize);
7580
7581 }
7582 return ;
7583 }
7584 // $ANTLR end "rule__PredicateDefinition__Group__6"
7585
7586
7587 // $ANTLR start "rule__PredicateDefinition__Group__6__Impl"
7588 // InternalProblem.g:2376:1: rule__PredicateDefinition__Group__6__Impl : ( '.' ) ;
7589 public final void rule__PredicateDefinition__Group__6__Impl() throws RecognitionException {
7590
7591 int stackSize = keepStackSize();
7592
7593 try {
7594 // InternalProblem.g:2380:1: ( ( '.' ) )
7595 // InternalProblem.g:2381:1: ( '.' )
7596 {
7597 // InternalProblem.g:2381:1: ( '.' )
7598 // InternalProblem.g:2382:2: '.'
7599 {
7600 before(grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6());
7601 match(input,12,FOLLOW_2);
7602 after(grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6());
7603
7604 }
7605
7606
7607 }
7608
7609 }
7610 catch (RecognitionException re) {
7611 reportError(re);
7612 recover(input,re);
7613 }
7614 finally {
7615
7616 restoreStackSize(stackSize);
7617
7618 }
7619 return ;
7620 }
7621 // $ANTLR end "rule__PredicateDefinition__Group__6__Impl"
7622
7623
7624 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0"
7625 // InternalProblem.g:2392:1: rule__PredicateDefinition__Group_0_0__0 : rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 ;
7626 public final void rule__PredicateDefinition__Group_0_0__0() throws RecognitionException {
7627
7628 int stackSize = keepStackSize();
7629
7630 try {
7631 // InternalProblem.g:2396:1: ( rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 )
7632 // InternalProblem.g:2397:2: rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1
7633 {
7634 pushFollow(FOLLOW_25);
7635 rule__PredicateDefinition__Group_0_0__0__Impl();
7636
7637 state._fsp--;
7638
7639 pushFollow(FOLLOW_2);
7640 rule__PredicateDefinition__Group_0_0__1();
7641
7642 state._fsp--;
7643
7644
7645 }
7646
7647 }
7648 catch (RecognitionException re) {
7649 reportError(re);
7650 recover(input,re);
7651 }
7652 finally {
7653
7654 restoreStackSize(stackSize);
7655
7656 }
7657 return ;
7658 }
7659 // $ANTLR end "rule__PredicateDefinition__Group_0_0__0"
7660
7661
7662 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0__Impl"
7663 // InternalProblem.g:2404:1: rule__PredicateDefinition__Group_0_0__0__Impl : ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) ) ;
7664 public final void rule__PredicateDefinition__Group_0_0__0__Impl() throws RecognitionException {
7665
7666 int stackSize = keepStackSize();
7667
7668 try {
7669 // InternalProblem.g:2408:1: ( ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) ) )
7670 // InternalProblem.g:2409:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) )
7671 {
7672 // InternalProblem.g:2409:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) )
7673 // InternalProblem.g:2410:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_0 )
7674 {
7675 before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_0());
7676 // InternalProblem.g:2411:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_0 )
7677 // InternalProblem.g:2411:3: rule__PredicateDefinition__ErrorAssignment_0_0_0
7678 {
7679 pushFollow(FOLLOW_2);
7680 rule__PredicateDefinition__ErrorAssignment_0_0_0();
7681
7682 state._fsp--;
7683
7684
7685 }
7686
7687 after(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_0());
7688
7689 }
7690
7691
7692 }
7693
7694 }
7695 catch (RecognitionException re) {
7696 reportError(re);
7697 recover(input,re);
7698 }
7699 finally {
7700
7701 restoreStackSize(stackSize);
7702
7703 }
7704 return ;
7705 }
7706 // $ANTLR end "rule__PredicateDefinition__Group_0_0__0__Impl"
7707
7708
7709 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1"
7710 // InternalProblem.g:2419:1: rule__PredicateDefinition__Group_0_0__1 : rule__PredicateDefinition__Group_0_0__1__Impl ;
7711 public final void rule__PredicateDefinition__Group_0_0__1() throws RecognitionException {
7712
7713 int stackSize = keepStackSize();
7714
7715 try {
7716 // InternalProblem.g:2423:1: ( rule__PredicateDefinition__Group_0_0__1__Impl )
7717 // InternalProblem.g:2424:2: rule__PredicateDefinition__Group_0_0__1__Impl
7718 {
7719 pushFollow(FOLLOW_2);
7720 rule__PredicateDefinition__Group_0_0__1__Impl();
7721
7722 state._fsp--;
7723
7724
7725 }
7726
7727 }
7728 catch (RecognitionException re) {
7729 reportError(re);
7730 recover(input,re);
7731 }
7732 finally {
7733
7734 restoreStackSize(stackSize);
7735
7736 }
7737 return ;
7738 }
7739 // $ANTLR end "rule__PredicateDefinition__Group_0_0__1"
7740
7741
7742 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1__Impl"
7743 // InternalProblem.g:2430:1: rule__PredicateDefinition__Group_0_0__1__Impl : ( ( 'pred' )? ) ;
7744 public final void rule__PredicateDefinition__Group_0_0__1__Impl() throws RecognitionException {
7745
7746 int stackSize = keepStackSize();
7747
7748 try {
7749 // InternalProblem.g:2434:1: ( ( ( 'pred' )? ) )
7750 // InternalProblem.g:2435:1: ( ( 'pred' )? )
7751 {
7752 // InternalProblem.g:2435:1: ( ( 'pred' )? )
7753 // InternalProblem.g:2436:2: ( 'pred' )?
7754 {
7755 before(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1());
7756 // InternalProblem.g:2437:2: ( 'pred' )?
7757 int alt33=2;
7758 int LA33_0 = input.LA(1);
7759
7760 if ( (LA33_0==16) ) {
7761 alt33=1;
7762 }
7763 switch (alt33) {
7764 case 1 :
7765 // InternalProblem.g:2437:3: 'pred'
7766 {
7767 match(input,16,FOLLOW_2);
7768
7769 }
7770 break;
7771
7772 }
7773
7774 after(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1());
7775
7776 }
7777
7778
7779 }
7780
7781 }
7782 catch (RecognitionException re) {
7783 reportError(re);
7784 recover(input,re);
7785 }
7786 finally {
7787
7788 restoreStackSize(stackSize);
7789
7790 }
7791 return ;
7792 }
7793 // $ANTLR end "rule__PredicateDefinition__Group_0_0__1__Impl"
7794
7795
7796 // $ANTLR start "rule__PredicateDefinition__Group_3__0"
7797 // InternalProblem.g:2446:1: rule__PredicateDefinition__Group_3__0 : rule__PredicateDefinition__Group_3__0__Impl rule__PredicateDefinition__Group_3__1 ;
7798 public final void rule__PredicateDefinition__Group_3__0() throws RecognitionException {
7799
7800 int stackSize = keepStackSize();
7801
7802 try {
7803 // InternalProblem.g:2450:1: ( rule__PredicateDefinition__Group_3__0__Impl rule__PredicateDefinition__Group_3__1 )
7804 // InternalProblem.g:2451:2: rule__PredicateDefinition__Group_3__0__Impl rule__PredicateDefinition__Group_3__1
7805 {
7806 pushFollow(FOLLOW_9);
7807 rule__PredicateDefinition__Group_3__0__Impl();
7808
7809 state._fsp--;
7810
7811 pushFollow(FOLLOW_2);
7812 rule__PredicateDefinition__Group_3__1();
7813
7814 state._fsp--;
7815
7816
7817 }
7818
7819 }
7820 catch (RecognitionException re) {
7821 reportError(re);
7822 recover(input,re);
7823 }
7824 finally {
7825
7826 restoreStackSize(stackSize);
7827
7828 }
7829 return ;
7830 }
7831 // $ANTLR end "rule__PredicateDefinition__Group_3__0"
7832
7833
7834 // $ANTLR start "rule__PredicateDefinition__Group_3__0__Impl"
7835 // InternalProblem.g:2458:1: rule__PredicateDefinition__Group_3__0__Impl : ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) ) ;
7836 public final void rule__PredicateDefinition__Group_3__0__Impl() throws RecognitionException {
7837
7838 int stackSize = keepStackSize();
7839
7840 try {
7841 // InternalProblem.g:2462:1: ( ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) ) )
7842 // InternalProblem.g:2463:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) )
7843 {
7844 // InternalProblem.g:2463:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) )
7845 // InternalProblem.g:2464:2: ( rule__PredicateDefinition__ParametersAssignment_3_0 )
7846 {
7847 before(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_0());
7848 // InternalProblem.g:2465:2: ( rule__PredicateDefinition__ParametersAssignment_3_0 )
7849 // InternalProblem.g:2465:3: rule__PredicateDefinition__ParametersAssignment_3_0
7850 {
7851 pushFollow(FOLLOW_2);
7852 rule__PredicateDefinition__ParametersAssignment_3_0();
7853
7854 state._fsp--;
7855
7856
7857 }
7858
7859 after(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_0());
7860
7861 }
7862
7863
7864 }
7865
7866 }
7867 catch (RecognitionException re) {
7868 reportError(re);
7869 recover(input,re);
7870 }
7871 finally {
7872
7873 restoreStackSize(stackSize);
7874
7875 }
7876 return ;
7877 }
7878 // $ANTLR end "rule__PredicateDefinition__Group_3__0__Impl"
7879
7880
7881 // $ANTLR start "rule__PredicateDefinition__Group_3__1"
7882 // InternalProblem.g:2473:1: rule__PredicateDefinition__Group_3__1 : rule__PredicateDefinition__Group_3__1__Impl ;
7883 public final void rule__PredicateDefinition__Group_3__1() throws RecognitionException {
7884
7885 int stackSize = keepStackSize();
7886
7887 try {
7888 // InternalProblem.g:2477:1: ( rule__PredicateDefinition__Group_3__1__Impl )
7889 // InternalProblem.g:2478:2: rule__PredicateDefinition__Group_3__1__Impl
7890 {
7891 pushFollow(FOLLOW_2);
7892 rule__PredicateDefinition__Group_3__1__Impl();
7893
7894 state._fsp--;
7895
7896
7897 }
7898
7899 }
7900 catch (RecognitionException re) {
7901 reportError(re);
7902 recover(input,re);
7903 }
7904 finally {
7905
7906 restoreStackSize(stackSize);
7907
7908 }
7909 return ;
7910 }
7911 // $ANTLR end "rule__PredicateDefinition__Group_3__1"
7912
7913
7914 // $ANTLR start "rule__PredicateDefinition__Group_3__1__Impl"
7915 // InternalProblem.g:2484:1: rule__PredicateDefinition__Group_3__1__Impl : ( ( rule__PredicateDefinition__Group_3_1__0 )* ) ;
7916 public final void rule__PredicateDefinition__Group_3__1__Impl() throws RecognitionException {
7917
7918 int stackSize = keepStackSize();
7919
7920 try {
7921 // InternalProblem.g:2488:1: ( ( ( rule__PredicateDefinition__Group_3_1__0 )* ) )
7922 // InternalProblem.g:2489:1: ( ( rule__PredicateDefinition__Group_3_1__0 )* )
7923 {
7924 // InternalProblem.g:2489:1: ( ( rule__PredicateDefinition__Group_3_1__0 )* )
7925 // InternalProblem.g:2490:2: ( rule__PredicateDefinition__Group_3_1__0 )*
7926 {
7927 before(grammarAccess.getPredicateDefinitionAccess().getGroup_3_1());
7928 // InternalProblem.g:2491:2: ( rule__PredicateDefinition__Group_3_1__0 )*
7929 loop34:
7930 do {
7931 int alt34=2;
7932 int LA34_0 = input.LA(1);
7933
7934 if ( (LA34_0==13) ) {
7935 alt34=1;
7936 }
7937
7938
7939 switch (alt34) {
7940 case 1 :
7941 // InternalProblem.g:2491:3: rule__PredicateDefinition__Group_3_1__0
7942 {
7943 pushFollow(FOLLOW_10);
7944 rule__PredicateDefinition__Group_3_1__0();
7945
7946 state._fsp--;
7947
7948
7949 }
7950 break;
7951
7952 default :
7953 break loop34;
7954 }
7955 } while (true);
7956
7957 after(grammarAccess.getPredicateDefinitionAccess().getGroup_3_1());
7958
7959 }
7960
7961
7962 }
7963
7964 }
7965 catch (RecognitionException re) {
7966 reportError(re);
7967 recover(input,re);
7968 }
7969 finally {
7970
7971 restoreStackSize(stackSize);
7972
7973 }
7974 return ;
7975 }
7976 // $ANTLR end "rule__PredicateDefinition__Group_3__1__Impl"
7977
7978
7979 // $ANTLR start "rule__PredicateDefinition__Group_3_1__0"
7980 // InternalProblem.g:2500:1: rule__PredicateDefinition__Group_3_1__0 : rule__PredicateDefinition__Group_3_1__0__Impl rule__PredicateDefinition__Group_3_1__1 ;
7981 public final void rule__PredicateDefinition__Group_3_1__0() throws RecognitionException {
7982
7983 int stackSize = keepStackSize();
7984
7985 try {
7986 // InternalProblem.g:2504:1: ( rule__PredicateDefinition__Group_3_1__0__Impl rule__PredicateDefinition__Group_3_1__1 )
7987 // InternalProblem.g:2505:2: rule__PredicateDefinition__Group_3_1__0__Impl rule__PredicateDefinition__Group_3_1__1
7988 {
7989 pushFollow(FOLLOW_5);
7990 rule__PredicateDefinition__Group_3_1__0__Impl();
7991
7992 state._fsp--;
7993
7994 pushFollow(FOLLOW_2);
7995 rule__PredicateDefinition__Group_3_1__1();
7996
7997 state._fsp--;
7998
7999
8000 }
8001
8002 }
8003 catch (RecognitionException re) {
8004 reportError(re);
8005 recover(input,re);
8006 }
8007 finally {
8008
8009 restoreStackSize(stackSize);
8010
8011 }
8012 return ;
8013 }
8014 // $ANTLR end "rule__PredicateDefinition__Group_3_1__0"
8015
8016
8017 // $ANTLR start "rule__PredicateDefinition__Group_3_1__0__Impl"
8018 // InternalProblem.g:2512:1: rule__PredicateDefinition__Group_3_1__0__Impl : ( ',' ) ;
8019 public final void rule__PredicateDefinition__Group_3_1__0__Impl() throws RecognitionException {
8020
8021 int stackSize = keepStackSize();
8022
8023 try {
8024 // InternalProblem.g:2516:1: ( ( ',' ) )
8025 // InternalProblem.g:2517:1: ( ',' )
8026 {
8027 // InternalProblem.g:2517:1: ( ',' )
8028 // InternalProblem.g:2518:2: ','
8029 {
8030 before(grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0());
8031 match(input,13,FOLLOW_2);
8032 after(grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0());
8033
8034 }
8035
8036
8037 }
8038
8039 }
8040 catch (RecognitionException re) {
8041 reportError(re);
8042 recover(input,re);
8043 }
8044 finally {
8045
8046 restoreStackSize(stackSize);
8047
8048 }
8049 return ;
8050 }
8051 // $ANTLR end "rule__PredicateDefinition__Group_3_1__0__Impl"
8052
8053
8054 // $ANTLR start "rule__PredicateDefinition__Group_3_1__1"
8055 // InternalProblem.g:2527:1: rule__PredicateDefinition__Group_3_1__1 : rule__PredicateDefinition__Group_3_1__1__Impl ;
8056 public final void rule__PredicateDefinition__Group_3_1__1() throws RecognitionException {
8057
8058 int stackSize = keepStackSize();
8059
8060 try {
8061 // InternalProblem.g:2531:1: ( rule__PredicateDefinition__Group_3_1__1__Impl )
8062 // InternalProblem.g:2532:2: rule__PredicateDefinition__Group_3_1__1__Impl
8063 {
8064 pushFollow(FOLLOW_2);
8065 rule__PredicateDefinition__Group_3_1__1__Impl();
8066
8067 state._fsp--;
8068
8069
8070 }
8071
8072 }
8073 catch (RecognitionException re) {
8074 reportError(re);
8075 recover(input,re);
8076 }
8077 finally {
8078
8079 restoreStackSize(stackSize);
8080
8081 }
8082 return ;
8083 }
8084 // $ANTLR end "rule__PredicateDefinition__Group_3_1__1"
8085
8086
8087 // $ANTLR start "rule__PredicateDefinition__Group_3_1__1__Impl"
8088 // InternalProblem.g:2538:1: rule__PredicateDefinition__Group_3_1__1__Impl : ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) ) ;
8089 public final void rule__PredicateDefinition__Group_3_1__1__Impl() throws RecognitionException {
8090
8091 int stackSize = keepStackSize();
8092
8093 try {
8094 // InternalProblem.g:2542:1: ( ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) ) )
8095 // InternalProblem.g:2543:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) )
8096 {
8097 // InternalProblem.g:2543:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) )
8098 // InternalProblem.g:2544:2: ( rule__PredicateDefinition__ParametersAssignment_3_1_1 )
8099 {
8100 before(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_1_1());
8101 // InternalProblem.g:2545:2: ( rule__PredicateDefinition__ParametersAssignment_3_1_1 )
8102 // InternalProblem.g:2545:3: rule__PredicateDefinition__ParametersAssignment_3_1_1
8103 {
8104 pushFollow(FOLLOW_2);
8105 rule__PredicateDefinition__ParametersAssignment_3_1_1();
8106
8107 state._fsp--;
8108
8109
8110 }
8111
8112 after(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_1_1());
8113
8114 }
8115
8116
8117 }
8118
8119 }
8120 catch (RecognitionException re) {
8121 reportError(re);
8122 recover(input,re);
8123 }
8124 finally {
8125
8126 restoreStackSize(stackSize);
8127
8128 }
8129 return ;
8130 }
8131 // $ANTLR end "rule__PredicateDefinition__Group_3_1__1__Impl"
8132
8133
8134 // $ANTLR start "rule__PredicateDefinition__Group_5__0"
8135 // InternalProblem.g:2554:1: rule__PredicateDefinition__Group_5__0 : rule__PredicateDefinition__Group_5__0__Impl rule__PredicateDefinition__Group_5__1 ;
8136 public final void rule__PredicateDefinition__Group_5__0() throws RecognitionException {
8137
8138 int stackSize = keepStackSize();
8139
8140 try {
8141 // InternalProblem.g:2558:1: ( rule__PredicateDefinition__Group_5__0__Impl rule__PredicateDefinition__Group_5__1 )
8142 // InternalProblem.g:2559:2: rule__PredicateDefinition__Group_5__0__Impl rule__PredicateDefinition__Group_5__1
8143 {
8144 pushFollow(FOLLOW_26);
8145 rule__PredicateDefinition__Group_5__0__Impl();
8146
8147 state._fsp--;
8148
8149 pushFollow(FOLLOW_2);
8150 rule__PredicateDefinition__Group_5__1();
8151
8152 state._fsp--;
8153
8154
8155 }
8156
8157 }
8158 catch (RecognitionException re) {
8159 reportError(re);
8160 recover(input,re);
8161 }
8162 finally {
8163
8164 restoreStackSize(stackSize);
8165
8166 }
8167 return ;
8168 }
8169 // $ANTLR end "rule__PredicateDefinition__Group_5__0"
8170
8171
8172 // $ANTLR start "rule__PredicateDefinition__Group_5__0__Impl"
8173 // InternalProblem.g:2566:1: rule__PredicateDefinition__Group_5__0__Impl : ( ':-' ) ;
8174 public final void rule__PredicateDefinition__Group_5__0__Impl() throws RecognitionException {
8175
8176 int stackSize = keepStackSize();
8177
8178 try {
8179 // InternalProblem.g:2570:1: ( ( ':-' ) )
8180 // InternalProblem.g:2571:1: ( ':-' )
8181 {
8182 // InternalProblem.g:2571:1: ( ':-' )
8183 // InternalProblem.g:2572:2: ':-'
8184 {
8185 before(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0());
8186 match(input,35,FOLLOW_2);
8187 after(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0());
8188
8189 }
8190
8191
8192 }
8193
8194 }
8195 catch (RecognitionException re) {
8196 reportError(re);
8197 recover(input,re);
8198 }
8199 finally {
8200
8201 restoreStackSize(stackSize);
8202
8203 }
8204 return ;
8205 }
8206 // $ANTLR end "rule__PredicateDefinition__Group_5__0__Impl"
8207
8208
8209 // $ANTLR start "rule__PredicateDefinition__Group_5__1"
8210 // InternalProblem.g:2581:1: rule__PredicateDefinition__Group_5__1 : rule__PredicateDefinition__Group_5__1__Impl rule__PredicateDefinition__Group_5__2 ;
8211 public final void rule__PredicateDefinition__Group_5__1() throws RecognitionException {
8212
8213 int stackSize = keepStackSize();
8214
8215 try {
8216 // InternalProblem.g:2585:1: ( rule__PredicateDefinition__Group_5__1__Impl rule__PredicateDefinition__Group_5__2 )
8217 // InternalProblem.g:2586:2: rule__PredicateDefinition__Group_5__1__Impl rule__PredicateDefinition__Group_5__2
8218 {
8219 pushFollow(FOLLOW_13);
8220 rule__PredicateDefinition__Group_5__1__Impl();
8221
8222 state._fsp--;
8223
8224 pushFollow(FOLLOW_2);
8225 rule__PredicateDefinition__Group_5__2();
8226
8227 state._fsp--;
8228
8229
8230 }
8231
8232 }
8233 catch (RecognitionException re) {
8234 reportError(re);
8235 recover(input,re);
8236 }
8237 finally {
8238
8239 restoreStackSize(stackSize);
8240
8241 }
8242 return ;
8243 }
8244 // $ANTLR end "rule__PredicateDefinition__Group_5__1"
8245
8246
8247 // $ANTLR start "rule__PredicateDefinition__Group_5__1__Impl"
8248 // InternalProblem.g:2593:1: rule__PredicateDefinition__Group_5__1__Impl : ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) ) ;
8249 public final void rule__PredicateDefinition__Group_5__1__Impl() throws RecognitionException {
8250
8251 int stackSize = keepStackSize();
8252
8253 try {
8254 // InternalProblem.g:2597:1: ( ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) ) )
8255 // InternalProblem.g:2598:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) )
8256 {
8257 // InternalProblem.g:2598:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) )
8258 // InternalProblem.g:2599:2: ( rule__PredicateDefinition__BodiesAssignment_5_1 )
8259 {
8260 before(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_1());
8261 // InternalProblem.g:2600:2: ( rule__PredicateDefinition__BodiesAssignment_5_1 )
8262 // InternalProblem.g:2600:3: rule__PredicateDefinition__BodiesAssignment_5_1
8263 {
8264 pushFollow(FOLLOW_2);
8265 rule__PredicateDefinition__BodiesAssignment_5_1();
8266
8267 state._fsp--;
8268
8269
8270 }
8271
8272 after(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_1());
8273
8274 }
8275
8276
8277 }
8278
8279 }
8280 catch (RecognitionException re) {
8281 reportError(re);
8282 recover(input,re);
8283 }
8284 finally {
8285
8286 restoreStackSize(stackSize);
8287
8288 }
8289 return ;
8290 }
8291 // $ANTLR end "rule__PredicateDefinition__Group_5__1__Impl"
8292
8293
8294 // $ANTLR start "rule__PredicateDefinition__Group_5__2"
8295 // InternalProblem.g:2608:1: rule__PredicateDefinition__Group_5__2 : rule__PredicateDefinition__Group_5__2__Impl ;
8296 public final void rule__PredicateDefinition__Group_5__2() throws RecognitionException {
8297
8298 int stackSize = keepStackSize();
8299
8300 try {
8301 // InternalProblem.g:2612:1: ( rule__PredicateDefinition__Group_5__2__Impl )
8302 // InternalProblem.g:2613:2: rule__PredicateDefinition__Group_5__2__Impl
8303 {
8304 pushFollow(FOLLOW_2);
8305 rule__PredicateDefinition__Group_5__2__Impl();
8306
8307 state._fsp--;
8308
8309
8310 }
8311
8312 }
8313 catch (RecognitionException re) {
8314 reportError(re);
8315 recover(input,re);
8316 }
8317 finally {
8318
8319 restoreStackSize(stackSize);
8320
8321 }
8322 return ;
8323 }
8324 // $ANTLR end "rule__PredicateDefinition__Group_5__2"
8325
8326
8327 // $ANTLR start "rule__PredicateDefinition__Group_5__2__Impl"
8328 // InternalProblem.g:2619:1: rule__PredicateDefinition__Group_5__2__Impl : ( ( rule__PredicateDefinition__Group_5_2__0 )* ) ;
8329 public final void rule__PredicateDefinition__Group_5__2__Impl() throws RecognitionException {
8330
8331 int stackSize = keepStackSize();
8332
8333 try {
8334 // InternalProblem.g:2623:1: ( ( ( rule__PredicateDefinition__Group_5_2__0 )* ) )
8335 // InternalProblem.g:2624:1: ( ( rule__PredicateDefinition__Group_5_2__0 )* )
8336 {
8337 // InternalProblem.g:2624:1: ( ( rule__PredicateDefinition__Group_5_2__0 )* )
8338 // InternalProblem.g:2625:2: ( rule__PredicateDefinition__Group_5_2__0 )*
8339 {
8340 before(grammarAccess.getPredicateDefinitionAccess().getGroup_5_2());
8341 // InternalProblem.g:2626:2: ( rule__PredicateDefinition__Group_5_2__0 )*
8342 loop35:
8343 do {
8344 int alt35=2;
8345 int LA35_0 = input.LA(1);
8346
8347 if ( (LA35_0==14) ) {
8348 alt35=1;
8349 }
8350
8351
8352 switch (alt35) {
8353 case 1 :
8354 // InternalProblem.g:2626:3: rule__PredicateDefinition__Group_5_2__0
8355 {
8356 pushFollow(FOLLOW_27);
8357 rule__PredicateDefinition__Group_5_2__0();
8358
8359 state._fsp--;
8360
8361
8362 }
8363 break;
8364
8365 default :
8366 break loop35;
8367 }
8368 } while (true);
8369
8370 after(grammarAccess.getPredicateDefinitionAccess().getGroup_5_2());
8371
8372 }
8373
8374
8375 }
8376
8377 }
8378 catch (RecognitionException re) {
8379 reportError(re);
8380 recover(input,re);
8381 }
8382 finally {
8383
8384 restoreStackSize(stackSize);
8385
8386 }
8387 return ;
8388 }
8389 // $ANTLR end "rule__PredicateDefinition__Group_5__2__Impl"
8390
8391
8392 // $ANTLR start "rule__PredicateDefinition__Group_5_2__0"
8393 // InternalProblem.g:2635:1: rule__PredicateDefinition__Group_5_2__0 : rule__PredicateDefinition__Group_5_2__0__Impl rule__PredicateDefinition__Group_5_2__1 ;
8394 public final void rule__PredicateDefinition__Group_5_2__0() throws RecognitionException {
8395
8396 int stackSize = keepStackSize();
8397
8398 try {
8399 // InternalProblem.g:2639:1: ( rule__PredicateDefinition__Group_5_2__0__Impl rule__PredicateDefinition__Group_5_2__1 )
8400 // InternalProblem.g:2640:2: rule__PredicateDefinition__Group_5_2__0__Impl rule__PredicateDefinition__Group_5_2__1
8401 {
8402 pushFollow(FOLLOW_26);
8403 rule__PredicateDefinition__Group_5_2__0__Impl();
8404
8405 state._fsp--;
8406
8407 pushFollow(FOLLOW_2);
8408 rule__PredicateDefinition__Group_5_2__1();
8409
8410 state._fsp--;
8411
8412
8413 }
8414
8415 }
8416 catch (RecognitionException re) {
8417 reportError(re);
8418 recover(input,re);
8419 }
8420 finally {
8421
8422 restoreStackSize(stackSize);
8423
8424 }
8425 return ;
8426 }
8427 // $ANTLR end "rule__PredicateDefinition__Group_5_2__0"
8428
8429
8430 // $ANTLR start "rule__PredicateDefinition__Group_5_2__0__Impl"
8431 // InternalProblem.g:2647:1: rule__PredicateDefinition__Group_5_2__0__Impl : ( ';' ) ;
8432 public final void rule__PredicateDefinition__Group_5_2__0__Impl() throws RecognitionException {
8433
8434 int stackSize = keepStackSize();
8435
8436 try {
8437 // InternalProblem.g:2651:1: ( ( ';' ) )
8438 // InternalProblem.g:2652:1: ( ';' )
8439 {
8440 // InternalProblem.g:2652:1: ( ';' )
8441 // InternalProblem.g:2653:2: ';'
8442 {
8443 before(grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0());
8444 match(input,14,FOLLOW_2);
8445 after(grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0());
8446
8447 }
8448
8449
8450 }
8451
8452 }
8453 catch (RecognitionException re) {
8454 reportError(re);
8455 recover(input,re);
8456 }
8457 finally {
8458
8459 restoreStackSize(stackSize);
8460
8461 }
8462 return ;
8463 }
8464 // $ANTLR end "rule__PredicateDefinition__Group_5_2__0__Impl"
8465
8466
8467 // $ANTLR start "rule__PredicateDefinition__Group_5_2__1"
8468 // InternalProblem.g:2662:1: rule__PredicateDefinition__Group_5_2__1 : rule__PredicateDefinition__Group_5_2__1__Impl ;
8469 public final void rule__PredicateDefinition__Group_5_2__1() throws RecognitionException {
8470
8471 int stackSize = keepStackSize();
8472
8473 try {
8474 // InternalProblem.g:2666:1: ( rule__PredicateDefinition__Group_5_2__1__Impl )
8475 // InternalProblem.g:2667:2: rule__PredicateDefinition__Group_5_2__1__Impl
8476 {
8477 pushFollow(FOLLOW_2);
8478 rule__PredicateDefinition__Group_5_2__1__Impl();
8479
8480 state._fsp--;
8481
8482
8483 }
8484
8485 }
8486 catch (RecognitionException re) {
8487 reportError(re);
8488 recover(input,re);
8489 }
8490 finally {
8491
8492 restoreStackSize(stackSize);
8493
8494 }
8495 return ;
8496 }
8497 // $ANTLR end "rule__PredicateDefinition__Group_5_2__1"
8498
8499
8500 // $ANTLR start "rule__PredicateDefinition__Group_5_2__1__Impl"
8501 // InternalProblem.g:2673:1: rule__PredicateDefinition__Group_5_2__1__Impl : ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) ) ;
8502 public final void rule__PredicateDefinition__Group_5_2__1__Impl() throws RecognitionException {
8503
8504 int stackSize = keepStackSize();
8505
8506 try {
8507 // InternalProblem.g:2677:1: ( ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) ) )
8508 // InternalProblem.g:2678:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) )
8509 {
8510 // InternalProblem.g:2678:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) )
8511 // InternalProblem.g:2679:2: ( rule__PredicateDefinition__BodiesAssignment_5_2_1 )
8512 {
8513 before(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_2_1());
8514 // InternalProblem.g:2680:2: ( rule__PredicateDefinition__BodiesAssignment_5_2_1 )
8515 // InternalProblem.g:2680:3: rule__PredicateDefinition__BodiesAssignment_5_2_1
8516 {
8517 pushFollow(FOLLOW_2);
8518 rule__PredicateDefinition__BodiesAssignment_5_2_1();
8519
8520 state._fsp--;
8521
8522
8523 }
8524
8525 after(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_2_1());
8526
8527 }
8528
8529
8530 }
8531
8532 }
8533 catch (RecognitionException re) {
8534 reportError(re);
8535 recover(input,re);
8536 }
8537 finally {
8538
8539 restoreStackSize(stackSize);
8540
8541 }
8542 return ;
8543 }
8544 // $ANTLR end "rule__PredicateDefinition__Group_5_2__1__Impl"
8545
8546
8547 // $ANTLR start "rule__Parameter__Group__0"
8548 // InternalProblem.g:2689:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ;
8549 public final void rule__Parameter__Group__0() throws RecognitionException {
8550
8551 int stackSize = keepStackSize();
8552
8553 try {
8554 // InternalProblem.g:2693:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 )
8555 // InternalProblem.g:2694:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1
8556 {
8557 pushFollow(FOLLOW_5);
8558 rule__Parameter__Group__0__Impl();
8559
8560 state._fsp--;
8561
8562 pushFollow(FOLLOW_2);
8563 rule__Parameter__Group__1();
8564
8565 state._fsp--;
8566
8567
8568 }
8569
8570 }
8571 catch (RecognitionException re) {
8572 reportError(re);
8573 recover(input,re);
8574 }
8575 finally {
8576
8577 restoreStackSize(stackSize);
8578
8579 }
8580 return ;
8581 }
8582 // $ANTLR end "rule__Parameter__Group__0"
8583
8584
8585 // $ANTLR start "rule__Parameter__Group__0__Impl"
8586 // InternalProblem.g:2701:1: rule__Parameter__Group__0__Impl : ( ( rule__Parameter__ParameterTypeAssignment_0 )? ) ;
8587 public final void rule__Parameter__Group__0__Impl() throws RecognitionException {
8588
8589 int stackSize = keepStackSize();
8590
8591 try {
8592 // InternalProblem.g:2705:1: ( ( ( rule__Parameter__ParameterTypeAssignment_0 )? ) )
8593 // InternalProblem.g:2706:1: ( ( rule__Parameter__ParameterTypeAssignment_0 )? )
8594 {
8595 // InternalProblem.g:2706:1: ( ( rule__Parameter__ParameterTypeAssignment_0 )? )
8596 // InternalProblem.g:2707:2: ( rule__Parameter__ParameterTypeAssignment_0 )?
8597 {
8598 before(grammarAccess.getParameterAccess().getParameterTypeAssignment_0());
8599 // InternalProblem.g:2708:2: ( rule__Parameter__ParameterTypeAssignment_0 )?
8600 int alt36=2;
8601 switch ( input.LA(1) ) {
8602 case RULE_QUOTED_ID:
8603 {
8604 alt36=1;
8605 }
8606 break;
8607 case RULE_ID:
8608 {
8609 int LA36_2 = input.LA(2);
8610
8611 if ( (LA36_2==RULE_ID||(LA36_2>=19 && LA36_2<=20)||LA36_2==36) ) {
8612 alt36=1;
8613 }
8614 }
8615 break;
8616 case 19:
8617 {
8618 int LA36_3 = input.LA(2);
8619
8620 if ( (LA36_3==RULE_ID||(LA36_3>=19 && LA36_3<=20)||LA36_3==36) ) {
8621 alt36=1;
8622 }
8623 }
8624 break;
8625 case 20:
8626 {
8627 int LA36_4 = input.LA(2);
8628
8629 if ( (LA36_4==RULE_ID||(LA36_4>=19 && LA36_4<=20)||LA36_4==36) ) {
8630 alt36=1;
8631 }
8632 }
8633 break;
8634 }
8635
8636 switch (alt36) {
8637 case 1 :
8638 // InternalProblem.g:2708:3: rule__Parameter__ParameterTypeAssignment_0
8639 {
8640 pushFollow(FOLLOW_2);
8641 rule__Parameter__ParameterTypeAssignment_0();
8642
8643 state._fsp--;
8644
8645
8646 }
8647 break;
8648
8649 }
8650
8651 after(grammarAccess.getParameterAccess().getParameterTypeAssignment_0());
8652
8653 }
8654
8655
8656 }
8657
8658 }
8659 catch (RecognitionException re) {
8660 reportError(re);
8661 recover(input,re);
8662 }
8663 finally {
8664
8665 restoreStackSize(stackSize);
8666
8667 }
8668 return ;
8669 }
8670 // $ANTLR end "rule__Parameter__Group__0__Impl"
8671
8672
8673 // $ANTLR start "rule__Parameter__Group__1"
8674 // InternalProblem.g:2716:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl ;
8675 public final void rule__Parameter__Group__1() throws RecognitionException {
8676
8677 int stackSize = keepStackSize();
8678
8679 try {
8680 // InternalProblem.g:2720:1: ( rule__Parameter__Group__1__Impl )
8681 // InternalProblem.g:2721:2: rule__Parameter__Group__1__Impl
8682 {
8683 pushFollow(FOLLOW_2);
8684 rule__Parameter__Group__1__Impl();
8685
8686 state._fsp--;
8687
8688
8689 }
8690
8691 }
8692 catch (RecognitionException re) {
8693 reportError(re);
8694 recover(input,re);
8695 }
8696 finally {
8697
8698 restoreStackSize(stackSize);
8699
8700 }
8701 return ;
8702 }
8703 // $ANTLR end "rule__Parameter__Group__1"
8704
8705
8706 // $ANTLR start "rule__Parameter__Group__1__Impl"
8707 // InternalProblem.g:2727:1: rule__Parameter__Group__1__Impl : ( ( rule__Parameter__NameAssignment_1 ) ) ;
8708 public final void rule__Parameter__Group__1__Impl() throws RecognitionException {
8709
8710 int stackSize = keepStackSize();
8711
8712 try {
8713 // InternalProblem.g:2731:1: ( ( ( rule__Parameter__NameAssignment_1 ) ) )
8714 // InternalProblem.g:2732:1: ( ( rule__Parameter__NameAssignment_1 ) )
8715 {
8716 // InternalProblem.g:2732:1: ( ( rule__Parameter__NameAssignment_1 ) )
8717 // InternalProblem.g:2733:2: ( rule__Parameter__NameAssignment_1 )
8718 {
8719 before(grammarAccess.getParameterAccess().getNameAssignment_1());
8720 // InternalProblem.g:2734:2: ( rule__Parameter__NameAssignment_1 )
8721 // InternalProblem.g:2734:3: rule__Parameter__NameAssignment_1
8722 {
8723 pushFollow(FOLLOW_2);
8724 rule__Parameter__NameAssignment_1();
8725
8726 state._fsp--;
8727
8728
8729 }
8730
8731 after(grammarAccess.getParameterAccess().getNameAssignment_1());
8732
8733 }
8734
8735
8736 }
8737
8738 }
8739 catch (RecognitionException re) {
8740 reportError(re);
8741 recover(input,re);
8742 }
8743 finally {
8744
8745 restoreStackSize(stackSize);
8746
8747 }
8748 return ;
8749 }
8750 // $ANTLR end "rule__Parameter__Group__1__Impl"
8751
8752
8753 // $ANTLR start "rule__Conjunction__Group__0"
8754 // InternalProblem.g:2743:1: rule__Conjunction__Group__0 : rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1 ;
8755 public final void rule__Conjunction__Group__0() throws RecognitionException {
8756
8757 int stackSize = keepStackSize();
8758
8759 try {
8760 // InternalProblem.g:2747:1: ( rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1 )
8761 // InternalProblem.g:2748:2: rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1
8762 {
8763 pushFollow(FOLLOW_9);
8764 rule__Conjunction__Group__0__Impl();
8765
8766 state._fsp--;
8767
8768 pushFollow(FOLLOW_2);
8769 rule__Conjunction__Group__1();
8770
8771 state._fsp--;
8772
8773
8774 }
8775
8776 }
8777 catch (RecognitionException re) {
8778 reportError(re);
8779 recover(input,re);
8780 }
8781 finally {
8782
8783 restoreStackSize(stackSize);
8784
8785 }
8786 return ;
8787 }
8788 // $ANTLR end "rule__Conjunction__Group__0"
8789
8790
8791 // $ANTLR start "rule__Conjunction__Group__0__Impl"
8792 // InternalProblem.g:2755:1: rule__Conjunction__Group__0__Impl : ( ( rule__Conjunction__LiteralsAssignment_0 ) ) ;
8793 public final void rule__Conjunction__Group__0__Impl() throws RecognitionException {
8794
8795 int stackSize = keepStackSize();
8796
8797 try {
8798 // InternalProblem.g:2759:1: ( ( ( rule__Conjunction__LiteralsAssignment_0 ) ) )
8799 // InternalProblem.g:2760:1: ( ( rule__Conjunction__LiteralsAssignment_0 ) )
8800 {
8801 // InternalProblem.g:2760:1: ( ( rule__Conjunction__LiteralsAssignment_0 ) )
8802 // InternalProblem.g:2761:2: ( rule__Conjunction__LiteralsAssignment_0 )
8803 {
8804 before(grammarAccess.getConjunctionAccess().getLiteralsAssignment_0());
8805 // InternalProblem.g:2762:2: ( rule__Conjunction__LiteralsAssignment_0 )
8806 // InternalProblem.g:2762:3: rule__Conjunction__LiteralsAssignment_0
8807 {
8808 pushFollow(FOLLOW_2);
8809 rule__Conjunction__LiteralsAssignment_0();
8810
8811 state._fsp--;
8812
8813
8814 }
8815
8816 after(grammarAccess.getConjunctionAccess().getLiteralsAssignment_0());
8817
8818 }
8819
8820
8821 }
8822
8823 }
8824 catch (RecognitionException re) {
8825 reportError(re);
8826 recover(input,re);
8827 }
8828 finally {
8829
8830 restoreStackSize(stackSize);
8831
8832 }
8833 return ;
8834 }
8835 // $ANTLR end "rule__Conjunction__Group__0__Impl"
8836
8837
8838 // $ANTLR start "rule__Conjunction__Group__1"
8839 // InternalProblem.g:2770:1: rule__Conjunction__Group__1 : rule__Conjunction__Group__1__Impl ;
8840 public final void rule__Conjunction__Group__1() throws RecognitionException {
8841
8842 int stackSize = keepStackSize();
8843
8844 try {
8845 // InternalProblem.g:2774:1: ( rule__Conjunction__Group__1__Impl )
8846 // InternalProblem.g:2775:2: rule__Conjunction__Group__1__Impl
8847 {
8848 pushFollow(FOLLOW_2);
8849 rule__Conjunction__Group__1__Impl();
8850
8851 state._fsp--;
8852
8853
8854 }
8855
8856 }
8857 catch (RecognitionException re) {
8858 reportError(re);
8859 recover(input,re);
8860 }
8861 finally {
8862
8863 restoreStackSize(stackSize);
8864
8865 }
8866 return ;
8867 }
8868 // $ANTLR end "rule__Conjunction__Group__1"
8869
8870
8871 // $ANTLR start "rule__Conjunction__Group__1__Impl"
8872 // InternalProblem.g:2781:1: rule__Conjunction__Group__1__Impl : ( ( rule__Conjunction__Group_1__0 )* ) ;
8873 public final void rule__Conjunction__Group__1__Impl() throws RecognitionException {
8874
8875 int stackSize = keepStackSize();
8876
8877 try {
8878 // InternalProblem.g:2785:1: ( ( ( rule__Conjunction__Group_1__0 )* ) )
8879 // InternalProblem.g:2786:1: ( ( rule__Conjunction__Group_1__0 )* )
8880 {
8881 // InternalProblem.g:2786:1: ( ( rule__Conjunction__Group_1__0 )* )
8882 // InternalProblem.g:2787:2: ( rule__Conjunction__Group_1__0 )*
8883 {
8884 before(grammarAccess.getConjunctionAccess().getGroup_1());
8885 // InternalProblem.g:2788:2: ( rule__Conjunction__Group_1__0 )*
8886 loop37:
8887 do {
8888 int alt37=2;
8889 int LA37_0 = input.LA(1);
8890
8891 if ( (LA37_0==13) ) {
8892 alt37=1;
8893 }
8894
8895
8896 switch (alt37) {
8897 case 1 :
8898 // InternalProblem.g:2788:3: rule__Conjunction__Group_1__0
8899 {
8900 pushFollow(FOLLOW_10);
8901 rule__Conjunction__Group_1__0();
8902
8903 state._fsp--;
8904
8905
8906 }
8907 break;
8908
8909 default :
8910 break loop37;
8911 }
8912 } while (true);
8913
8914 after(grammarAccess.getConjunctionAccess().getGroup_1());
8915
8916 }
8917
8918
8919 }
8920
8921 }
8922 catch (RecognitionException re) {
8923 reportError(re);
8924 recover(input,re);
8925 }
8926 finally {
8927
8928 restoreStackSize(stackSize);
8929
8930 }
8931 return ;
8932 }
8933 // $ANTLR end "rule__Conjunction__Group__1__Impl"
8934
8935
8936 // $ANTLR start "rule__Conjunction__Group_1__0"
8937 // InternalProblem.g:2797:1: rule__Conjunction__Group_1__0 : rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1 ;
8938 public final void rule__Conjunction__Group_1__0() throws RecognitionException {
8939
8940 int stackSize = keepStackSize();
8941
8942 try {
8943 // InternalProblem.g:2801:1: ( rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1 )
8944 // InternalProblem.g:2802:2: rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1
8945 {
8946 pushFollow(FOLLOW_26);
8947 rule__Conjunction__Group_1__0__Impl();
8948
8949 state._fsp--;
8950
8951 pushFollow(FOLLOW_2);
8952 rule__Conjunction__Group_1__1();
8953
8954 state._fsp--;
8955
8956
8957 }
8958
8959 }
8960 catch (RecognitionException re) {
8961 reportError(re);
8962 recover(input,re);
8963 }
8964 finally {
8965
8966 restoreStackSize(stackSize);
8967
8968 }
8969 return ;
8970 }
8971 // $ANTLR end "rule__Conjunction__Group_1__0"
8972
8973
8974 // $ANTLR start "rule__Conjunction__Group_1__0__Impl"
8975 // InternalProblem.g:2809:1: rule__Conjunction__Group_1__0__Impl : ( ',' ) ;
8976 public final void rule__Conjunction__Group_1__0__Impl() throws RecognitionException {
8977
8978 int stackSize = keepStackSize();
8979
8980 try {
8981 // InternalProblem.g:2813:1: ( ( ',' ) )
8982 // InternalProblem.g:2814:1: ( ',' )
8983 {
8984 // InternalProblem.g:2814:1: ( ',' )
8985 // InternalProblem.g:2815:2: ','
8986 {
8987 before(grammarAccess.getConjunctionAccess().getCommaKeyword_1_0());
8988 match(input,13,FOLLOW_2);
8989 after(grammarAccess.getConjunctionAccess().getCommaKeyword_1_0());
8990
8991 }
8992
8993
8994 }
8995
8996 }
8997 catch (RecognitionException re) {
8998 reportError(re);
8999 recover(input,re);
9000 }
9001 finally {
9002
9003 restoreStackSize(stackSize);
9004
9005 }
9006 return ;
9007 }
9008 // $ANTLR end "rule__Conjunction__Group_1__0__Impl"
9009
9010
9011 // $ANTLR start "rule__Conjunction__Group_1__1"
9012 // InternalProblem.g:2824:1: rule__Conjunction__Group_1__1 : rule__Conjunction__Group_1__1__Impl ;
9013 public final void rule__Conjunction__Group_1__1() throws RecognitionException {
9014
9015 int stackSize = keepStackSize();
9016
9017 try {
9018 // InternalProblem.g:2828:1: ( rule__Conjunction__Group_1__1__Impl )
9019 // InternalProblem.g:2829:2: rule__Conjunction__Group_1__1__Impl
9020 {
9021 pushFollow(FOLLOW_2);
9022 rule__Conjunction__Group_1__1__Impl();
9023
9024 state._fsp--;
9025
9026
9027 }
9028
9029 }
9030 catch (RecognitionException re) {
9031 reportError(re);
9032 recover(input,re);
9033 }
9034 finally {
9035
9036 restoreStackSize(stackSize);
9037
9038 }
9039 return ;
9040 }
9041 // $ANTLR end "rule__Conjunction__Group_1__1"
9042
9043
9044 // $ANTLR start "rule__Conjunction__Group_1__1__Impl"
9045 // InternalProblem.g:2835:1: rule__Conjunction__Group_1__1__Impl : ( ( rule__Conjunction__LiteralsAssignment_1_1 ) ) ;
9046 public final void rule__Conjunction__Group_1__1__Impl() throws RecognitionException {
9047
9048 int stackSize = keepStackSize();
9049
9050 try {
9051 // InternalProblem.g:2839:1: ( ( ( rule__Conjunction__LiteralsAssignment_1_1 ) ) )
9052 // InternalProblem.g:2840:1: ( ( rule__Conjunction__LiteralsAssignment_1_1 ) )
9053 {
9054 // InternalProblem.g:2840:1: ( ( rule__Conjunction__LiteralsAssignment_1_1 ) )
9055 // InternalProblem.g:2841:2: ( rule__Conjunction__LiteralsAssignment_1_1 )
9056 {
9057 before(grammarAccess.getConjunctionAccess().getLiteralsAssignment_1_1());
9058 // InternalProblem.g:2842:2: ( rule__Conjunction__LiteralsAssignment_1_1 )
9059 // InternalProblem.g:2842:3: rule__Conjunction__LiteralsAssignment_1_1
9060 {
9061 pushFollow(FOLLOW_2);
9062 rule__Conjunction__LiteralsAssignment_1_1();
9063
9064 state._fsp--;
9065
9066
9067 }
9068
9069 after(grammarAccess.getConjunctionAccess().getLiteralsAssignment_1_1());
9070
9071 }
9072
9073
9074 }
9075
9076 }
9077 catch (RecognitionException re) {
9078 reportError(re);
9079 recover(input,re);
9080 }
9081 finally {
9082
9083 restoreStackSize(stackSize);
9084
9085 }
9086 return ;
9087 }
9088 // $ANTLR end "rule__Conjunction__Group_1__1__Impl"
9089
9090
9091 // $ANTLR start "rule__NegativeLiteral__Group__0"
9092 // InternalProblem.g:2851:1: rule__NegativeLiteral__Group__0 : rule__NegativeLiteral__Group__0__Impl rule__NegativeLiteral__Group__1 ;
9093 public final void rule__NegativeLiteral__Group__0() throws RecognitionException {
9094
9095 int stackSize = keepStackSize();
9096
9097 try {
9098 // InternalProblem.g:2855:1: ( rule__NegativeLiteral__Group__0__Impl rule__NegativeLiteral__Group__1 )
9099 // InternalProblem.g:2856:2: rule__NegativeLiteral__Group__0__Impl rule__NegativeLiteral__Group__1
9100 {
9101 pushFollow(FOLLOW_5);
9102 rule__NegativeLiteral__Group__0__Impl();
9103
9104 state._fsp--;
9105
9106 pushFollow(FOLLOW_2);
9107 rule__NegativeLiteral__Group__1();
9108
9109 state._fsp--;
9110
9111
9112 }
9113
9114 }
9115 catch (RecognitionException re) {
9116 reportError(re);
9117 recover(input,re);
9118 }
9119 finally {
9120
9121 restoreStackSize(stackSize);
9122
9123 }
9124 return ;
9125 }
9126 // $ANTLR end "rule__NegativeLiteral__Group__0"
9127
9128
9129 // $ANTLR start "rule__NegativeLiteral__Group__0__Impl"
9130 // InternalProblem.g:2863:1: rule__NegativeLiteral__Group__0__Impl : ( '!' ) ;
9131 public final void rule__NegativeLiteral__Group__0__Impl() throws RecognitionException {
9132
9133 int stackSize = keepStackSize();
9134
9135 try {
9136 // InternalProblem.g:2867:1: ( ( '!' ) )
9137 // InternalProblem.g:2868:1: ( '!' )
9138 {
9139 // InternalProblem.g:2868:1: ( '!' )
9140 // InternalProblem.g:2869:2: '!'
9141 {
9142 before(grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0());
9143 match(input,22,FOLLOW_2);
9144 after(grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0());
9145
9146 }
9147
9148
9149 }
9150
9151 }
9152 catch (RecognitionException re) {
9153 reportError(re);
9154 recover(input,re);
9155 }
9156 finally {
9157
9158 restoreStackSize(stackSize);
9159
9160 }
9161 return ;
9162 }
9163 // $ANTLR end "rule__NegativeLiteral__Group__0__Impl"
9164
9165
9166 // $ANTLR start "rule__NegativeLiteral__Group__1"
9167 // InternalProblem.g:2878:1: rule__NegativeLiteral__Group__1 : rule__NegativeLiteral__Group__1__Impl ;
9168 public final void rule__NegativeLiteral__Group__1() throws RecognitionException {
9169
9170 int stackSize = keepStackSize();
9171
9172 try {
9173 // InternalProblem.g:2882:1: ( rule__NegativeLiteral__Group__1__Impl )
9174 // InternalProblem.g:2883:2: rule__NegativeLiteral__Group__1__Impl
9175 {
9176 pushFollow(FOLLOW_2);
9177 rule__NegativeLiteral__Group__1__Impl();
9178
9179 state._fsp--;
9180
9181
9182 }
9183
9184 }
9185 catch (RecognitionException re) {
9186 reportError(re);
9187 recover(input,re);
9188 }
9189 finally {
9190
9191 restoreStackSize(stackSize);
9192
9193 }
9194 return ;
9195 }
9196 // $ANTLR end "rule__NegativeLiteral__Group__1"
9197
9198
9199 // $ANTLR start "rule__NegativeLiteral__Group__1__Impl"
9200 // InternalProblem.g:2889:1: rule__NegativeLiteral__Group__1__Impl : ( ( rule__NegativeLiteral__AtomAssignment_1 ) ) ;
9201 public final void rule__NegativeLiteral__Group__1__Impl() throws RecognitionException {
9202
9203 int stackSize = keepStackSize();
9204
9205 try {
9206 // InternalProblem.g:2893:1: ( ( ( rule__NegativeLiteral__AtomAssignment_1 ) ) )
9207 // InternalProblem.g:2894:1: ( ( rule__NegativeLiteral__AtomAssignment_1 ) )
9208 {
9209 // InternalProblem.g:2894:1: ( ( rule__NegativeLiteral__AtomAssignment_1 ) )
9210 // InternalProblem.g:2895:2: ( rule__NegativeLiteral__AtomAssignment_1 )
9211 {
9212 before(grammarAccess.getNegativeLiteralAccess().getAtomAssignment_1());
9213 // InternalProblem.g:2896:2: ( rule__NegativeLiteral__AtomAssignment_1 )
9214 // InternalProblem.g:2896:3: rule__NegativeLiteral__AtomAssignment_1
9215 {
9216 pushFollow(FOLLOW_2);
9217 rule__NegativeLiteral__AtomAssignment_1();
9218
9219 state._fsp--;
9220
9221
9222 }
9223
9224 after(grammarAccess.getNegativeLiteralAccess().getAtomAssignment_1());
9225
9226 }
9227
9228
9229 }
9230
9231 }
9232 catch (RecognitionException re) {
9233 reportError(re);
9234 recover(input,re);
9235 }
9236 finally {
9237
9238 restoreStackSize(stackSize);
9239
9240 }
9241 return ;
9242 }
9243 // $ANTLR end "rule__NegativeLiteral__Group__1__Impl"
9244
9245
9246 // $ANTLR start "rule__Atom__Group__0"
9247 // InternalProblem.g:2905:1: rule__Atom__Group__0 : rule__Atom__Group__0__Impl rule__Atom__Group__1 ;
9248 public final void rule__Atom__Group__0() throws RecognitionException {
9249
9250 int stackSize = keepStackSize();
9251
9252 try {
9253 // InternalProblem.g:2909:1: ( rule__Atom__Group__0__Impl rule__Atom__Group__1 )
9254 // InternalProblem.g:2910:2: rule__Atom__Group__0__Impl rule__Atom__Group__1
9255 {
9256 pushFollow(FOLLOW_28);
9257 rule__Atom__Group__0__Impl();
9258
9259 state._fsp--;
9260
9261 pushFollow(FOLLOW_2);
9262 rule__Atom__Group__1();
9263
9264 state._fsp--;
9265
9266
9267 }
9268
9269 }
9270 catch (RecognitionException re) {
9271 reportError(re);
9272 recover(input,re);
9273 }
9274 finally {
9275
9276 restoreStackSize(stackSize);
9277
9278 }
9279 return ;
9280 }
9281 // $ANTLR end "rule__Atom__Group__0"
9282
9283
9284 // $ANTLR start "rule__Atom__Group__0__Impl"
9285 // InternalProblem.g:2917:1: rule__Atom__Group__0__Impl : ( ( rule__Atom__RelationAssignment_0 ) ) ;
9286 public final void rule__Atom__Group__0__Impl() throws RecognitionException {
9287
9288 int stackSize = keepStackSize();
9289
9290 try {
9291 // InternalProblem.g:2921:1: ( ( ( rule__Atom__RelationAssignment_0 ) ) )
9292 // InternalProblem.g:2922:1: ( ( rule__Atom__RelationAssignment_0 ) )
9293 {
9294 // InternalProblem.g:2922:1: ( ( rule__Atom__RelationAssignment_0 ) )
9295 // InternalProblem.g:2923:2: ( rule__Atom__RelationAssignment_0 )
9296 {
9297 before(grammarAccess.getAtomAccess().getRelationAssignment_0());
9298 // InternalProblem.g:2924:2: ( rule__Atom__RelationAssignment_0 )
9299 // InternalProblem.g:2924:3: rule__Atom__RelationAssignment_0
9300 {
9301 pushFollow(FOLLOW_2);
9302 rule__Atom__RelationAssignment_0();
9303
9304 state._fsp--;
9305
9306
9307 }
9308
9309 after(grammarAccess.getAtomAccess().getRelationAssignment_0());
9310
9311 }
9312
9313
9314 }
9315
9316 }
9317 catch (RecognitionException re) {
9318 reportError(re);
9319 recover(input,re);
9320 }
9321 finally {
9322
9323 restoreStackSize(stackSize);
9324
9325 }
9326 return ;
9327 }
9328 // $ANTLR end "rule__Atom__Group__0__Impl"
9329
9330
9331 // $ANTLR start "rule__Atom__Group__1"
9332 // InternalProblem.g:2932:1: rule__Atom__Group__1 : rule__Atom__Group__1__Impl rule__Atom__Group__2 ;
9333 public final void rule__Atom__Group__1() throws RecognitionException {
9334
9335 int stackSize = keepStackSize();
9336
9337 try {
9338 // InternalProblem.g:2936:1: ( rule__Atom__Group__1__Impl rule__Atom__Group__2 )
9339 // InternalProblem.g:2937:2: rule__Atom__Group__1__Impl rule__Atom__Group__2
9340 {
9341 pushFollow(FOLLOW_28);
9342 rule__Atom__Group__1__Impl();
9343
9344 state._fsp--;
9345
9346 pushFollow(FOLLOW_2);
9347 rule__Atom__Group__2();
9348
9349 state._fsp--;
9350
9351
9352 }
9353
9354 }
9355 catch (RecognitionException re) {
9356 reportError(re);
9357 recover(input,re);
9358 }
9359 finally {
9360
9361 restoreStackSize(stackSize);
9362
9363 }
9364 return ;
9365 }
9366 // $ANTLR end "rule__Atom__Group__1"
9367
9368
9369 // $ANTLR start "rule__Atom__Group__1__Impl"
9370 // InternalProblem.g:2944:1: rule__Atom__Group__1__Impl : ( ( rule__Atom__TransitiveClosureAssignment_1 )? ) ;
9371 public final void rule__Atom__Group__1__Impl() throws RecognitionException {
9372
9373 int stackSize = keepStackSize();
9374
9375 try {
9376 // InternalProblem.g:2948:1: ( ( ( rule__Atom__TransitiveClosureAssignment_1 )? ) )
9377 // InternalProblem.g:2949:1: ( ( rule__Atom__TransitiveClosureAssignment_1 )? )
9378 {
9379 // InternalProblem.g:2949:1: ( ( rule__Atom__TransitiveClosureAssignment_1 )? )
9380 // InternalProblem.g:2950:2: ( rule__Atom__TransitiveClosureAssignment_1 )?
9381 {
9382 before(grammarAccess.getAtomAccess().getTransitiveClosureAssignment_1());
9383 // InternalProblem.g:2951:2: ( rule__Atom__TransitiveClosureAssignment_1 )?
9384 int alt38=2;
9385 int LA38_0 = input.LA(1);
9386
9387 if ( (LA38_0==42) ) {
9388 alt38=1;
9389 }
9390 switch (alt38) {
9391 case 1 :
9392 // InternalProblem.g:2951:3: rule__Atom__TransitiveClosureAssignment_1
9393 {
9394 pushFollow(FOLLOW_2);
9395 rule__Atom__TransitiveClosureAssignment_1();
9396
9397 state._fsp--;
9398
9399
9400 }
9401 break;
9402
9403 }
9404
9405 after(grammarAccess.getAtomAccess().getTransitiveClosureAssignment_1());
9406
9407 }
9408
9409
9410 }
9411
9412 }
9413 catch (RecognitionException re) {
9414 reportError(re);
9415 recover(input,re);
9416 }
9417 finally {
9418
9419 restoreStackSize(stackSize);
9420
9421 }
9422 return ;
9423 }
9424 // $ANTLR end "rule__Atom__Group__1__Impl"
9425
9426
9427 // $ANTLR start "rule__Atom__Group__2"
9428 // InternalProblem.g:2959:1: rule__Atom__Group__2 : rule__Atom__Group__2__Impl rule__Atom__Group__3 ;
9429 public final void rule__Atom__Group__2() throws RecognitionException {
9430
9431 int stackSize = keepStackSize();
9432
9433 try {
9434 // InternalProblem.g:2963:1: ( rule__Atom__Group__2__Impl rule__Atom__Group__3 )
9435 // InternalProblem.g:2964:2: rule__Atom__Group__2__Impl rule__Atom__Group__3
9436 {
9437 pushFollow(FOLLOW_23);
9438 rule__Atom__Group__2__Impl();
9439
9440 state._fsp--;
9441
9442 pushFollow(FOLLOW_2);
9443 rule__Atom__Group__3();
9444
9445 state._fsp--;
9446
9447
9448 }
9449
9450 }
9451 catch (RecognitionException re) {
9452 reportError(re);
9453 recover(input,re);
9454 }
9455 finally {
9456
9457 restoreStackSize(stackSize);
9458
9459 }
9460 return ;
9461 }
9462 // $ANTLR end "rule__Atom__Group__2"
9463
9464
9465 // $ANTLR start "rule__Atom__Group__2__Impl"
9466 // InternalProblem.g:2971:1: rule__Atom__Group__2__Impl : ( '(' ) ;
9467 public final void rule__Atom__Group__2__Impl() throws RecognitionException {
9468
9469 int stackSize = keepStackSize();
9470
9471 try {
9472 // InternalProblem.g:2975:1: ( ( '(' ) )
9473 // InternalProblem.g:2976:1: ( '(' )
9474 {
9475 // InternalProblem.g:2976:1: ( '(' )
9476 // InternalProblem.g:2977:2: '('
9477 {
9478 before(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2());
9479 match(input,33,FOLLOW_2);
9480 after(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2());
9481
9482 }
9483
9484
9485 }
9486
9487 }
9488 catch (RecognitionException re) {
9489 reportError(re);
9490 recover(input,re);
9491 }
9492 finally {
9493
9494 restoreStackSize(stackSize);
9495
9496 }
9497 return ;
9498 }
9499 // $ANTLR end "rule__Atom__Group__2__Impl"
9500
9501
9502 // $ANTLR start "rule__Atom__Group__3"
9503 // InternalProblem.g:2986:1: rule__Atom__Group__3 : rule__Atom__Group__3__Impl rule__Atom__Group__4 ;
9504 public final void rule__Atom__Group__3() throws RecognitionException {
9505
9506 int stackSize = keepStackSize();
9507
9508 try {
9509 // InternalProblem.g:2990:1: ( rule__Atom__Group__3__Impl rule__Atom__Group__4 )
9510 // InternalProblem.g:2991:2: rule__Atom__Group__3__Impl rule__Atom__Group__4
9511 {
9512 pushFollow(FOLLOW_23);
9513 rule__Atom__Group__3__Impl();
9514
9515 state._fsp--;
9516
9517 pushFollow(FOLLOW_2);
9518 rule__Atom__Group__4();
9519
9520 state._fsp--;
9521
9522
9523 }
9524
9525 }
9526 catch (RecognitionException re) {
9527 reportError(re);
9528 recover(input,re);
9529 }
9530 finally {
9531
9532 restoreStackSize(stackSize);
9533
9534 }
9535 return ;
9536 }
9537 // $ANTLR end "rule__Atom__Group__3"
9538
9539
9540 // $ANTLR start "rule__Atom__Group__3__Impl"
9541 // InternalProblem.g:2998:1: rule__Atom__Group__3__Impl : ( ( rule__Atom__Group_3__0 )? ) ;
9542 public final void rule__Atom__Group__3__Impl() throws RecognitionException {
9543
9544 int stackSize = keepStackSize();
9545
9546 try {
9547 // InternalProblem.g:3002:1: ( ( ( rule__Atom__Group_3__0 )? ) )
9548 // InternalProblem.g:3003:1: ( ( rule__Atom__Group_3__0 )? )
9549 {
9550 // InternalProblem.g:3003:1: ( ( rule__Atom__Group_3__0 )? )
9551 // InternalProblem.g:3004:2: ( rule__Atom__Group_3__0 )?
9552 {
9553 before(grammarAccess.getAtomAccess().getGroup_3());
9554 // InternalProblem.g:3005:2: ( rule__Atom__Group_3__0 )?
9555 int alt39=2;
9556 int LA39_0 = input.LA(1);
9557
9558 if ( ((LA39_0>=RULE_QUOTED_ID && LA39_0<=RULE_ID)||(LA39_0>=19 && LA39_0<=20)) ) {
9559 alt39=1;
9560 }
9561 switch (alt39) {
9562 case 1 :
9563 // InternalProblem.g:3005:3: rule__Atom__Group_3__0
9564 {
9565 pushFollow(FOLLOW_2);
9566 rule__Atom__Group_3__0();
9567
9568 state._fsp--;
9569
9570
9571 }
9572 break;
9573
9574 }
9575
9576 after(grammarAccess.getAtomAccess().getGroup_3());
9577
9578 }
9579
9580
9581 }
9582
9583 }
9584 catch (RecognitionException re) {
9585 reportError(re);
9586 recover(input,re);
9587 }
9588 finally {
9589
9590 restoreStackSize(stackSize);
9591
9592 }
9593 return ;
9594 }
9595 // $ANTLR end "rule__Atom__Group__3__Impl"
9596
9597
9598 // $ANTLR start "rule__Atom__Group__4"
9599 // InternalProblem.g:3013:1: rule__Atom__Group__4 : rule__Atom__Group__4__Impl ;
9600 public final void rule__Atom__Group__4() throws RecognitionException {
9601
9602 int stackSize = keepStackSize();
9603
9604 try {
9605 // InternalProblem.g:3017:1: ( rule__Atom__Group__4__Impl )
9606 // InternalProblem.g:3018:2: rule__Atom__Group__4__Impl
9607 {
9608 pushFollow(FOLLOW_2);
9609 rule__Atom__Group__4__Impl();
9610
9611 state._fsp--;
9612
9613
9614 }
9615
9616 }
9617 catch (RecognitionException re) {
9618 reportError(re);
9619 recover(input,re);
9620 }
9621 finally {
9622
9623 restoreStackSize(stackSize);
9624
9625 }
9626 return ;
9627 }
9628 // $ANTLR end "rule__Atom__Group__4"
9629
9630
9631 // $ANTLR start "rule__Atom__Group__4__Impl"
9632 // InternalProblem.g:3024:1: rule__Atom__Group__4__Impl : ( ')' ) ;
9633 public final void rule__Atom__Group__4__Impl() throws RecognitionException {
9634
9635 int stackSize = keepStackSize();
9636
9637 try {
9638 // InternalProblem.g:3028:1: ( ( ')' ) )
9639 // InternalProblem.g:3029:1: ( ')' )
9640 {
9641 // InternalProblem.g:3029:1: ( ')' )
9642 // InternalProblem.g:3030:2: ')'
9643 {
9644 before(grammarAccess.getAtomAccess().getRightParenthesisKeyword_4());
9645 match(input,34,FOLLOW_2);
9646 after(grammarAccess.getAtomAccess().getRightParenthesisKeyword_4());
9647
9648 }
9649
9650
9651 }
9652
9653 }
9654 catch (RecognitionException re) {
9655 reportError(re);
9656 recover(input,re);
9657 }
9658 finally {
9659
9660 restoreStackSize(stackSize);
9661
9662 }
9663 return ;
9664 }
9665 // $ANTLR end "rule__Atom__Group__4__Impl"
9666
9667
9668 // $ANTLR start "rule__Atom__Group_3__0"
9669 // InternalProblem.g:3040:1: rule__Atom__Group_3__0 : rule__Atom__Group_3__0__Impl rule__Atom__Group_3__1 ;
9670 public final void rule__Atom__Group_3__0() throws RecognitionException {
9671
9672 int stackSize = keepStackSize();
9673
9674 try {
9675 // InternalProblem.g:3044:1: ( rule__Atom__Group_3__0__Impl rule__Atom__Group_3__1 )
9676 // InternalProblem.g:3045:2: rule__Atom__Group_3__0__Impl rule__Atom__Group_3__1
9677 {
9678 pushFollow(FOLLOW_9);
9679 rule__Atom__Group_3__0__Impl();
9680
9681 state._fsp--;
9682
9683 pushFollow(FOLLOW_2);
9684 rule__Atom__Group_3__1();
9685
9686 state._fsp--;
9687
9688
9689 }
9690
9691 }
9692 catch (RecognitionException re) {
9693 reportError(re);
9694 recover(input,re);
9695 }
9696 finally {
9697
9698 restoreStackSize(stackSize);
9699
9700 }
9701 return ;
9702 }
9703 // $ANTLR end "rule__Atom__Group_3__0"
9704
9705
9706 // $ANTLR start "rule__Atom__Group_3__0__Impl"
9707 // InternalProblem.g:3052:1: rule__Atom__Group_3__0__Impl : ( ( rule__Atom__ArgumentsAssignment_3_0 ) ) ;
9708 public final void rule__Atom__Group_3__0__Impl() throws RecognitionException {
9709
9710 int stackSize = keepStackSize();
9711
9712 try {
9713 // InternalProblem.g:3056:1: ( ( ( rule__Atom__ArgumentsAssignment_3_0 ) ) )
9714 // InternalProblem.g:3057:1: ( ( rule__Atom__ArgumentsAssignment_3_0 ) )
9715 {
9716 // InternalProblem.g:3057:1: ( ( rule__Atom__ArgumentsAssignment_3_0 ) )
9717 // InternalProblem.g:3058:2: ( rule__Atom__ArgumentsAssignment_3_0 )
9718 {
9719 before(grammarAccess.getAtomAccess().getArgumentsAssignment_3_0());
9720 // InternalProblem.g:3059:2: ( rule__Atom__ArgumentsAssignment_3_0 )
9721 // InternalProblem.g:3059:3: rule__Atom__ArgumentsAssignment_3_0
9722 {
9723 pushFollow(FOLLOW_2);
9724 rule__Atom__ArgumentsAssignment_3_0();
9725
9726 state._fsp--;
9727
9728
9729 }
9730
9731 after(grammarAccess.getAtomAccess().getArgumentsAssignment_3_0());
9732
9733 }
9734
9735
9736 }
9737
9738 }
9739 catch (RecognitionException re) {
9740 reportError(re);
9741 recover(input,re);
9742 }
9743 finally {
9744
9745 restoreStackSize(stackSize);
9746
9747 }
9748 return ;
9749 }
9750 // $ANTLR end "rule__Atom__Group_3__0__Impl"
9751
9752
9753 // $ANTLR start "rule__Atom__Group_3__1"
9754 // InternalProblem.g:3067:1: rule__Atom__Group_3__1 : rule__Atom__Group_3__1__Impl ;
9755 public final void rule__Atom__Group_3__1() throws RecognitionException {
9756
9757 int stackSize = keepStackSize();
9758
9759 try {
9760 // InternalProblem.g:3071:1: ( rule__Atom__Group_3__1__Impl )
9761 // InternalProblem.g:3072:2: rule__Atom__Group_3__1__Impl
9762 {
9763 pushFollow(FOLLOW_2);
9764 rule__Atom__Group_3__1__Impl();
9765
9766 state._fsp--;
9767
9768
9769 }
9770
9771 }
9772 catch (RecognitionException re) {
9773 reportError(re);
9774 recover(input,re);
9775 }
9776 finally {
9777
9778 restoreStackSize(stackSize);
9779
9780 }
9781 return ;
9782 }
9783 // $ANTLR end "rule__Atom__Group_3__1"
9784
9785
9786 // $ANTLR start "rule__Atom__Group_3__1__Impl"
9787 // InternalProblem.g:3078:1: rule__Atom__Group_3__1__Impl : ( ( rule__Atom__Group_3_1__0 )* ) ;
9788 public final void rule__Atom__Group_3__1__Impl() throws RecognitionException {
9789
9790 int stackSize = keepStackSize();
9791
9792 try {
9793 // InternalProblem.g:3082:1: ( ( ( rule__Atom__Group_3_1__0 )* ) )
9794 // InternalProblem.g:3083:1: ( ( rule__Atom__Group_3_1__0 )* )
9795 {
9796 // InternalProblem.g:3083:1: ( ( rule__Atom__Group_3_1__0 )* )
9797 // InternalProblem.g:3084:2: ( rule__Atom__Group_3_1__0 )*
9798 {
9799 before(grammarAccess.getAtomAccess().getGroup_3_1());
9800 // InternalProblem.g:3085:2: ( rule__Atom__Group_3_1__0 )*
9801 loop40:
9802 do {
9803 int alt40=2;
9804 int LA40_0 = input.LA(1);
9805
9806 if ( (LA40_0==13) ) {
9807 alt40=1;
9808 }
9809
9810
9811 switch (alt40) {
9812 case 1 :
9813 // InternalProblem.g:3085:3: rule__Atom__Group_3_1__0
9814 {
9815 pushFollow(FOLLOW_10);
9816 rule__Atom__Group_3_1__0();
9817
9818 state._fsp--;
9819
9820
9821 }
9822 break;
9823
9824 default :
9825 break loop40;
9826 }
9827 } while (true);
9828
9829 after(grammarAccess.getAtomAccess().getGroup_3_1());
9830
9831 }
9832
9833
9834 }
9835
9836 }
9837 catch (RecognitionException re) {
9838 reportError(re);
9839 recover(input,re);
9840 }
9841 finally {
9842
9843 restoreStackSize(stackSize);
9844
9845 }
9846 return ;
9847 }
9848 // $ANTLR end "rule__Atom__Group_3__1__Impl"
9849
9850
9851 // $ANTLR start "rule__Atom__Group_3_1__0"
9852 // InternalProblem.g:3094:1: rule__Atom__Group_3_1__0 : rule__Atom__Group_3_1__0__Impl rule__Atom__Group_3_1__1 ;
9853 public final void rule__Atom__Group_3_1__0() throws RecognitionException {
9854
9855 int stackSize = keepStackSize();
9856
9857 try {
9858 // InternalProblem.g:3098:1: ( rule__Atom__Group_3_1__0__Impl rule__Atom__Group_3_1__1 )
9859 // InternalProblem.g:3099:2: rule__Atom__Group_3_1__0__Impl rule__Atom__Group_3_1__1
9860 {
9861 pushFollow(FOLLOW_5);
9862 rule__Atom__Group_3_1__0__Impl();
9863
9864 state._fsp--;
9865
9866 pushFollow(FOLLOW_2);
9867 rule__Atom__Group_3_1__1();
9868
9869 state._fsp--;
9870
9871
9872 }
9873
9874 }
9875 catch (RecognitionException re) {
9876 reportError(re);
9877 recover(input,re);
9878 }
9879 finally {
9880
9881 restoreStackSize(stackSize);
9882
9883 }
9884 return ;
9885 }
9886 // $ANTLR end "rule__Atom__Group_3_1__0"
9887
9888
9889 // $ANTLR start "rule__Atom__Group_3_1__0__Impl"
9890 // InternalProblem.g:3106:1: rule__Atom__Group_3_1__0__Impl : ( ',' ) ;
9891 public final void rule__Atom__Group_3_1__0__Impl() throws RecognitionException {
9892
9893 int stackSize = keepStackSize();
9894
9895 try {
9896 // InternalProblem.g:3110:1: ( ( ',' ) )
9897 // InternalProblem.g:3111:1: ( ',' )
9898 {
9899 // InternalProblem.g:3111:1: ( ',' )
9900 // InternalProblem.g:3112:2: ','
9901 {
9902 before(grammarAccess.getAtomAccess().getCommaKeyword_3_1_0());
9903 match(input,13,FOLLOW_2);
9904 after(grammarAccess.getAtomAccess().getCommaKeyword_3_1_0());
9905
9906 }
9907
9908
9909 }
9910
9911 }
9912 catch (RecognitionException re) {
9913 reportError(re);
9914 recover(input,re);
9915 }
9916 finally {
9917
9918 restoreStackSize(stackSize);
9919
9920 }
9921 return ;
9922 }
9923 // $ANTLR end "rule__Atom__Group_3_1__0__Impl"
9924
9925
9926 // $ANTLR start "rule__Atom__Group_3_1__1"
9927 // InternalProblem.g:3121:1: rule__Atom__Group_3_1__1 : rule__Atom__Group_3_1__1__Impl ;
9928 public final void rule__Atom__Group_3_1__1() throws RecognitionException {
9929
9930 int stackSize = keepStackSize();
9931
9932 try {
9933 // InternalProblem.g:3125:1: ( rule__Atom__Group_3_1__1__Impl )
9934 // InternalProblem.g:3126:2: rule__Atom__Group_3_1__1__Impl
9935 {
9936 pushFollow(FOLLOW_2);
9937 rule__Atom__Group_3_1__1__Impl();
9938
9939 state._fsp--;
9940
9941
9942 }
9943
9944 }
9945 catch (RecognitionException re) {
9946 reportError(re);
9947 recover(input,re);
9948 }
9949 finally {
9950
9951 restoreStackSize(stackSize);
9952
9953 }
9954 return ;
9955 }
9956 // $ANTLR end "rule__Atom__Group_3_1__1"
9957
9958
9959 // $ANTLR start "rule__Atom__Group_3_1__1__Impl"
9960 // InternalProblem.g:3132:1: rule__Atom__Group_3_1__1__Impl : ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) ) ;
9961 public final void rule__Atom__Group_3_1__1__Impl() throws RecognitionException {
9962
9963 int stackSize = keepStackSize();
9964
9965 try {
9966 // InternalProblem.g:3136:1: ( ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) ) )
9967 // InternalProblem.g:3137:1: ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) )
9968 {
9969 // InternalProblem.g:3137:1: ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) )
9970 // InternalProblem.g:3138:2: ( rule__Atom__ArgumentsAssignment_3_1_1 )
9971 {
9972 before(grammarAccess.getAtomAccess().getArgumentsAssignment_3_1_1());
9973 // InternalProblem.g:3139:2: ( rule__Atom__ArgumentsAssignment_3_1_1 )
9974 // InternalProblem.g:3139:3: rule__Atom__ArgumentsAssignment_3_1_1
9975 {
9976 pushFollow(FOLLOW_2);
9977 rule__Atom__ArgumentsAssignment_3_1_1();
9978
9979 state._fsp--;
9980
9981
9982 }
9983
9984 after(grammarAccess.getAtomAccess().getArgumentsAssignment_3_1_1());
9985
9986 }
9987
9988
9989 }
9990
9991 }
9992 catch (RecognitionException re) {
9993 reportError(re);
9994 recover(input,re);
9995 }
9996 finally {
9997
9998 restoreStackSize(stackSize);
9999
10000 }
10001 return ;
10002 }
10003 // $ANTLR end "rule__Atom__Group_3_1__1__Impl"
10004
10005
10006 // $ANTLR start "rule__Assertion__Group__0"
10007 // InternalProblem.g:3148:1: rule__Assertion__Group__0 : rule__Assertion__Group__0__Impl rule__Assertion__Group__1 ;
10008 public final void rule__Assertion__Group__0() throws RecognitionException {
10009
10010 int stackSize = keepStackSize();
10011
10012 try {
10013 // InternalProblem.g:3152:1: ( rule__Assertion__Group__0__Impl rule__Assertion__Group__1 )
10014 // InternalProblem.g:3153:2: rule__Assertion__Group__0__Impl rule__Assertion__Group__1
10015 {
10016 pushFollow(FOLLOW_6);
10017 rule__Assertion__Group__0__Impl();
10018
10019 state._fsp--;
10020
10021 pushFollow(FOLLOW_2);
10022 rule__Assertion__Group__1();
10023
10024 state._fsp--;
10025
10026
10027 }
10028
10029 }
10030 catch (RecognitionException re) {
10031 reportError(re);
10032 recover(input,re);
10033 }
10034 finally {
10035
10036 restoreStackSize(stackSize);
10037
10038 }
10039 return ;
10040 }
10041 // $ANTLR end "rule__Assertion__Group__0"
10042
10043
10044 // $ANTLR start "rule__Assertion__Group__0__Impl"
10045 // InternalProblem.g:3160:1: rule__Assertion__Group__0__Impl : ( ( rule__Assertion__Alternatives_0 ) ) ;
10046 public final void rule__Assertion__Group__0__Impl() throws RecognitionException {
10047
10048 int stackSize = keepStackSize();
10049
10050 try {
10051 // InternalProblem.g:3164:1: ( ( ( rule__Assertion__Alternatives_0 ) ) )
10052 // InternalProblem.g:3165:1: ( ( rule__Assertion__Alternatives_0 ) )
10053 {
10054 // InternalProblem.g:3165:1: ( ( rule__Assertion__Alternatives_0 ) )
10055 // InternalProblem.g:3166:2: ( rule__Assertion__Alternatives_0 )
10056 {
10057 before(grammarAccess.getAssertionAccess().getAlternatives_0());
10058 // InternalProblem.g:3167:2: ( rule__Assertion__Alternatives_0 )
10059 // InternalProblem.g:3167:3: rule__Assertion__Alternatives_0
10060 {
10061 pushFollow(FOLLOW_2);
10062 rule__Assertion__Alternatives_0();
10063
10064 state._fsp--;
10065
10066
10067 }
10068
10069 after(grammarAccess.getAssertionAccess().getAlternatives_0());
10070
10071 }
10072
10073
10074 }
10075
10076 }
10077 catch (RecognitionException re) {
10078 reportError(re);
10079 recover(input,re);
10080 }
10081 finally {
10082
10083 restoreStackSize(stackSize);
10084
10085 }
10086 return ;
10087 }
10088 // $ANTLR end "rule__Assertion__Group__0__Impl"
10089
10090
10091 // $ANTLR start "rule__Assertion__Group__1"
10092 // InternalProblem.g:3175:1: rule__Assertion__Group__1 : rule__Assertion__Group__1__Impl ;
10093 public final void rule__Assertion__Group__1() throws RecognitionException {
10094
10095 int stackSize = keepStackSize();
10096
10097 try {
10098 // InternalProblem.g:3179:1: ( rule__Assertion__Group__1__Impl )
10099 // InternalProblem.g:3180:2: rule__Assertion__Group__1__Impl
10100 {
10101 pushFollow(FOLLOW_2);
10102 rule__Assertion__Group__1__Impl();
10103
10104 state._fsp--;
10105
10106
10107 }
10108
10109 }
10110 catch (RecognitionException re) {
10111 reportError(re);
10112 recover(input,re);
10113 }
10114 finally {
10115
10116 restoreStackSize(stackSize);
10117
10118 }
10119 return ;
10120 }
10121 // $ANTLR end "rule__Assertion__Group__1"
10122
10123
10124 // $ANTLR start "rule__Assertion__Group__1__Impl"
10125 // InternalProblem.g:3186:1: rule__Assertion__Group__1__Impl : ( '.' ) ;
10126 public final void rule__Assertion__Group__1__Impl() throws RecognitionException {
10127
10128 int stackSize = keepStackSize();
10129
10130 try {
10131 // InternalProblem.g:3190:1: ( ( '.' ) )
10132 // InternalProblem.g:3191:1: ( '.' )
10133 {
10134 // InternalProblem.g:3191:1: ( '.' )
10135 // InternalProblem.g:3192:2: '.'
10136 {
10137 before(grammarAccess.getAssertionAccess().getFullStopKeyword_1());
10138 match(input,12,FOLLOW_2);
10139 after(grammarAccess.getAssertionAccess().getFullStopKeyword_1());
10140
10141 }
10142
10143
10144 }
10145
10146 }
10147 catch (RecognitionException re) {
10148 reportError(re);
10149 recover(input,re);
10150 }
10151 finally {
10152
10153 restoreStackSize(stackSize);
10154
10155 }
10156 return ;
10157 }
10158 // $ANTLR end "rule__Assertion__Group__1__Impl"
10159
10160
10161 // $ANTLR start "rule__Assertion__Group_0_0__0"
10162 // InternalProblem.g:3202:1: rule__Assertion__Group_0_0__0 : rule__Assertion__Group_0_0__0__Impl rule__Assertion__Group_0_0__1 ;
10163 public final void rule__Assertion__Group_0_0__0() throws RecognitionException {
10164
10165 int stackSize = keepStackSize();
10166
10167 try {
10168 // InternalProblem.g:3206:1: ( rule__Assertion__Group_0_0__0__Impl rule__Assertion__Group_0_0__1 )
10169 // InternalProblem.g:3207:2: rule__Assertion__Group_0_0__0__Impl rule__Assertion__Group_0_0__1
10170 {
10171 pushFollow(FOLLOW_22);
10172 rule__Assertion__Group_0_0__0__Impl();
10173
10174 state._fsp--;
10175
10176 pushFollow(FOLLOW_2);
10177 rule__Assertion__Group_0_0__1();
10178
10179 state._fsp--;
10180
10181
10182 }
10183
10184 }
10185 catch (RecognitionException re) {
10186 reportError(re);
10187 recover(input,re);
10188 }
10189 finally {
10190
10191 restoreStackSize(stackSize);
10192
10193 }
10194 return ;
10195 }
10196 // $ANTLR end "rule__Assertion__Group_0_0__0"
10197
10198
10199 // $ANTLR start "rule__Assertion__Group_0_0__0__Impl"
10200 // InternalProblem.g:3214:1: rule__Assertion__Group_0_0__0__Impl : ( ( rule__Assertion__RelationAssignment_0_0_0 ) ) ;
10201 public final void rule__Assertion__Group_0_0__0__Impl() throws RecognitionException {
10202
10203 int stackSize = keepStackSize();
10204
10205 try {
10206 // InternalProblem.g:3218:1: ( ( ( rule__Assertion__RelationAssignment_0_0_0 ) ) )
10207 // InternalProblem.g:3219:1: ( ( rule__Assertion__RelationAssignment_0_0_0 ) )
10208 {
10209 // InternalProblem.g:3219:1: ( ( rule__Assertion__RelationAssignment_0_0_0 ) )
10210 // InternalProblem.g:3220:2: ( rule__Assertion__RelationAssignment_0_0_0 )
10211 {
10212 before(grammarAccess.getAssertionAccess().getRelationAssignment_0_0_0());
10213 // InternalProblem.g:3221:2: ( rule__Assertion__RelationAssignment_0_0_0 )
10214 // InternalProblem.g:3221:3: rule__Assertion__RelationAssignment_0_0_0
10215 {
10216 pushFollow(FOLLOW_2);
10217 rule__Assertion__RelationAssignment_0_0_0();
10218
10219 state._fsp--;
10220
10221
10222 }
10223
10224 after(grammarAccess.getAssertionAccess().getRelationAssignment_0_0_0());
10225
10226 }
10227
10228
10229 }
10230
10231 }
10232 catch (RecognitionException re) {
10233 reportError(re);
10234 recover(input,re);
10235 }
10236 finally {
10237
10238 restoreStackSize(stackSize);
10239
10240 }
10241 return ;
10242 }
10243 // $ANTLR end "rule__Assertion__Group_0_0__0__Impl"
10244
10245
10246 // $ANTLR start "rule__Assertion__Group_0_0__1"
10247 // InternalProblem.g:3229:1: rule__Assertion__Group_0_0__1 : rule__Assertion__Group_0_0__1__Impl rule__Assertion__Group_0_0__2 ;
10248 public final void rule__Assertion__Group_0_0__1() throws RecognitionException {
10249
10250 int stackSize = keepStackSize();
10251
10252 try {
10253 // InternalProblem.g:3233:1: ( rule__Assertion__Group_0_0__1__Impl rule__Assertion__Group_0_0__2 )
10254 // InternalProblem.g:3234:2: rule__Assertion__Group_0_0__1__Impl rule__Assertion__Group_0_0__2
10255 {
10256 pushFollow(FOLLOW_23);
10257 rule__Assertion__Group_0_0__1__Impl();
10258
10259 state._fsp--;
10260
10261 pushFollow(FOLLOW_2);
10262 rule__Assertion__Group_0_0__2();
10263
10264 state._fsp--;
10265
10266
10267 }
10268
10269 }
10270 catch (RecognitionException re) {
10271 reportError(re);
10272 recover(input,re);
10273 }
10274 finally {
10275
10276 restoreStackSize(stackSize);
10277
10278 }
10279 return ;
10280 }
10281 // $ANTLR end "rule__Assertion__Group_0_0__1"
10282
10283
10284 // $ANTLR start "rule__Assertion__Group_0_0__1__Impl"
10285 // InternalProblem.g:3241:1: rule__Assertion__Group_0_0__1__Impl : ( '(' ) ;
10286 public final void rule__Assertion__Group_0_0__1__Impl() throws RecognitionException {
10287
10288 int stackSize = keepStackSize();
10289
10290 try {
10291 // InternalProblem.g:3245:1: ( ( '(' ) )
10292 // InternalProblem.g:3246:1: ( '(' )
10293 {
10294 // InternalProblem.g:3246:1: ( '(' )
10295 // InternalProblem.g:3247:2: '('
10296 {
10297 before(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1());
10298 match(input,33,FOLLOW_2);
10299 after(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1());
10300
10301 }
10302
10303
10304 }
10305
10306 }
10307 catch (RecognitionException re) {
10308 reportError(re);
10309 recover(input,re);
10310 }
10311 finally {
10312
10313 restoreStackSize(stackSize);
10314
10315 }
10316 return ;
10317 }
10318 // $ANTLR end "rule__Assertion__Group_0_0__1__Impl"
10319
10320
10321 // $ANTLR start "rule__Assertion__Group_0_0__2"
10322 // InternalProblem.g:3256:1: rule__Assertion__Group_0_0__2 : rule__Assertion__Group_0_0__2__Impl rule__Assertion__Group_0_0__3 ;
10323 public final void rule__Assertion__Group_0_0__2() throws RecognitionException {
10324
10325 int stackSize = keepStackSize();
10326
10327 try {
10328 // InternalProblem.g:3260:1: ( rule__Assertion__Group_0_0__2__Impl rule__Assertion__Group_0_0__3 )
10329 // InternalProblem.g:3261:2: rule__Assertion__Group_0_0__2__Impl rule__Assertion__Group_0_0__3
10330 {
10331 pushFollow(FOLLOW_23);
10332 rule__Assertion__Group_0_0__2__Impl();
10333
10334 state._fsp--;
10335
10336 pushFollow(FOLLOW_2);
10337 rule__Assertion__Group_0_0__3();
10338
10339 state._fsp--;
10340
10341
10342 }
10343
10344 }
10345 catch (RecognitionException re) {
10346 reportError(re);
10347 recover(input,re);
10348 }
10349 finally {
10350
10351 restoreStackSize(stackSize);
10352
10353 }
10354 return ;
10355 }
10356 // $ANTLR end "rule__Assertion__Group_0_0__2"
10357
10358
10359 // $ANTLR start "rule__Assertion__Group_0_0__2__Impl"
10360 // InternalProblem.g:3268:1: rule__Assertion__Group_0_0__2__Impl : ( ( rule__Assertion__Group_0_0_2__0 )? ) ;
10361 public final void rule__Assertion__Group_0_0__2__Impl() throws RecognitionException {
10362
10363 int stackSize = keepStackSize();
10364
10365 try {
10366 // InternalProblem.g:3272:1: ( ( ( rule__Assertion__Group_0_0_2__0 )? ) )
10367 // InternalProblem.g:3273:1: ( ( rule__Assertion__Group_0_0_2__0 )? )
10368 {
10369 // InternalProblem.g:3273:1: ( ( rule__Assertion__Group_0_0_2__0 )? )
10370 // InternalProblem.g:3274:2: ( rule__Assertion__Group_0_0_2__0 )?
10371 {
10372 before(grammarAccess.getAssertionAccess().getGroup_0_0_2());
10373 // InternalProblem.g:3275:2: ( rule__Assertion__Group_0_0_2__0 )?
10374 int alt41=2;
10375 int LA41_0 = input.LA(1);
10376
10377 if ( ((LA41_0>=RULE_QUOTED_ID && LA41_0<=RULE_ID)||(LA41_0>=19 && LA41_0<=20)) ) {
10378 alt41=1;
10379 }
10380 switch (alt41) {
10381 case 1 :
10382 // InternalProblem.g:3275:3: rule__Assertion__Group_0_0_2__0
10383 {
10384 pushFollow(FOLLOW_2);
10385 rule__Assertion__Group_0_0_2__0();
10386
10387 state._fsp--;
10388
10389
10390 }
10391 break;
10392
10393 }
10394
10395 after(grammarAccess.getAssertionAccess().getGroup_0_0_2());
10396
10397 }
10398
10399
10400 }
10401
10402 }
10403 catch (RecognitionException re) {
10404 reportError(re);
10405 recover(input,re);
10406 }
10407 finally {
10408
10409 restoreStackSize(stackSize);
10410
10411 }
10412 return ;
10413 }
10414 // $ANTLR end "rule__Assertion__Group_0_0__2__Impl"
10415
10416
10417 // $ANTLR start "rule__Assertion__Group_0_0__3"
10418 // InternalProblem.g:3283:1: rule__Assertion__Group_0_0__3 : rule__Assertion__Group_0_0__3__Impl rule__Assertion__Group_0_0__4 ;
10419 public final void rule__Assertion__Group_0_0__3() throws RecognitionException {
10420
10421 int stackSize = keepStackSize();
10422
10423 try {
10424 // InternalProblem.g:3287:1: ( rule__Assertion__Group_0_0__3__Impl rule__Assertion__Group_0_0__4 )
10425 // InternalProblem.g:3288:2: rule__Assertion__Group_0_0__3__Impl rule__Assertion__Group_0_0__4
10426 {
10427 pushFollow(FOLLOW_29);
10428 rule__Assertion__Group_0_0__3__Impl();
10429
10430 state._fsp--;
10431
10432 pushFollow(FOLLOW_2);
10433 rule__Assertion__Group_0_0__4();
10434
10435 state._fsp--;
10436
10437
10438 }
10439
10440 }
10441 catch (RecognitionException re) {
10442 reportError(re);
10443 recover(input,re);
10444 }
10445 finally {
10446
10447 restoreStackSize(stackSize);
10448
10449 }
10450 return ;
10451 }
10452 // $ANTLR end "rule__Assertion__Group_0_0__3"
10453
10454
10455 // $ANTLR start "rule__Assertion__Group_0_0__3__Impl"
10456 // InternalProblem.g:3295:1: rule__Assertion__Group_0_0__3__Impl : ( ')' ) ;
10457 public final void rule__Assertion__Group_0_0__3__Impl() throws RecognitionException {
10458
10459 int stackSize = keepStackSize();
10460
10461 try {
10462 // InternalProblem.g:3299:1: ( ( ')' ) )
10463 // InternalProblem.g:3300:1: ( ')' )
10464 {
10465 // InternalProblem.g:3300:1: ( ')' )
10466 // InternalProblem.g:3301:2: ')'
10467 {
10468 before(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3());
10469 match(input,34,FOLLOW_2);
10470 after(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3());
10471
10472 }
10473
10474
10475 }
10476
10477 }
10478 catch (RecognitionException re) {
10479 reportError(re);
10480 recover(input,re);
10481 }
10482 finally {
10483
10484 restoreStackSize(stackSize);
10485
10486 }
10487 return ;
10488 }
10489 // $ANTLR end "rule__Assertion__Group_0_0__3__Impl"
10490
10491
10492 // $ANTLR start "rule__Assertion__Group_0_0__4"
10493 // InternalProblem.g:3310:1: rule__Assertion__Group_0_0__4 : rule__Assertion__Group_0_0__4__Impl rule__Assertion__Group_0_0__5 ;
10494 public final void rule__Assertion__Group_0_0__4() throws RecognitionException {
10495
10496 int stackSize = keepStackSize();
10497
10498 try {
10499 // InternalProblem.g:3314:1: ( rule__Assertion__Group_0_0__4__Impl rule__Assertion__Group_0_0__5 )
10500 // InternalProblem.g:3315:2: rule__Assertion__Group_0_0__4__Impl rule__Assertion__Group_0_0__5
10501 {
10502 pushFollow(FOLLOW_30);
10503 rule__Assertion__Group_0_0__4__Impl();
10504
10505 state._fsp--;
10506
10507 pushFollow(FOLLOW_2);
10508 rule__Assertion__Group_0_0__5();
10509
10510 state._fsp--;
10511
10512
10513 }
10514
10515 }
10516 catch (RecognitionException re) {
10517 reportError(re);
10518 recover(input,re);
10519 }
10520 finally {
10521
10522 restoreStackSize(stackSize);
10523
10524 }
10525 return ;
10526 }
10527 // $ANTLR end "rule__Assertion__Group_0_0__4"
10528
10529
10530 // $ANTLR start "rule__Assertion__Group_0_0__4__Impl"
10531 // InternalProblem.g:3322:1: rule__Assertion__Group_0_0__4__Impl : ( ':' ) ;
10532 public final void rule__Assertion__Group_0_0__4__Impl() throws RecognitionException {
10533
10534 int stackSize = keepStackSize();
10535
10536 try {
10537 // InternalProblem.g:3326:1: ( ( ':' ) )
10538 // InternalProblem.g:3327:1: ( ':' )
10539 {
10540 // InternalProblem.g:3327:1: ( ':' )
10541 // InternalProblem.g:3328:2: ':'
10542 {
10543 before(grammarAccess.getAssertionAccess().getColonKeyword_0_0_4());
10544 match(input,36,FOLLOW_2);
10545 after(grammarAccess.getAssertionAccess().getColonKeyword_0_0_4());
10546
10547 }
10548
10549
10550 }
10551
10552 }
10553 catch (RecognitionException re) {
10554 reportError(re);
10555 recover(input,re);
10556 }
10557 finally {
10558
10559 restoreStackSize(stackSize);
10560
10561 }
10562 return ;
10563 }
10564 // $ANTLR end "rule__Assertion__Group_0_0__4__Impl"
10565
10566
10567 // $ANTLR start "rule__Assertion__Group_0_0__5"
10568 // InternalProblem.g:3337:1: rule__Assertion__Group_0_0__5 : rule__Assertion__Group_0_0__5__Impl ;
10569 public final void rule__Assertion__Group_0_0__5() throws RecognitionException {
10570
10571 int stackSize = keepStackSize();
10572
10573 try {
10574 // InternalProblem.g:3341:1: ( rule__Assertion__Group_0_0__5__Impl )
10575 // InternalProblem.g:3342:2: rule__Assertion__Group_0_0__5__Impl
10576 {
10577 pushFollow(FOLLOW_2);
10578 rule__Assertion__Group_0_0__5__Impl();
10579
10580 state._fsp--;
10581
10582
10583 }
10584
10585 }
10586 catch (RecognitionException re) {
10587 reportError(re);
10588 recover(input,re);
10589 }
10590 finally {
10591
10592 restoreStackSize(stackSize);
10593
10594 }
10595 return ;
10596 }
10597 // $ANTLR end "rule__Assertion__Group_0_0__5"
10598
10599
10600 // $ANTLR start "rule__Assertion__Group_0_0__5__Impl"
10601 // InternalProblem.g:3348:1: rule__Assertion__Group_0_0__5__Impl : ( ( rule__Assertion__ValueAssignment_0_0_5 ) ) ;
10602 public final void rule__Assertion__Group_0_0__5__Impl() throws RecognitionException {
10603
10604 int stackSize = keepStackSize();
10605
10606 try {
10607 // InternalProblem.g:3352:1: ( ( ( rule__Assertion__ValueAssignment_0_0_5 ) ) )
10608 // InternalProblem.g:3353:1: ( ( rule__Assertion__ValueAssignment_0_0_5 ) )
10609 {
10610 // InternalProblem.g:3353:1: ( ( rule__Assertion__ValueAssignment_0_0_5 ) )
10611 // InternalProblem.g:3354:2: ( rule__Assertion__ValueAssignment_0_0_5 )
10612 {
10613 before(grammarAccess.getAssertionAccess().getValueAssignment_0_0_5());
10614 // InternalProblem.g:3355:2: ( rule__Assertion__ValueAssignment_0_0_5 )
10615 // InternalProblem.g:3355:3: rule__Assertion__ValueAssignment_0_0_5
10616 {
10617 pushFollow(FOLLOW_2);
10618 rule__Assertion__ValueAssignment_0_0_5();
10619
10620 state._fsp--;
10621
10622
10623 }
10624
10625 after(grammarAccess.getAssertionAccess().getValueAssignment_0_0_5());
10626
10627 }
10628
10629
10630 }
10631
10632 }
10633 catch (RecognitionException re) {
10634 reportError(re);
10635 recover(input,re);
10636 }
10637 finally {
10638
10639 restoreStackSize(stackSize);
10640
10641 }
10642 return ;
10643 }
10644 // $ANTLR end "rule__Assertion__Group_0_0__5__Impl"
10645
10646
10647 // $ANTLR start "rule__Assertion__Group_0_0_2__0"
10648 // InternalProblem.g:3364:1: rule__Assertion__Group_0_0_2__0 : rule__Assertion__Group_0_0_2__0__Impl rule__Assertion__Group_0_0_2__1 ;
10649 public final void rule__Assertion__Group_0_0_2__0() throws RecognitionException {
10650
10651 int stackSize = keepStackSize();
10652
10653 try {
10654 // InternalProblem.g:3368:1: ( rule__Assertion__Group_0_0_2__0__Impl rule__Assertion__Group_0_0_2__1 )
10655 // InternalProblem.g:3369:2: rule__Assertion__Group_0_0_2__0__Impl rule__Assertion__Group_0_0_2__1
10656 {
10657 pushFollow(FOLLOW_9);
10658 rule__Assertion__Group_0_0_2__0__Impl();
10659
10660 state._fsp--;
10661
10662 pushFollow(FOLLOW_2);
10663 rule__Assertion__Group_0_0_2__1();
10664
10665 state._fsp--;
10666
10667
10668 }
10669
10670 }
10671 catch (RecognitionException re) {
10672 reportError(re);
10673 recover(input,re);
10674 }
10675 finally {
10676
10677 restoreStackSize(stackSize);
10678
10679 }
10680 return ;
10681 }
10682 // $ANTLR end "rule__Assertion__Group_0_0_2__0"
10683
10684
10685 // $ANTLR start "rule__Assertion__Group_0_0_2__0__Impl"
10686 // InternalProblem.g:3376:1: rule__Assertion__Group_0_0_2__0__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) ) ;
10687 public final void rule__Assertion__Group_0_0_2__0__Impl() throws RecognitionException {
10688
10689 int stackSize = keepStackSize();
10690
10691 try {
10692 // InternalProblem.g:3380:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) ) )
10693 // InternalProblem.g:3381:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) )
10694 {
10695 // InternalProblem.g:3381:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) )
10696 // InternalProblem.g:3382:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_0 )
10697 {
10698 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_0());
10699 // InternalProblem.g:3383:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_0 )
10700 // InternalProblem.g:3383:3: rule__Assertion__ArgumentsAssignment_0_0_2_0
10701 {
10702 pushFollow(FOLLOW_2);
10703 rule__Assertion__ArgumentsAssignment_0_0_2_0();
10704
10705 state._fsp--;
10706
10707
10708 }
10709
10710 after(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_0());
10711
10712 }
10713
10714
10715 }
10716
10717 }
10718 catch (RecognitionException re) {
10719 reportError(re);
10720 recover(input,re);
10721 }
10722 finally {
10723
10724 restoreStackSize(stackSize);
10725
10726 }
10727 return ;
10728 }
10729 // $ANTLR end "rule__Assertion__Group_0_0_2__0__Impl"
10730
10731
10732 // $ANTLR start "rule__Assertion__Group_0_0_2__1"
10733 // InternalProblem.g:3391:1: rule__Assertion__Group_0_0_2__1 : rule__Assertion__Group_0_0_2__1__Impl ;
10734 public final void rule__Assertion__Group_0_0_2__1() throws RecognitionException {
10735
10736 int stackSize = keepStackSize();
10737
10738 try {
10739 // InternalProblem.g:3395:1: ( rule__Assertion__Group_0_0_2__1__Impl )
10740 // InternalProblem.g:3396:2: rule__Assertion__Group_0_0_2__1__Impl
10741 {
10742 pushFollow(FOLLOW_2);
10743 rule__Assertion__Group_0_0_2__1__Impl();
10744
10745 state._fsp--;
10746
10747
10748 }
10749
10750 }
10751 catch (RecognitionException re) {
10752 reportError(re);
10753 recover(input,re);
10754 }
10755 finally {
10756
10757 restoreStackSize(stackSize);
10758
10759 }
10760 return ;
10761 }
10762 // $ANTLR end "rule__Assertion__Group_0_0_2__1"
10763
10764
10765 // $ANTLR start "rule__Assertion__Group_0_0_2__1__Impl"
10766 // InternalProblem.g:3402:1: rule__Assertion__Group_0_0_2__1__Impl : ( ( rule__Assertion__Group_0_0_2_1__0 )* ) ;
10767 public final void rule__Assertion__Group_0_0_2__1__Impl() throws RecognitionException {
10768
10769 int stackSize = keepStackSize();
10770
10771 try {
10772 // InternalProblem.g:3406:1: ( ( ( rule__Assertion__Group_0_0_2_1__0 )* ) )
10773 // InternalProblem.g:3407:1: ( ( rule__Assertion__Group_0_0_2_1__0 )* )
10774 {
10775 // InternalProblem.g:3407:1: ( ( rule__Assertion__Group_0_0_2_1__0 )* )
10776 // InternalProblem.g:3408:2: ( rule__Assertion__Group_0_0_2_1__0 )*
10777 {
10778 before(grammarAccess.getAssertionAccess().getGroup_0_0_2_1());
10779 // InternalProblem.g:3409:2: ( rule__Assertion__Group_0_0_2_1__0 )*
10780 loop42:
10781 do {
10782 int alt42=2;
10783 int LA42_0 = input.LA(1);
10784
10785 if ( (LA42_0==13) ) {
10786 alt42=1;
10787 }
10788
10789
10790 switch (alt42) {
10791 case 1 :
10792 // InternalProblem.g:3409:3: rule__Assertion__Group_0_0_2_1__0
10793 {
10794 pushFollow(FOLLOW_10);
10795 rule__Assertion__Group_0_0_2_1__0();
10796
10797 state._fsp--;
10798
10799
10800 }
10801 break;
10802
10803 default :
10804 break loop42;
10805 }
10806 } while (true);
10807
10808 after(grammarAccess.getAssertionAccess().getGroup_0_0_2_1());
10809
10810 }
10811
10812
10813 }
10814
10815 }
10816 catch (RecognitionException re) {
10817 reportError(re);
10818 recover(input,re);
10819 }
10820 finally {
10821
10822 restoreStackSize(stackSize);
10823
10824 }
10825 return ;
10826 }
10827 // $ANTLR end "rule__Assertion__Group_0_0_2__1__Impl"
10828
10829
10830 // $ANTLR start "rule__Assertion__Group_0_0_2_1__0"
10831 // InternalProblem.g:3418:1: rule__Assertion__Group_0_0_2_1__0 : rule__Assertion__Group_0_0_2_1__0__Impl rule__Assertion__Group_0_0_2_1__1 ;
10832 public final void rule__Assertion__Group_0_0_2_1__0() throws RecognitionException {
10833
10834 int stackSize = keepStackSize();
10835
10836 try {
10837 // InternalProblem.g:3422:1: ( rule__Assertion__Group_0_0_2_1__0__Impl rule__Assertion__Group_0_0_2_1__1 )
10838 // InternalProblem.g:3423:2: rule__Assertion__Group_0_0_2_1__0__Impl rule__Assertion__Group_0_0_2_1__1
10839 {
10840 pushFollow(FOLLOW_5);
10841 rule__Assertion__Group_0_0_2_1__0__Impl();
10842
10843 state._fsp--;
10844
10845 pushFollow(FOLLOW_2);
10846 rule__Assertion__Group_0_0_2_1__1();
10847
10848 state._fsp--;
10849
10850
10851 }
10852
10853 }
10854 catch (RecognitionException re) {
10855 reportError(re);
10856 recover(input,re);
10857 }
10858 finally {
10859
10860 restoreStackSize(stackSize);
10861
10862 }
10863 return ;
10864 }
10865 // $ANTLR end "rule__Assertion__Group_0_0_2_1__0"
10866
10867
10868 // $ANTLR start "rule__Assertion__Group_0_0_2_1__0__Impl"
10869 // InternalProblem.g:3430:1: rule__Assertion__Group_0_0_2_1__0__Impl : ( ',' ) ;
10870 public final void rule__Assertion__Group_0_0_2_1__0__Impl() throws RecognitionException {
10871
10872 int stackSize = keepStackSize();
10873
10874 try {
10875 // InternalProblem.g:3434:1: ( ( ',' ) )
10876 // InternalProblem.g:3435:1: ( ',' )
10877 {
10878 // InternalProblem.g:3435:1: ( ',' )
10879 // InternalProblem.g:3436:2: ','
10880 {
10881 before(grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0());
10882 match(input,13,FOLLOW_2);
10883 after(grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0());
10884
10885 }
10886
10887
10888 }
10889
10890 }
10891 catch (RecognitionException re) {
10892 reportError(re);
10893 recover(input,re);
10894 }
10895 finally {
10896
10897 restoreStackSize(stackSize);
10898
10899 }
10900 return ;
10901 }
10902 // $ANTLR end "rule__Assertion__Group_0_0_2_1__0__Impl"
10903
10904
10905 // $ANTLR start "rule__Assertion__Group_0_0_2_1__1"
10906 // InternalProblem.g:3445:1: rule__Assertion__Group_0_0_2_1__1 : rule__Assertion__Group_0_0_2_1__1__Impl ;
10907 public final void rule__Assertion__Group_0_0_2_1__1() throws RecognitionException {
10908
10909 int stackSize = keepStackSize();
10910
10911 try {
10912 // InternalProblem.g:3449:1: ( rule__Assertion__Group_0_0_2_1__1__Impl )
10913 // InternalProblem.g:3450:2: rule__Assertion__Group_0_0_2_1__1__Impl
10914 {
10915 pushFollow(FOLLOW_2);
10916 rule__Assertion__Group_0_0_2_1__1__Impl();
10917
10918 state._fsp--;
10919
10920
10921 }
10922
10923 }
10924 catch (RecognitionException re) {
10925 reportError(re);
10926 recover(input,re);
10927 }
10928 finally {
10929
10930 restoreStackSize(stackSize);
10931
10932 }
10933 return ;
10934 }
10935 // $ANTLR end "rule__Assertion__Group_0_0_2_1__1"
10936
10937
10938 // $ANTLR start "rule__Assertion__Group_0_0_2_1__1__Impl"
10939 // InternalProblem.g:3456:1: rule__Assertion__Group_0_0_2_1__1__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) ) ;
10940 public final void rule__Assertion__Group_0_0_2_1__1__Impl() throws RecognitionException {
10941
10942 int stackSize = keepStackSize();
10943
10944 try {
10945 // InternalProblem.g:3460:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) ) )
10946 // InternalProblem.g:3461:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) )
10947 {
10948 // InternalProblem.g:3461:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) )
10949 // InternalProblem.g:3462:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 )
10950 {
10951 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_1_1());
10952 // InternalProblem.g:3463:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 )
10953 // InternalProblem.g:3463:3: rule__Assertion__ArgumentsAssignment_0_0_2_1_1
10954 {
10955 pushFollow(FOLLOW_2);
10956 rule__Assertion__ArgumentsAssignment_0_0_2_1_1();
10957
10958 state._fsp--;
10959
10960
10961 }
10962
10963 after(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_1_1());
10964
10965 }
10966
10967
10968 }
10969
10970 }
10971 catch (RecognitionException re) {
10972 reportError(re);
10973 recover(input,re);
10974 }
10975 finally {
10976
10977 restoreStackSize(stackSize);
10978
10979 }
10980 return ;
10981 }
10982 // $ANTLR end "rule__Assertion__Group_0_0_2_1__1__Impl"
10983
10984
10985 // $ANTLR start "rule__Assertion__Group_0_1__0"
10986 // InternalProblem.g:3472:1: rule__Assertion__Group_0_1__0 : rule__Assertion__Group_0_1__0__Impl rule__Assertion__Group_0_1__1 ;
10987 public final void rule__Assertion__Group_0_1__0() throws RecognitionException {
10988
10989 int stackSize = keepStackSize();
10990
10991 try {
10992 // InternalProblem.g:3476:1: ( rule__Assertion__Group_0_1__0__Impl rule__Assertion__Group_0_1__1 )
10993 // InternalProblem.g:3477:2: rule__Assertion__Group_0_1__0__Impl rule__Assertion__Group_0_1__1
10994 {
10995 pushFollow(FOLLOW_31);
10996 rule__Assertion__Group_0_1__0__Impl();
10997
10998 state._fsp--;
10999
11000 pushFollow(FOLLOW_2);
11001 rule__Assertion__Group_0_1__1();
11002
11003 state._fsp--;
11004
11005
11006 }
11007
11008 }
11009 catch (RecognitionException re) {
11010 reportError(re);
11011 recover(input,re);
11012 }
11013 finally {
11014
11015 restoreStackSize(stackSize);
11016
11017 }
11018 return ;
11019 }
11020 // $ANTLR end "rule__Assertion__Group_0_1__0"
11021
11022
11023 // $ANTLR start "rule__Assertion__Group_0_1__0__Impl"
11024 // InternalProblem.g:3484:1: rule__Assertion__Group_0_1__0__Impl : ( ( rule__Assertion__ValueAssignment_0_1_0 )? ) ;
11025 public final void rule__Assertion__Group_0_1__0__Impl() throws RecognitionException {
11026
11027 int stackSize = keepStackSize();
11028
11029 try {
11030 // InternalProblem.g:3488:1: ( ( ( rule__Assertion__ValueAssignment_0_1_0 )? ) )
11031 // InternalProblem.g:3489:1: ( ( rule__Assertion__ValueAssignment_0_1_0 )? )
11032 {
11033 // InternalProblem.g:3489:1: ( ( rule__Assertion__ValueAssignment_0_1_0 )? )
11034 // InternalProblem.g:3490:2: ( rule__Assertion__ValueAssignment_0_1_0 )?
11035 {
11036 before(grammarAccess.getAssertionAccess().getValueAssignment_0_1_0());
11037 // InternalProblem.g:3491:2: ( rule__Assertion__ValueAssignment_0_1_0 )?
11038 int alt43=2;
11039 int LA43_0 = input.LA(1);
11040
11041 if ( ((LA43_0>=22 && LA43_0<=23)) ) {
11042 alt43=1;
11043 }
11044 switch (alt43) {
11045 case 1 :
11046 // InternalProblem.g:3491:3: rule__Assertion__ValueAssignment_0_1_0
11047 {
11048 pushFollow(FOLLOW_2);
11049 rule__Assertion__ValueAssignment_0_1_0();
11050
11051 state._fsp--;
11052
11053
11054 }
11055 break;
11056
11057 }
11058
11059 after(grammarAccess.getAssertionAccess().getValueAssignment_0_1_0());
11060
11061 }
11062
11063
11064 }
11065
11066 }
11067 catch (RecognitionException re) {
11068 reportError(re);
11069 recover(input,re);
11070 }
11071 finally {
11072
11073 restoreStackSize(stackSize);
11074
11075 }
11076 return ;
11077 }
11078 // $ANTLR end "rule__Assertion__Group_0_1__0__Impl"
11079
11080
11081 // $ANTLR start "rule__Assertion__Group_0_1__1"
11082 // InternalProblem.g:3499:1: rule__Assertion__Group_0_1__1 : rule__Assertion__Group_0_1__1__Impl rule__Assertion__Group_0_1__2 ;
11083 public final void rule__Assertion__Group_0_1__1() throws RecognitionException {
11084
11085 int stackSize = keepStackSize();
11086
11087 try {
11088 // InternalProblem.g:3503:1: ( rule__Assertion__Group_0_1__1__Impl rule__Assertion__Group_0_1__2 )
11089 // InternalProblem.g:3504:2: rule__Assertion__Group_0_1__1__Impl rule__Assertion__Group_0_1__2
11090 {
11091 pushFollow(FOLLOW_22);
11092 rule__Assertion__Group_0_1__1__Impl();
11093
11094 state._fsp--;
11095
11096 pushFollow(FOLLOW_2);
11097 rule__Assertion__Group_0_1__2();
11098
11099 state._fsp--;
11100
11101
11102 }
11103
11104 }
11105 catch (RecognitionException re) {
11106 reportError(re);
11107 recover(input,re);
11108 }
11109 finally {
11110
11111 restoreStackSize(stackSize);
11112
11113 }
11114 return ;
11115 }
11116 // $ANTLR end "rule__Assertion__Group_0_1__1"
11117
11118
11119 // $ANTLR start "rule__Assertion__Group_0_1__1__Impl"
11120 // InternalProblem.g:3511:1: rule__Assertion__Group_0_1__1__Impl : ( ( rule__Assertion__RelationAssignment_0_1_1 ) ) ;
11121 public final void rule__Assertion__Group_0_1__1__Impl() throws RecognitionException {
11122
11123 int stackSize = keepStackSize();
11124
11125 try {
11126 // InternalProblem.g:3515:1: ( ( ( rule__Assertion__RelationAssignment_0_1_1 ) ) )
11127 // InternalProblem.g:3516:1: ( ( rule__Assertion__RelationAssignment_0_1_1 ) )
11128 {
11129 // InternalProblem.g:3516:1: ( ( rule__Assertion__RelationAssignment_0_1_1 ) )
11130 // InternalProblem.g:3517:2: ( rule__Assertion__RelationAssignment_0_1_1 )
11131 {
11132 before(grammarAccess.getAssertionAccess().getRelationAssignment_0_1_1());
11133 // InternalProblem.g:3518:2: ( rule__Assertion__RelationAssignment_0_1_1 )
11134 // InternalProblem.g:3518:3: rule__Assertion__RelationAssignment_0_1_1
11135 {
11136 pushFollow(FOLLOW_2);
11137 rule__Assertion__RelationAssignment_0_1_1();
11138
11139 state._fsp--;
11140
11141
11142 }
11143
11144 after(grammarAccess.getAssertionAccess().getRelationAssignment_0_1_1());
11145
11146 }
11147
11148
11149 }
11150
11151 }
11152 catch (RecognitionException re) {
11153 reportError(re);
11154 recover(input,re);
11155 }
11156 finally {
11157
11158 restoreStackSize(stackSize);
11159
11160 }
11161 return ;
11162 }
11163 // $ANTLR end "rule__Assertion__Group_0_1__1__Impl"
11164
11165
11166 // $ANTLR start "rule__Assertion__Group_0_1__2"
11167 // InternalProblem.g:3526:1: rule__Assertion__Group_0_1__2 : rule__Assertion__Group_0_1__2__Impl rule__Assertion__Group_0_1__3 ;
11168 public final void rule__Assertion__Group_0_1__2() throws RecognitionException {
11169
11170 int stackSize = keepStackSize();
11171
11172 try {
11173 // InternalProblem.g:3530:1: ( rule__Assertion__Group_0_1__2__Impl rule__Assertion__Group_0_1__3 )
11174 // InternalProblem.g:3531:2: rule__Assertion__Group_0_1__2__Impl rule__Assertion__Group_0_1__3
11175 {
11176 pushFollow(FOLLOW_23);
11177 rule__Assertion__Group_0_1__2__Impl();
11178
11179 state._fsp--;
11180
11181 pushFollow(FOLLOW_2);
11182 rule__Assertion__Group_0_1__3();
11183
11184 state._fsp--;
11185
11186
11187 }
11188
11189 }
11190 catch (RecognitionException re) {
11191 reportError(re);
11192 recover(input,re);
11193 }
11194 finally {
11195
11196 restoreStackSize(stackSize);
11197
11198 }
11199 return ;
11200 }
11201 // $ANTLR end "rule__Assertion__Group_0_1__2"
11202
11203
11204 // $ANTLR start "rule__Assertion__Group_0_1__2__Impl"
11205 // InternalProblem.g:3538:1: rule__Assertion__Group_0_1__2__Impl : ( '(' ) ;
11206 public final void rule__Assertion__Group_0_1__2__Impl() throws RecognitionException {
11207
11208 int stackSize = keepStackSize();
11209
11210 try {
11211 // InternalProblem.g:3542:1: ( ( '(' ) )
11212 // InternalProblem.g:3543:1: ( '(' )
11213 {
11214 // InternalProblem.g:3543:1: ( '(' )
11215 // InternalProblem.g:3544:2: '('
11216 {
11217 before(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2());
11218 match(input,33,FOLLOW_2);
11219 after(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2());
11220
11221 }
11222
11223
11224 }
11225
11226 }
11227 catch (RecognitionException re) {
11228 reportError(re);
11229 recover(input,re);
11230 }
11231 finally {
11232
11233 restoreStackSize(stackSize);
11234
11235 }
11236 return ;
11237 }
11238 // $ANTLR end "rule__Assertion__Group_0_1__2__Impl"
11239
11240
11241 // $ANTLR start "rule__Assertion__Group_0_1__3"
11242 // InternalProblem.g:3553:1: rule__Assertion__Group_0_1__3 : rule__Assertion__Group_0_1__3__Impl rule__Assertion__Group_0_1__4 ;
11243 public final void rule__Assertion__Group_0_1__3() throws RecognitionException {
11244
11245 int stackSize = keepStackSize();
11246
11247 try {
11248 // InternalProblem.g:3557:1: ( rule__Assertion__Group_0_1__3__Impl rule__Assertion__Group_0_1__4 )
11249 // InternalProblem.g:3558:2: rule__Assertion__Group_0_1__3__Impl rule__Assertion__Group_0_1__4
11250 {
11251 pushFollow(FOLLOW_23);
11252 rule__Assertion__Group_0_1__3__Impl();
11253
11254 state._fsp--;
11255
11256 pushFollow(FOLLOW_2);
11257 rule__Assertion__Group_0_1__4();
11258
11259 state._fsp--;
11260
11261
11262 }
11263
11264 }
11265 catch (RecognitionException re) {
11266 reportError(re);
11267 recover(input,re);
11268 }
11269 finally {
11270
11271 restoreStackSize(stackSize);
11272
11273 }
11274 return ;
11275 }
11276 // $ANTLR end "rule__Assertion__Group_0_1__3"
11277
11278
11279 // $ANTLR start "rule__Assertion__Group_0_1__3__Impl"
11280 // InternalProblem.g:3565:1: rule__Assertion__Group_0_1__3__Impl : ( ( rule__Assertion__Group_0_1_3__0 )? ) ;
11281 public final void rule__Assertion__Group_0_1__3__Impl() throws RecognitionException {
11282
11283 int stackSize = keepStackSize();
11284
11285 try {
11286 // InternalProblem.g:3569:1: ( ( ( rule__Assertion__Group_0_1_3__0 )? ) )
11287 // InternalProblem.g:3570:1: ( ( rule__Assertion__Group_0_1_3__0 )? )
11288 {
11289 // InternalProblem.g:3570:1: ( ( rule__Assertion__Group_0_1_3__0 )? )
11290 // InternalProblem.g:3571:2: ( rule__Assertion__Group_0_1_3__0 )?
11291 {
11292 before(grammarAccess.getAssertionAccess().getGroup_0_1_3());
11293 // InternalProblem.g:3572:2: ( rule__Assertion__Group_0_1_3__0 )?
11294 int alt44=2;
11295 int LA44_0 = input.LA(1);
11296
11297 if ( ((LA44_0>=RULE_QUOTED_ID && LA44_0<=RULE_ID)||(LA44_0>=19 && LA44_0<=20)) ) {
11298 alt44=1;
11299 }
11300 switch (alt44) {
11301 case 1 :
11302 // InternalProblem.g:3572:3: rule__Assertion__Group_0_1_3__0
11303 {
11304 pushFollow(FOLLOW_2);
11305 rule__Assertion__Group_0_1_3__0();
11306
11307 state._fsp--;
11308
11309
11310 }
11311 break;
11312
11313 }
11314
11315 after(grammarAccess.getAssertionAccess().getGroup_0_1_3());
11316
11317 }
11318
11319
11320 }
11321
11322 }
11323 catch (RecognitionException re) {
11324 reportError(re);
11325 recover(input,re);
11326 }
11327 finally {
11328
11329 restoreStackSize(stackSize);
11330
11331 }
11332 return ;
11333 }
11334 // $ANTLR end "rule__Assertion__Group_0_1__3__Impl"
11335
11336
11337 // $ANTLR start "rule__Assertion__Group_0_1__4"
11338 // InternalProblem.g:3580:1: rule__Assertion__Group_0_1__4 : rule__Assertion__Group_0_1__4__Impl ;
11339 public final void rule__Assertion__Group_0_1__4() throws RecognitionException {
11340
11341 int stackSize = keepStackSize();
11342
11343 try {
11344 // InternalProblem.g:3584:1: ( rule__Assertion__Group_0_1__4__Impl )
11345 // InternalProblem.g:3585:2: rule__Assertion__Group_0_1__4__Impl
11346 {
11347 pushFollow(FOLLOW_2);
11348 rule__Assertion__Group_0_1__4__Impl();
11349
11350 state._fsp--;
11351
11352
11353 }
11354
11355 }
11356 catch (RecognitionException re) {
11357 reportError(re);
11358 recover(input,re);
11359 }
11360 finally {
11361
11362 restoreStackSize(stackSize);
11363
11364 }
11365 return ;
11366 }
11367 // $ANTLR end "rule__Assertion__Group_0_1__4"
11368
11369
11370 // $ANTLR start "rule__Assertion__Group_0_1__4__Impl"
11371 // InternalProblem.g:3591:1: rule__Assertion__Group_0_1__4__Impl : ( ')' ) ;
11372 public final void rule__Assertion__Group_0_1__4__Impl() throws RecognitionException {
11373
11374 int stackSize = keepStackSize();
11375
11376 try {
11377 // InternalProblem.g:3595:1: ( ( ')' ) )
11378 // InternalProblem.g:3596:1: ( ')' )
11379 {
11380 // InternalProblem.g:3596:1: ( ')' )
11381 // InternalProblem.g:3597:2: ')'
11382 {
11383 before(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4());
11384 match(input,34,FOLLOW_2);
11385 after(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4());
11386
11387 }
11388
11389
11390 }
11391
11392 }
11393 catch (RecognitionException re) {
11394 reportError(re);
11395 recover(input,re);
11396 }
11397 finally {
11398
11399 restoreStackSize(stackSize);
11400
11401 }
11402 return ;
11403 }
11404 // $ANTLR end "rule__Assertion__Group_0_1__4__Impl"
11405
11406
11407 // $ANTLR start "rule__Assertion__Group_0_1_3__0"
11408 // InternalProblem.g:3607:1: rule__Assertion__Group_0_1_3__0 : rule__Assertion__Group_0_1_3__0__Impl rule__Assertion__Group_0_1_3__1 ;
11409 public final void rule__Assertion__Group_0_1_3__0() throws RecognitionException {
11410
11411 int stackSize = keepStackSize();
11412
11413 try {
11414 // InternalProblem.g:3611:1: ( rule__Assertion__Group_0_1_3__0__Impl rule__Assertion__Group_0_1_3__1 )
11415 // InternalProblem.g:3612:2: rule__Assertion__Group_0_1_3__0__Impl rule__Assertion__Group_0_1_3__1
11416 {
11417 pushFollow(FOLLOW_9);
11418 rule__Assertion__Group_0_1_3__0__Impl();
11419
11420 state._fsp--;
11421
11422 pushFollow(FOLLOW_2);
11423 rule__Assertion__Group_0_1_3__1();
11424
11425 state._fsp--;
11426
11427
11428 }
11429
11430 }
11431 catch (RecognitionException re) {
11432 reportError(re);
11433 recover(input,re);
11434 }
11435 finally {
11436
11437 restoreStackSize(stackSize);
11438
11439 }
11440 return ;
11441 }
11442 // $ANTLR end "rule__Assertion__Group_0_1_3__0"
11443
11444
11445 // $ANTLR start "rule__Assertion__Group_0_1_3__0__Impl"
11446 // InternalProblem.g:3619:1: rule__Assertion__Group_0_1_3__0__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) ) ;
11447 public final void rule__Assertion__Group_0_1_3__0__Impl() throws RecognitionException {
11448
11449 int stackSize = keepStackSize();
11450
11451 try {
11452 // InternalProblem.g:3623:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) ) )
11453 // InternalProblem.g:3624:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) )
11454 {
11455 // InternalProblem.g:3624:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) )
11456 // InternalProblem.g:3625:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_0 )
11457 {
11458 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_0());
11459 // InternalProblem.g:3626:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_0 )
11460 // InternalProblem.g:3626:3: rule__Assertion__ArgumentsAssignment_0_1_3_0
11461 {
11462 pushFollow(FOLLOW_2);
11463 rule__Assertion__ArgumentsAssignment_0_1_3_0();
11464
11465 state._fsp--;
11466
11467
11468 }
11469
11470 after(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_0());
11471
11472 }
11473
11474
11475 }
11476
11477 }
11478 catch (RecognitionException re) {
11479 reportError(re);
11480 recover(input,re);
11481 }
11482 finally {
11483
11484 restoreStackSize(stackSize);
11485
11486 }
11487 return ;
11488 }
11489 // $ANTLR end "rule__Assertion__Group_0_1_3__0__Impl"
11490
11491
11492 // $ANTLR start "rule__Assertion__Group_0_1_3__1"
11493 // InternalProblem.g:3634:1: rule__Assertion__Group_0_1_3__1 : rule__Assertion__Group_0_1_3__1__Impl ;
11494 public final void rule__Assertion__Group_0_1_3__1() throws RecognitionException {
11495
11496 int stackSize = keepStackSize();
11497
11498 try {
11499 // InternalProblem.g:3638:1: ( rule__Assertion__Group_0_1_3__1__Impl )
11500 // InternalProblem.g:3639:2: rule__Assertion__Group_0_1_3__1__Impl
11501 {
11502 pushFollow(FOLLOW_2);
11503 rule__Assertion__Group_0_1_3__1__Impl();
11504
11505 state._fsp--;
11506
11507
11508 }
11509
11510 }
11511 catch (RecognitionException re) {
11512 reportError(re);
11513 recover(input,re);
11514 }
11515 finally {
11516
11517 restoreStackSize(stackSize);
11518
11519 }
11520 return ;
11521 }
11522 // $ANTLR end "rule__Assertion__Group_0_1_3__1"
11523
11524
11525 // $ANTLR start "rule__Assertion__Group_0_1_3__1__Impl"
11526 // InternalProblem.g:3645:1: rule__Assertion__Group_0_1_3__1__Impl : ( ( rule__Assertion__Group_0_1_3_1__0 )* ) ;
11527 public final void rule__Assertion__Group_0_1_3__1__Impl() throws RecognitionException {
11528
11529 int stackSize = keepStackSize();
11530
11531 try {
11532 // InternalProblem.g:3649:1: ( ( ( rule__Assertion__Group_0_1_3_1__0 )* ) )
11533 // InternalProblem.g:3650:1: ( ( rule__Assertion__Group_0_1_3_1__0 )* )
11534 {
11535 // InternalProblem.g:3650:1: ( ( rule__Assertion__Group_0_1_3_1__0 )* )
11536 // InternalProblem.g:3651:2: ( rule__Assertion__Group_0_1_3_1__0 )*
11537 {
11538 before(grammarAccess.getAssertionAccess().getGroup_0_1_3_1());
11539 // InternalProblem.g:3652:2: ( rule__Assertion__Group_0_1_3_1__0 )*
11540 loop45:
11541 do {
11542 int alt45=2;
11543 int LA45_0 = input.LA(1);
11544
11545 if ( (LA45_0==13) ) {
11546 alt45=1;
11547 }
11548
11549
11550 switch (alt45) {
11551 case 1 :
11552 // InternalProblem.g:3652:3: rule__Assertion__Group_0_1_3_1__0
11553 {
11554 pushFollow(FOLLOW_10);
11555 rule__Assertion__Group_0_1_3_1__0();
11556
11557 state._fsp--;
11558
11559
11560 }
11561 break;
11562
11563 default :
11564 break loop45;
11565 }
11566 } while (true);
11567
11568 after(grammarAccess.getAssertionAccess().getGroup_0_1_3_1());
11569
11570 }
11571
11572
11573 }
11574
11575 }
11576 catch (RecognitionException re) {
11577 reportError(re);
11578 recover(input,re);
11579 }
11580 finally {
11581
11582 restoreStackSize(stackSize);
11583
11584 }
11585 return ;
11586 }
11587 // $ANTLR end "rule__Assertion__Group_0_1_3__1__Impl"
11588
11589
11590 // $ANTLR start "rule__Assertion__Group_0_1_3_1__0"
11591 // InternalProblem.g:3661:1: rule__Assertion__Group_0_1_3_1__0 : rule__Assertion__Group_0_1_3_1__0__Impl rule__Assertion__Group_0_1_3_1__1 ;
11592 public final void rule__Assertion__Group_0_1_3_1__0() throws RecognitionException {
11593
11594 int stackSize = keepStackSize();
11595
11596 try {
11597 // InternalProblem.g:3665:1: ( rule__Assertion__Group_0_1_3_1__0__Impl rule__Assertion__Group_0_1_3_1__1 )
11598 // InternalProblem.g:3666:2: rule__Assertion__Group_0_1_3_1__0__Impl rule__Assertion__Group_0_1_3_1__1
11599 {
11600 pushFollow(FOLLOW_5);
11601 rule__Assertion__Group_0_1_3_1__0__Impl();
11602
11603 state._fsp--;
11604
11605 pushFollow(FOLLOW_2);
11606 rule__Assertion__Group_0_1_3_1__1();
11607
11608 state._fsp--;
11609
11610
11611 }
11612
11613 }
11614 catch (RecognitionException re) {
11615 reportError(re);
11616 recover(input,re);
11617 }
11618 finally {
11619
11620 restoreStackSize(stackSize);
11621
11622 }
11623 return ;
11624 }
11625 // $ANTLR end "rule__Assertion__Group_0_1_3_1__0"
11626
11627
11628 // $ANTLR start "rule__Assertion__Group_0_1_3_1__0__Impl"
11629 // InternalProblem.g:3673:1: rule__Assertion__Group_0_1_3_1__0__Impl : ( ',' ) ;
11630 public final void rule__Assertion__Group_0_1_3_1__0__Impl() throws RecognitionException {
11631
11632 int stackSize = keepStackSize();
11633
11634 try {
11635 // InternalProblem.g:3677:1: ( ( ',' ) )
11636 // InternalProblem.g:3678:1: ( ',' )
11637 {
11638 // InternalProblem.g:3678:1: ( ',' )
11639 // InternalProblem.g:3679:2: ','
11640 {
11641 before(grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0());
11642 match(input,13,FOLLOW_2);
11643 after(grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0());
11644
11645 }
11646
11647
11648 }
11649
11650 }
11651 catch (RecognitionException re) {
11652 reportError(re);
11653 recover(input,re);
11654 }
11655 finally {
11656
11657 restoreStackSize(stackSize);
11658
11659 }
11660 return ;
11661 }
11662 // $ANTLR end "rule__Assertion__Group_0_1_3_1__0__Impl"
11663
11664
11665 // $ANTLR start "rule__Assertion__Group_0_1_3_1__1"
11666 // InternalProblem.g:3688:1: rule__Assertion__Group_0_1_3_1__1 : rule__Assertion__Group_0_1_3_1__1__Impl ;
11667 public final void rule__Assertion__Group_0_1_3_1__1() throws RecognitionException {
11668
11669 int stackSize = keepStackSize();
11670
11671 try {
11672 // InternalProblem.g:3692:1: ( rule__Assertion__Group_0_1_3_1__1__Impl )
11673 // InternalProblem.g:3693:2: rule__Assertion__Group_0_1_3_1__1__Impl
11674 {
11675 pushFollow(FOLLOW_2);
11676 rule__Assertion__Group_0_1_3_1__1__Impl();
11677
11678 state._fsp--;
11679
11680
11681 }
11682
11683 }
11684 catch (RecognitionException re) {
11685 reportError(re);
11686 recover(input,re);
11687 }
11688 finally {
11689
11690 restoreStackSize(stackSize);
11691
11692 }
11693 return ;
11694 }
11695 // $ANTLR end "rule__Assertion__Group_0_1_3_1__1"
11696
11697
11698 // $ANTLR start "rule__Assertion__Group_0_1_3_1__1__Impl"
11699 // InternalProblem.g:3699:1: rule__Assertion__Group_0_1_3_1__1__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) ) ;
11700 public final void rule__Assertion__Group_0_1_3_1__1__Impl() throws RecognitionException {
11701
11702 int stackSize = keepStackSize();
11703
11704 try {
11705 // InternalProblem.g:3703:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) ) )
11706 // InternalProblem.g:3704:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) )
11707 {
11708 // InternalProblem.g:3704:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) )
11709 // InternalProblem.g:3705:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 )
11710 {
11711 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_1_1());
11712 // InternalProblem.g:3706:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 )
11713 // InternalProblem.g:3706:3: rule__Assertion__ArgumentsAssignment_0_1_3_1_1
11714 {
11715 pushFollow(FOLLOW_2);
11716 rule__Assertion__ArgumentsAssignment_0_1_3_1_1();
11717
11718 state._fsp--;
11719
11720
11721 }
11722
11723 after(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_1_1());
11724
11725 }
11726
11727
11728 }
11729
11730 }
11731 catch (RecognitionException re) {
11732 reportError(re);
11733 recover(input,re);
11734 }
11735 finally {
11736
11737 restoreStackSize(stackSize);
11738
11739 }
11740 return ;
11741 }
11742 // $ANTLR end "rule__Assertion__Group_0_1_3_1__1__Impl"
11743
11744
11745 // $ANTLR start "rule__ScopeDeclaration__Group__0"
11746 // InternalProblem.g:3715:1: rule__ScopeDeclaration__Group__0 : rule__ScopeDeclaration__Group__0__Impl rule__ScopeDeclaration__Group__1 ;
11747 public final void rule__ScopeDeclaration__Group__0() throws RecognitionException {
11748
11749 int stackSize = keepStackSize();
11750
11751 try {
11752 // InternalProblem.g:3719:1: ( rule__ScopeDeclaration__Group__0__Impl rule__ScopeDeclaration__Group__1 )
11753 // InternalProblem.g:3720:2: rule__ScopeDeclaration__Group__0__Impl rule__ScopeDeclaration__Group__1
11754 {
11755 pushFollow(FOLLOW_32);
11756 rule__ScopeDeclaration__Group__0__Impl();
11757
11758 state._fsp--;
11759
11760 pushFollow(FOLLOW_2);
11761 rule__ScopeDeclaration__Group__1();
11762
11763 state._fsp--;
11764
11765
11766 }
11767
11768 }
11769 catch (RecognitionException re) {
11770 reportError(re);
11771 recover(input,re);
11772 }
11773 finally {
11774
11775 restoreStackSize(stackSize);
11776
11777 }
11778 return ;
11779 }
11780 // $ANTLR end "rule__ScopeDeclaration__Group__0"
11781
11782
11783 // $ANTLR start "rule__ScopeDeclaration__Group__0__Impl"
11784 // InternalProblem.g:3727:1: rule__ScopeDeclaration__Group__0__Impl : ( 'scope' ) ;
11785 public final void rule__ScopeDeclaration__Group__0__Impl() throws RecognitionException {
11786
11787 int stackSize = keepStackSize();
11788
11789 try {
11790 // InternalProblem.g:3731:1: ( ( 'scope' ) )
11791 // InternalProblem.g:3732:1: ( 'scope' )
11792 {
11793 // InternalProblem.g:3732:1: ( 'scope' )
11794 // InternalProblem.g:3733:2: 'scope'
11795 {
11796 before(grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0());
11797 match(input,37,FOLLOW_2);
11798 after(grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0());
11799
11800 }
11801
11802
11803 }
11804
11805 }
11806 catch (RecognitionException re) {
11807 reportError(re);
11808 recover(input,re);
11809 }
11810 finally {
11811
11812 restoreStackSize(stackSize);
11813
11814 }
11815 return ;
11816 }
11817 // $ANTLR end "rule__ScopeDeclaration__Group__0__Impl"
11818
11819
11820 // $ANTLR start "rule__ScopeDeclaration__Group__1"
11821 // InternalProblem.g:3742:1: rule__ScopeDeclaration__Group__1 : rule__ScopeDeclaration__Group__1__Impl rule__ScopeDeclaration__Group__2 ;
11822 public final void rule__ScopeDeclaration__Group__1() throws RecognitionException {
11823
11824 int stackSize = keepStackSize();
11825
11826 try {
11827 // InternalProblem.g:3746:1: ( rule__ScopeDeclaration__Group__1__Impl rule__ScopeDeclaration__Group__2 )
11828 // InternalProblem.g:3747:2: rule__ScopeDeclaration__Group__1__Impl rule__ScopeDeclaration__Group__2
11829 {
11830 pushFollow(FOLLOW_33);
11831 rule__ScopeDeclaration__Group__1__Impl();
11832
11833 state._fsp--;
11834
11835 pushFollow(FOLLOW_2);
11836 rule__ScopeDeclaration__Group__2();
11837
11838 state._fsp--;
11839
11840
11841 }
11842
11843 }
11844 catch (RecognitionException re) {
11845 reportError(re);
11846 recover(input,re);
11847 }
11848 finally {
11849
11850 restoreStackSize(stackSize);
11851
11852 }
11853 return ;
11854 }
11855 // $ANTLR end "rule__ScopeDeclaration__Group__1"
11856
11857
11858 // $ANTLR start "rule__ScopeDeclaration__Group__1__Impl"
11859 // InternalProblem.g:3754:1: rule__ScopeDeclaration__Group__1__Impl : ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) ) ;
11860 public final void rule__ScopeDeclaration__Group__1__Impl() throws RecognitionException {
11861
11862 int stackSize = keepStackSize();
11863
11864 try {
11865 // InternalProblem.g:3758:1: ( ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) ) )
11866 // InternalProblem.g:3759:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) )
11867 {
11868 // InternalProblem.g:3759:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) )
11869 // InternalProblem.g:3760:2: ( rule__ScopeDeclaration__TypeScopesAssignment_1 )
11870 {
11871 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_1());
11872 // InternalProblem.g:3761:2: ( rule__ScopeDeclaration__TypeScopesAssignment_1 )
11873 // InternalProblem.g:3761:3: rule__ScopeDeclaration__TypeScopesAssignment_1
11874 {
11875 pushFollow(FOLLOW_2);
11876 rule__ScopeDeclaration__TypeScopesAssignment_1();
11877
11878 state._fsp--;
11879
11880
11881 }
11882
11883 after(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_1());
11884
11885 }
11886
11887
11888 }
11889
11890 }
11891 catch (RecognitionException re) {
11892 reportError(re);
11893 recover(input,re);
11894 }
11895 finally {
11896
11897 restoreStackSize(stackSize);
11898
11899 }
11900 return ;
11901 }
11902 // $ANTLR end "rule__ScopeDeclaration__Group__1__Impl"
11903
11904
11905 // $ANTLR start "rule__ScopeDeclaration__Group__2"
11906 // InternalProblem.g:3769:1: rule__ScopeDeclaration__Group__2 : rule__ScopeDeclaration__Group__2__Impl rule__ScopeDeclaration__Group__3 ;
11907 public final void rule__ScopeDeclaration__Group__2() throws RecognitionException {
11908
11909 int stackSize = keepStackSize();
11910
11911 try {
11912 // InternalProblem.g:3773:1: ( rule__ScopeDeclaration__Group__2__Impl rule__ScopeDeclaration__Group__3 )
11913 // InternalProblem.g:3774:2: rule__ScopeDeclaration__Group__2__Impl rule__ScopeDeclaration__Group__3
11914 {
11915 pushFollow(FOLLOW_33);
11916 rule__ScopeDeclaration__Group__2__Impl();
11917
11918 state._fsp--;
11919
11920 pushFollow(FOLLOW_2);
11921 rule__ScopeDeclaration__Group__3();
11922
11923 state._fsp--;
11924
11925
11926 }
11927
11928 }
11929 catch (RecognitionException re) {
11930 reportError(re);
11931 recover(input,re);
11932 }
11933 finally {
11934
11935 restoreStackSize(stackSize);
11936
11937 }
11938 return ;
11939 }
11940 // $ANTLR end "rule__ScopeDeclaration__Group__2"
11941
11942
11943 // $ANTLR start "rule__ScopeDeclaration__Group__2__Impl"
11944 // InternalProblem.g:3781:1: rule__ScopeDeclaration__Group__2__Impl : ( ( rule__ScopeDeclaration__Group_2__0 )* ) ;
11945 public final void rule__ScopeDeclaration__Group__2__Impl() throws RecognitionException {
11946
11947 int stackSize = keepStackSize();
11948
11949 try {
11950 // InternalProblem.g:3785:1: ( ( ( rule__ScopeDeclaration__Group_2__0 )* ) )
11951 // InternalProblem.g:3786:1: ( ( rule__ScopeDeclaration__Group_2__0 )* )
11952 {
11953 // InternalProblem.g:3786:1: ( ( rule__ScopeDeclaration__Group_2__0 )* )
11954 // InternalProblem.g:3787:2: ( rule__ScopeDeclaration__Group_2__0 )*
11955 {
11956 before(grammarAccess.getScopeDeclarationAccess().getGroup_2());
11957 // InternalProblem.g:3788:2: ( rule__ScopeDeclaration__Group_2__0 )*
11958 loop46:
11959 do {
11960 int alt46=2;
11961 int LA46_0 = input.LA(1);
11962
11963 if ( (LA46_0==13) ) {
11964 alt46=1;
11965 }
11966
11967
11968 switch (alt46) {
11969 case 1 :
11970 // InternalProblem.g:3788:3: rule__ScopeDeclaration__Group_2__0
11971 {
11972 pushFollow(FOLLOW_10);
11973 rule__ScopeDeclaration__Group_2__0();
11974
11975 state._fsp--;
11976
11977
11978 }
11979 break;
11980
11981 default :
11982 break loop46;
11983 }
11984 } while (true);
11985
11986 after(grammarAccess.getScopeDeclarationAccess().getGroup_2());
11987
11988 }
11989
11990
11991 }
11992
11993 }
11994 catch (RecognitionException re) {
11995 reportError(re);
11996 recover(input,re);
11997 }
11998 finally {
11999
12000 restoreStackSize(stackSize);
12001
12002 }
12003 return ;
12004 }
12005 // $ANTLR end "rule__ScopeDeclaration__Group__2__Impl"
12006
12007
12008 // $ANTLR start "rule__ScopeDeclaration__Group__3"
12009 // InternalProblem.g:3796:1: rule__ScopeDeclaration__Group__3 : rule__ScopeDeclaration__Group__3__Impl ;
12010 public final void rule__ScopeDeclaration__Group__3() throws RecognitionException {
12011
12012 int stackSize = keepStackSize();
12013
12014 try {
12015 // InternalProblem.g:3800:1: ( rule__ScopeDeclaration__Group__3__Impl )
12016 // InternalProblem.g:3801:2: rule__ScopeDeclaration__Group__3__Impl
12017 {
12018 pushFollow(FOLLOW_2);
12019 rule__ScopeDeclaration__Group__3__Impl();
12020
12021 state._fsp--;
12022
12023
12024 }
12025
12026 }
12027 catch (RecognitionException re) {
12028 reportError(re);
12029 recover(input,re);
12030 }
12031 finally {
12032
12033 restoreStackSize(stackSize);
12034
12035 }
12036 return ;
12037 }
12038 // $ANTLR end "rule__ScopeDeclaration__Group__3"
12039
12040
12041 // $ANTLR start "rule__ScopeDeclaration__Group__3__Impl"
12042 // InternalProblem.g:3807:1: rule__ScopeDeclaration__Group__3__Impl : ( '.' ) ;
12043 public final void rule__ScopeDeclaration__Group__3__Impl() throws RecognitionException {
12044
12045 int stackSize = keepStackSize();
12046
12047 try {
12048 // InternalProblem.g:3811:1: ( ( '.' ) )
12049 // InternalProblem.g:3812:1: ( '.' )
12050 {
12051 // InternalProblem.g:3812:1: ( '.' )
12052 // InternalProblem.g:3813:2: '.'
12053 {
12054 before(grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3());
12055 match(input,12,FOLLOW_2);
12056 after(grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3());
12057
12058 }
12059
12060
12061 }
12062
12063 }
12064 catch (RecognitionException re) {
12065 reportError(re);
12066 recover(input,re);
12067 }
12068 finally {
12069
12070 restoreStackSize(stackSize);
12071
12072 }
12073 return ;
12074 }
12075 // $ANTLR end "rule__ScopeDeclaration__Group__3__Impl"
12076
12077
12078 // $ANTLR start "rule__ScopeDeclaration__Group_2__0"
12079 // InternalProblem.g:3823:1: rule__ScopeDeclaration__Group_2__0 : rule__ScopeDeclaration__Group_2__0__Impl rule__ScopeDeclaration__Group_2__1 ;
12080 public final void rule__ScopeDeclaration__Group_2__0() throws RecognitionException {
12081
12082 int stackSize = keepStackSize();
12083
12084 try {
12085 // InternalProblem.g:3827:1: ( rule__ScopeDeclaration__Group_2__0__Impl rule__ScopeDeclaration__Group_2__1 )
12086 // InternalProblem.g:3828:2: rule__ScopeDeclaration__Group_2__0__Impl rule__ScopeDeclaration__Group_2__1
12087 {
12088 pushFollow(FOLLOW_32);
12089 rule__ScopeDeclaration__Group_2__0__Impl();
12090
12091 state._fsp--;
12092
12093 pushFollow(FOLLOW_2);
12094 rule__ScopeDeclaration__Group_2__1();
12095
12096 state._fsp--;
12097
12098
12099 }
12100
12101 }
12102 catch (RecognitionException re) {
12103 reportError(re);
12104 recover(input,re);
12105 }
12106 finally {
12107
12108 restoreStackSize(stackSize);
12109
12110 }
12111 return ;
12112 }
12113 // $ANTLR end "rule__ScopeDeclaration__Group_2__0"
12114
12115
12116 // $ANTLR start "rule__ScopeDeclaration__Group_2__0__Impl"
12117 // InternalProblem.g:3835:1: rule__ScopeDeclaration__Group_2__0__Impl : ( ',' ) ;
12118 public final void rule__ScopeDeclaration__Group_2__0__Impl() throws RecognitionException {
12119
12120 int stackSize = keepStackSize();
12121
12122 try {
12123 // InternalProblem.g:3839:1: ( ( ',' ) )
12124 // InternalProblem.g:3840:1: ( ',' )
12125 {
12126 // InternalProblem.g:3840:1: ( ',' )
12127 // InternalProblem.g:3841:2: ','
12128 {
12129 before(grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0());
12130 match(input,13,FOLLOW_2);
12131 after(grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0());
12132
12133 }
12134
12135
12136 }
12137
12138 }
12139 catch (RecognitionException re) {
12140 reportError(re);
12141 recover(input,re);
12142 }
12143 finally {
12144
12145 restoreStackSize(stackSize);
12146
12147 }
12148 return ;
12149 }
12150 // $ANTLR end "rule__ScopeDeclaration__Group_2__0__Impl"
12151
12152
12153 // $ANTLR start "rule__ScopeDeclaration__Group_2__1"
12154 // InternalProblem.g:3850:1: rule__ScopeDeclaration__Group_2__1 : rule__ScopeDeclaration__Group_2__1__Impl ;
12155 public final void rule__ScopeDeclaration__Group_2__1() throws RecognitionException {
12156
12157 int stackSize = keepStackSize();
12158
12159 try {
12160 // InternalProblem.g:3854:1: ( rule__ScopeDeclaration__Group_2__1__Impl )
12161 // InternalProblem.g:3855:2: rule__ScopeDeclaration__Group_2__1__Impl
12162 {
12163 pushFollow(FOLLOW_2);
12164 rule__ScopeDeclaration__Group_2__1__Impl();
12165
12166 state._fsp--;
12167
12168
12169 }
12170
12171 }
12172 catch (RecognitionException re) {
12173 reportError(re);
12174 recover(input,re);
12175 }
12176 finally {
12177
12178 restoreStackSize(stackSize);
12179
12180 }
12181 return ;
12182 }
12183 // $ANTLR end "rule__ScopeDeclaration__Group_2__1"
12184
12185
12186 // $ANTLR start "rule__ScopeDeclaration__Group_2__1__Impl"
12187 // InternalProblem.g:3861:1: rule__ScopeDeclaration__Group_2__1__Impl : ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) ) ;
12188 public final void rule__ScopeDeclaration__Group_2__1__Impl() throws RecognitionException {
12189
12190 int stackSize = keepStackSize();
12191
12192 try {
12193 // InternalProblem.g:3865:1: ( ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) ) )
12194 // InternalProblem.g:3866:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) )
12195 {
12196 // InternalProblem.g:3866:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) )
12197 // InternalProblem.g:3867:2: ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 )
12198 {
12199 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_2_1());
12200 // InternalProblem.g:3868:2: ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 )
12201 // InternalProblem.g:3868:3: rule__ScopeDeclaration__TypeScopesAssignment_2_1
12202 {
12203 pushFollow(FOLLOW_2);
12204 rule__ScopeDeclaration__TypeScopesAssignment_2_1();
12205
12206 state._fsp--;
12207
12208
12209 }
12210
12211 after(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_2_1());
12212
12213 }
12214
12215
12216 }
12217
12218 }
12219 catch (RecognitionException re) {
12220 reportError(re);
12221 recover(input,re);
12222 }
12223 finally {
12224
12225 restoreStackSize(stackSize);
12226
12227 }
12228 return ;
12229 }
12230 // $ANTLR end "rule__ScopeDeclaration__Group_2__1__Impl"
12231
12232
12233 // $ANTLR start "rule__TypeScope__Group__0"
12234 // InternalProblem.g:3877:1: rule__TypeScope__Group__0 : rule__TypeScope__Group__0__Impl rule__TypeScope__Group__1 ;
12235 public final void rule__TypeScope__Group__0() throws RecognitionException {
12236
12237 int stackSize = keepStackSize();
12238
12239 try {
12240 // InternalProblem.g:3881:1: ( rule__TypeScope__Group__0__Impl rule__TypeScope__Group__1 )
12241 // InternalProblem.g:3882:2: rule__TypeScope__Group__0__Impl rule__TypeScope__Group__1
12242 {
12243 pushFollow(FOLLOW_34);
12244 rule__TypeScope__Group__0__Impl();
12245
12246 state._fsp--;
12247
12248 pushFollow(FOLLOW_2);
12249 rule__TypeScope__Group__1();
12250
12251 state._fsp--;
12252
12253
12254 }
12255
12256 }
12257 catch (RecognitionException re) {
12258 reportError(re);
12259 recover(input,re);
12260 }
12261 finally {
12262
12263 restoreStackSize(stackSize);
12264
12265 }
12266 return ;
12267 }
12268 // $ANTLR end "rule__TypeScope__Group__0"
12269
12270
12271 // $ANTLR start "rule__TypeScope__Group__0__Impl"
12272 // InternalProblem.g:3889:1: rule__TypeScope__Group__0__Impl : ( ( rule__TypeScope__TargetTypeAssignment_0 ) ) ;
12273 public final void rule__TypeScope__Group__0__Impl() throws RecognitionException {
12274
12275 int stackSize = keepStackSize();
12276
12277 try {
12278 // InternalProblem.g:3893:1: ( ( ( rule__TypeScope__TargetTypeAssignment_0 ) ) )
12279 // InternalProblem.g:3894:1: ( ( rule__TypeScope__TargetTypeAssignment_0 ) )
12280 {
12281 // InternalProblem.g:3894:1: ( ( rule__TypeScope__TargetTypeAssignment_0 ) )
12282 // InternalProblem.g:3895:2: ( rule__TypeScope__TargetTypeAssignment_0 )
12283 {
12284 before(grammarAccess.getTypeScopeAccess().getTargetTypeAssignment_0());
12285 // InternalProblem.g:3896:2: ( rule__TypeScope__TargetTypeAssignment_0 )
12286 // InternalProblem.g:3896:3: rule__TypeScope__TargetTypeAssignment_0
12287 {
12288 pushFollow(FOLLOW_2);
12289 rule__TypeScope__TargetTypeAssignment_0();
12290
12291 state._fsp--;
12292
12293
12294 }
12295
12296 after(grammarAccess.getTypeScopeAccess().getTargetTypeAssignment_0());
12297
12298 }
12299
12300
12301 }
12302
12303 }
12304 catch (RecognitionException re) {
12305 reportError(re);
12306 recover(input,re);
12307 }
12308 finally {
12309
12310 restoreStackSize(stackSize);
12311
12312 }
12313 return ;
12314 }
12315 // $ANTLR end "rule__TypeScope__Group__0__Impl"
12316
12317
12318 // $ANTLR start "rule__TypeScope__Group__1"
12319 // InternalProblem.g:3904:1: rule__TypeScope__Group__1 : rule__TypeScope__Group__1__Impl rule__TypeScope__Group__2 ;
12320 public final void rule__TypeScope__Group__1() throws RecognitionException {
12321
12322 int stackSize = keepStackSize();
12323
12324 try {
12325 // InternalProblem.g:3908:1: ( rule__TypeScope__Group__1__Impl rule__TypeScope__Group__2 )
12326 // InternalProblem.g:3909:2: rule__TypeScope__Group__1__Impl rule__TypeScope__Group__2
12327 {
12328 pushFollow(FOLLOW_20);
12329 rule__TypeScope__Group__1__Impl();
12330
12331 state._fsp--;
12332
12333 pushFollow(FOLLOW_2);
12334 rule__TypeScope__Group__2();
12335
12336 state._fsp--;
12337
12338
12339 }
12340
12341 }
12342 catch (RecognitionException re) {
12343 reportError(re);
12344 recover(input,re);
12345 }
12346 finally {
12347
12348 restoreStackSize(stackSize);
12349
12350 }
12351 return ;
12352 }
12353 // $ANTLR end "rule__TypeScope__Group__1"
12354
12355
12356 // $ANTLR start "rule__TypeScope__Group__1__Impl"
12357 // InternalProblem.g:3916:1: rule__TypeScope__Group__1__Impl : ( ( rule__TypeScope__Alternatives_1 ) ) ;
12358 public final void rule__TypeScope__Group__1__Impl() throws RecognitionException {
12359
12360 int stackSize = keepStackSize();
12361
12362 try {
12363 // InternalProblem.g:3920:1: ( ( ( rule__TypeScope__Alternatives_1 ) ) )
12364 // InternalProblem.g:3921:1: ( ( rule__TypeScope__Alternatives_1 ) )
12365 {
12366 // InternalProblem.g:3921:1: ( ( rule__TypeScope__Alternatives_1 ) )
12367 // InternalProblem.g:3922:2: ( rule__TypeScope__Alternatives_1 )
12368 {
12369 before(grammarAccess.getTypeScopeAccess().getAlternatives_1());
12370 // InternalProblem.g:3923:2: ( rule__TypeScope__Alternatives_1 )
12371 // InternalProblem.g:3923:3: rule__TypeScope__Alternatives_1
12372 {
12373 pushFollow(FOLLOW_2);
12374 rule__TypeScope__Alternatives_1();
12375
12376 state._fsp--;
12377
12378
12379 }
12380
12381 after(grammarAccess.getTypeScopeAccess().getAlternatives_1());
12382
12383 }
12384
12385
12386 }
12387
12388 }
12389 catch (RecognitionException re) {
12390 reportError(re);
12391 recover(input,re);
12392 }
12393 finally {
12394
12395 restoreStackSize(stackSize);
12396
12397 }
12398 return ;
12399 }
12400 // $ANTLR end "rule__TypeScope__Group__1__Impl"
12401
12402
12403 // $ANTLR start "rule__TypeScope__Group__2"
12404 // InternalProblem.g:3931:1: rule__TypeScope__Group__2 : rule__TypeScope__Group__2__Impl ;
12405 public final void rule__TypeScope__Group__2() throws RecognitionException {
12406
12407 int stackSize = keepStackSize();
12408
12409 try {
12410 // InternalProblem.g:3935:1: ( rule__TypeScope__Group__2__Impl )
12411 // InternalProblem.g:3936:2: rule__TypeScope__Group__2__Impl
12412 {
12413 pushFollow(FOLLOW_2);
12414 rule__TypeScope__Group__2__Impl();
12415
12416 state._fsp--;
12417
12418
12419 }
12420
12421 }
12422 catch (RecognitionException re) {
12423 reportError(re);
12424 recover(input,re);
12425 }
12426 finally {
12427
12428 restoreStackSize(stackSize);
12429
12430 }
12431 return ;
12432 }
12433 // $ANTLR end "rule__TypeScope__Group__2"
12434
12435
12436 // $ANTLR start "rule__TypeScope__Group__2__Impl"
12437 // InternalProblem.g:3942:1: rule__TypeScope__Group__2__Impl : ( ( rule__TypeScope__MultiplicityAssignment_2 ) ) ;
12438 public final void rule__TypeScope__Group__2__Impl() throws RecognitionException {
12439
12440 int stackSize = keepStackSize();
12441
12442 try {
12443 // InternalProblem.g:3946:1: ( ( ( rule__TypeScope__MultiplicityAssignment_2 ) ) )
12444 // InternalProblem.g:3947:1: ( ( rule__TypeScope__MultiplicityAssignment_2 ) )
12445 {
12446 // InternalProblem.g:3947:1: ( ( rule__TypeScope__MultiplicityAssignment_2 ) )
12447 // InternalProblem.g:3948:2: ( rule__TypeScope__MultiplicityAssignment_2 )
12448 {
12449 before(grammarAccess.getTypeScopeAccess().getMultiplicityAssignment_2());
12450 // InternalProblem.g:3949:2: ( rule__TypeScope__MultiplicityAssignment_2 )
12451 // InternalProblem.g:3949:3: rule__TypeScope__MultiplicityAssignment_2
12452 {
12453 pushFollow(FOLLOW_2);
12454 rule__TypeScope__MultiplicityAssignment_2();
12455
12456 state._fsp--;
12457
12458
12459 }
12460
12461 after(grammarAccess.getTypeScopeAccess().getMultiplicityAssignment_2());
12462
12463 }
12464
12465
12466 }
12467
12468 }
12469 catch (RecognitionException re) {
12470 reportError(re);
12471 recover(input,re);
12472 }
12473 finally {
12474
12475 restoreStackSize(stackSize);
12476
12477 }
12478 return ;
12479 }
12480 // $ANTLR end "rule__TypeScope__Group__2__Impl"
12481
12482
12483 // $ANTLR start "rule__RangeMultiplicity__Group__0"
12484 // InternalProblem.g:3958:1: rule__RangeMultiplicity__Group__0 : rule__RangeMultiplicity__Group__0__Impl rule__RangeMultiplicity__Group__1 ;
12485 public final void rule__RangeMultiplicity__Group__0() throws RecognitionException {
12486
12487 int stackSize = keepStackSize();
12488
12489 try {
12490 // InternalProblem.g:3962:1: ( rule__RangeMultiplicity__Group__0__Impl rule__RangeMultiplicity__Group__1 )
12491 // InternalProblem.g:3963:2: rule__RangeMultiplicity__Group__0__Impl rule__RangeMultiplicity__Group__1
12492 {
12493 pushFollow(FOLLOW_35);
12494 rule__RangeMultiplicity__Group__0__Impl();
12495
12496 state._fsp--;
12497
12498 pushFollow(FOLLOW_2);
12499 rule__RangeMultiplicity__Group__1();
12500
12501 state._fsp--;
12502
12503
12504 }
12505
12506 }
12507 catch (RecognitionException re) {
12508 reportError(re);
12509 recover(input,re);
12510 }
12511 finally {
12512
12513 restoreStackSize(stackSize);
12514
12515 }
12516 return ;
12517 }
12518 // $ANTLR end "rule__RangeMultiplicity__Group__0"
12519
12520
12521 // $ANTLR start "rule__RangeMultiplicity__Group__0__Impl"
12522 // InternalProblem.g:3970:1: rule__RangeMultiplicity__Group__0__Impl : ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) ) ;
12523 public final void rule__RangeMultiplicity__Group__0__Impl() throws RecognitionException {
12524
12525 int stackSize = keepStackSize();
12526
12527 try {
12528 // InternalProblem.g:3974:1: ( ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) ) )
12529 // InternalProblem.g:3975:1: ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) )
12530 {
12531 // InternalProblem.g:3975:1: ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) )
12532 // InternalProblem.g:3976:2: ( rule__RangeMultiplicity__LowerBoundAssignment_0 )
12533 {
12534 before(grammarAccess.getRangeMultiplicityAccess().getLowerBoundAssignment_0());
12535 // InternalProblem.g:3977:2: ( rule__RangeMultiplicity__LowerBoundAssignment_0 )
12536 // InternalProblem.g:3977:3: rule__RangeMultiplicity__LowerBoundAssignment_0
12537 {
12538 pushFollow(FOLLOW_2);
12539 rule__RangeMultiplicity__LowerBoundAssignment_0();
12540
12541 state._fsp--;
12542
12543
12544 }
12545
12546 after(grammarAccess.getRangeMultiplicityAccess().getLowerBoundAssignment_0());
12547
12548 }
12549
12550
12551 }
12552
12553 }
12554 catch (RecognitionException re) {
12555 reportError(re);
12556 recover(input,re);
12557 }
12558 finally {
12559
12560 restoreStackSize(stackSize);
12561
12562 }
12563 return ;
12564 }
12565 // $ANTLR end "rule__RangeMultiplicity__Group__0__Impl"
12566
12567
12568 // $ANTLR start "rule__RangeMultiplicity__Group__1"
12569 // InternalProblem.g:3985:1: rule__RangeMultiplicity__Group__1 : rule__RangeMultiplicity__Group__1__Impl rule__RangeMultiplicity__Group__2 ;
12570 public final void rule__RangeMultiplicity__Group__1() throws RecognitionException {
12571
12572 int stackSize = keepStackSize();
12573
12574 try {
12575 // InternalProblem.g:3989:1: ( rule__RangeMultiplicity__Group__1__Impl rule__RangeMultiplicity__Group__2 )
12576 // InternalProblem.g:3990:2: rule__RangeMultiplicity__Group__1__Impl rule__RangeMultiplicity__Group__2
12577 {
12578 pushFollow(FOLLOW_36);
12579 rule__RangeMultiplicity__Group__1__Impl();
12580
12581 state._fsp--;
12582
12583 pushFollow(FOLLOW_2);
12584 rule__RangeMultiplicity__Group__2();
12585
12586 state._fsp--;
12587
12588
12589 }
12590
12591 }
12592 catch (RecognitionException re) {
12593 reportError(re);
12594 recover(input,re);
12595 }
12596 finally {
12597
12598 restoreStackSize(stackSize);
12599
12600 }
12601 return ;
12602 }
12603 // $ANTLR end "rule__RangeMultiplicity__Group__1"
12604
12605
12606 // $ANTLR start "rule__RangeMultiplicity__Group__1__Impl"
12607 // InternalProblem.g:3997:1: rule__RangeMultiplicity__Group__1__Impl : ( '..' ) ;
12608 public final void rule__RangeMultiplicity__Group__1__Impl() throws RecognitionException {
12609
12610 int stackSize = keepStackSize();
12611
12612 try {
12613 // InternalProblem.g:4001:1: ( ( '..' ) )
12614 // InternalProblem.g:4002:1: ( '..' )
12615 {
12616 // InternalProblem.g:4002:1: ( '..' )
12617 // InternalProblem.g:4003:2: '..'
12618 {
12619 before(grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1());
12620 match(input,38,FOLLOW_2);
12621 after(grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1());
12622
12623 }
12624
12625
12626 }
12627
12628 }
12629 catch (RecognitionException re) {
12630 reportError(re);
12631 recover(input,re);
12632 }
12633 finally {
12634
12635 restoreStackSize(stackSize);
12636
12637 }
12638 return ;
12639 }
12640 // $ANTLR end "rule__RangeMultiplicity__Group__1__Impl"
12641
12642
12643 // $ANTLR start "rule__RangeMultiplicity__Group__2"
12644 // InternalProblem.g:4012:1: rule__RangeMultiplicity__Group__2 : rule__RangeMultiplicity__Group__2__Impl ;
12645 public final void rule__RangeMultiplicity__Group__2() throws RecognitionException {
12646
12647 int stackSize = keepStackSize();
12648
12649 try {
12650 // InternalProblem.g:4016:1: ( rule__RangeMultiplicity__Group__2__Impl )
12651 // InternalProblem.g:4017:2: rule__RangeMultiplicity__Group__2__Impl
12652 {
12653 pushFollow(FOLLOW_2);
12654 rule__RangeMultiplicity__Group__2__Impl();
12655
12656 state._fsp--;
12657
12658
12659 }
12660
12661 }
12662 catch (RecognitionException re) {
12663 reportError(re);
12664 recover(input,re);
12665 }
12666 finally {
12667
12668 restoreStackSize(stackSize);
12669
12670 }
12671 return ;
12672 }
12673 // $ANTLR end "rule__RangeMultiplicity__Group__2"
12674
12675
12676 // $ANTLR start "rule__RangeMultiplicity__Group__2__Impl"
12677 // InternalProblem.g:4023:1: rule__RangeMultiplicity__Group__2__Impl : ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) ) ;
12678 public final void rule__RangeMultiplicity__Group__2__Impl() throws RecognitionException {
12679
12680 int stackSize = keepStackSize();
12681
12682 try {
12683 // InternalProblem.g:4027:1: ( ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) ) )
12684 // InternalProblem.g:4028:1: ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) )
12685 {
12686 // InternalProblem.g:4028:1: ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) )
12687 // InternalProblem.g:4029:2: ( rule__RangeMultiplicity__UpperBoundAssignment_2 )
12688 {
12689 before(grammarAccess.getRangeMultiplicityAccess().getUpperBoundAssignment_2());
12690 // InternalProblem.g:4030:2: ( rule__RangeMultiplicity__UpperBoundAssignment_2 )
12691 // InternalProblem.g:4030:3: rule__RangeMultiplicity__UpperBoundAssignment_2
12692 {
12693 pushFollow(FOLLOW_2);
12694 rule__RangeMultiplicity__UpperBoundAssignment_2();
12695
12696 state._fsp--;
12697
12698
12699 }
12700
12701 after(grammarAccess.getRangeMultiplicityAccess().getUpperBoundAssignment_2());
12702
12703 }
12704
12705
12706 }
12707
12708 }
12709 catch (RecognitionException re) {
12710 reportError(re);
12711 recover(input,re);
12712 }
12713 finally {
12714
12715 restoreStackSize(stackSize);
12716
12717 }
12718 return ;
12719 }
12720 // $ANTLR end "rule__RangeMultiplicity__Group__2__Impl"
12721
12722
12723 // $ANTLR start "rule__QualifiedName__Group_1__0"
12724 // InternalProblem.g:4039:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
12725 public final void rule__QualifiedName__Group_1__0() throws RecognitionException {
12726
12727 int stackSize = keepStackSize();
12728
12729 try {
12730 // InternalProblem.g:4043:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
12731 // InternalProblem.g:4044:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
12732 {
12733 pushFollow(FOLLOW_29);
12734 rule__QualifiedName__Group_1__0__Impl();
12735
12736 state._fsp--;
12737
12738 pushFollow(FOLLOW_2);
12739 rule__QualifiedName__Group_1__1();
12740
12741 state._fsp--;
12742
12743
12744 }
12745
12746 }
12747 catch (RecognitionException re) {
12748 reportError(re);
12749 recover(input,re);
12750 }
12751 finally {
12752
12753 restoreStackSize(stackSize);
12754
12755 }
12756 return ;
12757 }
12758 // $ANTLR end "rule__QualifiedName__Group_1__0"
12759
12760
12761 // $ANTLR start "rule__QualifiedName__Group_1__0__Impl"
12762 // InternalProblem.g:4051:1: rule__QualifiedName__Group_1__0__Impl : ( ruleIdentifier ) ;
12763 public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException {
12764
12765 int stackSize = keepStackSize();
12766
12767 try {
12768 // InternalProblem.g:4055:1: ( ( ruleIdentifier ) )
12769 // InternalProblem.g:4056:1: ( ruleIdentifier )
12770 {
12771 // InternalProblem.g:4056:1: ( ruleIdentifier )
12772 // InternalProblem.g:4057:2: ruleIdentifier
12773 {
12774 before(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_0());
12775 pushFollow(FOLLOW_2);
12776 ruleIdentifier();
12777
12778 state._fsp--;
12779
12780 after(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_0());
12781
12782 }
12783
12784
12785 }
12786
12787 }
12788 catch (RecognitionException re) {
12789 reportError(re);
12790 recover(input,re);
12791 }
12792 finally {
12793
12794 restoreStackSize(stackSize);
12795
12796 }
12797 return ;
12798 }
12799 // $ANTLR end "rule__QualifiedName__Group_1__0__Impl"
12800
12801
12802 // $ANTLR start "rule__QualifiedName__Group_1__1"
12803 // InternalProblem.g:4066:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl rule__QualifiedName__Group_1__2 ;
12804 public final void rule__QualifiedName__Group_1__1() throws RecognitionException {
12805
12806 int stackSize = keepStackSize();
12807
12808 try {
12809 // InternalProblem.g:4070:1: ( rule__QualifiedName__Group_1__1__Impl rule__QualifiedName__Group_1__2 )
12810 // InternalProblem.g:4071:2: rule__QualifiedName__Group_1__1__Impl rule__QualifiedName__Group_1__2
12811 {
12812 pushFollow(FOLLOW_29);
12813 rule__QualifiedName__Group_1__1__Impl();
12814
12815 state._fsp--;
12816
12817 pushFollow(FOLLOW_2);
12818 rule__QualifiedName__Group_1__2();
12819
12820 state._fsp--;
12821
12822
12823 }
12824
12825 }
12826 catch (RecognitionException re) {
12827 reportError(re);
12828 recover(input,re);
12829 }
12830 finally {
12831
12832 restoreStackSize(stackSize);
12833
12834 }
12835 return ;
12836 }
12837 // $ANTLR end "rule__QualifiedName__Group_1__1"
12838
12839
12840 // $ANTLR start "rule__QualifiedName__Group_1__1__Impl"
12841 // InternalProblem.g:4078:1: rule__QualifiedName__Group_1__1__Impl : ( ( rule__QualifiedName__Group_1_1__0 )* ) ;
12842 public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException {
12843
12844 int stackSize = keepStackSize();
12845
12846 try {
12847 // InternalProblem.g:4082:1: ( ( ( rule__QualifiedName__Group_1_1__0 )* ) )
12848 // InternalProblem.g:4083:1: ( ( rule__QualifiedName__Group_1_1__0 )* )
12849 {
12850 // InternalProblem.g:4083:1: ( ( rule__QualifiedName__Group_1_1__0 )* )
12851 // InternalProblem.g:4084:2: ( rule__QualifiedName__Group_1_1__0 )*
12852 {
12853 before(grammarAccess.getQualifiedNameAccess().getGroup_1_1());
12854 // InternalProblem.g:4085:2: ( rule__QualifiedName__Group_1_1__0 )*
12855 loop47:
12856 do {
12857 int alt47=2;
12858 int LA47_0 = input.LA(1);
12859
12860 if ( (LA47_0==36) ) {
12861 int LA47_1 = input.LA(2);
12862
12863 if ( (LA47_1==RULE_ID||(LA47_1>=19 && LA47_1<=20)) ) {
12864 alt47=1;
12865 }
12866
12867
12868 }
12869
12870
12871 switch (alt47) {
12872 case 1 :
12873 // InternalProblem.g:4085:3: rule__QualifiedName__Group_1_1__0
12874 {
12875 pushFollow(FOLLOW_37);
12876 rule__QualifiedName__Group_1_1__0();
12877
12878 state._fsp--;
12879
12880
12881 }
12882 break;
12883
12884 default :
12885 break loop47;
12886 }
12887 } while (true);
12888
12889 after(grammarAccess.getQualifiedNameAccess().getGroup_1_1());
12890
12891 }
12892
12893
12894 }
12895
12896 }
12897 catch (RecognitionException re) {
12898 reportError(re);
12899 recover(input,re);
12900 }
12901 finally {
12902
12903 restoreStackSize(stackSize);
12904
12905 }
12906 return ;
12907 }
12908 // $ANTLR end "rule__QualifiedName__Group_1__1__Impl"
12909
12910
12911 // $ANTLR start "rule__QualifiedName__Group_1__2"
12912 // InternalProblem.g:4093:1: rule__QualifiedName__Group_1__2 : rule__QualifiedName__Group_1__2__Impl ;
12913 public final void rule__QualifiedName__Group_1__2() throws RecognitionException {
12914
12915 int stackSize = keepStackSize();
12916
12917 try {
12918 // InternalProblem.g:4097:1: ( rule__QualifiedName__Group_1__2__Impl )
12919 // InternalProblem.g:4098:2: rule__QualifiedName__Group_1__2__Impl
12920 {
12921 pushFollow(FOLLOW_2);
12922 rule__QualifiedName__Group_1__2__Impl();
12923
12924 state._fsp--;
12925
12926
12927 }
12928
12929 }
12930 catch (RecognitionException re) {
12931 reportError(re);
12932 recover(input,re);
12933 }
12934 finally {
12935
12936 restoreStackSize(stackSize);
12937
12938 }
12939 return ;
12940 }
12941 // $ANTLR end "rule__QualifiedName__Group_1__2"
12942
12943
12944 // $ANTLR start "rule__QualifiedName__Group_1__2__Impl"
12945 // InternalProblem.g:4104:1: rule__QualifiedName__Group_1__2__Impl : ( ( rule__QualifiedName__Group_1_2__0 )? ) ;
12946 public final void rule__QualifiedName__Group_1__2__Impl() throws RecognitionException {
12947
12948 int stackSize = keepStackSize();
12949
12950 try {
12951 // InternalProblem.g:4108:1: ( ( ( rule__QualifiedName__Group_1_2__0 )? ) )
12952 // InternalProblem.g:4109:1: ( ( rule__QualifiedName__Group_1_2__0 )? )
12953 {
12954 // InternalProblem.g:4109:1: ( ( rule__QualifiedName__Group_1_2__0 )? )
12955 // InternalProblem.g:4110:2: ( rule__QualifiedName__Group_1_2__0 )?
12956 {
12957 before(grammarAccess.getQualifiedNameAccess().getGroup_1_2());
12958 // InternalProblem.g:4111:2: ( rule__QualifiedName__Group_1_2__0 )?
12959 int alt48=2;
12960 int LA48_0 = input.LA(1);
12961
12962 if ( (LA48_0==36) ) {
12963 alt48=1;
12964 }
12965 switch (alt48) {
12966 case 1 :
12967 // InternalProblem.g:4111:3: rule__QualifiedName__Group_1_2__0
12968 {
12969 pushFollow(FOLLOW_2);
12970 rule__QualifiedName__Group_1_2__0();
12971
12972 state._fsp--;
12973
12974
12975 }
12976 break;
12977
12978 }
12979
12980 after(grammarAccess.getQualifiedNameAccess().getGroup_1_2());
12981
12982 }
12983
12984
12985 }
12986
12987 }
12988 catch (RecognitionException re) {
12989 reportError(re);
12990 recover(input,re);
12991 }
12992 finally {
12993
12994 restoreStackSize(stackSize);
12995
12996 }
12997 return ;
12998 }
12999 // $ANTLR end "rule__QualifiedName__Group_1__2__Impl"
13000
13001
13002 // $ANTLR start "rule__QualifiedName__Group_1_1__0"
13003 // InternalProblem.g:4120:1: rule__QualifiedName__Group_1_1__0 : rule__QualifiedName__Group_1_1__0__Impl rule__QualifiedName__Group_1_1__1 ;
13004 public final void rule__QualifiedName__Group_1_1__0() throws RecognitionException {
13005
13006 int stackSize = keepStackSize();
13007
13008 try {
13009 // InternalProblem.g:4124:1: ( rule__QualifiedName__Group_1_1__0__Impl rule__QualifiedName__Group_1_1__1 )
13010 // InternalProblem.g:4125:2: rule__QualifiedName__Group_1_1__0__Impl rule__QualifiedName__Group_1_1__1
13011 {
13012 pushFollow(FOLLOW_5);
13013 rule__QualifiedName__Group_1_1__0__Impl();
13014
13015 state._fsp--;
13016
13017 pushFollow(FOLLOW_2);
13018 rule__QualifiedName__Group_1_1__1();
13019
13020 state._fsp--;
13021
13022
13023 }
13024
13025 }
13026 catch (RecognitionException re) {
13027 reportError(re);
13028 recover(input,re);
13029 }
13030 finally {
13031
13032 restoreStackSize(stackSize);
13033
13034 }
13035 return ;
13036 }
13037 // $ANTLR end "rule__QualifiedName__Group_1_1__0"
13038
13039
13040 // $ANTLR start "rule__QualifiedName__Group_1_1__0__Impl"
13041 // InternalProblem.g:4132:1: rule__QualifiedName__Group_1_1__0__Impl : ( ':' ) ;
13042 public final void rule__QualifiedName__Group_1_1__0__Impl() throws RecognitionException {
13043
13044 int stackSize = keepStackSize();
13045
13046 try {
13047 // InternalProblem.g:4136:1: ( ( ':' ) )
13048 // InternalProblem.g:4137:1: ( ':' )
13049 {
13050 // InternalProblem.g:4137:1: ( ':' )
13051 // InternalProblem.g:4138:2: ':'
13052 {
13053 before(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0());
13054 match(input,36,FOLLOW_2);
13055 after(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0());
13056
13057 }
13058
13059
13060 }
13061
13062 }
13063 catch (RecognitionException re) {
13064 reportError(re);
13065 recover(input,re);
13066 }
13067 finally {
13068
13069 restoreStackSize(stackSize);
13070
13071 }
13072 return ;
13073 }
13074 // $ANTLR end "rule__QualifiedName__Group_1_1__0__Impl"
13075
13076
13077 // $ANTLR start "rule__QualifiedName__Group_1_1__1"
13078 // InternalProblem.g:4147:1: rule__QualifiedName__Group_1_1__1 : rule__QualifiedName__Group_1_1__1__Impl ;
13079 public final void rule__QualifiedName__Group_1_1__1() throws RecognitionException {
13080
13081 int stackSize = keepStackSize();
13082
13083 try {
13084 // InternalProblem.g:4151:1: ( rule__QualifiedName__Group_1_1__1__Impl )
13085 // InternalProblem.g:4152:2: rule__QualifiedName__Group_1_1__1__Impl
13086 {
13087 pushFollow(FOLLOW_2);
13088 rule__QualifiedName__Group_1_1__1__Impl();
13089
13090 state._fsp--;
13091
13092
13093 }
13094
13095 }
13096 catch (RecognitionException re) {
13097 reportError(re);
13098 recover(input,re);
13099 }
13100 finally {
13101
13102 restoreStackSize(stackSize);
13103
13104 }
13105 return ;
13106 }
13107 // $ANTLR end "rule__QualifiedName__Group_1_1__1"
13108
13109
13110 // $ANTLR start "rule__QualifiedName__Group_1_1__1__Impl"
13111 // InternalProblem.g:4158:1: rule__QualifiedName__Group_1_1__1__Impl : ( ruleIdentifier ) ;
13112 public final void rule__QualifiedName__Group_1_1__1__Impl() throws RecognitionException {
13113
13114 int stackSize = keepStackSize();
13115
13116 try {
13117 // InternalProblem.g:4162:1: ( ( ruleIdentifier ) )
13118 // InternalProblem.g:4163:1: ( ruleIdentifier )
13119 {
13120 // InternalProblem.g:4163:1: ( ruleIdentifier )
13121 // InternalProblem.g:4164:2: ruleIdentifier
13122 {
13123 before(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1());
13124 pushFollow(FOLLOW_2);
13125 ruleIdentifier();
13126
13127 state._fsp--;
13128
13129 after(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1());
13130
13131 }
13132
13133
13134 }
13135
13136 }
13137 catch (RecognitionException re) {
13138 reportError(re);
13139 recover(input,re);
13140 }
13141 finally {
13142
13143 restoreStackSize(stackSize);
13144
13145 }
13146 return ;
13147 }
13148 // $ANTLR end "rule__QualifiedName__Group_1_1__1__Impl"
13149
13150
13151 // $ANTLR start "rule__QualifiedName__Group_1_2__0"
13152 // InternalProblem.g:4174:1: rule__QualifiedName__Group_1_2__0 : rule__QualifiedName__Group_1_2__0__Impl rule__QualifiedName__Group_1_2__1 ;
13153 public final void rule__QualifiedName__Group_1_2__0() throws RecognitionException {
13154
13155 int stackSize = keepStackSize();
13156
13157 try {
13158 // InternalProblem.g:4178:1: ( rule__QualifiedName__Group_1_2__0__Impl rule__QualifiedName__Group_1_2__1 )
13159 // InternalProblem.g:4179:2: rule__QualifiedName__Group_1_2__0__Impl rule__QualifiedName__Group_1_2__1
13160 {
13161 pushFollow(FOLLOW_38);
13162 rule__QualifiedName__Group_1_2__0__Impl();
13163
13164 state._fsp--;
13165
13166 pushFollow(FOLLOW_2);
13167 rule__QualifiedName__Group_1_2__1();
13168
13169 state._fsp--;
13170
13171
13172 }
13173
13174 }
13175 catch (RecognitionException re) {
13176 reportError(re);
13177 recover(input,re);
13178 }
13179 finally {
13180
13181 restoreStackSize(stackSize);
13182
13183 }
13184 return ;
13185 }
13186 // $ANTLR end "rule__QualifiedName__Group_1_2__0"
13187
13188
13189 // $ANTLR start "rule__QualifiedName__Group_1_2__0__Impl"
13190 // InternalProblem.g:4186:1: rule__QualifiedName__Group_1_2__0__Impl : ( ':' ) ;
13191 public final void rule__QualifiedName__Group_1_2__0__Impl() throws RecognitionException {
13192
13193 int stackSize = keepStackSize();
13194
13195 try {
13196 // InternalProblem.g:4190:1: ( ( ':' ) )
13197 // InternalProblem.g:4191:1: ( ':' )
13198 {
13199 // InternalProblem.g:4191:1: ( ':' )
13200 // InternalProblem.g:4192:2: ':'
13201 {
13202 before(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0());
13203 match(input,36,FOLLOW_2);
13204 after(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0());
13205
13206 }
13207
13208
13209 }
13210
13211 }
13212 catch (RecognitionException re) {
13213 reportError(re);
13214 recover(input,re);
13215 }
13216 finally {
13217
13218 restoreStackSize(stackSize);
13219
13220 }
13221 return ;
13222 }
13223 // $ANTLR end "rule__QualifiedName__Group_1_2__0__Impl"
13224
13225
13226 // $ANTLR start "rule__QualifiedName__Group_1_2__1"
13227 // InternalProblem.g:4201:1: rule__QualifiedName__Group_1_2__1 : rule__QualifiedName__Group_1_2__1__Impl ;
13228 public final void rule__QualifiedName__Group_1_2__1() throws RecognitionException {
13229
13230 int stackSize = keepStackSize();
13231
13232 try {
13233 // InternalProblem.g:4205:1: ( rule__QualifiedName__Group_1_2__1__Impl )
13234 // InternalProblem.g:4206:2: rule__QualifiedName__Group_1_2__1__Impl
13235 {
13236 pushFollow(FOLLOW_2);
13237 rule__QualifiedName__Group_1_2__1__Impl();
13238
13239 state._fsp--;
13240
13241
13242 }
13243
13244 }
13245 catch (RecognitionException re) {
13246 reportError(re);
13247 recover(input,re);
13248 }
13249 finally {
13250
13251 restoreStackSize(stackSize);
13252
13253 }
13254 return ;
13255 }
13256 // $ANTLR end "rule__QualifiedName__Group_1_2__1"
13257
13258
13259 // $ANTLR start "rule__QualifiedName__Group_1_2__1__Impl"
13260 // InternalProblem.g:4212:1: rule__QualifiedName__Group_1_2__1__Impl : ( RULE_QUOTED_ID ) ;
13261 public final void rule__QualifiedName__Group_1_2__1__Impl() throws RecognitionException {
13262
13263 int stackSize = keepStackSize();
13264
13265 try {
13266 // InternalProblem.g:4216:1: ( ( RULE_QUOTED_ID ) )
13267 // InternalProblem.g:4217:1: ( RULE_QUOTED_ID )
13268 {
13269 // InternalProblem.g:4217:1: ( RULE_QUOTED_ID )
13270 // InternalProblem.g:4218:2: RULE_QUOTED_ID
13271 {
13272 before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1());
13273 match(input,RULE_QUOTED_ID,FOLLOW_2);
13274 after(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1());
13275
13276 }
13277
13278
13279 }
13280
13281 }
13282 catch (RecognitionException re) {
13283 reportError(re);
13284 recover(input,re);
13285 }
13286 finally {
13287
13288 restoreStackSize(stackSize);
13289
13290 }
13291 return ;
13292 }
13293 // $ANTLR end "rule__QualifiedName__Group_1_2__1__Impl"
13294
13295
13296 // $ANTLR start "rule__Problem__NameAssignment_0_1"
13297 // InternalProblem.g:4228:1: rule__Problem__NameAssignment_0_1 : ( ruleIdentifier ) ;
13298 public final void rule__Problem__NameAssignment_0_1() throws RecognitionException {
13299
13300 int stackSize = keepStackSize();
13301
13302 try {
13303 // InternalProblem.g:4232:1: ( ( ruleIdentifier ) )
13304 // InternalProblem.g:4233:2: ( ruleIdentifier )
13305 {
13306 // InternalProblem.g:4233:2: ( ruleIdentifier )
13307 // InternalProblem.g:4234:3: ruleIdentifier
13308 {
13309 before(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0());
13310 pushFollow(FOLLOW_2);
13311 ruleIdentifier();
13312
13313 state._fsp--;
13314
13315 after(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0());
13316
13317 }
13318
13319
13320 }
13321
13322 }
13323 catch (RecognitionException re) {
13324 reportError(re);
13325 recover(input,re);
13326 }
13327 finally {
13328
13329 restoreStackSize(stackSize);
13330
13331 }
13332 return ;
13333 }
13334 // $ANTLR end "rule__Problem__NameAssignment_0_1"
13335
13336
13337 // $ANTLR start "rule__Problem__StatementsAssignment_1"
13338 // InternalProblem.g:4243:1: rule__Problem__StatementsAssignment_1 : ( ruleStatement ) ;
13339 public final void rule__Problem__StatementsAssignment_1() throws RecognitionException {
13340
13341 int stackSize = keepStackSize();
13342
13343 try {
13344 // InternalProblem.g:4247:1: ( ( ruleStatement ) )
13345 // InternalProblem.g:4248:2: ( ruleStatement )
13346 {
13347 // InternalProblem.g:4248:2: ( ruleStatement )
13348 // InternalProblem.g:4249:3: ruleStatement
13349 {
13350 before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0());
13351 pushFollow(FOLLOW_2);
13352 ruleStatement();
13353
13354 state._fsp--;
13355
13356 after(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0());
13357
13358 }
13359
13360
13361 }
13362
13363 }
13364 catch (RecognitionException re) {
13365 reportError(re);
13366 recover(input,re);
13367 }
13368 finally {
13369
13370 restoreStackSize(stackSize);
13371
13372 }
13373 return ;
13374 }
13375 // $ANTLR end "rule__Problem__StatementsAssignment_1"
13376
13377
13378 // $ANTLR start "rule__ClassDeclaration__AbstractAssignment_0"
13379 // InternalProblem.g:4258:1: rule__ClassDeclaration__AbstractAssignment_0 : ( ( 'abstract' ) ) ;
13380 public final void rule__ClassDeclaration__AbstractAssignment_0() throws RecognitionException {
13381
13382 int stackSize = keepStackSize();
13383
13384 try {
13385 // InternalProblem.g:4262:1: ( ( ( 'abstract' ) ) )
13386 // InternalProblem.g:4263:2: ( ( 'abstract' ) )
13387 {
13388 // InternalProblem.g:4263:2: ( ( 'abstract' ) )
13389 // InternalProblem.g:4264:3: ( 'abstract' )
13390 {
13391 before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
13392 // InternalProblem.g:4265:3: ( 'abstract' )
13393 // InternalProblem.g:4266:4: 'abstract'
13394 {
13395 before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
13396 match(input,39,FOLLOW_2);
13397 after(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
13398
13399 }
13400
13401 after(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
13402
13403 }
13404
13405
13406 }
13407
13408 }
13409 catch (RecognitionException re) {
13410 reportError(re);
13411 recover(input,re);
13412 }
13413 finally {
13414
13415 restoreStackSize(stackSize);
13416
13417 }
13418 return ;
13419 }
13420 // $ANTLR end "rule__ClassDeclaration__AbstractAssignment_0"
13421
13422
13423 // $ANTLR start "rule__ClassDeclaration__NameAssignment_2"
13424 // InternalProblem.g:4277:1: rule__ClassDeclaration__NameAssignment_2 : ( ruleIdentifier ) ;
13425 public final void rule__ClassDeclaration__NameAssignment_2() throws RecognitionException {
13426
13427 int stackSize = keepStackSize();
13428
13429 try {
13430 // InternalProblem.g:4281:1: ( ( ruleIdentifier ) )
13431 // InternalProblem.g:4282:2: ( ruleIdentifier )
13432 {
13433 // InternalProblem.g:4282:2: ( ruleIdentifier )
13434 // InternalProblem.g:4283:3: ruleIdentifier
13435 {
13436 before(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0());
13437 pushFollow(FOLLOW_2);
13438 ruleIdentifier();
13439
13440 state._fsp--;
13441
13442 after(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0());
13443
13444 }
13445
13446
13447 }
13448
13449 }
13450 catch (RecognitionException re) {
13451 reportError(re);
13452 recover(input,re);
13453 }
13454 finally {
13455
13456 restoreStackSize(stackSize);
13457
13458 }
13459 return ;
13460 }
13461 // $ANTLR end "rule__ClassDeclaration__NameAssignment_2"
13462
13463
13464 // $ANTLR start "rule__ClassDeclaration__SuperTypesAssignment_3_1"
13465 // InternalProblem.g:4292:1: rule__ClassDeclaration__SuperTypesAssignment_3_1 : ( ( ruleQualifiedName ) ) ;
13466 public final void rule__ClassDeclaration__SuperTypesAssignment_3_1() throws RecognitionException {
13467
13468 int stackSize = keepStackSize();
13469
13470 try {
13471 // InternalProblem.g:4296:1: ( ( ( ruleQualifiedName ) ) )
13472 // InternalProblem.g:4297:2: ( ( ruleQualifiedName ) )
13473 {
13474 // InternalProblem.g:4297:2: ( ( ruleQualifiedName ) )
13475 // InternalProblem.g:4298:3: ( ruleQualifiedName )
13476 {
13477 before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0());
13478 // InternalProblem.g:4299:3: ( ruleQualifiedName )
13479 // InternalProblem.g:4300:4: ruleQualifiedName
13480 {
13481 before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1());
13482 pushFollow(FOLLOW_2);
13483 ruleQualifiedName();
13484
13485 state._fsp--;
13486
13487 after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1());
13488
13489 }
13490
13491 after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0());
13492
13493 }
13494
13495
13496 }
13497
13498 }
13499 catch (RecognitionException re) {
13500 reportError(re);
13501 recover(input,re);
13502 }
13503 finally {
13504
13505 restoreStackSize(stackSize);
13506
13507 }
13508 return ;
13509 }
13510 // $ANTLR end "rule__ClassDeclaration__SuperTypesAssignment_3_1"
13511
13512
13513 // $ANTLR start "rule__ClassDeclaration__SuperTypesAssignment_3_2_1"
13514 // InternalProblem.g:4311:1: rule__ClassDeclaration__SuperTypesAssignment_3_2_1 : ( ( ruleQualifiedName ) ) ;
13515 public final void rule__ClassDeclaration__SuperTypesAssignment_3_2_1() throws RecognitionException {
13516
13517 int stackSize = keepStackSize();
13518
13519 try {
13520 // InternalProblem.g:4315:1: ( ( ( ruleQualifiedName ) ) )
13521 // InternalProblem.g:4316:2: ( ( ruleQualifiedName ) )
13522 {
13523 // InternalProblem.g:4316:2: ( ( ruleQualifiedName ) )
13524 // InternalProblem.g:4317:3: ( ruleQualifiedName )
13525 {
13526 before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0());
13527 // InternalProblem.g:4318:3: ( ruleQualifiedName )
13528 // InternalProblem.g:4319:4: ruleQualifiedName
13529 {
13530 before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1());
13531 pushFollow(FOLLOW_2);
13532 ruleQualifiedName();
13533
13534 state._fsp--;
13535
13536 after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1());
13537
13538 }
13539
13540 after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0());
13541
13542 }
13543
13544
13545 }
13546
13547 }
13548 catch (RecognitionException re) {
13549 reportError(re);
13550 recover(input,re);
13551 }
13552 finally {
13553
13554 restoreStackSize(stackSize);
13555
13556 }
13557 return ;
13558 }
13559 // $ANTLR end "rule__ClassDeclaration__SuperTypesAssignment_3_2_1"
13560
13561
13562 // $ANTLR start "rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0"
13563 // InternalProblem.g:4330:1: rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 : ( ruleReferenceDeclaration ) ;
13564 public final void rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0() throws RecognitionException {
13565
13566 int stackSize = keepStackSize();
13567
13568 try {
13569 // InternalProblem.g:4334:1: ( ( ruleReferenceDeclaration ) )
13570 // InternalProblem.g:4335:2: ( ruleReferenceDeclaration )
13571 {
13572 // InternalProblem.g:4335:2: ( ruleReferenceDeclaration )
13573 // InternalProblem.g:4336:3: ruleReferenceDeclaration
13574 {
13575 before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0());
13576 pushFollow(FOLLOW_2);
13577 ruleReferenceDeclaration();
13578
13579 state._fsp--;
13580
13581 after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0());
13582
13583 }
13584
13585
13586 }
13587
13588 }
13589 catch (RecognitionException re) {
13590 reportError(re);
13591 recover(input,re);
13592 }
13593 finally {
13594
13595 restoreStackSize(stackSize);
13596
13597 }
13598 return ;
13599 }
13600 // $ANTLR end "rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0"
13601
13602
13603 // $ANTLR start "rule__EnumDeclaration__NameAssignment_1"
13604 // InternalProblem.g:4345:1: rule__EnumDeclaration__NameAssignment_1 : ( ruleIdentifier ) ;
13605 public final void rule__EnumDeclaration__NameAssignment_1() throws RecognitionException {
13606
13607 int stackSize = keepStackSize();
13608
13609 try {
13610 // InternalProblem.g:4349:1: ( ( ruleIdentifier ) )
13611 // InternalProblem.g:4350:2: ( ruleIdentifier )
13612 {
13613 // InternalProblem.g:4350:2: ( ruleIdentifier )
13614 // InternalProblem.g:4351:3: ruleIdentifier
13615 {
13616 before(grammarAccess.getEnumDeclarationAccess().getNameIdentifierParserRuleCall_1_0());
13617 pushFollow(FOLLOW_2);
13618 ruleIdentifier();
13619
13620 state._fsp--;
13621
13622 after(grammarAccess.getEnumDeclarationAccess().getNameIdentifierParserRuleCall_1_0());
13623
13624 }
13625
13626
13627 }
13628
13629 }
13630 catch (RecognitionException re) {
13631 reportError(re);
13632 recover(input,re);
13633 }
13634 finally {
13635
13636 restoreStackSize(stackSize);
13637
13638 }
13639 return ;
13640 }
13641 // $ANTLR end "rule__EnumDeclaration__NameAssignment_1"
13642
13643
13644 // $ANTLR start "rule__EnumDeclaration__LiteralsAssignment_2_0_1_0"
13645 // InternalProblem.g:4360:1: rule__EnumDeclaration__LiteralsAssignment_2_0_1_0 : ( ruleEnumLiteral ) ;
13646 public final void rule__EnumDeclaration__LiteralsAssignment_2_0_1_0() throws RecognitionException {
13647
13648 int stackSize = keepStackSize();
13649
13650 try {
13651 // InternalProblem.g:4364:1: ( ( ruleEnumLiteral ) )
13652 // InternalProblem.g:4365:2: ( ruleEnumLiteral )
13653 {
13654 // InternalProblem.g:4365:2: ( ruleEnumLiteral )
13655 // InternalProblem.g:4366:3: ruleEnumLiteral
13656 {
13657 before(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0());
13658 pushFollow(FOLLOW_2);
13659 ruleEnumLiteral();
13660
13661 state._fsp--;
13662
13663 after(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0());
13664
13665 }
13666
13667
13668 }
13669
13670 }
13671 catch (RecognitionException re) {
13672 reportError(re);
13673 recover(input,re);
13674 }
13675 finally {
13676
13677 restoreStackSize(stackSize);
13678
13679 }
13680 return ;
13681 }
13682 // $ANTLR end "rule__EnumDeclaration__LiteralsAssignment_2_0_1_0"
13683
13684
13685 // $ANTLR start "rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1"
13686 // InternalProblem.g:4375:1: rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1 : ( ruleEnumLiteral ) ;
13687 public final void rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1() throws RecognitionException {
13688
13689 int stackSize = keepStackSize();
13690
13691 try {
13692 // InternalProblem.g:4379:1: ( ( ruleEnumLiteral ) )
13693 // InternalProblem.g:4380:2: ( ruleEnumLiteral )
13694 {
13695 // InternalProblem.g:4380:2: ( ruleEnumLiteral )
13696 // InternalProblem.g:4381:3: ruleEnumLiteral
13697 {
13698 before(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0());
13699 pushFollow(FOLLOW_2);
13700 ruleEnumLiteral();
13701
13702 state._fsp--;
13703
13704 after(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0());
13705
13706 }
13707
13708
13709 }
13710
13711 }
13712 catch (RecognitionException re) {
13713 reportError(re);
13714 recover(input,re);
13715 }
13716 finally {
13717
13718 restoreStackSize(stackSize);
13719
13720 }
13721 return ;
13722 }
13723 // $ANTLR end "rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1"
13724
13725
13726 // $ANTLR start "rule__EnumLiteral__NameAssignment"
13727 // InternalProblem.g:4390:1: rule__EnumLiteral__NameAssignment : ( ruleQuotedOrUnquotedId ) ;
13728 public final void rule__EnumLiteral__NameAssignment() throws RecognitionException {
13729
13730 int stackSize = keepStackSize();
13731
13732 try {
13733 // InternalProblem.g:4394:1: ( ( ruleQuotedOrUnquotedId ) )
13734 // InternalProblem.g:4395:2: ( ruleQuotedOrUnquotedId )
13735 {
13736 // InternalProblem.g:4395:2: ( ruleQuotedOrUnquotedId )
13737 // InternalProblem.g:4396:3: ruleQuotedOrUnquotedId
13738 {
13739 before(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0());
13740 pushFollow(FOLLOW_2);
13741 ruleQuotedOrUnquotedId();
13742
13743 state._fsp--;
13744
13745 after(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0());
13746
13747 }
13748
13749
13750 }
13751
13752 }
13753 catch (RecognitionException re) {
13754 reportError(re);
13755 recover(input,re);
13756 }
13757 finally {
13758
13759 restoreStackSize(stackSize);
13760
13761 }
13762 return ;
13763 }
13764 // $ANTLR end "rule__EnumLiteral__NameAssignment"
13765
13766
13767 // $ANTLR start "rule__ReferenceDeclaration__ContainmentAssignment_0_0"
13768 // InternalProblem.g:4405:1: rule__ReferenceDeclaration__ContainmentAssignment_0_0 : ( ( 'contains' ) ) ;
13769 public final void rule__ReferenceDeclaration__ContainmentAssignment_0_0() throws RecognitionException {
13770
13771 int stackSize = keepStackSize();
13772
13773 try {
13774 // InternalProblem.g:4409:1: ( ( ( 'contains' ) ) )
13775 // InternalProblem.g:4410:2: ( ( 'contains' ) )
13776 {
13777 // InternalProblem.g:4410:2: ( ( 'contains' ) )
13778 // InternalProblem.g:4411:3: ( 'contains' )
13779 {
13780 before(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
13781 // InternalProblem.g:4412:3: ( 'contains' )
13782 // InternalProblem.g:4413:4: 'contains'
13783 {
13784 before(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
13785 match(input,40,FOLLOW_2);
13786 after(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
13787
13788 }
13789
13790 after(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
13791
13792 }
13793
13794
13795 }
13796
13797 }
13798 catch (RecognitionException re) {
13799 reportError(re);
13800 recover(input,re);
13801 }
13802 finally {
13803
13804 restoreStackSize(stackSize);
13805
13806 }
13807 return ;
13808 }
13809 // $ANTLR end "rule__ReferenceDeclaration__ContainmentAssignment_0_0"
13810
13811
13812 // $ANTLR start "rule__ReferenceDeclaration__ReferenceTypeAssignment_1"
13813 // InternalProblem.g:4424:1: rule__ReferenceDeclaration__ReferenceTypeAssignment_1 : ( ( ruleQualifiedName ) ) ;
13814 public final void rule__ReferenceDeclaration__ReferenceTypeAssignment_1() throws RecognitionException {
13815
13816 int stackSize = keepStackSize();
13817
13818 try {
13819 // InternalProblem.g:4428:1: ( ( ( ruleQualifiedName ) ) )
13820 // InternalProblem.g:4429:2: ( ( ruleQualifiedName ) )
13821 {
13822 // InternalProblem.g:4429:2: ( ( ruleQualifiedName ) )
13823 // InternalProblem.g:4430:3: ( ruleQualifiedName )
13824 {
13825 before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0());
13826 // InternalProblem.g:4431:3: ( ruleQualifiedName )
13827 // InternalProblem.g:4432:4: ruleQualifiedName
13828 {
13829 before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1());
13830 pushFollow(FOLLOW_2);
13831 ruleQualifiedName();
13832
13833 state._fsp--;
13834
13835 after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1());
13836
13837 }
13838
13839 after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0());
13840
13841 }
13842
13843
13844 }
13845
13846 }
13847 catch (RecognitionException re) {
13848 reportError(re);
13849 recover(input,re);
13850 }
13851 finally {
13852
13853 restoreStackSize(stackSize);
13854
13855 }
13856 return ;
13857 }
13858 // $ANTLR end "rule__ReferenceDeclaration__ReferenceTypeAssignment_1"
13859
13860
13861 // $ANTLR start "rule__ReferenceDeclaration__MultiplicityAssignment_2_1"
13862 // InternalProblem.g:4443:1: rule__ReferenceDeclaration__MultiplicityAssignment_2_1 : ( ruleMultiplicity ) ;
13863 public final void rule__ReferenceDeclaration__MultiplicityAssignment_2_1() throws RecognitionException {
13864
13865 int stackSize = keepStackSize();
13866
13867 try {
13868 // InternalProblem.g:4447:1: ( ( ruleMultiplicity ) )
13869 // InternalProblem.g:4448:2: ( ruleMultiplicity )
13870 {
13871 // InternalProblem.g:4448:2: ( ruleMultiplicity )
13872 // InternalProblem.g:4449:3: ruleMultiplicity
13873 {
13874 before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0());
13875 pushFollow(FOLLOW_2);
13876 ruleMultiplicity();
13877
13878 state._fsp--;
13879
13880 after(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0());
13881
13882 }
13883
13884
13885 }
13886
13887 }
13888 catch (RecognitionException re) {
13889 reportError(re);
13890 recover(input,re);
13891 }
13892 finally {
13893
13894 restoreStackSize(stackSize);
13895
13896 }
13897 return ;
13898 }
13899 // $ANTLR end "rule__ReferenceDeclaration__MultiplicityAssignment_2_1"
13900
13901
13902 // $ANTLR start "rule__ReferenceDeclaration__NameAssignment_3"
13903 // InternalProblem.g:4458:1: rule__ReferenceDeclaration__NameAssignment_3 : ( ruleIdentifier ) ;
13904 public final void rule__ReferenceDeclaration__NameAssignment_3() throws RecognitionException {
13905
13906 int stackSize = keepStackSize();
13907
13908 try {
13909 // InternalProblem.g:4462:1: ( ( ruleIdentifier ) )
13910 // InternalProblem.g:4463:2: ( ruleIdentifier )
13911 {
13912 // InternalProblem.g:4463:2: ( ruleIdentifier )
13913 // InternalProblem.g:4464:3: ruleIdentifier
13914 {
13915 before(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0());
13916 pushFollow(FOLLOW_2);
13917 ruleIdentifier();
13918
13919 state._fsp--;
13920
13921 after(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0());
13922
13923 }
13924
13925
13926 }
13927
13928 }
13929 catch (RecognitionException re) {
13930 reportError(re);
13931 recover(input,re);
13932 }
13933 finally {
13934
13935 restoreStackSize(stackSize);
13936
13937 }
13938 return ;
13939 }
13940 // $ANTLR end "rule__ReferenceDeclaration__NameAssignment_3"
13941
13942
13943 // $ANTLR start "rule__ReferenceDeclaration__OppositeAssignment_4_1"
13944 // InternalProblem.g:4473:1: rule__ReferenceDeclaration__OppositeAssignment_4_1 : ( ( ruleQualifiedName ) ) ;
13945 public final void rule__ReferenceDeclaration__OppositeAssignment_4_1() throws RecognitionException {
13946
13947 int stackSize = keepStackSize();
13948
13949 try {
13950 // InternalProblem.g:4477:1: ( ( ( ruleQualifiedName ) ) )
13951 // InternalProblem.g:4478:2: ( ( ruleQualifiedName ) )
13952 {
13953 // InternalProblem.g:4478:2: ( ( ruleQualifiedName ) )
13954 // InternalProblem.g:4479:3: ( ruleQualifiedName )
13955 {
13956 before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0());
13957 // InternalProblem.g:4480:3: ( ruleQualifiedName )
13958 // InternalProblem.g:4481:4: ruleQualifiedName
13959 {
13960 before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1());
13961 pushFollow(FOLLOW_2);
13962 ruleQualifiedName();
13963
13964 state._fsp--;
13965
13966 after(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1());
13967
13968 }
13969
13970 after(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0());
13971
13972 }
13973
13974
13975 }
13976
13977 }
13978 catch (RecognitionException re) {
13979 reportError(re);
13980 recover(input,re);
13981 }
13982 finally {
13983
13984 restoreStackSize(stackSize);
13985
13986 }
13987 return ;
13988 }
13989 // $ANTLR end "rule__ReferenceDeclaration__OppositeAssignment_4_1"
13990
13991
13992 // $ANTLR start "rule__PredicateDefinition__ErrorAssignment_0_0_0"
13993 // InternalProblem.g:4492:1: rule__PredicateDefinition__ErrorAssignment_0_0_0 : ( ( 'error' ) ) ;
13994 public final void rule__PredicateDefinition__ErrorAssignment_0_0_0() throws RecognitionException {
13995
13996 int stackSize = keepStackSize();
13997
13998 try {
13999 // InternalProblem.g:4496:1: ( ( ( 'error' ) ) )
14000 // InternalProblem.g:4497:2: ( ( 'error' ) )
14001 {
14002 // InternalProblem.g:4497:2: ( ( 'error' ) )
14003 // InternalProblem.g:4498:3: ( 'error' )
14004 {
14005 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
14006 // InternalProblem.g:4499:3: ( 'error' )
14007 // InternalProblem.g:4500:4: 'error'
14008 {
14009 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
14010 match(input,41,FOLLOW_2);
14011 after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
14012
14013 }
14014
14015 after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
14016
14017 }
14018
14019
14020 }
14021
14022 }
14023 catch (RecognitionException re) {
14024 reportError(re);
14025 recover(input,re);
14026 }
14027 finally {
14028
14029 restoreStackSize(stackSize);
14030
14031 }
14032 return ;
14033 }
14034 // $ANTLR end "rule__PredicateDefinition__ErrorAssignment_0_0_0"
14035
14036
14037 // $ANTLR start "rule__PredicateDefinition__NameAssignment_1"
14038 // InternalProblem.g:4511:1: rule__PredicateDefinition__NameAssignment_1 : ( ruleIdentifier ) ;
14039 public final void rule__PredicateDefinition__NameAssignment_1() throws RecognitionException {
14040
14041 int stackSize = keepStackSize();
14042
14043 try {
14044 // InternalProblem.g:4515:1: ( ( ruleIdentifier ) )
14045 // InternalProblem.g:4516:2: ( ruleIdentifier )
14046 {
14047 // InternalProblem.g:4516:2: ( ruleIdentifier )
14048 // InternalProblem.g:4517:3: ruleIdentifier
14049 {
14050 before(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0());
14051 pushFollow(FOLLOW_2);
14052 ruleIdentifier();
14053
14054 state._fsp--;
14055
14056 after(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0());
14057
14058 }
14059
14060
14061 }
14062
14063 }
14064 catch (RecognitionException re) {
14065 reportError(re);
14066 recover(input,re);
14067 }
14068 finally {
14069
14070 restoreStackSize(stackSize);
14071
14072 }
14073 return ;
14074 }
14075 // $ANTLR end "rule__PredicateDefinition__NameAssignment_1"
14076
14077
14078 // $ANTLR start "rule__PredicateDefinition__ParametersAssignment_3_0"
14079 // InternalProblem.g:4526:1: rule__PredicateDefinition__ParametersAssignment_3_0 : ( ruleParameter ) ;
14080 public final void rule__PredicateDefinition__ParametersAssignment_3_0() throws RecognitionException {
14081
14082 int stackSize = keepStackSize();
14083
14084 try {
14085 // InternalProblem.g:4530:1: ( ( ruleParameter ) )
14086 // InternalProblem.g:4531:2: ( ruleParameter )
14087 {
14088 // InternalProblem.g:4531:2: ( ruleParameter )
14089 // InternalProblem.g:4532:3: ruleParameter
14090 {
14091 before(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0());
14092 pushFollow(FOLLOW_2);
14093 ruleParameter();
14094
14095 state._fsp--;
14096
14097 after(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0());
14098
14099 }
14100
14101
14102 }
14103
14104 }
14105 catch (RecognitionException re) {
14106 reportError(re);
14107 recover(input,re);
14108 }
14109 finally {
14110
14111 restoreStackSize(stackSize);
14112
14113 }
14114 return ;
14115 }
14116 // $ANTLR end "rule__PredicateDefinition__ParametersAssignment_3_0"
14117
14118
14119 // $ANTLR start "rule__PredicateDefinition__ParametersAssignment_3_1_1"
14120 // InternalProblem.g:4541:1: rule__PredicateDefinition__ParametersAssignment_3_1_1 : ( ruleParameter ) ;
14121 public final void rule__PredicateDefinition__ParametersAssignment_3_1_1() throws RecognitionException {
14122
14123 int stackSize = keepStackSize();
14124
14125 try {
14126 // InternalProblem.g:4545:1: ( ( ruleParameter ) )
14127 // InternalProblem.g:4546:2: ( ruleParameter )
14128 {
14129 // InternalProblem.g:4546:2: ( ruleParameter )
14130 // InternalProblem.g:4547:3: ruleParameter
14131 {
14132 before(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0());
14133 pushFollow(FOLLOW_2);
14134 ruleParameter();
14135
14136 state._fsp--;
14137
14138 after(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0());
14139
14140 }
14141
14142
14143 }
14144
14145 }
14146 catch (RecognitionException re) {
14147 reportError(re);
14148 recover(input,re);
14149 }
14150 finally {
14151
14152 restoreStackSize(stackSize);
14153
14154 }
14155 return ;
14156 }
14157 // $ANTLR end "rule__PredicateDefinition__ParametersAssignment_3_1_1"
14158
14159
14160 // $ANTLR start "rule__PredicateDefinition__BodiesAssignment_5_1"
14161 // InternalProblem.g:4556:1: rule__PredicateDefinition__BodiesAssignment_5_1 : ( ruleConjunction ) ;
14162 public final void rule__PredicateDefinition__BodiesAssignment_5_1() throws RecognitionException {
14163
14164 int stackSize = keepStackSize();
14165
14166 try {
14167 // InternalProblem.g:4560:1: ( ( ruleConjunction ) )
14168 // InternalProblem.g:4561:2: ( ruleConjunction )
14169 {
14170 // InternalProblem.g:4561:2: ( ruleConjunction )
14171 // InternalProblem.g:4562:3: ruleConjunction
14172 {
14173 before(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0());
14174 pushFollow(FOLLOW_2);
14175 ruleConjunction();
14176
14177 state._fsp--;
14178
14179 after(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0());
14180
14181 }
14182
14183
14184 }
14185
14186 }
14187 catch (RecognitionException re) {
14188 reportError(re);
14189 recover(input,re);
14190 }
14191 finally {
14192
14193 restoreStackSize(stackSize);
14194
14195 }
14196 return ;
14197 }
14198 // $ANTLR end "rule__PredicateDefinition__BodiesAssignment_5_1"
14199
14200
14201 // $ANTLR start "rule__PredicateDefinition__BodiesAssignment_5_2_1"
14202 // InternalProblem.g:4571:1: rule__PredicateDefinition__BodiesAssignment_5_2_1 : ( ruleConjunction ) ;
14203 public final void rule__PredicateDefinition__BodiesAssignment_5_2_1() throws RecognitionException {
14204
14205 int stackSize = keepStackSize();
14206
14207 try {
14208 // InternalProblem.g:4575:1: ( ( ruleConjunction ) )
14209 // InternalProblem.g:4576:2: ( ruleConjunction )
14210 {
14211 // InternalProblem.g:4576:2: ( ruleConjunction )
14212 // InternalProblem.g:4577:3: ruleConjunction
14213 {
14214 before(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0());
14215 pushFollow(FOLLOW_2);
14216 ruleConjunction();
14217
14218 state._fsp--;
14219
14220 after(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0());
14221
14222 }
14223
14224
14225 }
14226
14227 }
14228 catch (RecognitionException re) {
14229 reportError(re);
14230 recover(input,re);
14231 }
14232 finally {
14233
14234 restoreStackSize(stackSize);
14235
14236 }
14237 return ;
14238 }
14239 // $ANTLR end "rule__PredicateDefinition__BodiesAssignment_5_2_1"
14240
14241
14242 // $ANTLR start "rule__Parameter__ParameterTypeAssignment_0"
14243 // InternalProblem.g:4586:1: rule__Parameter__ParameterTypeAssignment_0 : ( ( ruleQualifiedName ) ) ;
14244 public final void rule__Parameter__ParameterTypeAssignment_0() throws RecognitionException {
14245
14246 int stackSize = keepStackSize();
14247
14248 try {
14249 // InternalProblem.g:4590:1: ( ( ( ruleQualifiedName ) ) )
14250 // InternalProblem.g:4591:2: ( ( ruleQualifiedName ) )
14251 {
14252 // InternalProblem.g:4591:2: ( ( ruleQualifiedName ) )
14253 // InternalProblem.g:4592:3: ( ruleQualifiedName )
14254 {
14255 before(grammarAccess.getParameterAccess().getParameterTypeRelationCrossReference_0_0());
14256 // InternalProblem.g:4593:3: ( ruleQualifiedName )
14257 // InternalProblem.g:4594:4: ruleQualifiedName
14258 {
14259 before(grammarAccess.getParameterAccess().getParameterTypeRelationQualifiedNameParserRuleCall_0_0_1());
14260 pushFollow(FOLLOW_2);
14261 ruleQualifiedName();
14262
14263 state._fsp--;
14264
14265 after(grammarAccess.getParameterAccess().getParameterTypeRelationQualifiedNameParserRuleCall_0_0_1());
14266
14267 }
14268
14269 after(grammarAccess.getParameterAccess().getParameterTypeRelationCrossReference_0_0());
14270
14271 }
14272
14273
14274 }
14275
14276 }
14277 catch (RecognitionException re) {
14278 reportError(re);
14279 recover(input,re);
14280 }
14281 finally {
14282
14283 restoreStackSize(stackSize);
14284
14285 }
14286 return ;
14287 }
14288 // $ANTLR end "rule__Parameter__ParameterTypeAssignment_0"
14289
14290
14291 // $ANTLR start "rule__Parameter__NameAssignment_1"
14292 // InternalProblem.g:4605:1: rule__Parameter__NameAssignment_1 : ( ruleIdentifier ) ;
14293 public final void rule__Parameter__NameAssignment_1() throws RecognitionException {
14294
14295 int stackSize = keepStackSize();
14296
14297 try {
14298 // InternalProblem.g:4609:1: ( ( ruleIdentifier ) )
14299 // InternalProblem.g:4610:2: ( ruleIdentifier )
14300 {
14301 // InternalProblem.g:4610:2: ( ruleIdentifier )
14302 // InternalProblem.g:4611:3: ruleIdentifier
14303 {
14304 before(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0());
14305 pushFollow(FOLLOW_2);
14306 ruleIdentifier();
14307
14308 state._fsp--;
14309
14310 after(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0());
14311
14312 }
14313
14314
14315 }
14316
14317 }
14318 catch (RecognitionException re) {
14319 reportError(re);
14320 recover(input,re);
14321 }
14322 finally {
14323
14324 restoreStackSize(stackSize);
14325
14326 }
14327 return ;
14328 }
14329 // $ANTLR end "rule__Parameter__NameAssignment_1"
14330
14331
14332 // $ANTLR start "rule__Conjunction__LiteralsAssignment_0"
14333 // InternalProblem.g:4620:1: rule__Conjunction__LiteralsAssignment_0 : ( ruleLiteral ) ;
14334 public final void rule__Conjunction__LiteralsAssignment_0() throws RecognitionException {
14335
14336 int stackSize = keepStackSize();
14337
14338 try {
14339 // InternalProblem.g:4624:1: ( ( ruleLiteral ) )
14340 // InternalProblem.g:4625:2: ( ruleLiteral )
14341 {
14342 // InternalProblem.g:4625:2: ( ruleLiteral )
14343 // InternalProblem.g:4626:3: ruleLiteral
14344 {
14345 before(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0());
14346 pushFollow(FOLLOW_2);
14347 ruleLiteral();
14348
14349 state._fsp--;
14350
14351 after(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0());
14352
14353 }
14354
14355
14356 }
14357
14358 }
14359 catch (RecognitionException re) {
14360 reportError(re);
14361 recover(input,re);
14362 }
14363 finally {
14364
14365 restoreStackSize(stackSize);
14366
14367 }
14368 return ;
14369 }
14370 // $ANTLR end "rule__Conjunction__LiteralsAssignment_0"
14371
14372
14373 // $ANTLR start "rule__Conjunction__LiteralsAssignment_1_1"
14374 // InternalProblem.g:4635:1: rule__Conjunction__LiteralsAssignment_1_1 : ( ruleLiteral ) ;
14375 public final void rule__Conjunction__LiteralsAssignment_1_1() throws RecognitionException {
14376
14377 int stackSize = keepStackSize();
14378
14379 try {
14380 // InternalProblem.g:4639:1: ( ( ruleLiteral ) )
14381 // InternalProblem.g:4640:2: ( ruleLiteral )
14382 {
14383 // InternalProblem.g:4640:2: ( ruleLiteral )
14384 // InternalProblem.g:4641:3: ruleLiteral
14385 {
14386 before(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0());
14387 pushFollow(FOLLOW_2);
14388 ruleLiteral();
14389
14390 state._fsp--;
14391
14392 after(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0());
14393
14394 }
14395
14396
14397 }
14398
14399 }
14400 catch (RecognitionException re) {
14401 reportError(re);
14402 recover(input,re);
14403 }
14404 finally {
14405
14406 restoreStackSize(stackSize);
14407
14408 }
14409 return ;
14410 }
14411 // $ANTLR end "rule__Conjunction__LiteralsAssignment_1_1"
14412
14413
14414 // $ANTLR start "rule__NegativeLiteral__AtomAssignment_1"
14415 // InternalProblem.g:4650:1: rule__NegativeLiteral__AtomAssignment_1 : ( ruleAtom ) ;
14416 public final void rule__NegativeLiteral__AtomAssignment_1() throws RecognitionException {
14417
14418 int stackSize = keepStackSize();
14419
14420 try {
14421 // InternalProblem.g:4654:1: ( ( ruleAtom ) )
14422 // InternalProblem.g:4655:2: ( ruleAtom )
14423 {
14424 // InternalProblem.g:4655:2: ( ruleAtom )
14425 // InternalProblem.g:4656:3: ruleAtom
14426 {
14427 before(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0());
14428 pushFollow(FOLLOW_2);
14429 ruleAtom();
14430
14431 state._fsp--;
14432
14433 after(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0());
14434
14435 }
14436
14437
14438 }
14439
14440 }
14441 catch (RecognitionException re) {
14442 reportError(re);
14443 recover(input,re);
14444 }
14445 finally {
14446
14447 restoreStackSize(stackSize);
14448
14449 }
14450 return ;
14451 }
14452 // $ANTLR end "rule__NegativeLiteral__AtomAssignment_1"
14453
14454
14455 // $ANTLR start "rule__Atom__RelationAssignment_0"
14456 // InternalProblem.g:4665:1: rule__Atom__RelationAssignment_0 : ( ( ruleQualifiedName ) ) ;
14457 public final void rule__Atom__RelationAssignment_0() throws RecognitionException {
14458
14459 int stackSize = keepStackSize();
14460
14461 try {
14462 // InternalProblem.g:4669:1: ( ( ( ruleQualifiedName ) ) )
14463 // InternalProblem.g:4670:2: ( ( ruleQualifiedName ) )
14464 {
14465 // InternalProblem.g:4670:2: ( ( ruleQualifiedName ) )
14466 // InternalProblem.g:4671:3: ( ruleQualifiedName )
14467 {
14468 before(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0());
14469 // InternalProblem.g:4672:3: ( ruleQualifiedName )
14470 // InternalProblem.g:4673:4: ruleQualifiedName
14471 {
14472 before(grammarAccess.getAtomAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_1());
14473 pushFollow(FOLLOW_2);
14474 ruleQualifiedName();
14475
14476 state._fsp--;
14477
14478 after(grammarAccess.getAtomAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_1());
14479
14480 }
14481
14482 after(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0());
14483
14484 }
14485
14486
14487 }
14488
14489 }
14490 catch (RecognitionException re) {
14491 reportError(re);
14492 recover(input,re);
14493 }
14494 finally {
14495
14496 restoreStackSize(stackSize);
14497
14498 }
14499 return ;
14500 }
14501 // $ANTLR end "rule__Atom__RelationAssignment_0"
14502
14503
14504 // $ANTLR start "rule__Atom__TransitiveClosureAssignment_1"
14505 // InternalProblem.g:4684:1: rule__Atom__TransitiveClosureAssignment_1 : ( ( '+' ) ) ;
14506 public final void rule__Atom__TransitiveClosureAssignment_1() throws RecognitionException {
14507
14508 int stackSize = keepStackSize();
14509
14510 try {
14511 // InternalProblem.g:4688:1: ( ( ( '+' ) ) )
14512 // InternalProblem.g:4689:2: ( ( '+' ) )
14513 {
14514 // InternalProblem.g:4689:2: ( ( '+' ) )
14515 // InternalProblem.g:4690:3: ( '+' )
14516 {
14517 before(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
14518 // InternalProblem.g:4691:3: ( '+' )
14519 // InternalProblem.g:4692:4: '+'
14520 {
14521 before(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
14522 match(input,42,FOLLOW_2);
14523 after(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
14524
14525 }
14526
14527 after(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
14528
14529 }
14530
14531
14532 }
14533
14534 }
14535 catch (RecognitionException re) {
14536 reportError(re);
14537 recover(input,re);
14538 }
14539 finally {
14540
14541 restoreStackSize(stackSize);
14542
14543 }
14544 return ;
14545 }
14546 // $ANTLR end "rule__Atom__TransitiveClosureAssignment_1"
14547
14548
14549 // $ANTLR start "rule__Atom__ArgumentsAssignment_3_0"
14550 // InternalProblem.g:4703:1: rule__Atom__ArgumentsAssignment_3_0 : ( ruleArgument ) ;
14551 public final void rule__Atom__ArgumentsAssignment_3_0() throws RecognitionException {
14552
14553 int stackSize = keepStackSize();
14554
14555 try {
14556 // InternalProblem.g:4707:1: ( ( ruleArgument ) )
14557 // InternalProblem.g:4708:2: ( ruleArgument )
14558 {
14559 // InternalProblem.g:4708:2: ( ruleArgument )
14560 // InternalProblem.g:4709:3: ruleArgument
14561 {
14562 before(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0());
14563 pushFollow(FOLLOW_2);
14564 ruleArgument();
14565
14566 state._fsp--;
14567
14568 after(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0());
14569
14570 }
14571
14572
14573 }
14574
14575 }
14576 catch (RecognitionException re) {
14577 reportError(re);
14578 recover(input,re);
14579 }
14580 finally {
14581
14582 restoreStackSize(stackSize);
14583
14584 }
14585 return ;
14586 }
14587 // $ANTLR end "rule__Atom__ArgumentsAssignment_3_0"
14588
14589
14590 // $ANTLR start "rule__Atom__ArgumentsAssignment_3_1_1"
14591 // InternalProblem.g:4718:1: rule__Atom__ArgumentsAssignment_3_1_1 : ( ruleArgument ) ;
14592 public final void rule__Atom__ArgumentsAssignment_3_1_1() throws RecognitionException {
14593
14594 int stackSize = keepStackSize();
14595
14596 try {
14597 // InternalProblem.g:4722:1: ( ( ruleArgument ) )
14598 // InternalProblem.g:4723:2: ( ruleArgument )
14599 {
14600 // InternalProblem.g:4723:2: ( ruleArgument )
14601 // InternalProblem.g:4724:3: ruleArgument
14602 {
14603 before(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0());
14604 pushFollow(FOLLOW_2);
14605 ruleArgument();
14606
14607 state._fsp--;
14608
14609 after(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0());
14610
14611 }
14612
14613
14614 }
14615
14616 }
14617 catch (RecognitionException re) {
14618 reportError(re);
14619 recover(input,re);
14620 }
14621 finally {
14622
14623 restoreStackSize(stackSize);
14624
14625 }
14626 return ;
14627 }
14628 // $ANTLR end "rule__Atom__ArgumentsAssignment_3_1_1"
14629
14630
14631 // $ANTLR start "rule__Argument__VariableOrNodeAssignment"
14632 // InternalProblem.g:4733:1: rule__Argument__VariableOrNodeAssignment : ( ( ruleQualifiedName ) ) ;
14633 public final void rule__Argument__VariableOrNodeAssignment() throws RecognitionException {
14634
14635 int stackSize = keepStackSize();
14636
14637 try {
14638 // InternalProblem.g:4737:1: ( ( ( ruleQualifiedName ) ) )
14639 // InternalProblem.g:4738:2: ( ( ruleQualifiedName ) )
14640 {
14641 // InternalProblem.g:4738:2: ( ( ruleQualifiedName ) )
14642 // InternalProblem.g:4739:3: ( ruleQualifiedName )
14643 {
14644 before(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0());
14645 // InternalProblem.g:4740:3: ( ruleQualifiedName )
14646 // InternalProblem.g:4741:4: ruleQualifiedName
14647 {
14648 before(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1());
14649 pushFollow(FOLLOW_2);
14650 ruleQualifiedName();
14651
14652 state._fsp--;
14653
14654 after(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1());
14655
14656 }
14657
14658 after(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0());
14659
14660 }
14661
14662
14663 }
14664
14665 }
14666 catch (RecognitionException re) {
14667 reportError(re);
14668 recover(input,re);
14669 }
14670 finally {
14671
14672 restoreStackSize(stackSize);
14673
14674 }
14675 return ;
14676 }
14677 // $ANTLR end "rule__Argument__VariableOrNodeAssignment"
14678
14679
14680 // $ANTLR start "rule__Assertion__RelationAssignment_0_0_0"
14681 // InternalProblem.g:4752:1: rule__Assertion__RelationAssignment_0_0_0 : ( ( ruleQualifiedName ) ) ;
14682 public final void rule__Assertion__RelationAssignment_0_0_0() throws RecognitionException {
14683
14684 int stackSize = keepStackSize();
14685
14686 try {
14687 // InternalProblem.g:4756:1: ( ( ( ruleQualifiedName ) ) )
14688 // InternalProblem.g:4757:2: ( ( ruleQualifiedName ) )
14689 {
14690 // InternalProblem.g:4757:2: ( ( ruleQualifiedName ) )
14691 // InternalProblem.g:4758:3: ( ruleQualifiedName )
14692 {
14693 before(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0());
14694 // InternalProblem.g:4759:3: ( ruleQualifiedName )
14695 // InternalProblem.g:4760:4: ruleQualifiedName
14696 {
14697 before(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1());
14698 pushFollow(FOLLOW_2);
14699 ruleQualifiedName();
14700
14701 state._fsp--;
14702
14703 after(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1());
14704
14705 }
14706
14707 after(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0());
14708
14709 }
14710
14711
14712 }
14713
14714 }
14715 catch (RecognitionException re) {
14716 reportError(re);
14717 recover(input,re);
14718 }
14719 finally {
14720
14721 restoreStackSize(stackSize);
14722
14723 }
14724 return ;
14725 }
14726 // $ANTLR end "rule__Assertion__RelationAssignment_0_0_0"
14727
14728
14729 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_0_2_0"
14730 // InternalProblem.g:4771:1: rule__Assertion__ArgumentsAssignment_0_0_2_0 : ( ( ruleQualifiedName ) ) ;
14731 public final void rule__Assertion__ArgumentsAssignment_0_0_2_0() throws RecognitionException {
14732
14733 int stackSize = keepStackSize();
14734
14735 try {
14736 // InternalProblem.g:4775:1: ( ( ( ruleQualifiedName ) ) )
14737 // InternalProblem.g:4776:2: ( ( ruleQualifiedName ) )
14738 {
14739 // InternalProblem.g:4776:2: ( ( ruleQualifiedName ) )
14740 // InternalProblem.g:4777:3: ( ruleQualifiedName )
14741 {
14742 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0());
14743 // InternalProblem.g:4778:3: ( ruleQualifiedName )
14744 // InternalProblem.g:4779:4: ruleQualifiedName
14745 {
14746 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1());
14747 pushFollow(FOLLOW_2);
14748 ruleQualifiedName();
14749
14750 state._fsp--;
14751
14752 after(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1());
14753
14754 }
14755
14756 after(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0());
14757
14758 }
14759
14760
14761 }
14762
14763 }
14764 catch (RecognitionException re) {
14765 reportError(re);
14766 recover(input,re);
14767 }
14768 finally {
14769
14770 restoreStackSize(stackSize);
14771
14772 }
14773 return ;
14774 }
14775 // $ANTLR end "rule__Assertion__ArgumentsAssignment_0_0_2_0"
14776
14777
14778 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_0_2_1_1"
14779 // InternalProblem.g:4790:1: rule__Assertion__ArgumentsAssignment_0_0_2_1_1 : ( ( ruleQualifiedName ) ) ;
14780 public final void rule__Assertion__ArgumentsAssignment_0_0_2_1_1() throws RecognitionException {
14781
14782 int stackSize = keepStackSize();
14783
14784 try {
14785 // InternalProblem.g:4794:1: ( ( ( ruleQualifiedName ) ) )
14786 // InternalProblem.g:4795:2: ( ( ruleQualifiedName ) )
14787 {
14788 // InternalProblem.g:4795:2: ( ( ruleQualifiedName ) )
14789 // InternalProblem.g:4796:3: ( ruleQualifiedName )
14790 {
14791 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0());
14792 // InternalProblem.g:4797:3: ( ruleQualifiedName )
14793 // InternalProblem.g:4798:4: ruleQualifiedName
14794 {
14795 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1());
14796 pushFollow(FOLLOW_2);
14797 ruleQualifiedName();
14798
14799 state._fsp--;
14800
14801 after(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1());
14802
14803 }
14804
14805 after(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0());
14806
14807 }
14808
14809
14810 }
14811
14812 }
14813 catch (RecognitionException re) {
14814 reportError(re);
14815 recover(input,re);
14816 }
14817 finally {
14818
14819 restoreStackSize(stackSize);
14820
14821 }
14822 return ;
14823 }
14824 // $ANTLR end "rule__Assertion__ArgumentsAssignment_0_0_2_1_1"
14825
14826
14827 // $ANTLR start "rule__Assertion__ValueAssignment_0_0_5"
14828 // InternalProblem.g:4809:1: rule__Assertion__ValueAssignment_0_0_5 : ( ruleLogicValue ) ;
14829 public final void rule__Assertion__ValueAssignment_0_0_5() throws RecognitionException {
14830
14831 int stackSize = keepStackSize();
14832
14833 try {
14834 // InternalProblem.g:4813:1: ( ( ruleLogicValue ) )
14835 // InternalProblem.g:4814:2: ( ruleLogicValue )
14836 {
14837 // InternalProblem.g:4814:2: ( ruleLogicValue )
14838 // InternalProblem.g:4815:3: ruleLogicValue
14839 {
14840 before(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0());
14841 pushFollow(FOLLOW_2);
14842 ruleLogicValue();
14843
14844 state._fsp--;
14845
14846 after(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0());
14847
14848 }
14849
14850
14851 }
14852
14853 }
14854 catch (RecognitionException re) {
14855 reportError(re);
14856 recover(input,re);
14857 }
14858 finally {
14859
14860 restoreStackSize(stackSize);
14861
14862 }
14863 return ;
14864 }
14865 // $ANTLR end "rule__Assertion__ValueAssignment_0_0_5"
14866
14867
14868 // $ANTLR start "rule__Assertion__ValueAssignment_0_1_0"
14869 // InternalProblem.g:4824:1: rule__Assertion__ValueAssignment_0_1_0 : ( ruleShortLogicValue ) ;
14870 public final void rule__Assertion__ValueAssignment_0_1_0() throws RecognitionException {
14871
14872 int stackSize = keepStackSize();
14873
14874 try {
14875 // InternalProblem.g:4828:1: ( ( ruleShortLogicValue ) )
14876 // InternalProblem.g:4829:2: ( ruleShortLogicValue )
14877 {
14878 // InternalProblem.g:4829:2: ( ruleShortLogicValue )
14879 // InternalProblem.g:4830:3: ruleShortLogicValue
14880 {
14881 before(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0());
14882 pushFollow(FOLLOW_2);
14883 ruleShortLogicValue();
14884
14885 state._fsp--;
14886
14887 after(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0());
14888
14889 }
14890
14891
14892 }
14893
14894 }
14895 catch (RecognitionException re) {
14896 reportError(re);
14897 recover(input,re);
14898 }
14899 finally {
14900
14901 restoreStackSize(stackSize);
14902
14903 }
14904 return ;
14905 }
14906 // $ANTLR end "rule__Assertion__ValueAssignment_0_1_0"
14907
14908
14909 // $ANTLR start "rule__Assertion__RelationAssignment_0_1_1"
14910 // InternalProblem.g:4839:1: rule__Assertion__RelationAssignment_0_1_1 : ( ( ruleQualifiedName ) ) ;
14911 public final void rule__Assertion__RelationAssignment_0_1_1() throws RecognitionException {
14912
14913 int stackSize = keepStackSize();
14914
14915 try {
14916 // InternalProblem.g:4843:1: ( ( ( ruleQualifiedName ) ) )
14917 // InternalProblem.g:4844:2: ( ( ruleQualifiedName ) )
14918 {
14919 // InternalProblem.g:4844:2: ( ( ruleQualifiedName ) )
14920 // InternalProblem.g:4845:3: ( ruleQualifiedName )
14921 {
14922 before(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0());
14923 // InternalProblem.g:4846:3: ( ruleQualifiedName )
14924 // InternalProblem.g:4847:4: ruleQualifiedName
14925 {
14926 before(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1());
14927 pushFollow(FOLLOW_2);
14928 ruleQualifiedName();
14929
14930 state._fsp--;
14931
14932 after(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1());
14933
14934 }
14935
14936 after(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0());
14937
14938 }
14939
14940
14941 }
14942
14943 }
14944 catch (RecognitionException re) {
14945 reportError(re);
14946 recover(input,re);
14947 }
14948 finally {
14949
14950 restoreStackSize(stackSize);
14951
14952 }
14953 return ;
14954 }
14955 // $ANTLR end "rule__Assertion__RelationAssignment_0_1_1"
14956
14957
14958 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_1_3_0"
14959 // InternalProblem.g:4858:1: rule__Assertion__ArgumentsAssignment_0_1_3_0 : ( ( ruleQualifiedName ) ) ;
14960 public final void rule__Assertion__ArgumentsAssignment_0_1_3_0() throws RecognitionException {
14961
14962 int stackSize = keepStackSize();
14963
14964 try {
14965 // InternalProblem.g:4862:1: ( ( ( ruleQualifiedName ) ) )
14966 // InternalProblem.g:4863:2: ( ( ruleQualifiedName ) )
14967 {
14968 // InternalProblem.g:4863:2: ( ( ruleQualifiedName ) )
14969 // InternalProblem.g:4864:3: ( ruleQualifiedName )
14970 {
14971 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0());
14972 // InternalProblem.g:4865:3: ( ruleQualifiedName )
14973 // InternalProblem.g:4866:4: ruleQualifiedName
14974 {
14975 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1());
14976 pushFollow(FOLLOW_2);
14977 ruleQualifiedName();
14978
14979 state._fsp--;
14980
14981 after(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1());
14982
14983 }
14984
14985 after(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0());
14986
14987 }
14988
14989
14990 }
14991
14992 }
14993 catch (RecognitionException re) {
14994 reportError(re);
14995 recover(input,re);
14996 }
14997 finally {
14998
14999 restoreStackSize(stackSize);
15000
15001 }
15002 return ;
15003 }
15004 // $ANTLR end "rule__Assertion__ArgumentsAssignment_0_1_3_0"
15005
15006
15007 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_1_3_1_1"
15008 // InternalProblem.g:4877:1: rule__Assertion__ArgumentsAssignment_0_1_3_1_1 : ( ( ruleQualifiedName ) ) ;
15009 public final void rule__Assertion__ArgumentsAssignment_0_1_3_1_1() throws RecognitionException {
15010
15011 int stackSize = keepStackSize();
15012
15013 try {
15014 // InternalProblem.g:4881:1: ( ( ( ruleQualifiedName ) ) )
15015 // InternalProblem.g:4882:2: ( ( ruleQualifiedName ) )
15016 {
15017 // InternalProblem.g:4882:2: ( ( ruleQualifiedName ) )
15018 // InternalProblem.g:4883:3: ( ruleQualifiedName )
15019 {
15020 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0());
15021 // InternalProblem.g:4884:3: ( ruleQualifiedName )
15022 // InternalProblem.g:4885:4: ruleQualifiedName
15023 {
15024 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1());
15025 pushFollow(FOLLOW_2);
15026 ruleQualifiedName();
15027
15028 state._fsp--;
15029
15030 after(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1());
15031
15032 }
15033
15034 after(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0());
15035
15036 }
15037
15038
15039 }
15040
15041 }
15042 catch (RecognitionException re) {
15043 reportError(re);
15044 recover(input,re);
15045 }
15046 finally {
15047
15048 restoreStackSize(stackSize);
15049
15050 }
15051 return ;
15052 }
15053 // $ANTLR end "rule__Assertion__ArgumentsAssignment_0_1_3_1_1"
15054
15055
15056 // $ANTLR start "rule__ScopeDeclaration__TypeScopesAssignment_1"
15057 // InternalProblem.g:4896:1: rule__ScopeDeclaration__TypeScopesAssignment_1 : ( ruleTypeScope ) ;
15058 public final void rule__ScopeDeclaration__TypeScopesAssignment_1() throws RecognitionException {
15059
15060 int stackSize = keepStackSize();
15061
15062 try {
15063 // InternalProblem.g:4900:1: ( ( ruleTypeScope ) )
15064 // InternalProblem.g:4901:2: ( ruleTypeScope )
15065 {
15066 // InternalProblem.g:4901:2: ( ruleTypeScope )
15067 // InternalProblem.g:4902:3: ruleTypeScope
15068 {
15069 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0());
15070 pushFollow(FOLLOW_2);
15071 ruleTypeScope();
15072
15073 state._fsp--;
15074
15075 after(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0());
15076
15077 }
15078
15079
15080 }
15081
15082 }
15083 catch (RecognitionException re) {
15084 reportError(re);
15085 recover(input,re);
15086 }
15087 finally {
15088
15089 restoreStackSize(stackSize);
15090
15091 }
15092 return ;
15093 }
15094 // $ANTLR end "rule__ScopeDeclaration__TypeScopesAssignment_1"
15095
15096
15097 // $ANTLR start "rule__ScopeDeclaration__TypeScopesAssignment_2_1"
15098 // InternalProblem.g:4911:1: rule__ScopeDeclaration__TypeScopesAssignment_2_1 : ( ruleTypeScope ) ;
15099 public final void rule__ScopeDeclaration__TypeScopesAssignment_2_1() throws RecognitionException {
15100
15101 int stackSize = keepStackSize();
15102
15103 try {
15104 // InternalProblem.g:4915:1: ( ( ruleTypeScope ) )
15105 // InternalProblem.g:4916:2: ( ruleTypeScope )
15106 {
15107 // InternalProblem.g:4916:2: ( ruleTypeScope )
15108 // InternalProblem.g:4917:3: ruleTypeScope
15109 {
15110 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0());
15111 pushFollow(FOLLOW_2);
15112 ruleTypeScope();
15113
15114 state._fsp--;
15115
15116 after(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0());
15117
15118 }
15119
15120
15121 }
15122
15123 }
15124 catch (RecognitionException re) {
15125 reportError(re);
15126 recover(input,re);
15127 }
15128 finally {
15129
15130 restoreStackSize(stackSize);
15131
15132 }
15133 return ;
15134 }
15135 // $ANTLR end "rule__ScopeDeclaration__TypeScopesAssignment_2_1"
15136
15137
15138 // $ANTLR start "rule__TypeScope__TargetTypeAssignment_0"
15139 // InternalProblem.g:4926:1: rule__TypeScope__TargetTypeAssignment_0 : ( ( RULE_ID ) ) ;
15140 public final void rule__TypeScope__TargetTypeAssignment_0() throws RecognitionException {
15141
15142 int stackSize = keepStackSize();
15143
15144 try {
15145 // InternalProblem.g:4930:1: ( ( ( RULE_ID ) ) )
15146 // InternalProblem.g:4931:2: ( ( RULE_ID ) )
15147 {
15148 // InternalProblem.g:4931:2: ( ( RULE_ID ) )
15149 // InternalProblem.g:4932:3: ( RULE_ID )
15150 {
15151 before(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0());
15152 // InternalProblem.g:4933:3: ( RULE_ID )
15153 // InternalProblem.g:4934:4: RULE_ID
15154 {
15155 before(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1());
15156 match(input,RULE_ID,FOLLOW_2);
15157 after(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1());
15158
15159 }
15160
15161 after(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0());
15162
15163 }
15164
15165
15166 }
15167
15168 }
15169 catch (RecognitionException re) {
15170 reportError(re);
15171 recover(input,re);
15172 }
15173 finally {
15174
15175 restoreStackSize(stackSize);
15176
15177 }
15178 return ;
15179 }
15180 // $ANTLR end "rule__TypeScope__TargetTypeAssignment_0"
15181
15182
15183 // $ANTLR start "rule__TypeScope__IncrementAssignment_1_0"
15184 // InternalProblem.g:4945:1: rule__TypeScope__IncrementAssignment_1_0 : ( ( '+=' ) ) ;
15185 public final void rule__TypeScope__IncrementAssignment_1_0() throws RecognitionException {
15186
15187 int stackSize = keepStackSize();
15188
15189 try {
15190 // InternalProblem.g:4949:1: ( ( ( '+=' ) ) )
15191 // InternalProblem.g:4950:2: ( ( '+=' ) )
15192 {
15193 // InternalProblem.g:4950:2: ( ( '+=' ) )
15194 // InternalProblem.g:4951:3: ( '+=' )
15195 {
15196 before(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
15197 // InternalProblem.g:4952:3: ( '+=' )
15198 // InternalProblem.g:4953:4: '+='
15199 {
15200 before(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
15201 match(input,43,FOLLOW_2);
15202 after(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
15203
15204 }
15205
15206 after(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
15207
15208 }
15209
15210
15211 }
15212
15213 }
15214 catch (RecognitionException re) {
15215 reportError(re);
15216 recover(input,re);
15217 }
15218 finally {
15219
15220 restoreStackSize(stackSize);
15221
15222 }
15223 return ;
15224 }
15225 // $ANTLR end "rule__TypeScope__IncrementAssignment_1_0"
15226
15227
15228 // $ANTLR start "rule__TypeScope__MultiplicityAssignment_2"
15229 // InternalProblem.g:4964:1: rule__TypeScope__MultiplicityAssignment_2 : ( ruleDefiniteMultiplicity ) ;
15230 public final void rule__TypeScope__MultiplicityAssignment_2() throws RecognitionException {
15231
15232 int stackSize = keepStackSize();
15233
15234 try {
15235 // InternalProblem.g:4968:1: ( ( ruleDefiniteMultiplicity ) )
15236 // InternalProblem.g:4969:2: ( ruleDefiniteMultiplicity )
15237 {
15238 // InternalProblem.g:4969:2: ( ruleDefiniteMultiplicity )
15239 // InternalProblem.g:4970:3: ruleDefiniteMultiplicity
15240 {
15241 before(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0());
15242 pushFollow(FOLLOW_2);
15243 ruleDefiniteMultiplicity();
15244
15245 state._fsp--;
15246
15247 after(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0());
15248
15249 }
15250
15251
15252 }
15253
15254 }
15255 catch (RecognitionException re) {
15256 reportError(re);
15257 recover(input,re);
15258 }
15259 finally {
15260
15261 restoreStackSize(stackSize);
15262
15263 }
15264 return ;
15265 }
15266 // $ANTLR end "rule__TypeScope__MultiplicityAssignment_2"
15267
15268
15269 // $ANTLR start "rule__RangeMultiplicity__LowerBoundAssignment_0"
15270 // InternalProblem.g:4979:1: rule__RangeMultiplicity__LowerBoundAssignment_0 : ( RULE_INT ) ;
15271 public final void rule__RangeMultiplicity__LowerBoundAssignment_0() throws RecognitionException {
15272
15273 int stackSize = keepStackSize();
15274
15275 try {
15276 // InternalProblem.g:4983:1: ( ( RULE_INT ) )
15277 // InternalProblem.g:4984:2: ( RULE_INT )
15278 {
15279 // InternalProblem.g:4984:2: ( RULE_INT )
15280 // InternalProblem.g:4985:3: RULE_INT
15281 {
15282 before(grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0());
15283 match(input,RULE_INT,FOLLOW_2);
15284 after(grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0());
15285
15286 }
15287
15288
15289 }
15290
15291 }
15292 catch (RecognitionException re) {
15293 reportError(re);
15294 recover(input,re);
15295 }
15296 finally {
15297
15298 restoreStackSize(stackSize);
15299
15300 }
15301 return ;
15302 }
15303 // $ANTLR end "rule__RangeMultiplicity__LowerBoundAssignment_0"
15304
15305
15306 // $ANTLR start "rule__RangeMultiplicity__UpperBoundAssignment_2"
15307 // InternalProblem.g:4994:1: rule__RangeMultiplicity__UpperBoundAssignment_2 : ( ruleUpperBound ) ;
15308 public final void rule__RangeMultiplicity__UpperBoundAssignment_2() throws RecognitionException {
15309
15310 int stackSize = keepStackSize();
15311
15312 try {
15313 // InternalProblem.g:4998:1: ( ( ruleUpperBound ) )
15314 // InternalProblem.g:4999:2: ( ruleUpperBound )
15315 {
15316 // InternalProblem.g:4999:2: ( ruleUpperBound )
15317 // InternalProblem.g:5000:3: ruleUpperBound
15318 {
15319 before(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0());
15320 pushFollow(FOLLOW_2);
15321 ruleUpperBound();
15322
15323 state._fsp--;
15324
15325 after(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0());
15326
15327 }
15328
15329
15330 }
15331
15332 }
15333 catch (RecognitionException re) {
15334 reportError(re);
15335 recover(input,re);
15336 }
15337 finally {
15338
15339 restoreStackSize(stackSize);
15340
15341 }
15342 return ;
15343 }
15344 // $ANTLR end "rule__RangeMultiplicity__UpperBoundAssignment_2"
15345
15346
15347 // $ANTLR start "rule__ExactMultiplicity__ExactValueAssignment"
15348 // InternalProblem.g:5009:1: rule__ExactMultiplicity__ExactValueAssignment : ( RULE_INT ) ;
15349 public final void rule__ExactMultiplicity__ExactValueAssignment() throws RecognitionException {
15350
15351 int stackSize = keepStackSize();
15352
15353 try {
15354 // InternalProblem.g:5013:1: ( ( RULE_INT ) )
15355 // InternalProblem.g:5014:2: ( RULE_INT )
15356 {
15357 // InternalProblem.g:5014:2: ( RULE_INT )
15358 // InternalProblem.g:5015:3: RULE_INT
15359 {
15360 before(grammarAccess.getExactMultiplicityAccess().getExactValueINTTerminalRuleCall_0());
15361 match(input,RULE_INT,FOLLOW_2);
15362 after(grammarAccess.getExactMultiplicityAccess().getExactValueINTTerminalRuleCall_0());
15363
15364 }
15365
15366
15367 }
15368
15369 }
15370 catch (RecognitionException re) {
15371 reportError(re);
15372 recover(input,re);
15373 }
15374 finally {
15375
15376 restoreStackSize(stackSize);
15377
15378 }
15379 return ;
15380 }
15381 // $ANTLR end "rule__ExactMultiplicity__ExactValueAssignment"
15382
15383 // Delegated rules
15384
15385
15386 protected DFA8 dfa8 = new DFA8(this);
15387 static final String dfa_1s = "\41\uffff";
15388 static final String dfa_2s = "\1\5\4\41\1\uffff\2\5\4\15\1\14\4\41\2\5\1\uffff\10\15\1\5\4\15";
15389 static final String dfa_3s = "\1\27\1\41\3\44\1\uffff\1\42\1\24\1\42\4\44\1\41\3\44\2\24\1\uffff\1\42\6\44\1\42\1\24\1\42\3\44";
15390 static final String dfa_4s = "\5\uffff\1\2\15\uffff\1\1\15\uffff";
15391 static final String dfa_5s = "\41\uffff}>";
15392 static final String[] dfa_6s = {
15393 "\1\1\1\2\14\uffff\1\3\1\4\1\uffff\2\5",
15394 "\1\6",
15395 "\1\6\2\uffff\1\7",
15396 "\1\6\2\uffff\1\7",
15397 "\1\6\2\uffff\1\7",
15398 "",
15399 "\1\10\1\11\14\uffff\1\12\1\13\15\uffff\1\14",
15400 "\1\15\1\16\14\uffff\1\17\1\20",
15401 "\1\21\24\uffff\1\14",
15402 "\1\21\24\uffff\1\14\1\uffff\1\22",
15403 "\1\21\24\uffff\1\14\1\uffff\1\22",
15404 "\1\21\24\uffff\1\14\1\uffff\1\22",
15405 "\1\5\27\uffff\1\23",
15406 "\1\6",
15407 "\1\6\2\uffff\1\7",
15408 "\1\6\2\uffff\1\7",
15409 "\1\6\2\uffff\1\7",
15410 "\1\24\1\25\14\uffff\1\26\1\27",
15411 "\1\33\1\30\14\uffff\1\31\1\32",
15412 "",
15413 "\1\21\24\uffff\1\14",
15414 "\1\21\24\uffff\1\14\1\uffff\1\34",
15415 "\1\21\24\uffff\1\14\1\uffff\1\34",
15416 "\1\21\24\uffff\1\14\1\uffff\1\34",
15417 "\1\21\24\uffff\1\14\1\uffff\1\22",
15418 "\1\21\24\uffff\1\14\1\uffff\1\22",
15419 "\1\21\24\uffff\1\14\1\uffff\1\22",
15420 "\1\21\24\uffff\1\14",
15421 "\1\35\1\36\14\uffff\1\37\1\40",
15422 "\1\21\24\uffff\1\14",
15423 "\1\21\24\uffff\1\14\1\uffff\1\34",
15424 "\1\21\24\uffff\1\14\1\uffff\1\34",
15425 "\1\21\24\uffff\1\14\1\uffff\1\34"
15426 };
15427
15428 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
15429 static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s);
15430 static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s);
15431 static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s);
15432 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
15433 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
15434
15435 class DFA8 extends DFA {
15436
15437 public DFA8(BaseRecognizer recognizer) {
15438 this.recognizer = recognizer;
15439 this.decisionNumber = 8;
15440 this.eot = dfa_1;
15441 this.eof = dfa_1;
15442 this.min = dfa_2;
15443 this.max = dfa_3;
15444 this.accept = dfa_4;
15445 this.special = dfa_5;
15446 this.transition = dfa_6;
15447 }
15448 public String getDescription() {
15449 return "874:1: rule__Assertion__Alternatives_0 : ( ( ( rule__Assertion__Group_0_0__0 ) ) | ( ( rule__Assertion__Group_0_1__0 ) ) );";
15450 }
15451 }
15452
15453
15454 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
15455 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
15456 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x000002A022D90060L});
15457 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x000002A022D90062L});
15458 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000180060L});
15459 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000001000L});
15460 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000008002000000L});
15461 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x000000000C001000L});
15462 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000002000L});
15463 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000002002L});
15464 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000010010188060L});
15465 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000010000188062L});
15466 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000004000L});
15467 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000008001000L});
15468 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000010180060L});
15469 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000006000L});
15470 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000010000188060L});
15471 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000040180060L});
15472 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000100000000L});
15473 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000010L});
15474 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000080000000L});
15475 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000200000000L});
15476 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000400180060L});
15477 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000800001000L});
15478 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000010000L});
15479 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000580060L});
15480 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000004002L});
15481 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000040200000000L});
15482 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001000000000L});
15483 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000380000L});
15484 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000D80060L});
15485 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000000040L});
15486 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000003000L});
15487 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000080000020000L});
15488 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000004000000000L});
15489 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000040010L});
15490 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000001000000002L});
15491 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000020L});
15492
15493} \ No newline at end of file
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.classpath b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.classpath
deleted file mode 100644
index 68ef59f4..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.classpath
+++ /dev/null
@@ -1,19 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" output="bin/main" path="src/main/emf-gen">
4 <attributes>
5 <attribute name="gradle_scope" value="main"/>
6 <attribute name="gradle_used_by_scope" value="main,test"/>
7 </attributes>
8 </classpathentry>
9 <classpathentry kind="src" output="bin/main" path="src/main/resources">
10 <attributes>
11 <attribute name="gradle_scope" value="main"/>
12 <attribute name="gradle_used_by_scope" value="main,test"/>
13 </attributes>
14 </classpathentry>
15 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11/"/>
16 <classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
17 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
18 <classpathentry kind="output" path="bin/default"/>
19</classpath>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.gitignore b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.gitignore
deleted file mode 100644
index 4a95481e..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
1/bin/
2/build/
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.project b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.project
deleted file mode 100644
index 45632ed8..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.project
+++ /dev/null
@@ -1,41 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>org.eclipse.viatra.solver.language.model</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.jdt.core.javabuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.buildship.core.gradleprojectbuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.ManifestBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 <buildCommand>
29 <name>org.eclipse.pde.SchemaBuilder</name>
30 <arguments>
31 </arguments>
32 </buildCommand>
33 </buildSpec>
34 <natures>
35 <nature>org.eclipse.sirius.nature.modelingproject</nature>
36 <nature>org.eclipse.jdt.core.javanature</nature>
37 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
38 <nature>org.eclipse.buildship.core.gradleprojectnature</nature>
39 <nature>org.eclipse.pde.PluginNature</nature>
40 </natures>
41</projectDescription>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/META-INF/MANIFEST.MF b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/META-INF/MANIFEST.MF
deleted file mode 100644
index e1ec0cd4..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: %pluginName
4Bundle-SymbolicName: org.eclipse.viatra.solver.language.model;singleton:=true
5Automatic-Module-Name: org.eclipse.viatra.solver.language.model
6Bundle-Version: 0.1.0.qualifier
7Bundle-ClassPath: .
8Bundle-Vendor: %providerName
9Bundle-Localization: plugin
10Bundle-RequiredExecutionEnvironment: JavaSE-11
11Export-Package: org.eclipse.viatra.solver.language.model.problem,
12 org.eclipse.viatra.solver.language.model.problem.impl,
13 org.eclipse.viatra.solver.language.model.problem.util
14Require-Bundle: org.eclipse.emf.ecore;visibility:=reexport,
15 org.eclipse.core.runtime
16Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/build.gradle b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/build.gradle
deleted file mode 100644
index 2f9e3257..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/build.gradle
+++ /dev/null
@@ -1,9 +0,0 @@
1dependencies {
2 compile 'org.eclipse.emf:org.eclipse.emf.ecore'
3}
4
5sourceSets {
6 main {
7 java.srcDirs += ['src/main/emf-gen']
8 }
9}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/build.properties b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/build.properties
deleted file mode 100644
index 97e1d1b5..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
1#
2
3bin.includes = .,\
4 src/main/resources/model/,\
5 META-INF/,\
6 plugin.xml,\
7 plugin.properties
8jars.compile.order = .
9source.. = src/main/emf-gen/,\
10 src/main/resources/
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/plugin.properties b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/plugin.properties
deleted file mode 100644
index 9050bf16..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/plugin.properties
+++ /dev/null
@@ -1,4 +0,0 @@
1#
2
3pluginName = org.eclipse.viatra.solver.language.model
4providerName = www.example.org
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/plugin.xml b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/plugin.xml
deleted file mode 100644
index af07e296..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3
4<!--
5-->
6
7<plugin>
8
9 <extension point="org.eclipse.emf.ecore.generated_package">
10 <!-- @generated problem -->
11 <package
12 uri="http://www.eclipse.org/viatra/solver/language/model/Problem"
13 class="org.eclipse.viatra.solver.language.model.problem.ProblemPackage"
14 genModel="src/main/resources/model/problem.genmodel"/>
15 </extension>
16
17</plugin>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/problem.aird b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/problem.aird
deleted file mode 100644
index 047b72a2..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/problem.aird
+++ /dev/null
@@ -1,2085 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.3/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style">
3 <viewpoint:DAnalysis uid="_CqOewKA4EeuqkpDnuik1sg" selectedViews="_CsAAYKA4EeuqkpDnuik1sg" version="14.3.1.202003261200">
4 <semanticResources>src/main/resources/model/problem.ecore</semanticResources>
5 <semanticResources>src/main/resources/model/problem.genmodel</semanticResources>
6 <ownedViews xmi:type="viewpoint:DView" uid="_CsAAYKA4EeuqkpDnuik1sg">
7 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
8 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_CsYa4KA4EeuqkpDnuik1sg" name="problem" repPath="#_CsUwgKA4EeuqkpDnuik1sg" changeId="c29543bd-4d24-42d3-8f5b-82d41af742bd">
9 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
10 <target xmi:type="ecore:EPackage" href="src/main/resources/model/problem.ecore#/"/>
11 </ownedRepresentationDescriptors>
12 </ownedViews>
13 </viewpoint:DAnalysis>
14 <diagram:DSemanticDiagram uid="_CsUwgKA4EeuqkpDnuik1sg">
15 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_CsZB8KA4EeuqkpDnuik1sg" source="GMF_DIAGRAMS">
16 <data xmi:type="notation:Diagram" xmi:id="_CsZB8aA4EeuqkpDnuik1sg" type="Sirius" element="_CsUwgKA4EeuqkpDnuik1sg" measurementUnit="Pixel">
17 <children xmi:type="notation:Node" xmi:id="_D1D6MKA4EeuqkpDnuik1sg" type="2003" element="_D05iIKA4EeuqkpDnuik1sg">
18 <children xmi:type="notation:Node" xmi:id="_D1EhQKA4EeuqkpDnuik1sg" type="5007"/>
19 <children xmi:type="notation:Node" xmi:id="_D1FIUKA4EeuqkpDnuik1sg" type="7004">
20 <styles xmi:type="notation:SortingStyle" xmi:id="_D1FIUaA4EeuqkpDnuik1sg"/>
21 <styles xmi:type="notation:FilteringStyle" xmi:id="_D1FIUqA4EeuqkpDnuik1sg"/>
22 </children>
23 <styles xmi:type="notation:ShapeStyle" xmi:id="_D1D6MaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
24 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D1D6MqA4EeuqkpDnuik1sg" x="804" y="180" width="120" height="100"/>
25 </children>
26 <children xmi:type="notation:Node" xmi:id="_EfWNUKA4EeuqkpDnuik1sg" type="2003" element="_EfNqcKA4EeuqkpDnuik1sg">
27 <children xmi:type="notation:Node" xmi:id="_EfXbcKA4EeuqkpDnuik1sg" type="5007"/>
28 <children xmi:type="notation:Node" xmi:id="_EfXbcaA4EeuqkpDnuik1sg" type="7004">
29 <styles xmi:type="notation:SortingStyle" xmi:id="_EfXbcqA4EeuqkpDnuik1sg"/>
30 <styles xmi:type="notation:FilteringStyle" xmi:id="_EfXbc6A4EeuqkpDnuik1sg"/>
31 </children>
32 <styles xmi:type="notation:ShapeStyle" xmi:id="_EfWNUaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
33 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfWNUqA4EeuqkpDnuik1sg" x="624" y="528" width="120" height="100"/>
34 </children>
35 <children xmi:type="notation:Node" xmi:id="_JT0o8KA4EeuqkpDnuik1sg" type="2003" element="_JTstIKA4EeuqkpDnuik1sg">
36 <children xmi:type="notation:Node" xmi:id="_JT1QAKA4EeuqkpDnuik1sg" type="5007"/>
37 <children xmi:type="notation:Node" xmi:id="_JT13EKA4EeuqkpDnuik1sg" type="7004">
38 <children xmi:type="notation:Node" xmi:id="_SrcfoKA4EeuqkpDnuik1sg" type="3010" element="_SrSuoKA4EeuqkpDnuik1sg">
39 <styles xmi:type="notation:FontStyle" xmi:id="_SrcfoaA4EeuqkpDnuik1sg" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
40 <layoutConstraint xmi:type="notation:Location" xmi:id="_SrcfoqA4EeuqkpDnuik1sg"/>
41 </children>
42 <styles xmi:type="notation:SortingStyle" xmi:id="_JT13EaA4EeuqkpDnuik1sg"/>
43 <styles xmi:type="notation:FilteringStyle" xmi:id="_JT13EqA4EeuqkpDnuik1sg"/>
44 </children>
45 <styles xmi:type="notation:ShapeStyle" xmi:id="_JT0o8aA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
46 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JT0o8qA4EeuqkpDnuik1sg" x="672" y="720" width="120" height="100"/>
47 </children>
48 <children xmi:type="notation:Node" xmi:id="_c-HCQKA4EeuqkpDnuik1sg" type="2003" element="_c-A7oKA4EeuqkpDnuik1sg">
49 <children xmi:type="notation:Node" xmi:id="_c-HCQ6A4EeuqkpDnuik1sg" type="5007"/>
50 <children xmi:type="notation:Node" xmi:id="_c-HCRKA4EeuqkpDnuik1sg" type="7004">
51 <children xmi:type="notation:Node" xmi:id="_HjIR8KA5EeuqkpDnuik1sg" type="3010" element="_HjDZcKA5EeuqkpDnuik1sg">
52 <styles xmi:type="notation:FontStyle" xmi:id="_HjIR8aA5EeuqkpDnuik1sg" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
53 <layoutConstraint xmi:type="notation:Location" xmi:id="_HjIR8qA5EeuqkpDnuik1sg"/>
54 </children>
55 <styles xmi:type="notation:SortingStyle" xmi:id="_c-HCRaA4EeuqkpDnuik1sg"/>
56 <styles xmi:type="notation:FilteringStyle" xmi:id="_c-HCRqA4EeuqkpDnuik1sg"/>
57 </children>
58 <styles xmi:type="notation:ShapeStyle" xmi:id="_c-HCQaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
59 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c-HCQqA4EeuqkpDnuik1sg" x="588" y="960" width="147" height="100"/>
60 </children>
61 <children xmi:type="notation:Node" xmi:id="_RzZA0KA5EeuqkpDnuik1sg" type="2003" element="_RzK-YKA5EeuqkpDnuik1sg">
62 <children xmi:type="notation:Node" xmi:id="_RzZn4KA5EeuqkpDnuik1sg" type="5007"/>
63 <children xmi:type="notation:Node" xmi:id="_RzZn4aA5EeuqkpDnuik1sg" type="7004">
64 <children xmi:type="notation:Node" xmi:id="_S-2uYKA5EeuqkpDnuik1sg" type="3010" element="_S-lBkKA5EeuqkpDnuik1sg">
65 <styles xmi:type="notation:FontStyle" xmi:id="_S-2uYaA5EeuqkpDnuik1sg" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
66 <layoutConstraint xmi:type="notation:Location" xmi:id="_S-2uYqA5EeuqkpDnuik1sg"/>
67 </children>
68 <styles xmi:type="notation:SortingStyle" xmi:id="_RzZn4qA5EeuqkpDnuik1sg"/>
69 <styles xmi:type="notation:FilteringStyle" xmi:id="_RzZn46A5EeuqkpDnuik1sg"/>
70 </children>
71 <styles xmi:type="notation:ShapeStyle" xmi:id="_RzZA0aA5EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
72 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RzZA0qA5EeuqkpDnuik1sg" x="1056" y="24" width="120" height="100"/>
73 </children>
74 <children xmi:type="notation:Node" xmi:id="_fit3kKA5EeuqkpDnuik1sg" type="2003" element="_fihqUKA5EeuqkpDnuik1sg">
75 <children xmi:type="notation:Node" xmi:id="_fit3k6A5EeuqkpDnuik1sg" type="5007"/>
76 <children xmi:type="notation:Node" xmi:id="_fit3lKA5EeuqkpDnuik1sg" type="7004">
77 <children xmi:type="notation:Node" xmi:id="_sv1ZIKA5EeuqkpDnuik1sg" type="3010" element="_svs2QKA5EeuqkpDnuik1sg">
78 <styles xmi:type="notation:FontStyle" xmi:id="_sv1ZIaA5EeuqkpDnuik1sg" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
79 <layoutConstraint xmi:type="notation:Location" xmi:id="_sv1ZIqA5EeuqkpDnuik1sg"/>
80 </children>
81 <styles xmi:type="notation:SortingStyle" xmi:id="_fit3laA5EeuqkpDnuik1sg"/>
82 <styles xmi:type="notation:FilteringStyle" xmi:id="_fit3lqA5EeuqkpDnuik1sg"/>
83 </children>
84 <styles xmi:type="notation:ShapeStyle" xmi:id="_fit3kaA5EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
85 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fit3kqA5EeuqkpDnuik1sg" x="1416" y="720" width="120" height="100"/>
86 </children>
87 <children xmi:type="notation:Node" xmi:id="_QKLK0KA6EeuqkpDnuik1sg" type="2003" element="_QKD2EKA6EeuqkpDnuik1sg">
88 <children xmi:type="notation:Node" xmi:id="_QKLK06A6EeuqkpDnuik1sg" type="5007"/>
89 <children xmi:type="notation:Node" xmi:id="_QKLK1KA6EeuqkpDnuik1sg" type="7004">
90 <styles xmi:type="notation:SortingStyle" xmi:id="_QKLK1aA6EeuqkpDnuik1sg"/>
91 <styles xmi:type="notation:FilteringStyle" xmi:id="_QKLK1qA6EeuqkpDnuik1sg"/>
92 </children>
93 <styles xmi:type="notation:ShapeStyle" xmi:id="_QKLK0aA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
94 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QKLK0qA6EeuqkpDnuik1sg" x="1248" y="960" width="120" height="100"/>
95 </children>
96 <children xmi:type="notation:Node" xmi:id="_jP6FkKA6EeuqkpDnuik1sg" type="2003" element="_jPpm4KA6EeuqkpDnuik1sg">
97 <children xmi:type="notation:Node" xmi:id="_jP6soKA6EeuqkpDnuik1sg" type="5007"/>
98 <children xmi:type="notation:Node" xmi:id="_jP6soaA6EeuqkpDnuik1sg" type="7004">
99 <styles xmi:type="notation:SortingStyle" xmi:id="_jP6soqA6EeuqkpDnuik1sg"/>
100 <styles xmi:type="notation:FilteringStyle" xmi:id="_jP6so6A6EeuqkpDnuik1sg"/>
101 </children>
102 <styles xmi:type="notation:ShapeStyle" xmi:id="_jP6FkaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
103 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jP6FkqA6EeuqkpDnuik1sg" x="1236" y="720" width="120" height="100"/>
104 </children>
105 <children xmi:type="notation:Node" xmi:id="_sdPX0KA6EeuqkpDnuik1sg" type="2003" element="_sc_gMKA6EeuqkpDnuik1sg">
106 <children xmi:type="notation:Node" xmi:id="_sdP-4KA6EeuqkpDnuik1sg" type="5007"/>
107 <children xmi:type="notation:Node" xmi:id="_sdP-4aA6EeuqkpDnuik1sg" type="7004">
108 <styles xmi:type="notation:SortingStyle" xmi:id="_sdP-4qA6EeuqkpDnuik1sg"/>
109 <styles xmi:type="notation:FilteringStyle" xmi:id="_sdP-46A6EeuqkpDnuik1sg"/>
110 </children>
111 <styles xmi:type="notation:ShapeStyle" xmi:id="_sdPX0aA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
112 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sdPX0qA6EeuqkpDnuik1sg" x="1416" y="960" width="120" height="100"/>
113 </children>
114 <children xmi:type="notation:Node" xmi:id="_4k5GIKA6EeuqkpDnuik1sg" type="2003" element="_4k00sKA6EeuqkpDnuik1sg">
115 <children xmi:type="notation:Node" xmi:id="_4k5GI6A6EeuqkpDnuik1sg" type="5007"/>
116 <children xmi:type="notation:Node" xmi:id="_4k5GJKA6EeuqkpDnuik1sg" type="7004">
117 <styles xmi:type="notation:SortingStyle" xmi:id="_4k5GJaA6EeuqkpDnuik1sg"/>
118 <styles xmi:type="notation:FilteringStyle" xmi:id="_4k5GJqA6EeuqkpDnuik1sg"/>
119 </children>
120 <styles xmi:type="notation:ShapeStyle" xmi:id="_4k5GIaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
121 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4k5GIqA6EeuqkpDnuik1sg" x="1416" y="1128" width="120" height="100"/>
122 </children>
123 <children xmi:type="notation:Node" xmi:id="_6KEUMKA6EeuqkpDnuik1sg" type="2003" element="_6J_bsKA6EeuqkpDnuik1sg">
124 <children xmi:type="notation:Node" xmi:id="_6KEUM6A6EeuqkpDnuik1sg" type="5007"/>
125 <children xmi:type="notation:Node" xmi:id="_6KEUNKA6EeuqkpDnuik1sg" type="7004">
126 <children xmi:type="notation:Node" xmi:id="_UAq-cKA-EeuqkpDnuik1sg" type="3010" element="_UAle4KA-EeuqkpDnuik1sg">
127 <styles xmi:type="notation:FontStyle" xmi:id="_UAq-caA-EeuqkpDnuik1sg" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
128 <layoutConstraint xmi:type="notation:Location" xmi:id="_UAq-cqA-EeuqkpDnuik1sg"/>
129 </children>
130 <styles xmi:type="notation:SortingStyle" xmi:id="_6KEUNaA6EeuqkpDnuik1sg"/>
131 <styles xmi:type="notation:FilteringStyle" xmi:id="_6KEUNqA6EeuqkpDnuik1sg"/>
132 </children>
133 <styles xmi:type="notation:ShapeStyle" xmi:id="_6KEUMaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
134 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6KEUMqA6EeuqkpDnuik1sg" x="1344" y="1284" width="120" height="100"/>
135 </children>
136 <children xmi:type="notation:Node" xmi:id="_-O-UEKA6EeuqkpDnuik1sg" type="2003" element="_-O6CoKA6EeuqkpDnuik1sg">
137 <children xmi:type="notation:Node" xmi:id="_-O-7IKA6EeuqkpDnuik1sg" type="5007"/>
138 <children xmi:type="notation:Node" xmi:id="_-O-7IaA6EeuqkpDnuik1sg" type="7004">
139 <styles xmi:type="notation:SortingStyle" xmi:id="_-O-7IqA6EeuqkpDnuik1sg"/>
140 <styles xmi:type="notation:FilteringStyle" xmi:id="_-O-7I6A6EeuqkpDnuik1sg"/>
141 </children>
142 <styles xmi:type="notation:ShapeStyle" xmi:id="_-O-UEaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
143 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-O-UEqA6EeuqkpDnuik1sg" x="1644" y="960" width="120" height="100"/>
144 </children>
145 <children xmi:type="notation:Node" xmi:id="_V6pfMKA7EeuqkpDnuik1sg" type="2003" element="_V6YZcKA7EeuqkpDnuik1sg">
146 <children xmi:type="notation:Node" xmi:id="_V6qGQKA7EeuqkpDnuik1sg" type="5007"/>
147 <children xmi:type="notation:Node" xmi:id="_V6qGQaA7EeuqkpDnuik1sg" type="7004">
148 <styles xmi:type="notation:SortingStyle" xmi:id="_V6qGQqA7EeuqkpDnuik1sg"/>
149 <styles xmi:type="notation:FilteringStyle" xmi:id="_V6qGQ6A7EeuqkpDnuik1sg"/>
150 </children>
151 <styles xmi:type="notation:ShapeStyle" xmi:id="_V6pfMaA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
152 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V6pfMqA7EeuqkpDnuik1sg" x="1548" y="1284" width="120" height="100"/>
153 </children>
154 <children xmi:type="notation:Node" xmi:id="_rRhWIKA7EeuqkpDnuik1sg" type="2003" element="_rRcdoKA7EeuqkpDnuik1sg">
155 <children xmi:type="notation:Node" xmi:id="_rRh9MKA7EeuqkpDnuik1sg" type="5007"/>
156 <children xmi:type="notation:Node" xmi:id="_rRh9MaA7EeuqkpDnuik1sg" type="7004">
157 <styles xmi:type="notation:SortingStyle" xmi:id="_rRh9MqA7EeuqkpDnuik1sg"/>
158 <styles xmi:type="notation:FilteringStyle" xmi:id="_rRh9M6A7EeuqkpDnuik1sg"/>
159 </children>
160 <styles xmi:type="notation:ShapeStyle" xmi:id="_rRhWIaA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
161 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rRhWIqA7EeuqkpDnuik1sg" x="1630" y="720" width="147" height="100"/>
162 </children>
163 <children xmi:type="notation:Node" xmi:id="_p9wywKA8EeuqkpDnuik1sg" type="2003" element="_p9d30KA8EeuqkpDnuik1sg">
164 <children xmi:type="notation:Node" xmi:id="_p9xZ0KA8EeuqkpDnuik1sg" type="5007"/>
165 <children xmi:type="notation:Node" xmi:id="_p9xZ0aA8EeuqkpDnuik1sg" type="7004">
166 <children xmi:type="notation:Node" xmi:id="_NAri8KA9EeuqkpDnuik1sg" type="3010" element="_NAnRgKA9EeuqkpDnuik1sg">
167 <styles xmi:type="notation:FontStyle" xmi:id="_NAri8aA9EeuqkpDnuik1sg" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
168 <layoutConstraint xmi:type="notation:Location" xmi:id="_NAri8qA9EeuqkpDnuik1sg"/>
169 </children>
170 <styles xmi:type="notation:SortingStyle" xmi:id="_p9xZ0qA8EeuqkpDnuik1sg"/>
171 <styles xmi:type="notation:FilteringStyle" xmi:id="_p9xZ06A8EeuqkpDnuik1sg"/>
172 </children>
173 <styles xmi:type="notation:ShapeStyle" xmi:id="_p9wywaA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
174 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p9wywqA8EeuqkpDnuik1sg" x="1644" y="528" width="120" height="100"/>
175 </children>
176 <children xmi:type="notation:Node" xmi:id="_xsq_MKA8EeuqkpDnuik1sg" type="2003" element="_xsYrUKA8EeuqkpDnuik1sg">
177 <children xmi:type="notation:Node" xmi:id="_xsrmQKA8EeuqkpDnuik1sg" type="5007"/>
178 <children xmi:type="notation:Node" xmi:id="_xsrmQaA8EeuqkpDnuik1sg" type="7004">
179 <styles xmi:type="notation:SortingStyle" xmi:id="_xsrmQqA8EeuqkpDnuik1sg"/>
180 <styles xmi:type="notation:FilteringStyle" xmi:id="_xsrmQ6A8EeuqkpDnuik1sg"/>
181 </children>
182 <styles xmi:type="notation:ShapeStyle" xmi:id="_xsq_MaA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
183 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xsq_MqA8EeuqkpDnuik1sg" x="1020" y="336" width="120" height="100"/>
184 </children>
185 <children xmi:type="notation:Node" xmi:id="_BMfjMKA9EeuqkpDnuik1sg" type="2003" element="_BMXnYKA9EeuqkpDnuik1sg">
186 <children xmi:type="notation:Node" xmi:id="_BMfjM6A9EeuqkpDnuik1sg" type="5007"/>
187 <children xmi:type="notation:Node" xmi:id="_BMfjNKA9EeuqkpDnuik1sg" type="7004">
188 <children xmi:type="notation:Node" xmi:id="_B6eDgKA9EeuqkpDnuik1sg" type="3010" element="_B6IFQKA9EeuqkpDnuik1sg">
189 <styles xmi:type="notation:FontStyle" xmi:id="_B6eDgaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
190 <layoutConstraint xmi:type="notation:Location" xmi:id="_B6eDgqA9EeuqkpDnuik1sg"/>
191 </children>
192 <children xmi:type="notation:Node" xmi:id="_D8xScKA9EeuqkpDnuik1sg" type="3010" element="_D8ciUKA9EeuqkpDnuik1sg">
193 <styles xmi:type="notation:FontStyle" xmi:id="_D8xScaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
194 <layoutConstraint xmi:type="notation:Location" xmi:id="_D8xScqA9EeuqkpDnuik1sg"/>
195 </children>
196 <children xmi:type="notation:Node" xmi:id="_JW_fcKA9EeuqkpDnuik1sg" type="3010" element="_JWqvUKA9EeuqkpDnuik1sg">
197 <styles xmi:type="notation:FontStyle" xmi:id="_JW_fcaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
198 <layoutConstraint xmi:type="notation:Location" xmi:id="_JW_fcqA9EeuqkpDnuik1sg"/>
199 </children>
200 <styles xmi:type="notation:SortingStyle" xmi:id="_BMfjNaA9EeuqkpDnuik1sg"/>
201 <styles xmi:type="notation:FilteringStyle" xmi:id="_BMfjNqA9EeuqkpDnuik1sg"/>
202 </children>
203 <styles xmi:type="notation:ShapeStyle" xmi:id="_BMfjMaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
204 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BMfjMqA9EeuqkpDnuik1sg" x="1872" y="720" width="120" height="100"/>
205 </children>
206 <children xmi:type="notation:Node" xmi:id="_QUDYMKA9EeuqkpDnuik1sg" type="2003" element="_QTzgkKA9EeuqkpDnuik1sg">
207 <children xmi:type="notation:Node" xmi:id="_QUDYM6A9EeuqkpDnuik1sg" type="5007"/>
208 <children xmi:type="notation:Node" xmi:id="_QUDYNKA9EeuqkpDnuik1sg" type="7004">
209 <styles xmi:type="notation:SortingStyle" xmi:id="_QUDYNaA9EeuqkpDnuik1sg"/>
210 <styles xmi:type="notation:FilteringStyle" xmi:id="_QUDYNqA9EeuqkpDnuik1sg"/>
211 </children>
212 <styles xmi:type="notation:ShapeStyle" xmi:id="_QUDYMaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
213 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QUDYMqA9EeuqkpDnuik1sg" x="336" y="528" width="120" height="100"/>
214 </children>
215 <children xmi:type="notation:Node" xmi:id="_e73WIKA9EeuqkpDnuik1sg" type="2003" element="_e7ydoKA9EeuqkpDnuik1sg">
216 <children xmi:type="notation:Node" xmi:id="_e73WI6A9EeuqkpDnuik1sg" type="5007"/>
217 <children xmi:type="notation:Node" xmi:id="_e73WJKA9EeuqkpDnuik1sg" type="7004">
218 <styles xmi:type="notation:SortingStyle" xmi:id="_e73WJaA9EeuqkpDnuik1sg"/>
219 <styles xmi:type="notation:FilteringStyle" xmi:id="_e73WJqA9EeuqkpDnuik1sg"/>
220 </children>
221 <styles xmi:type="notation:ShapeStyle" xmi:id="_e73WIaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
222 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e73WIqA9EeuqkpDnuik1sg" x="804" y="336" width="120" height="100"/>
223 </children>
224 <children xmi:type="notation:Node" xmi:id="_zaq8oKA9EeuqkpDnuik1sg" type="2003" element="_zac6MKA9EeuqkpDnuik1sg">
225 <children xmi:type="notation:Node" xmi:id="_zarjsKA9EeuqkpDnuik1sg" type="5007"/>
226 <children xmi:type="notation:Node" xmi:id="_zarjsaA9EeuqkpDnuik1sg" type="7004">
227 <children xmi:type="notation:Node" xmi:id="_BtMnEKA-EeuqkpDnuik1sg" type="3010" element="_BtHHgKA-EeuqkpDnuik1sg">
228 <styles xmi:type="notation:FontStyle" xmi:id="_BtMnEaA-EeuqkpDnuik1sg" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
229 <layoutConstraint xmi:type="notation:Location" xmi:id="_BtMnEqA-EeuqkpDnuik1sg"/>
230 </children>
231 <styles xmi:type="notation:SortingStyle" xmi:id="_zarjsqA9EeuqkpDnuik1sg"/>
232 <styles xmi:type="notation:FilteringStyle" xmi:id="_zarjs6A9EeuqkpDnuik1sg"/>
233 </children>
234 <styles xmi:type="notation:ShapeStyle" xmi:id="_zaq8oaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
235 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zaq8oqA9EeuqkpDnuik1sg" x="336" y="720" width="120" height="99"/>
236 </children>
237 <children xmi:type="notation:Node" xmi:id="_Ren3cKBJEeuqkpDnuik1sg" type="2003" element="_ReiX4KBJEeuqkpDnuik1sg">
238 <children xmi:type="notation:Node" xmi:id="_Ren3c6BJEeuqkpDnuik1sg" type="5007"/>
239 <children xmi:type="notation:Node" xmi:id="_Ren3dKBJEeuqkpDnuik1sg" type="7004">
240 <styles xmi:type="notation:SortingStyle" xmi:id="_Ren3daBJEeuqkpDnuik1sg"/>
241 <styles xmi:type="notation:FilteringStyle" xmi:id="_Ren3dqBJEeuqkpDnuik1sg"/>
242 </children>
243 <styles xmi:type="notation:ShapeStyle" xmi:id="_Ren3caBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ren3cqBJEeuqkpDnuik1sg" x="336" y="960" width="120" height="100"/>
245 </children>
246 <children xmi:type="notation:Node" xmi:id="_Tx6IsKBJEeuqkpDnuik1sg" type="2003" element="_Tx0CEKBJEeuqkpDnuik1sg">
247 <children xmi:type="notation:Node" xmi:id="_Tx6Is6BJEeuqkpDnuik1sg" type="5007"/>
248 <children xmi:type="notation:Node" xmi:id="_Tx6ItKBJEeuqkpDnuik1sg" type="7004">
249 <children xmi:type="notation:Node" xmi:id="_icxaoKBJEeuqkpDnuik1sg" type="3010" element="_iccDcKBJEeuqkpDnuik1sg">
250 <styles xmi:type="notation:FontStyle" xmi:id="_icxaoaBJEeuqkpDnuik1sg" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
251 <layoutConstraint xmi:type="notation:Location" xmi:id="_icxaoqBJEeuqkpDnuik1sg"/>
252 </children>
253 <children xmi:type="notation:Node" xmi:id="_kKwmcKBJEeuqkpDnuik1sg" type="3010" element="_kKaoMKBJEeuqkpDnuik1sg">
254 <styles xmi:type="notation:FontStyle" xmi:id="_kKwmcaBJEeuqkpDnuik1sg" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
255 <layoutConstraint xmi:type="notation:Location" xmi:id="_kKwmcqBJEeuqkpDnuik1sg"/>
256 </children>
257 <styles xmi:type="notation:SortingStyle" xmi:id="_Tx6ItaBJEeuqkpDnuik1sg"/>
258 <styles xmi:type="notation:FilteringStyle" xmi:id="_Tx6ItqBJEeuqkpDnuik1sg"/>
259 </children>
260 <styles xmi:type="notation:ShapeStyle" xmi:id="_Tx6IsaBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
261 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tx6IsqBJEeuqkpDnuik1sg" x="240" y="1128" width="120" height="100"/>
262 </children>
263 <children xmi:type="notation:Node" xmi:id="_aPNjUKBJEeuqkpDnuik1sg" type="2003" element="_aPIDwKBJEeuqkpDnuik1sg">
264 <children xmi:type="notation:Node" xmi:id="_aPOKYKBJEeuqkpDnuik1sg" type="5007"/>
265 <children xmi:type="notation:Node" xmi:id="_aPOKYaBJEeuqkpDnuik1sg" type="7004">
266 <children xmi:type="notation:Node" xmi:id="_lhdToKBJEeuqkpDnuik1sg" type="3010" element="_lhXNAKBJEeuqkpDnuik1sg">
267 <styles xmi:type="notation:FontStyle" xmi:id="_lhdToaBJEeuqkpDnuik1sg" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
268 <layoutConstraint xmi:type="notation:Location" xmi:id="_lhdToqBJEeuqkpDnuik1sg"/>
269 </children>
270 <styles xmi:type="notation:SortingStyle" xmi:id="_aPOKYqBJEeuqkpDnuik1sg"/>
271 <styles xmi:type="notation:FilteringStyle" xmi:id="_aPOKY6BJEeuqkpDnuik1sg"/>
272 </children>
273 <styles xmi:type="notation:ShapeStyle" xmi:id="_aPNjUaBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
274 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aPNjUqBJEeuqkpDnuik1sg" x="408" y="1128" width="120" height="100"/>
275 </children>
276 <children xmi:type="notation:Node" xmi:id="_D-lH8NYBEeuF_d0WEhR3Xw" type="2003" element="_D9_5INYBEeuF_d0WEhR3Xw">
277 <children xmi:type="notation:Node" xmi:id="_D-lvANYBEeuF_d0WEhR3Xw" type="5007"/>
278 <children xmi:type="notation:Node" xmi:id="_D-lvAdYBEeuF_d0WEhR3Xw" type="7004">
279 <styles xmi:type="notation:SortingStyle" xmi:id="_D-lvAtYBEeuF_d0WEhR3Xw"/>
280 <styles xmi:type="notation:FilteringStyle" xmi:id="_D-lvA9YBEeuF_d0WEhR3Xw"/>
281 </children>
282 <styles xmi:type="notation:ShapeStyle" xmi:id="_D-lH8dYBEeuF_d0WEhR3Xw" fontName="Noto Sans" fontHeight="8"/>
283 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D-lH8tYBEeuF_d0WEhR3Xw" x="48" y="1128" width="147" height="100"/>
284 </children>
285 <children xmi:type="notation:Node" xmi:id="_IwsqwNYPEeuF_d0WEhR3Xw" type="2003" element="_IwJ4MNYPEeuF_d0WEhR3Xw">
286 <children xmi:type="notation:Node" xmi:id="_IwtR0NYPEeuF_d0WEhR3Xw" type="5007"/>
287 <children xmi:type="notation:Node" xmi:id="_IwtR0dYPEeuF_d0WEhR3Xw" type="7004">
288 <styles xmi:type="notation:SortingStyle" xmi:id="_IwtR0tYPEeuF_d0WEhR3Xw"/>
289 <styles xmi:type="notation:FilteringStyle" xmi:id="_IwtR09YPEeuF_d0WEhR3Xw"/>
290 </children>
291 <styles xmi:type="notation:ShapeStyle" xmi:id="_IwsqwdYPEeuF_d0WEhR3Xw" fontName="Noto Sans" fontHeight="8"/>
292 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IwsqwtYPEeuF_d0WEhR3Xw" x="1353" y="1476" width="120" height="100"/>
293 </children>
294 <children xmi:type="notation:Node" xmi:id="_M6O-0NbGEeuymriYTNxK2g" type="2003" element="_M58q8NbGEeuymriYTNxK2g">
295 <children xmi:type="notation:Node" xmi:id="_M6Pl4NbGEeuymriYTNxK2g" type="5007"/>
296 <children xmi:type="notation:Node" xmi:id="_M6Pl4dbGEeuymriYTNxK2g" type="7004">
297 <styles xmi:type="notation:SortingStyle" xmi:id="_M6Pl4tbGEeuymriYTNxK2g"/>
298 <styles xmi:type="notation:FilteringStyle" xmi:id="_M6Pl49bGEeuymriYTNxK2g"/>
299 </children>
300 <styles xmi:type="notation:ShapeStyle" xmi:id="_M6O-0dbGEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
301 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M6O-0tbGEeuymriYTNxK2g" x="903" y="720" width="120" height="100"/>
302 </children>
303 <children xmi:type="notation:Node" xmi:id="_Kw-vINbNEeuymriYTNxK2g" type="2003" element="_KwtCUNbNEeuymriYTNxK2g">
304 <children xmi:type="notation:Node" xmi:id="_Kw_WMNbNEeuymriYTNxK2g" type="5007"/>
305 <children xmi:type="notation:Node" xmi:id="_Kw_WMdbNEeuymriYTNxK2g" type="7004">
306 <styles xmi:type="notation:SortingStyle" xmi:id="_Kw_WMtbNEeuymriYTNxK2g"/>
307 <styles xmi:type="notation:FilteringStyle" xmi:id="_Kw_WM9bNEeuymriYTNxK2g"/>
308 </children>
309 <styles xmi:type="notation:ShapeStyle" xmi:id="_Kw-vIdbNEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
310 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kw-vItbNEeuymriYTNxK2g" x="1137" y="180" width="120" height="100"/>
311 </children>
312 <styles xmi:type="notation:DiagramStyle" xmi:id="_CsZB8qA4EeuqkpDnuik1sg"/>
313 <edges xmi:type="notation:Edge" xmi:id="_ODhSQKA4EeuqkpDnuik1sg" type="4001" element="_ODPlcKA4EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
314 <children xmi:type="notation:Node" xmi:id="_ODhSRKA4EeuqkpDnuik1sg" type="6001">
315 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ODhSRaA4EeuqkpDnuik1sg" x="-36" y="-6"/>
316 </children>
317 <children xmi:type="notation:Node" xmi:id="_ODh5UKA4EeuqkpDnuik1sg" type="6002">
318 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ODh5UaA4EeuqkpDnuik1sg" y="10"/>
319 </children>
320 <children xmi:type="notation:Node" xmi:id="_ODh5UqA4EeuqkpDnuik1sg" type="6003">
321 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ODh5U6A4EeuqkpDnuik1sg" x="22" y="4"/>
322 </children>
323 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ODhSQaA4EeuqkpDnuik1sg" routing="Tree"/>
324 <styles xmi:type="notation:FontStyle" xmi:id="_ODhSQqA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
325 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ODhSQ6A4EeuqkpDnuik1sg" points="[0, 0, 48, 143]$[0, -24, 48, 119]$[-47, -24, 1, 119]$[-47, -94, 1, 49]"/>
326 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ODh5VKA4EeuqkpDnuik1sg" id="(0.5,0.0)"/>
327 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ODh5VaA4EeuqkpDnuik1sg" id="(0.5,0.5)"/>
328 </edges>
329 <edges xmi:type="notation:Edge" xmi:id="_gR35EKA4EeuqkpDnuik1sg" type="4001" element="_gRoBcKA4EeuqkpDnuik1sg" source="_c-HCQKA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
330 <children xmi:type="notation:Node" xmi:id="_gR4gIKA4EeuqkpDnuik1sg" type="6001">
331 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gR4gIaA4EeuqkpDnuik1sg" y="-10"/>
332 </children>
333 <children xmi:type="notation:Node" xmi:id="_gR4gIqA4EeuqkpDnuik1sg" type="6002">
334 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gR4gI6A4EeuqkpDnuik1sg" y="10"/>
335 </children>
336 <children xmi:type="notation:Node" xmi:id="_gR4gJKA4EeuqkpDnuik1sg" type="6003">
337 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gR4gJaA4EeuqkpDnuik1sg" y="10"/>
338 </children>
339 <styles xmi:type="notation:ConnectorStyle" xmi:id="_gR35EaA4EeuqkpDnuik1sg" routing="Tree"/>
340 <styles xmi:type="notation:FontStyle" xmi:id="_gR35EqA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
341 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gR35E6A4EeuqkpDnuik1sg" points="[0, 0, -36, 334]$[36, -334, 0, 0]"/>
342 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gR5HMKA4EeuqkpDnuik1sg" id="(0.3310344827586207,0.0)"/>
343 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gR5HMaA4EeuqkpDnuik1sg" id="(0.5,0.5)"/>
344 </edges>
345 <edges xmi:type="notation:Edge" xmi:id="_jlBE0KA4EeuqkpDnuik1sg" type="4001" element="_jk6-PKA4EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_c-HCQKA4EeuqkpDnuik1sg">
346 <children xmi:type="notation:Node" xmi:id="_jlBE1KA4EeuqkpDnuik1sg" type="6001">
347 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jlBE1aA4EeuqkpDnuik1sg" x="-76" y="-14"/>
348 </children>
349 <children xmi:type="notation:Node" xmi:id="_jlBE1qA4EeuqkpDnuik1sg" type="6002">
350 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jlBE16A4EeuqkpDnuik1sg" x="4" y="10"/>
351 </children>
352 <children xmi:type="notation:Node" xmi:id="_jlBE2KA4EeuqkpDnuik1sg" type="6003">
353 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jlBE2aA4EeuqkpDnuik1sg" x="-4" y="10"/>
354 </children>
355 <styles xmi:type="notation:ConnectorStyle" xmi:id="_jlBE0aA4EeuqkpDnuik1sg" routing="Rectilinear"/>
356 <styles xmi:type="notation:FontStyle" xmi:id="_jlBE0qA4EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
357 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jlBE06A4EeuqkpDnuik1sg" points="[-24, 0, 35, -142]$[-24, 58, 35, -84]$[-59, 58, 0, -84]$[-59, 142, 0, 0]"/>
358 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jlBr4KA4EeuqkpDnuik1sg" id="(0.4067796610169492,1.0)"/>
359 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jlBr4aA4EeuqkpDnuik1sg" id="(0.503448275862069,0.0)"/>
360 </edges>
361 <edges xmi:type="notation:Edge" xmi:id="_0V8EUKA4EeuqkpDnuik1sg" type="4001" element="_0V3L1qA4EeuqkpDnuik1sg" source="_c-HCQKA4EeuqkpDnuik1sg" target="_c-HCQKA4EeuqkpDnuik1sg">
362 <children xmi:type="notation:Node" xmi:id="_0V8rYKA4EeuqkpDnuik1sg" type="6001">
363 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0V8rYaA4EeuqkpDnuik1sg" x="30" y="11"/>
364 </children>
365 <children xmi:type="notation:Node" xmi:id="_0V8rYqA4EeuqkpDnuik1sg" type="6002">
366 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0V8rY6A4EeuqkpDnuik1sg" x="-8" y="2"/>
367 </children>
368 <children xmi:type="notation:Node" xmi:id="_0V8rZKA4EeuqkpDnuik1sg" type="6003">
369 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0V8rZaA4EeuqkpDnuik1sg" x="9" y="3"/>
370 </children>
371 <styles xmi:type="notation:ConnectorStyle" xmi:id="_0V8EUaA4EeuqkpDnuik1sg" routing="Rectilinear"/>
372 <styles xmi:type="notation:FontStyle" xmi:id="_0V8EUqA4EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
373 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0V8EU6A4EeuqkpDnuik1sg" points="[0, 60, 145, 60]$[40, 60, 185, 60]$[40, 126, 185, 126]$[-73, 126, 72, 126]$[-73, 86, 72, 86]"/>
374 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0V8rZqA4EeuqkpDnuik1sg" id="(1.0,0.12244897959183673)"/>
375 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0V8rZ6A4EeuqkpDnuik1sg" id="(0.0,0.12244897959183673)"/>
376 </edges>
377 <edges xmi:type="notation:Edge" xmi:id="_XWh5QKA5EeuqkpDnuik1sg" type="4001" element="_XWbypqA5EeuqkpDnuik1sg" source="_EfWNUKA4EeuqkpDnuik1sg" target="_RzZA0KA5EeuqkpDnuik1sg">
378 <children xmi:type="notation:Node" xmi:id="_XWh5RKA5EeuqkpDnuik1sg" type="6001">
379 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XWh5RaA5EeuqkpDnuik1sg" x="-4" y="-10"/>
380 </children>
381 <children xmi:type="notation:Node" xmi:id="_XWh5RqA5EeuqkpDnuik1sg" type="6002">
382 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XWh5R6A5EeuqkpDnuik1sg" y="10"/>
383 </children>
384 <children xmi:type="notation:Node" xmi:id="_XWh5SKA5EeuqkpDnuik1sg" type="6003">
385 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XWh5SaA5EeuqkpDnuik1sg" y="10"/>
386 </children>
387 <styles xmi:type="notation:ConnectorStyle" xmi:id="_XWh5QaA5EeuqkpDnuik1sg" routing="Tree"/>
388 <styles xmi:type="notation:FontStyle" xmi:id="_XWh5QqA5EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
389 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XWh5Q6A5EeuqkpDnuik1sg" points="[0, 0, -11, 95]$[0, -24, -11, 71]$[12, -24, 1, 71]$[12, -46, 1, 49]"/>
390 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XWigUKA5EeuqkpDnuik1sg" id="(0.2288135593220339,0.030612244897959183)"/>
391 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XWigUaA5EeuqkpDnuik1sg" id="(0.5,0.5)"/>
392 </edges>
393 <edges xmi:type="notation:Edge" xmi:id="_rUvUIKA5EeuqkpDnuik1sg" type="4001" element="_rUgDkKA5EeuqkpDnuik1sg" source="_fit3kKA5EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
394 <children xmi:type="notation:Node" xmi:id="_rUvUJKA5EeuqkpDnuik1sg" type="6001">
395 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rUvUJaA5EeuqkpDnuik1sg" y="-10"/>
396 </children>
397 <children xmi:type="notation:Node" xmi:id="_rUvUJqA5EeuqkpDnuik1sg" type="6002">
398 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rUvUJ6A5EeuqkpDnuik1sg" y="10"/>
399 </children>
400 <children xmi:type="notation:Node" xmi:id="_rUvUKKA5EeuqkpDnuik1sg" type="6003">
401 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rUvUKaA5EeuqkpDnuik1sg" y="10"/>
402 </children>
403 <styles xmi:type="notation:ConnectorStyle" xmi:id="_rUvUIaA5EeuqkpDnuik1sg" routing="Tree"/>
404 <styles xmi:type="notation:FontStyle" xmi:id="_rUvUIqA5EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
405 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rUvUI6A5EeuqkpDnuik1sg" points="[0, 0, 278, 180]$[-278, -180, 0, 0]"/>
406 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rUv7MKA5EeuqkpDnuik1sg" id="(0.3050847457627119,0.0)"/>
407 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rUv7MaA5EeuqkpDnuik1sg" id="(0.5,0.5)"/>
408 </edges>
409 <edges xmi:type="notation:Edge" xmi:id="_UzI6AKA6EeuqkpDnuik1sg" type="4001" element="_Uy4bWaA6EeuqkpDnuik1sg" source="_fit3kKA5EeuqkpDnuik1sg" target="_QKLK0KA6EeuqkpDnuik1sg">
410 <children xmi:type="notation:Node" xmi:id="_UzI6BKA6EeuqkpDnuik1sg" type="6001">
411 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UzI6BaA6EeuqkpDnuik1sg" x="35" y="17"/>
412 </children>
413 <children xmi:type="notation:Node" xmi:id="_UzI6BqA6EeuqkpDnuik1sg" type="6002">
414 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UzI6B6A6EeuqkpDnuik1sg" x="-26" y="10"/>
415 </children>
416 <children xmi:type="notation:Node" xmi:id="_UzI6CKA6EeuqkpDnuik1sg" type="6003">
417 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UzI6CaA6EeuqkpDnuik1sg" x="16" y="-4"/>
418 </children>
419 <styles xmi:type="notation:ConnectorStyle" xmi:id="_UzI6AaA6EeuqkpDnuik1sg" routing="Rectilinear"/>
420 <styles xmi:type="notation:FontStyle" xmi:id="_UzI6AqA6EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
421 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UzI6A6A6EeuqkpDnuik1sg" points="[0, 0, 153, -142]$[0, 106, 153, -36]$[-132, 106, 21, -36]$[-132, 142, 21, 0]"/>
422 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UzJhEKA6EeuqkpDnuik1sg" id="(0.3050847457627119,1.0)"/>
423 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UzJhEaA6EeuqkpDnuik1sg" id="(0.4322033898305085,0.0)"/>
424 </edges>
425 <edges xmi:type="notation:Edge" xmi:id="_onzXUKA6EeuqkpDnuik1sg" type="4001" element="_oni4rKA6EeuqkpDnuik1sg" source="_QKLK0KA6EeuqkpDnuik1sg" target="_jP6FkKA6EeuqkpDnuik1sg">
426 <children xmi:type="notation:Node" xmi:id="_onz-YKA6EeuqkpDnuik1sg" type="6001">
427 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_onz-YaA6EeuqkpDnuik1sg" x="-21" y="23"/>
428 </children>
429 <children xmi:type="notation:Node" xmi:id="_on0lcKA6EeuqkpDnuik1sg" type="6002">
430 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_on0lcaA6EeuqkpDnuik1sg" y="10"/>
431 </children>
432 <children xmi:type="notation:Node" xmi:id="_on0lcqA6EeuqkpDnuik1sg" type="6003">
433 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_on0lc6A6EeuqkpDnuik1sg" x="-55" y="-7"/>
434 </children>
435 <styles xmi:type="notation:ConnectorStyle" xmi:id="_onzXUaA6EeuqkpDnuik1sg" routing="Tree"/>
436 <styles xmi:type="notation:FontStyle" xmi:id="_onzXUqA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
437 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_onzXU6A6EeuqkpDnuik1sg" points="[0, 0, -23, 191]$[0, -72, -23, 119]$[24, -72, 1, 119]$[24, -142, 1, 49]"/>
438 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_on1MgKA6EeuqkpDnuik1sg" id="(0.2033898305084746,0.0)"/>
439 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_on1MgaA6EeuqkpDnuik1sg" id="(0.5,0.5)"/>
440 </edges>
441 <edges xmi:type="notation:Edge" xmi:id="_vDzxcKA6EeuqkpDnuik1sg" type="4001" element="_vDscvKA6EeuqkpDnuik1sg" source="_fit3kKA5EeuqkpDnuik1sg" target="_sdPX0KA6EeuqkpDnuik1sg">
442 <children xmi:type="notation:Node" xmi:id="_vD0YgKA6EeuqkpDnuik1sg" type="6001">
443 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vD0YgaA6EeuqkpDnuik1sg" x="-54" y="-39"/>
444 </children>
445 <children xmi:type="notation:Node" xmi:id="_vD0YgqA6EeuqkpDnuik1sg" type="6002">
446 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vD0Yg6A6EeuqkpDnuik1sg" x="26" y="-10"/>
447 </children>
448 <children xmi:type="notation:Node" xmi:id="_vD0YhKA6EeuqkpDnuik1sg" type="6003">
449 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vD0YhaA6EeuqkpDnuik1sg" x="-1" y="-10"/>
450 </children>
451 <styles xmi:type="notation:ConnectorStyle" xmi:id="_vDzxcaA6EeuqkpDnuik1sg" routing="Rectilinear"/>
452 <styles xmi:type="notation:FontStyle" xmi:id="_vDzxcqA6EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
453 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vDzxc6A6EeuqkpDnuik1sg" points="[-18, 0, 18, -142]$[-18, 142, 18, 0]"/>
454 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vD0YhqA6EeuqkpDnuik1sg" id="(0.6440677966101694,1.0)"/>
455 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vD0Yh6A6EeuqkpDnuik1sg" id="(0.3389830508474576,0.0)"/>
456 </edges>
457 <edges xmi:type="notation:Edge" xmi:id="_BWCysKA7EeuqkpDnuik1sg" type="4001" element="_BVyUAKA7EeuqkpDnuik1sg" source="_-O-UEKA6EeuqkpDnuik1sg" target="_jP6FkKA6EeuqkpDnuik1sg">
458 <children xmi:type="notation:Node" xmi:id="_BWCytKA7EeuqkpDnuik1sg" type="6001">
459 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BWCytaA7EeuqkpDnuik1sg" x="-107" y="-10"/>
460 </children>
461 <children xmi:type="notation:Node" xmi:id="_BWCytqA7EeuqkpDnuik1sg" type="6002">
462 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BWCyt6A7EeuqkpDnuik1sg" x="-46" y="10"/>
463 </children>
464 <children xmi:type="notation:Node" xmi:id="_BWCyuKA7EeuqkpDnuik1sg" type="6003">
465 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BWCyuaA7EeuqkpDnuik1sg" x="-56" y="10"/>
466 </children>
467 <styles xmi:type="notation:ConnectorStyle" xmi:id="_BWCysaA7EeuqkpDnuik1sg" routing="Tree"/>
468 <styles xmi:type="notation:FontStyle" xmi:id="_BWCysqA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
469 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BWCys6A7EeuqkpDnuik1sg" points="[0, 0, 385, 191]$[0, -84, 385, 107]$[-384, -84, 1, 107]$[-384, -142, 1, 49]"/>
470 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BWDZwKA7EeuqkpDnuik1sg" id="(0.3050847457627119,0.0)"/>
471 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BWDZwaA7EeuqkpDnuik1sg" id="(0.5,0.5)"/>
472 </edges>
473 <edges xmi:type="notation:Edge" xmi:id="_SyzkgKA7EeuqkpDnuik1sg" type="4001" element="_SykT9qA7EeuqkpDnuik1sg" source="_sdPX0KA6EeuqkpDnuik1sg" target="_4k5GIKA6EeuqkpDnuik1sg">
474 <children xmi:type="notation:Node" xmi:id="_SyzkhKA7EeuqkpDnuik1sg" type="6001">
475 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SyzkhaA7EeuqkpDnuik1sg" x="6" y="-45"/>
476 </children>
477 <children xmi:type="notation:Node" xmi:id="_SyzkhqA7EeuqkpDnuik1sg" type="6002">
478 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Syzkh6A7EeuqkpDnuik1sg" x="52" y="10"/>
479 </children>
480 <children xmi:type="notation:Node" xmi:id="_SyzkiKA7EeuqkpDnuik1sg" type="6003">
481 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SyzkiaA7EeuqkpDnuik1sg" x="4"/>
482 </children>
483 <styles xmi:type="notation:ConnectorStyle" xmi:id="_SyzkgaA7EeuqkpDnuik1sg" routing="Rectilinear"/>
484 <styles xmi:type="notation:FontStyle" xmi:id="_SyzkgqA7EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
485 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Syzkg6A7EeuqkpDnuik1sg" points="[-14, 0, 10, -70]$[-14, 70, 10, 0]"/>
486 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sy0LkKA7EeuqkpDnuik1sg" id="(0.6101694915254238,1.0)"/>
487 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sy0LkaA7EeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/>
488 </edges>
489 <edges xmi:type="notation:Edge" xmi:id="_vWH0AKA7EeuqkpDnuik1sg" type="4001" element="_vWBGaKA7EeuqkpDnuik1sg" source="_sdPX0KA6EeuqkpDnuik1sg" target="_rRhWIKA7EeuqkpDnuik1sg">
490 <children xmi:type="notation:Node" xmi:id="_vWH0BKA7EeuqkpDnuik1sg" type="6001">
491 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vWH0BaA7EeuqkpDnuik1sg" x="-105" y="-4"/>
492 </children>
493 <children xmi:type="notation:Node" xmi:id="_vWH0BqA7EeuqkpDnuik1sg" type="6002">
494 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vWH0B6A7EeuqkpDnuik1sg" y="10"/>
495 </children>
496 <children xmi:type="notation:Node" xmi:id="_vWH0CKA7EeuqkpDnuik1sg" type="6003">
497 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vWH0CaA7EeuqkpDnuik1sg" x="-59" y="-55"/>
498 </children>
499 <styles xmi:type="notation:ConnectorStyle" xmi:id="_vWH0AaA7EeuqkpDnuik1sg" routing="Tree"/>
500 <styles xmi:type="notation:FontStyle" xmi:id="_vWH0AqA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
501 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vWH0A6A7EeuqkpDnuik1sg" points="[0, 0, -190, 191]$[0, -48, -190, 143]$[156, -48, -34, 143]$[156, -142, -34, 49]"/>
502 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vWIbEKA7EeuqkpDnuik1sg" id="(0.8135593220338984,0.0)"/>
503 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vWIbEaA7EeuqkpDnuik1sg" id="(0.5,0.5)"/>
504 </edges>
505 <edges xmi:type="notation:Edge" xmi:id="_yCqSwKA7EeuqkpDnuik1sg" type="4001" element="_yCjlHKA7EeuqkpDnuik1sg" source="_V6pfMKA7EeuqkpDnuik1sg" target="_rRhWIKA7EeuqkpDnuik1sg">
506 <children xmi:type="notation:Node" xmi:id="_yCqSxKA7EeuqkpDnuik1sg" type="6001">
507 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yCqSxaA7EeuqkpDnuik1sg" x="122" y="-10"/>
508 </children>
509 <children xmi:type="notation:Node" xmi:id="_yCqSxqA7EeuqkpDnuik1sg" type="6002">
510 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yCqSx6A7EeuqkpDnuik1sg" x="37" y="10"/>
511 </children>
512 <children xmi:type="notation:Node" xmi:id="_yCqSyKA7EeuqkpDnuik1sg" type="6003">
513 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yCqSyaA7EeuqkpDnuik1sg" x="13" y="10"/>
514 </children>
515 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yCqSwaA7EeuqkpDnuik1sg" routing="Tree"/>
516 <styles xmi:type="notation:FontStyle" xmi:id="_yCqSwqA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
517 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yCqSw6A7EeuqkpDnuik1sg" points="[0, -3, -86, 515]$[0, -375, -86, 143]$[40, -375, -46, 143]$[40, -469, -46, 49]"/>
518 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yCqSyqA7EeuqkpDnuik1sg" id="(0.576271186440678,0.030612244897959183)"/>
519 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yCqSy6A7EeuqkpDnuik1sg" id="(0.5,0.5)"/>
520 </edges>
521 <edges xmi:type="notation:Edge" xmi:id="_0U2-4KA7EeuqkpDnuik1sg" type="4001" element="_0UtN5qA7EeuqkpDnuik1sg" source="_rRhWIKA7EeuqkpDnuik1sg" target="_-O-UEKA6EeuqkpDnuik1sg">
522 <children xmi:type="notation:Node" xmi:id="_0U3l8KA7EeuqkpDnuik1sg" type="6001">
523 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0U3l8aA7EeuqkpDnuik1sg" x="-18" y="-65"/>
524 </children>
525 <children xmi:type="notation:Node" xmi:id="_0U3l8qA7EeuqkpDnuik1sg" type="6002">
526 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0U3l86A7EeuqkpDnuik1sg" y="10"/>
527 </children>
528 <children xmi:type="notation:Node" xmi:id="_0U3l9KA7EeuqkpDnuik1sg" type="6003">
529 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0U3l9aA7EeuqkpDnuik1sg" y="10"/>
530 </children>
531 <styles xmi:type="notation:ConnectorStyle" xmi:id="_0U2-4aA7EeuqkpDnuik1sg" routing="Rectilinear"/>
532 <styles xmi:type="notation:FontStyle" xmi:id="_0U2-4qA7EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
533 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0U2-46A7EeuqkpDnuik1sg" points="[-15, 0, -15, -142]$[-15, 142, -15, 0]"/>
534 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0U3l9qA7EeuqkpDnuik1sg" id="(0.696551724137931,1.0)"/>
535 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0U3l96A7EeuqkpDnuik1sg" id="(0.7372881355932204,0.0)"/>
536 </edges>
537 <edges xmi:type="notation:Edge" xmi:id="_9Oi8YKA7EeuqkpDnuik1sg" type="4001" element="_9OddBqA7EeuqkpDnuik1sg" source="_V6pfMKA7EeuqkpDnuik1sg" target="_4k5GIKA6EeuqkpDnuik1sg">
538 <children xmi:type="notation:Node" xmi:id="_9Oi8ZKA7EeuqkpDnuik1sg" type="6001">
539 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9Oi8ZaA7EeuqkpDnuik1sg" x="-16" y="-10"/>
540 </children>
541 <children xmi:type="notation:Node" xmi:id="_9Oi8ZqA7EeuqkpDnuik1sg" type="6002">
542 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9Oi8Z6A7EeuqkpDnuik1sg" y="10"/>
543 </children>
544 <children xmi:type="notation:Node" xmi:id="_9Oi8aKA7EeuqkpDnuik1sg" type="6003">
545 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9Oi8aaA7EeuqkpDnuik1sg" x="16" y="6"/>
546 </children>
547 <styles xmi:type="notation:ConnectorStyle" xmi:id="_9Oi8YaA7EeuqkpDnuik1sg" routing="Tree"/>
548 <styles xmi:type="notation:FontStyle" xmi:id="_9Oi8YqA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
549 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9Oi8Y6A7EeuqkpDnuik1sg" points="[0, -4, 97, 107]$[0, -28, 97, 83]$[-96, -28, 1, 83]$[-96, -62, 1, 49]"/>
550 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9Oi8aqA7EeuqkpDnuik1sg" id="(0.3305084745762712,0.04081632653061224)"/>
551 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9Oi8a6A7EeuqkpDnuik1sg" id="(0.5,0.5)"/>
552 </edges>
553 <edges xmi:type="notation:Edge" xmi:id="_D9xNcKA8EeuqkpDnuik1sg" type="4001" element="_D9lnQKA8EeuqkpDnuik1sg" source="_6KEUMKA6EeuqkpDnuik1sg" target="_4k5GIKA6EeuqkpDnuik1sg">
554 <children xmi:type="notation:Node" xmi:id="_D9x0gKA8EeuqkpDnuik1sg" type="6001">
555 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9x0gaA8EeuqkpDnuik1sg" y="-10"/>
556 </children>
557 <children xmi:type="notation:Node" xmi:id="_D9x0gqA8EeuqkpDnuik1sg" type="6002">
558 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9x0g6A8EeuqkpDnuik1sg" y="10"/>
559 </children>
560 <children xmi:type="notation:Node" xmi:id="_D9x0hKA8EeuqkpDnuik1sg" type="6003">
561 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9x0haA8EeuqkpDnuik1sg" y="10"/>
562 </children>
563 <styles xmi:type="notation:ConnectorStyle" xmi:id="_D9xNcaA8EeuqkpDnuik1sg" routing="Tree"/>
564 <styles xmi:type="notation:FontStyle" xmi:id="_D9xNcqA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
565 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D9xNc6A8EeuqkpDnuik1sg" points="[0, 0, -72, 58]$[72, -58, 0, 0]"/>
566 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9x0hqA8EeuqkpDnuik1sg" id="(0.3728813559322034,0.02040816326530612)"/>
567 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9x0h6A8EeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/>
568 </edges>
569 <edges xmi:type="notation:Edge" xmi:id="_Vj1sQKA8EeuqkpDnuik1sg" type="4001" element="_VjwMzqA8EeuqkpDnuik1sg" source="_6KEUMKA6EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
570 <children xmi:type="notation:Node" xmi:id="_Vj1sRKA8EeuqkpDnuik1sg" type="6001">
571 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sRaA8EeuqkpDnuik1sg" x="11" y="526"/>
572 </children>
573 <children xmi:type="notation:Node" xmi:id="_Vj1sRqA8EeuqkpDnuik1sg" type="6002">
574 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sR6A8EeuqkpDnuik1sg" x="266" y="-10"/>
575 </children>
576 <children xmi:type="notation:Node" xmi:id="_Vj1sSKA8EeuqkpDnuik1sg" type="6003">
577 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sSaA8EeuqkpDnuik1sg" x="-35" y="10"/>
578 </children>
579 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Vj1sQaA8EeuqkpDnuik1sg" routing="Rectilinear"/>
580 <styles xmi:type="notation:FontStyle" xmi:id="_Vj1sQqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
581 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vj1sQ6A8EeuqkpDnuik1sg" points="[-48, 24, 661, 682]$[-828, 24, -119, 682]$[-828, -708, -119, -50]$[-768, -708, -59, -50]"/>
582 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sSqA8EeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/>
583 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sS6A8EeuqkpDnuik1sg" id="(0.5,1.0)"/>
584 </edges>
585 <edges xmi:type="notation:Edge" xmi:id="_w-zMkKA8EeuqkpDnuik1sg" type="4001" element="_w-iG36A8EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
586 <children xmi:type="notation:Node" xmi:id="_w-zMlKA8EeuqkpDnuik1sg" type="6001">
587 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zMlaA8EeuqkpDnuik1sg" x="-221" y="18"/>
588 </children>
589 <children xmi:type="notation:Node" xmi:id="_w-zzoKA8EeuqkpDnuik1sg" type="6002">
590 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zzoaA8EeuqkpDnuik1sg" x="449" y="10"/>
591 </children>
592 <children xmi:type="notation:Node" xmi:id="_w-zzoqA8EeuqkpDnuik1sg" type="6003">
593 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zzo6A8EeuqkpDnuik1sg" x="79" y="10"/>
594 </children>
595 <styles xmi:type="notation:ConnectorStyle" xmi:id="_w-zMkaA8EeuqkpDnuik1sg" routing="Rectilinear"/>
596 <styles xmi:type="notation:FontStyle" xmi:id="_w-zMkqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
597 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w-zMk6A8EeuqkpDnuik1sg" points="[0, -25, 902, -25]$[-902, -25, 0, -25]"/>
598 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w-zzpKA8EeuqkpDnuik1sg" id="(0.0,0.5)"/>
599 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w-zzpaA8EeuqkpDnuik1sg" id="(1.0,0.5)"/>
600 </edges>
601 <edges xmi:type="notation:Edge" xmi:id="_4eaYwKA8EeuqkpDnuik1sg" type="4001" element="_4eU5TqA8EeuqkpDnuik1sg" source="_D1D6MKA4EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg">
602 <children xmi:type="notation:Node" xmi:id="_4ea_06A8EeuqkpDnuik1sg" type="6001">
603 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ea_1KA8EeuqkpDnuik1sg" x="-36" y="-17"/>
604 </children>
605 <children xmi:type="notation:Node" xmi:id="_4ea_1aA8EeuqkpDnuik1sg" type="6002">
606 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ea_1qA8EeuqkpDnuik1sg" x="8" y="-14"/>
607 </children>
608 <children xmi:type="notation:Node" xmi:id="_4ea_16A8EeuqkpDnuik1sg" type="6003">
609 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ea_2KA8EeuqkpDnuik1sg" x="-124" y="10"/>
610 </children>
611 <styles xmi:type="notation:ConnectorStyle" xmi:id="_4ea_0KA8EeuqkpDnuik1sg" routing="Rectilinear"/>
612 <styles xmi:type="notation:FontStyle" xmi:id="_4ea_0aA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
613 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4ea_0qA8EeuqkpDnuik1sg" points="[-21, 50, -159, -58]$[-34, 84, -172, -24]$[137, 84, -1, -24]$[137, 107, -1, -1]"/>
614 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4ea_2aA8EeuqkpDnuik1sg" id="(1.0,0.4897959183673469)"/>
615 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4ea_2qA8EeuqkpDnuik1sg" id="(0.3389830508474576,0.0)"/>
616 </edges>
617 <edges xmi:type="notation:Edge" xmi:id="_79_eAKA8EeuqkpDnuik1sg" type="4001" element="_79nqlqA8EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg">
618 <children xmi:type="notation:Node" xmi:id="_79_eBKA8EeuqkpDnuik1sg" type="6001">
619 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_79_eBaA8EeuqkpDnuik1sg" x="87" y="18"/>
620 </children>
621 <children xmi:type="notation:Node" xmi:id="_79_eBqA8EeuqkpDnuik1sg" type="6002">
622 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_79_eB6A8EeuqkpDnuik1sg" x="-19" y="-10"/>
623 </children>
624 <children xmi:type="notation:Node" xmi:id="_79_eCKA8EeuqkpDnuik1sg" type="6003">
625 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_79_eCaA8EeuqkpDnuik1sg" x="-58" y="-10"/>
626 </children>
627 <styles xmi:type="notation:ConnectorStyle" xmi:id="_79_eAaA8EeuqkpDnuik1sg" routing="Rectilinear"/>
628 <styles xmi:type="notation:FontStyle" xmi:id="_79_eAqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
629 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_79_eA6A8EeuqkpDnuik1sg" points="[41, -3, 708, 143]$[41, -146, 708, 0]$[-549, -146, 118, 0]"/>
630 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_79_eCqA8EeuqkpDnuik1sg" id="(0.3644067796610169,0.030612244897959183)"/>
631 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_79_eC6A8EeuqkpDnuik1sg" id="(0.0,0.5)"/>
632 </edges>
633 <edges xmi:type="notation:Edge" xmi:id="_hU_wsKA9EeuqkpDnuik1sg" type="4001" element="_hU64ZqA9EeuqkpDnuik1sg" source="_D1D6MKA4EeuqkpDnuik1sg" target="_e73WIKA9EeuqkpDnuik1sg">
634 <children xmi:type="notation:Node" xmi:id="_hU_wtKA9EeuqkpDnuik1sg" type="6001">
635 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hU_wtaA9EeuqkpDnuik1sg" x="-12" y="64"/>
636 </children>
637 <children xmi:type="notation:Node" xmi:id="_hU_wtqA9EeuqkpDnuik1sg" type="6002">
638 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hU_wt6A9EeuqkpDnuik1sg" x="10"/>
639 </children>
640 <children xmi:type="notation:Node" xmi:id="_hU_wuKA9EeuqkpDnuik1sg" type="6003">
641 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hU_wuaA9EeuqkpDnuik1sg" x="-10" y="9"/>
642 </children>
643 <styles xmi:type="notation:ConnectorStyle" xmi:id="_hU_wsaA9EeuqkpDnuik1sg" routing="Rectilinear"/>
644 <styles xmi:type="notation:FontStyle" xmi:id="_hU_wsqA9EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
645 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hU_ws6A9EeuqkpDnuik1sg" points="[0, 0, 0, -58]$[0, 58, 0, 0]"/>
646 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hU_wuqA9EeuqkpDnuik1sg" id="(0.5,1.0)"/>
647 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hU_wu6A9EeuqkpDnuik1sg" id="(0.5,0.0)"/>
648 </edges>
649 <edges xmi:type="notation:Edge" xmi:id="_mQXegKA9EeuqkpDnuik1sg" type="4001" element="_mQFKsqA9EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_e73WIKA9EeuqkpDnuik1sg">
650 <children xmi:type="notation:Node" xmi:id="_mQYFkKA9EeuqkpDnuik1sg" type="6001">
651 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mQYFkaA9EeuqkpDnuik1sg" x="-32" y="-10"/>
652 </children>
653 <children xmi:type="notation:Node" xmi:id="_mQYFkqA9EeuqkpDnuik1sg" type="6002">
654 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mQYFk6A9EeuqkpDnuik1sg" x="-32" y="10"/>
655 </children>
656 <children xmi:type="notation:Node" xmi:id="_mQYFlKA9EeuqkpDnuik1sg" type="6003">
657 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mQYFlaA9EeuqkpDnuik1sg" x="-32" y="10"/>
658 </children>
659 <styles xmi:type="notation:ConnectorStyle" xmi:id="_mQXegaA9EeuqkpDnuik1sg" routing="Tree"/>
660 <styles xmi:type="notation:FontStyle" xmi:id="_mQXegqA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
661 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mQXeg6A9EeuqkpDnuik1sg" points="[0, 0, 673, 143]$[0, -48, 673, 95]$[-672, -48, 1, 95]$[-672, -94, 1, 49]"/>
662 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mQYFlqA9EeuqkpDnuik1sg" id="(0.6101694915254238,0.0)"/>
663 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mQYFl6A9EeuqkpDnuik1sg" id="(0.5,0.5)"/>
664 </edges>
665 <edges xmi:type="notation:Edge" xmi:id="_m0CMQKA9EeuqkpDnuik1sg" type="4001" element="_mzziwKA9EeuqkpDnuik1sg" source="_fit3kKA5EeuqkpDnuik1sg" target="_e73WIKA9EeuqkpDnuik1sg">
666 <children xmi:type="notation:Node" xmi:id="_m0CzUKA9EeuqkpDnuik1sg" type="6001">
667 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m0CzUaA9EeuqkpDnuik1sg" x="12" y="-10"/>
668 </children>
669 <children xmi:type="notation:Node" xmi:id="_m0CzUqA9EeuqkpDnuik1sg" type="6002">
670 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m0CzU6A9EeuqkpDnuik1sg" y="10"/>
671 </children>
672 <children xmi:type="notation:Node" xmi:id="_m0CzVKA9EeuqkpDnuik1sg" type="6003">
673 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m0CzVaA9EeuqkpDnuik1sg" x="12" y="10"/>
674 </children>
675 <styles xmi:type="notation:ConnectorStyle" xmi:id="_m0CMQaA9EeuqkpDnuik1sg" routing="Tree"/>
676 <styles xmi:type="notation:FontStyle" xmi:id="_m0CMQqA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
677 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_m0CMQ6A9EeuqkpDnuik1sg" points="[0, -1, 310, 384]$[0, -265, 310, 120]$[-309, -265, 1, 120]$[-309, -287, 1, 98]"/>
678 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m0CzVqA9EeuqkpDnuik1sg" id="(0.4830508474576271,0.01020408163265306)"/>
679 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m0CzV6A9EeuqkpDnuik1sg" id="(0.5,0.0)"/>
680 </edges>
681 <edges xmi:type="notation:Edge" xmi:id="_pldLAKA9EeuqkpDnuik1sg" type="4001" element="_plK3JqA9EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_e73WIKA9EeuqkpDnuik1sg">
682 <children xmi:type="notation:Node" xmi:id="_pldLBKA9EeuqkpDnuik1sg" type="6001">
683 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pldLBaA9EeuqkpDnuik1sg" y="-10"/>
684 </children>
685 <children xmi:type="notation:Node" xmi:id="_pldLBqA9EeuqkpDnuik1sg" type="6002">
686 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pldLB6A9EeuqkpDnuik1sg" y="10"/>
687 </children>
688 <children xmi:type="notation:Node" xmi:id="_pldyEKA9EeuqkpDnuik1sg" type="6003">
689 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pldyEaA9EeuqkpDnuik1sg" y="10"/>
690 </children>
691 <styles xmi:type="notation:ConnectorStyle" xmi:id="_pldLAaA9EeuqkpDnuik1sg" routing="Tree"/>
692 <styles xmi:type="notation:FontStyle" xmi:id="_pldLAqA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
693 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pldLA6A9EeuqkpDnuik1sg" points="[0, 0, -84, 286]$[84, -286, 0, 0]"/>
694 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pldyEqA9EeuqkpDnuik1sg" id="(0.8389830508474576,0.02040816326530612)"/>
695 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pldyE6A9EeuqkpDnuik1sg" id="(0.5,0.0)"/>
696 </edges>
697 <edges xmi:type="notation:Edge" xmi:id="_vd7aQKA9EeuqkpDnuik1sg" type="4001" element="_vdptgqA9EeuqkpDnuik1sg" source="_QUDYMKA9EeuqkpDnuik1sg" target="_e73WIKA9EeuqkpDnuik1sg">
698 <children xmi:type="notation:Node" xmi:id="_vd8BUKA9EeuqkpDnuik1sg" type="6001">
699 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vd8BUaA9EeuqkpDnuik1sg" x="-28" y="-10"/>
700 </children>
701 <children xmi:type="notation:Node" xmi:id="_vd8BUqA9EeuqkpDnuik1sg" type="6002">
702 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vd8BU6A9EeuqkpDnuik1sg" x="-28" y="6"/>
703 </children>
704 <children xmi:type="notation:Node" xmi:id="_vd8BVKA9EeuqkpDnuik1sg" type="6003">
705 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vd8BVaA9EeuqkpDnuik1sg" x="-28" y="10"/>
706 </children>
707 <styles xmi:type="notation:ConnectorStyle" xmi:id="_vd7aQaA9EeuqkpDnuik1sg" routing="Tree"/>
708 <styles xmi:type="notation:FontStyle" xmi:id="_vd7aQqA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
709 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vd7aQ6A9EeuqkpDnuik1sg" points="[0, -3, -476, 192]$[0, -51, -476, 144]$[477, -51, 1, 144]$[477, -97, 1, 98]"/>
710 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vd8BVqA9EeuqkpDnuik1sg" id="(0.4322033898305085,0.030612244897959183)"/>
711 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vd8BV6A9EeuqkpDnuik1sg" id="(0.5,0.0)"/>
712 </edges>
713 <edges xmi:type="notation:Edge" xmi:id="_2ko-QKA9EeuqkpDnuik1sg" type="4001" element="_2kWqbKA9EeuqkpDnuik1sg" source="_zaq8oKA9EeuqkpDnuik1sg" target="_JT0o8KA4EeuqkpDnuik1sg">
714 <children xmi:type="notation:Node" xmi:id="_2ko-RKA9EeuqkpDnuik1sg" type="6001">
715 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2ko-RaA9EeuqkpDnuik1sg" x="-53" y="-17"/>
716 </children>
717 <children xmi:type="notation:Node" xmi:id="_2ko-RqA9EeuqkpDnuik1sg" type="6002">
718 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2ko-R6A9EeuqkpDnuik1sg" x="21" y="10"/>
719 </children>
720 <children xmi:type="notation:Node" xmi:id="_2ko-SKA9EeuqkpDnuik1sg" type="6003">
721 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2ko-SaA9EeuqkpDnuik1sg" x="3" y="10"/>
722 </children>
723 <styles xmi:type="notation:ConnectorStyle" xmi:id="_2ko-QaA9EeuqkpDnuik1sg" routing="Rectilinear"/>
724 <styles xmi:type="notation:FontStyle" xmi:id="_2ko-QqA9EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
725 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2ko-Q6A9EeuqkpDnuik1sg" points="[0, 36, -218, 36]$[218, 36, 0, 36]"/>
726 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2ko-SqA9EeuqkpDnuik1sg" id="(1.0,0.24742268041237114)"/>
727 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2ko-S6A9EeuqkpDnuik1sg" id="(0.0,0.24489795918367346)"/>
728 </edges>
729 <edges xmi:type="notation:Edge" xmi:id="_F27ckKA-EeuqkpDnuik1sg" type="4001" element="_F2vPU6A-EeuqkpDnuik1sg" source="_QUDYMKA9EeuqkpDnuik1sg" target="_zaq8oKA9EeuqkpDnuik1sg">
730 <children xmi:type="notation:Node" xmi:id="_F28DoKA-EeuqkpDnuik1sg" type="6001">
731 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F28DoaA-EeuqkpDnuik1sg" x="-6" y="-56"/>
732 </children>
733 <children xmi:type="notation:Node" xmi:id="_F28DoqA-EeuqkpDnuik1sg" type="6002">
734 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F28Do6A-EeuqkpDnuik1sg" x="-2" y="10"/>
735 </children>
736 <children xmi:type="notation:Node" xmi:id="_F28DpKA-EeuqkpDnuik1sg" type="6003">
737 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F28DpaA-EeuqkpDnuik1sg" x="-10" y="10"/>
738 </children>
739 <styles xmi:type="notation:ConnectorStyle" xmi:id="_F27ckaA-EeuqkpDnuik1sg" routing="Rectilinear"/>
740 <styles xmi:type="notation:FontStyle" xmi:id="_F27ckqA-EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
741 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_F27ck6A-EeuqkpDnuik1sg" points="[0, 0, 0, -94]$[0, 94, 0, 0]"/>
742 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F28DpqA-EeuqkpDnuik1sg" id="(0.5,1.0)"/>
743 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F28Dp6A-EeuqkpDnuik1sg" id="(0.5,0.0)"/>
744 </edges>
745 <edges xmi:type="notation:Edge" xmi:id="_UJRHgKBDEeuqkpDnuik1sg" type="4001" element="_UJJy0qBDEeuqkpDnuik1sg" source="_V6pfMKA7EeuqkpDnuik1sg" target="_6KEUMKA6EeuqkpDnuik1sg">
746 <children xmi:type="notation:Node" xmi:id="_UJRukKBDEeuqkpDnuik1sg" type="6001">
747 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UJRukaBDEeuqkpDnuik1sg" y="10"/>
748 </children>
749 <children xmi:type="notation:Node" xmi:id="_UJRukqBDEeuqkpDnuik1sg" type="6002">
750 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UJRuk6BDEeuqkpDnuik1sg" x="6" y="10"/>
751 </children>
752 <children xmi:type="notation:Node" xmi:id="_UJRulKBDEeuqkpDnuik1sg" type="6003">
753 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UJRulaBDEeuqkpDnuik1sg" x="-6" y="10"/>
754 </children>
755 <styles xmi:type="notation:ConnectorStyle" xmi:id="_UJRHgaBDEeuqkpDnuik1sg" routing="Rectilinear"/>
756 <styles xmi:type="notation:FontStyle" xmi:id="_UJRHgqBDEeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
757 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UJRHg6BDEeuqkpDnuik1sg" points="[0, -1, 86, 36]$[-86, -1, 0, 36]"/>
758 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UJRulqBDEeuqkpDnuik1sg" id="(0.0,0.5)"/>
759 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UJRul6BDEeuqkpDnuik1sg" id="(1.0,0.12244897959183673)"/>
760 </edges>
761 <edges xmi:type="notation:Edge" xmi:id="_c_hu0KBJEeuqkpDnuik1sg" type="4001" element="_c_boQqBJEeuqkpDnuik1sg" source="_Tx6IsKBJEeuqkpDnuik1sg" target="_Ren3cKBJEeuqkpDnuik1sg">
762 <children xmi:type="notation:Node" xmi:id="_c_hu1KBJEeuqkpDnuik1sg" type="6001">
763 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c_hu1aBJEeuqkpDnuik1sg" x="-16" y="-10"/>
764 </children>
765 <children xmi:type="notation:Node" xmi:id="_c_hu1qBJEeuqkpDnuik1sg" type="6002">
766 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c_hu16BJEeuqkpDnuik1sg" y="10"/>
767 </children>
768 <children xmi:type="notation:Node" xmi:id="_c_hu2KBJEeuqkpDnuik1sg" type="6003">
769 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c_hu2aBJEeuqkpDnuik1sg" x="-17" y="-9"/>
770 </children>
771 <styles xmi:type="notation:ConnectorStyle" xmi:id="_c_hu0aBJEeuqkpDnuik1sg" routing="Tree"/>
772 <styles xmi:type="notation:FontStyle" xmi:id="_c_hu0qBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
773 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_c_hu06BJEeuqkpDnuik1sg" points="[0, 0, -108, 119]$[0, -36, -108, 83]$[109, -36, 1, 83]$[109, -70, 1, 49]"/>
774 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_c_hu2qBJEeuqkpDnuik1sg" id="(0.5,0.0)"/>
775 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_c_hu26BJEeuqkpDnuik1sg" id="(0.5,0.5)"/>
776 </edges>
777 <edges xmi:type="notation:Edge" xmi:id="_doLqQKBJEeuqkpDnuik1sg" type="4001" element="_dn26MqBJEeuqkpDnuik1sg" source="_aPNjUKBJEeuqkpDnuik1sg" target="_Ren3cKBJEeuqkpDnuik1sg">
778 <children xmi:type="notation:Node" xmi:id="_doLqRKBJEeuqkpDnuik1sg" type="6001">
779 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_doLqRaBJEeuqkpDnuik1sg" y="-10"/>
780 </children>
781 <children xmi:type="notation:Node" xmi:id="_doLqRqBJEeuqkpDnuik1sg" type="6002">
782 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_doLqR6BJEeuqkpDnuik1sg" y="10"/>
783 </children>
784 <children xmi:type="notation:Node" xmi:id="_doLqSKBJEeuqkpDnuik1sg" type="6003">
785 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_doLqSaBJEeuqkpDnuik1sg" y="10"/>
786 </children>
787 <styles xmi:type="notation:ConnectorStyle" xmi:id="_doLqQaBJEeuqkpDnuik1sg" routing="Tree"/>
788 <styles xmi:type="notation:FontStyle" xmi:id="_doLqQqBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
789 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_doLqQ6BJEeuqkpDnuik1sg" points="[0, 0, 108, 70]$[-108, -70, 0, 0]"/>
790 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_doLqSqBJEeuqkpDnuik1sg" id="(0.711864406779661,0.0)"/>
791 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_doLqS6BJEeuqkpDnuik1sg" id="(0.5,0.5)"/>
792 </edges>
793 <edges xmi:type="notation:Edge" xmi:id="_n5uykKBJEeuqkpDnuik1sg" type="4001" element="_n5fiHqBJEeuqkpDnuik1sg" source="_zaq8oKA9EeuqkpDnuik1sg" target="_Ren3cKBJEeuqkpDnuik1sg">
794 <children xmi:type="notation:Node" xmi:id="_n5uylKBJEeuqkpDnuik1sg" type="6001">
795 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5uylaBJEeuqkpDnuik1sg" x="-5" y="-55"/>
796 </children>
797 <children xmi:type="notation:Node" xmi:id="_n5uylqBJEeuqkpDnuik1sg" type="6002">
798 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5uyl6BJEeuqkpDnuik1sg" y="10"/>
799 </children>
800 <children xmi:type="notation:Node" xmi:id="_n5uymKBJEeuqkpDnuik1sg" type="6003">
801 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5uymaBJEeuqkpDnuik1sg" y="10"/>
802 </children>
803 <styles xmi:type="notation:ConnectorStyle" xmi:id="_n5uykaBJEeuqkpDnuik1sg" routing="Rectilinear"/>
804 <styles xmi:type="notation:FontStyle" xmi:id="_n5uykqBJEeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
805 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_n5uyk6BJEeuqkpDnuik1sg" points="[0, 0, 0, -143]$[0, 143, 0, 0]"/>
806 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n5uymqBJEeuqkpDnuik1sg" id="(0.4067796610169492,1.0)"/>
807 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n5uym6BJEeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/>
808 </edges>
809 <edges xmi:type="notation:Edge" xmi:id="_p1cRUKBJEeuqkpDnuik1sg" type="4001" element="_p1JWcqBJEeuqkpDnuik1sg" source="_c-HCQKA4EeuqkpDnuik1sg" target="_Ren3cKBJEeuqkpDnuik1sg">
810 <children xmi:type="notation:Node" xmi:id="_p1c4YKBJEeuqkpDnuik1sg" type="6001">
811 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p1c4YaBJEeuqkpDnuik1sg" x="10" y="-21"/>
812 </children>
813 <children xmi:type="notation:Node" xmi:id="_p1c4YqBJEeuqkpDnuik1sg" type="6002">
814 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p1c4Y6BJEeuqkpDnuik1sg" y="10"/>
815 </children>
816 <children xmi:type="notation:Node" xmi:id="_p1c4ZKBJEeuqkpDnuik1sg" type="6003">
817 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p1c4ZaBJEeuqkpDnuik1sg" y="10"/>
818 </children>
819 <styles xmi:type="notation:ConnectorStyle" xmi:id="_p1cRUaBJEeuqkpDnuik1sg" routing="Rectilinear"/>
820 <styles xmi:type="notation:FontStyle" xmi:id="_p1cRUqBJEeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
821 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_p1cRU6BJEeuqkpDnuik1sg" points="[0, -10, 134, -10]$[-134, -10, 0, -10]"/>
822 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1c4ZqBJEeuqkpDnuik1sg" id="(0.0,0.5918367346938775)"/>
823 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1c4Z6BJEeuqkpDnuik1sg" id="(1.0,0.5918367346938775)"/>
824 </edges>
825 <edges xmi:type="notation:Edge" xmi:id="_m_tfgNXtEeuF_d0WEhR3Xw" type="4001" element="_m-6OTNXtEeuF_d0WEhR3Xw" source="_D1D6MKA4EeuqkpDnuik1sg" target="_RzZA0KA5EeuqkpDnuik1sg">
826 <children xmi:type="notation:Node" xmi:id="_m_wi0NXtEeuF_d0WEhR3Xw" type="6001">
827 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m_wi0dXtEeuF_d0WEhR3Xw" x="73" y="-10"/>
828 </children>
829 <children xmi:type="notation:Node" xmi:id="_m_xJ4NXtEeuF_d0WEhR3Xw" type="6002">
830 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m_xJ4dXtEeuF_d0WEhR3Xw" x="-5" y="-9"/>
831 </children>
832 <children xmi:type="notation:Node" xmi:id="_m_xw8NXtEeuF_d0WEhR3Xw" type="6003">
833 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m_xw8dXtEeuF_d0WEhR3Xw" x="-4" y="24"/>
834 </children>
835 <styles xmi:type="notation:ConnectorStyle" xmi:id="_m_tfgdXtEeuF_d0WEhR3Xw" routing="Tree"/>
836 <styles xmi:type="notation:FontStyle" xmi:id="_m_tfgtXtEeuF_d0WEhR3Xw" fontName="Noto Sans" fontHeight="8"/>
837 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_m_tfg9XtEeuF_d0WEhR3Xw" points="[0, 0, 205, 107]$[0, -24, 205, 83]$[-204, -24, 1, 83]$[-204, -58, 1, 49]"/>
838 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m_00QNXtEeuF_d0WEhR3Xw" id="(0.711864406779661,0.0)"/>
839 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m_00QdXtEeuF_d0WEhR3Xw" id="(0.5,0.5)"/>
840 </edges>
841 <edges xmi:type="notation:Edge" xmi:id="_HUhwENYBEeuF_d0WEhR3Xw" type="4001" element="_HUJ8o9YBEeuF_d0WEhR3Xw" source="_D-lH8NYBEeuF_d0WEhR3Xw" target="_Ren3cKBJEeuqkpDnuik1sg">
842 <children xmi:type="notation:Node" xmi:id="_HUhwFNYBEeuF_d0WEhR3Xw" type="6001">
843 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HUhwFdYBEeuF_d0WEhR3Xw" y="-10"/>
844 </children>
845 <children xmi:type="notation:Node" xmi:id="_HUhwFtYBEeuF_d0WEhR3Xw" type="6002">
846 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HUhwF9YBEeuF_d0WEhR3Xw" y="10"/>
847 </children>
848 <children xmi:type="notation:Node" xmi:id="_HUhwGNYBEeuF_d0WEhR3Xw" type="6003">
849 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HUhwGdYBEeuF_d0WEhR3Xw" y="10"/>
850 </children>
851 <styles xmi:type="notation:ConnectorStyle" xmi:id="_HUhwEdYBEeuF_d0WEhR3Xw" routing="Tree"/>
852 <styles xmi:type="notation:FontStyle" xmi:id="_HUhwEtYBEeuF_d0WEhR3Xw" fontName="Noto Sans" fontHeight="8"/>
853 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HUhwE9YBEeuF_d0WEhR3Xw" points="[0, 0, -228, 144]$[228, -144, 0, 0]"/>
854 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HUhwGtYBEeuF_d0WEhR3Xw" id="(0.41379310344827586,0.0)"/>
855 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HUhwG9YBEeuF_d0WEhR3Xw" id="(0.5,0.5)"/>
856 </edges>
857 <edges xmi:type="notation:Edge" xmi:id="_KnGywNYPEeuF_d0WEhR3Xw" type="4001" element="_KmxbkNYPEeuF_d0WEhR3Xw" source="_6KEUMKA6EeuqkpDnuik1sg" target="_IwsqwNYPEeuF_d0WEhR3Xw">
858 <children xmi:type="notation:Node" xmi:id="_KnHZ0NYPEeuF_d0WEhR3Xw" type="6001">
859 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnHZ0dYPEeuF_d0WEhR3Xw" x="-10"/>
860 </children>
861 <children xmi:type="notation:Node" xmi:id="_KnHZ0tYPEeuF_d0WEhR3Xw" type="6002">
862 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnHZ09YPEeuF_d0WEhR3Xw" x="10"/>
863 </children>
864 <children xmi:type="notation:Node" xmi:id="_KnHZ1NYPEeuF_d0WEhR3Xw" type="6003">
865 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnHZ1dYPEeuF_d0WEhR3Xw" x="-23" y="10"/>
866 </children>
867 <styles xmi:type="notation:ConnectorStyle" xmi:id="_KnGywdYPEeuF_d0WEhR3Xw" routing="Rectilinear"/>
868 <styles xmi:type="notation:FontStyle" xmi:id="_KnGywtYPEeuF_d0WEhR3Xw" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
869 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KnGyw9YPEeuF_d0WEhR3Xw" points="[67, 38, -21, -100]$[67, 132, -21, -6]"/>
870 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KnHZ1tYPEeuF_d0WEhR3Xw" id="(0.0,0.6122448979591837)"/>
871 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KnHZ19YPEeuF_d0WEhR3Xw" id="(0.6694915254237288,0.061224489795918366)"/>
872 </edges>
873 <edges xmi:type="notation:Edge" xmi:id="_byTTcNYPEeuF_d0WEhR3Xw" type="4001" element="_bx-jYtYPEeuF_d0WEhR3Xw" source="_IwsqwNYPEeuF_d0WEhR3Xw" target="_-O-UEKA6EeuqkpDnuik1sg">
874 <children xmi:type="notation:Node" xmi:id="_byTTdNYPEeuF_d0WEhR3Xw" type="6001">
875 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTddYPEeuF_d0WEhR3Xw" x="-106" y="-140"/>
876 </children>
877 <children xmi:type="notation:Node" xmi:id="_byTTdtYPEeuF_d0WEhR3Xw" type="6002">
878 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTd9YPEeuF_d0WEhR3Xw" x="-31" y="10"/>
879 </children>
880 <children xmi:type="notation:Node" xmi:id="_byTTeNYPEeuF_d0WEhR3Xw" type="6003">
881 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTedYPEeuF_d0WEhR3Xw" x="-28" y="10"/>
882 </children>
883 <styles xmi:type="notation:ConnectorStyle" xmi:id="_byTTcdYPEeuF_d0WEhR3Xw" routing="Rectilinear"/>
884 <styles xmi:type="notation:FontStyle" xmi:id="_byTTctYPEeuF_d0WEhR3Xw" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
885 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_byTTc9YPEeuF_d0WEhR3Xw" points="[70, 48, -221, 466]$[303, 48, 12, 466]$[303, -418, 12, 0]"/>
886 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_byT6gNYPEeuF_d0WEhR3Xw" id="(0.4067796610169492,0.0)"/>
887 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_byT6gdYPEeuF_d0WEhR3Xw" id="(0.4067796610169492,1.0)"/>
888 </edges>
889 <edges xmi:type="notation:Edge" xmi:id="_-X6xcNawEeuymriYTNxK2g" type="4001" element="_-XLKltawEeuymriYTNxK2g" source="_JT0o8KA4EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg">
890 <children xmi:type="notation:Node" xmi:id="_-X_C4NawEeuymriYTNxK2g" type="6001">
891 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-X_C4dawEeuymriYTNxK2g" x="-2" y="-308"/>
892 </children>
893 <children xmi:type="notation:Node" xmi:id="_-X_p8NawEeuymriYTNxK2g" type="6002">
894 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-X_p8dawEeuymriYTNxK2g" x="-2" y="10"/>
895 </children>
896 <children xmi:type="notation:Node" xmi:id="_-YARANawEeuymriYTNxK2g" type="6003">
897 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-YARAdawEeuymriYTNxK2g" x="-316" y="-140"/>
898 </children>
899 <styles xmi:type="notation:ConnectorStyle" xmi:id="_-X6xcdawEeuymriYTNxK2g" routing="Rectilinear"/>
900 <styles xmi:type="notation:FontStyle" xmi:id="_-X6xctawEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
901 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-X6xc9awEeuymriYTNxK2g" points="[-58, 86, -288, 422]$[-58, 132, -288, 468]$[288, 132, 58, 468]$[288, -298, 58, 38]"/>
902 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-YCtQNawEeuymriYTNxK2g" id="(1.0,0.12244897959183673)"/>
903 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-YCtQdawEeuymriYTNxK2g" id="(0.0,0.6122448979591837)"/>
904 </edges>
905 <edges xmi:type="notation:Edge" xmi:id="_W89dcNbFEeuymriYTNxK2g" type="4001" element="_Z7FrQKA6EeuqkpDnuik1sg" source="_QKLK0KA6EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
906 <children xmi:type="notation:Node" xmi:id="_W89ddNbFEeuymriYTNxK2g" type="6001">
907 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W89dddbFEeuymriYTNxK2g" x="-349" y="-67"/>
908 </children>
909 <children xmi:type="notation:Node" xmi:id="_W8-EgNbFEeuymriYTNxK2g" type="6002">
910 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W8-EgdbFEeuymriYTNxK2g" x="-12" y="3"/>
911 </children>
912 <children xmi:type="notation:Node" xmi:id="_W8-EgtbFEeuymriYTNxK2g" type="6003">
913 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W8-Eg9bFEeuymriYTNxK2g" x="32" y="10"/>
914 </children>
915 <styles xmi:type="notation:ConnectorStyle" xmi:id="_W89dcdbFEeuymriYTNxK2g" routing="Rectilinear"/>
916 <styles xmi:type="notation:FontStyle" xmi:id="_W89dctbFEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
917 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_W89dc9bFEeuymriYTNxK2g" points="[-75, 50, 517, 414]$[-195, 50, 397, 414]$[-195, -396, 397, -32]$[-581, -396, 11, -32]"/>
918 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W8_SoNbFEeuymriYTNxK2g" id="(0.635593220338983,0.0)"/>
919 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W8_SodbFEeuymriYTNxK2g" id="(0.9067796610169492,0.6938775510204082)"/>
920 </edges>
921 <edges xmi:type="notation:Edge" xmi:id="_ev0VwNbFEeuymriYTNxK2g" type="4001" element="_ufJ3IKA4EeuqkpDnuik1sg" source="_c-HCQKA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
922 <children xmi:type="notation:Node" xmi:id="_ev0VxNbFEeuymriYTNxK2g" type="6001">
923 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ev0VxdbFEeuymriYTNxK2g" x="-206" y="-22"/>
924 </children>
925 <children xmi:type="notation:Node" xmi:id="_ev0VxtbFEeuymriYTNxK2g" type="6002">
926 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ev0Vx9bFEeuymriYTNxK2g" x="6" y="10"/>
927 </children>
928 <children xmi:type="notation:Node" xmi:id="_ev0VyNbFEeuymriYTNxK2g" type="6003">
929 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ev0VydbFEeuymriYTNxK2g" x="-6" y="10"/>
930 </children>
931 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ev0VwdbFEeuymriYTNxK2g" routing="Rectilinear"/>
932 <styles xmi:type="notation:FontStyle" xmi:id="_ev0VwtbFEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
933 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ev0Vw9bFEeuymriYTNxK2g" points="[37, 36, -4, 419]$[156, 36, 115, 419]$[156, -348, 115, 35]$[46, -348, 5, 35]"/>
934 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ev0VytbFEeuymriYTNxK2g" id="(0.7448275862068966,0.0)"/>
935 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ev080NbFEeuymriYTNxK2g" id="(0.9576271186440678,0.5)"/>
936 </edges>
937 <edges xmi:type="notation:Edge" xmi:id="_f-FfsNbFEeuymriYTNxK2g" type="4001" element="_VtPctqA4EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
938 <children xmi:type="notation:Node" xmi:id="_f-FftNbFEeuymriYTNxK2g" type="6001">
939 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-FftdbFEeuymriYTNxK2g" x="6" y="31"/>
940 </children>
941 <children xmi:type="notation:Node" xmi:id="_f-FfttbFEeuymriYTNxK2g" type="6002">
942 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-Fft9bFEeuymriYTNxK2g" x="-10"/>
943 </children>
944 <children xmi:type="notation:Node" xmi:id="_f-FfuNbFEeuymriYTNxK2g" type="6003">
945 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-FfudbFEeuymriYTNxK2g" x="-10"/>
946 </children>
947 <styles xmi:type="notation:ConnectorStyle" xmi:id="_f-FfsdbFEeuymriYTNxK2g" routing="Rectilinear"/>
948 <styles xmi:type="notation:FontStyle" xmi:id="_f-FfstbFEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
949 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_f-Ffs9bFEeuymriYTNxK2g" points="[24, -98, -17, 129]$[24, -192, -17, 35]"/>
950 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f-GGwNbFEeuymriYTNxK2g" id="(0.2033898305084746,1.0)"/>
951 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f-GGwdbFEeuymriYTNxK2g" id="(0.9576271186440678,0.6428571428571429)"/>
952 </edges>
953 <edges xmi:type="notation:Edge" xmi:id="_UwuZ8NbGEeuymriYTNxK2g" type="4001" element="_UwbfHtbGEeuymriYTNxK2g" source="_M6O-0NbGEeuymriYTNxK2g" target="_EfWNUKA4EeuqkpDnuik1sg">
954 <children xmi:type="notation:Node" xmi:id="_UwuZ9NbGEeuymriYTNxK2g" type="6001">
955 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UwuZ9dbGEeuymriYTNxK2g" y="-10"/>
956 </children>
957 <children xmi:type="notation:Node" xmi:id="_UwuZ9tbGEeuymriYTNxK2g" type="6002">
958 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UwuZ99bGEeuymriYTNxK2g" y="10"/>
959 </children>
960 <children xmi:type="notation:Node" xmi:id="_UwuZ-NbGEeuymriYTNxK2g" type="6003">
961 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UwuZ-dbGEeuymriYTNxK2g" y="10"/>
962 </children>
963 <styles xmi:type="notation:ConnectorStyle" xmi:id="_UwuZ8dbGEeuymriYTNxK2g" routing="Tree"/>
964 <styles xmi:type="notation:FontStyle" xmi:id="_UwuZ8tbGEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
965 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UwuZ89bGEeuymriYTNxK2g" points="[0, 0, 220, 180]$[-220, -180, 0, 0]"/>
966 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UwvBANbGEeuymriYTNxK2g" id="(0.5,0.0)"/>
967 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UwvBAdbGEeuymriYTNxK2g" id="(0.5,0.5)"/>
968 </edges>
969 <edges xmi:type="notation:Edge" xmi:id="_WYV4ANbGEeuymriYTNxK2g" type="4001" element="_WX_5w9bGEeuymriYTNxK2g" source="_M6O-0NbGEeuymriYTNxK2g" target="_e73WIKA9EeuqkpDnuik1sg">
970 <children xmi:type="notation:Node" xmi:id="_WYV4BNbGEeuymriYTNxK2g" type="6001">
971 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WYV4BdbGEeuymriYTNxK2g" y="-10"/>
972 </children>
973 <children xmi:type="notation:Node" xmi:id="_WYV4BtbGEeuymriYTNxK2g" type="6002">
974 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WYV4B9bGEeuymriYTNxK2g" y="10"/>
975 </children>
976 <children xmi:type="notation:Node" xmi:id="_WYV4CNbGEeuymriYTNxK2g" type="6003">
977 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WYV4CdbGEeuymriYTNxK2g" y="10"/>
978 </children>
979 <styles xmi:type="notation:ConnectorStyle" xmi:id="_WYV4AdbGEeuymriYTNxK2g" routing="Tree"/>
980 <styles xmi:type="notation:FontStyle" xmi:id="_WYV4AtbGEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
981 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WYV4A9bGEeuymriYTNxK2g" points="[0, 0, 99, 384]$[0, -240, 99, 144]$[-98, -240, 1, 144]$[-98, -286, 1, 98]"/>
982 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WYV4CtbGEeuymriYTNxK2g" id="(0.3220338983050847,0.030612244897959183)"/>
983 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WYV4C9bGEeuymriYTNxK2g" id="(0.5,0.0)"/>
984 </edges>
985 <edges xmi:type="notation:Edge" xmi:id="_gRXLkNbGEeuymriYTNxK2g" type="4001" element="_gRDCgNbGEeuymriYTNxK2g" source="_M6O-0NbGEeuymriYTNxK2g" target="_xsq_MKA8EeuqkpDnuik1sg">
986 <children xmi:type="notation:Node" xmi:id="_gRXLlNbGEeuymriYTNxK2g" type="6001">
987 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gRXLldbGEeuymriYTNxK2g" x="-13" y="-41"/>
988 </children>
989 <children xmi:type="notation:Node" xmi:id="_gRXyoNbGEeuymriYTNxK2g" type="6002">
990 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gRXyodbGEeuymriYTNxK2g" x="79" y="10"/>
991 </children>
992 <children xmi:type="notation:Node" xmi:id="_gRXyotbGEeuymriYTNxK2g" type="6003">
993 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gRXyo9bGEeuymriYTNxK2g" x="4" y="10"/>
994 </children>
995 <styles xmi:type="notation:ConnectorStyle" xmi:id="_gRXLkdbGEeuymriYTNxK2g" routing="Rectilinear"/>
996 <styles xmi:type="notation:FontStyle" xmi:id="_gRXLktbGEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
997 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gRXLk9bGEeuymriYTNxK2g" points="[25, 48, -35, 334]$[60, 48, 0, 334]$[60, -286, 0, 0]"/>
998 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gRXypNbGEeuymriYTNxK2g" id="(0.788135593220339,0.0)"/>
999 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gRXypdbGEeuymriYTNxK2g" id="(0.3050847457627119,1.0)"/>
1000 </edges>
1001 <edges xmi:type="notation:Edge" xmi:id="_Ql_asNbNEeuymriYTNxK2g" type="4001" element="_QlymotbNEeuymriYTNxK2g" source="_xsq_MKA8EeuqkpDnuik1sg" target="_Kw-vINbNEeuymriYTNxK2g">
1002 <children xmi:type="notation:Node" xmi:id="_Ql_atNbNEeuymriYTNxK2g" type="6001">
1003 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ql_atdbNEeuymriYTNxK2g" y="-10"/>
1004 </children>
1005 <children xmi:type="notation:Node" xmi:id="_QmABwNbNEeuymriYTNxK2g" type="6002">
1006 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QmABwdbNEeuymriYTNxK2g" y="10"/>
1007 </children>
1008 <children xmi:type="notation:Node" xmi:id="_QmABwtbNEeuymriYTNxK2g" type="6003">
1009 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QmABw9bNEeuymriYTNxK2g" y="10"/>
1010 </children>
1011 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ql_asdbNEeuymriYTNxK2g" routing="Tree"/>
1012 <styles xmi:type="notation:FontStyle" xmi:id="_Ql_astbNEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
1013 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ql_as9bNEeuymriYTNxK2g" points="[0, 0, -84, 58]$[84, -58, 0, 0]"/>
1014 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QmABxNbNEeuymriYTNxK2g" id="(0.7796610169491526,0.01020408163265306)"/>
1015 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QmABxdbNEeuymriYTNxK2g" id="(0.5,0.5)"/>
1016 </edges>
1017 <edges xmi:type="notation:Edge" xmi:id="_SmujYNbNEeuymriYTNxK2g" type="4001" element="_Smi9eNbNEeuymriYTNxK2g" source="_Kw-vINbNEeuymriYTNxK2g" target="_RzZA0KA5EeuqkpDnuik1sg">
1018 <children xmi:type="notation:Node" xmi:id="_SmvKcNbNEeuymriYTNxK2g" type="6001">
1019 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SmvKcdbNEeuymriYTNxK2g" y="-10"/>
1020 </children>
1021 <children xmi:type="notation:Node" xmi:id="_SmvKctbNEeuymriYTNxK2g" type="6002">
1022 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SmvKc9bNEeuymriYTNxK2g" y="10"/>
1023 </children>
1024 <children xmi:type="notation:Node" xmi:id="_SmvKdNbNEeuymriYTNxK2g" type="6003">
1025 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SmvKddbNEeuymriYTNxK2g" y="10"/>
1026 </children>
1027 <styles xmi:type="notation:ConnectorStyle" xmi:id="_SmujYdbNEeuymriYTNxK2g" routing="Tree"/>
1028 <styles xmi:type="notation:FontStyle" xmi:id="_SmujYtbNEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
1029 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SmujY9bNEeuymriYTNxK2g" points="[0, 0, 84, 58]$[-84, -58, 0, 0]"/>
1030 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SmvKdtbNEeuymriYTNxK2g" id="(0.5423728813559322,0.07142857142857142)"/>
1031 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SmvKd9bNEeuymriYTNxK2g" id="(0.5,0.5)"/>
1032 </edges>
1033 <edges xmi:type="notation:Edge" xmi:id="_TuLToNbNEeuymriYTNxK2g" type="4001" element="_Tt9RRtbNEeuymriYTNxK2g" source="_jP6FkKA6EeuqkpDnuik1sg" target="_Kw-vINbNEeuymriYTNxK2g">
1034 <children xmi:type="notation:Node" xmi:id="_TuLTpNbNEeuymriYTNxK2g" type="6001">
1035 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuLTpdbNEeuymriYTNxK2g" y="-10"/>
1036 </children>
1037 <children xmi:type="notation:Node" xmi:id="_TuL6sNbNEeuymriYTNxK2g" type="6002">
1038 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuL6sdbNEeuymriYTNxK2g" y="10"/>
1039 </children>
1040 <children xmi:type="notation:Node" xmi:id="_TuL6stbNEeuymriYTNxK2g" type="6003">
1041 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuL6s9bNEeuymriYTNxK2g" y="10"/>
1042 </children>
1043 <styles xmi:type="notation:ConnectorStyle" xmi:id="_TuLTodbNEeuymriYTNxK2g" routing="Tree"/>
1044 <styles xmi:type="notation:FontStyle" xmi:id="_TuLTotbNEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
1045 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TuLTo9bNEeuymriYTNxK2g" points="[0, 0, 96, 442]$[-96, -442, 0, 0]"/>
1046 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TuL6tNbNEeuymriYTNxK2g" id="(0.4067796610169492,0.0)"/>
1047 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TuL6tdbNEeuymriYTNxK2g" id="(0.5,0.5)"/>
1048 </edges>
1049 <edges xmi:type="notation:Edge" xmi:id="_UosbINbNEeuymriYTNxK2g" type="4001" element="_T1fN5tYPEeuF_d0WEhR3Xw" source="_IwsqwNYPEeuF_d0WEhR3Xw" target="_Kw-vINbNEeuymriYTNxK2g">
1050 <children xmi:type="notation:Node" xmi:id="_UosbJNbNEeuymriYTNxK2g" type="6001">
1051 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UosbJdbNEeuymriYTNxK2g" x="-516" y="82"/>
1052 </children>
1053 <children xmi:type="notation:Node" xmi:id="_UotCMNbNEeuymriYTNxK2g" type="6002">
1054 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UotCMdbNEeuymriYTNxK2g" x="21" y="10"/>
1055 </children>
1056 <children xmi:type="notation:Node" xmi:id="_UotCMtbNEeuymriYTNxK2g" type="6003">
1057 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UotCM9bNEeuymriYTNxK2g" x="3" y="10"/>
1058 </children>
1059 <styles xmi:type="notation:ConnectorStyle" xmi:id="_UosbIdbNEeuymriYTNxK2g" routing="Rectilinear"/>
1060 <styles xmi:type="notation:FontStyle" xmi:id="_UosbItbNEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1061 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UosbI9bNEeuymriYTNxK2g" points="[-36, 50, 197, 1259]$[-213, 50, 20, 1259]$[-213, -1198, 20, 11]"/>
1062 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UotCNNbNEeuymriYTNxK2g" id="(0.3050847457627119,0.0)"/>
1063 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UotCNdbNEeuymriYTNxK2g" id="(0.16101694915254236,0.8877551020408163)"/>
1064 </edges>
1065 </data>
1066 </ownedAnnotationEntries>
1067 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_Csiy8KA4EeuqkpDnuik1sg" source="DANNOTATION_CUSTOMIZATION_KEY">
1068 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_Csiy8aA4EeuqkpDnuik1sg">
1069 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan">
1070 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1071 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_L-JhMaA4EeuqkpDnuik1sg" showIcon="false" labelExpression="service:render">
1072 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1073 </centerLabelStyleDescription>
1074 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_L-JhMqA4EeuqkpDnuik1sg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
1075 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
1076 </endLabelStyleDescription>
1077 </computedStyleDescriptions>
1078 </data>
1079 </ownedAnnotationEntries>
1080 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_D05iIKA4EeuqkpDnuik1sg" name="Problem" tooltipText="" outgoingEdges="_4eU5TqA8EeuqkpDnuik1sg _hU64ZqA9EeuqkpDnuik1sg _m-6OTNXtEeuF_d0WEhR3Xw" width="12" height="10">
1081 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/>
1082 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/>
1083 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1084 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1085 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1086 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_D06wQKA4EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1087 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1088 </ownedStyle>
1089 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1090 </ownedDiagramElements>
1091 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_EfNqcKA4EeuqkpDnuik1sg" name="Relation" tooltipText="" outgoingEdges="_XWbypqA5EeuqkpDnuik1sg" incomingEdges="_ODPlcKA4EeuqkpDnuik1sg _gRoBcKA4EeuqkpDnuik1sg _rUgDkKA5EeuqkpDnuik1sg _VjwMzqA8EeuqkpDnuik1sg _w-iG36A8EeuqkpDnuik1sg _Z7FrQKA6EeuqkpDnuik1sg _ufJ3IKA4EeuqkpDnuik1sg _VtPctqA4EeuqkpDnuik1sg _UwbfHtbGEeuymriYTNxK2g" width="12" height="10">
1092 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/>
1093 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/>
1094 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1095 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1096 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1097 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_Hjy1waA4EeuqkpDnuik1sg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
1098 <labelFormat>italic</labelFormat>
1099 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
1100 </ownedStyle>
1101 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1102 </ownedDiagramElements>
1103 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_JTstIKA4EeuqkpDnuik1sg" name="ClassDeclaration" tooltipText="" outgoingEdges="_ODPlcKA4EeuqkpDnuik1sg _VtPctqA4EeuqkpDnuik1sg _jk6-PKA4EeuqkpDnuik1sg _plK3JqA9EeuqkpDnuik1sg _-XLKltawEeuymriYTNxK2g" incomingEdges="_2kWqbKA9EeuqkpDnuik1sg" width="12" height="10">
1104 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/>
1105 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/>
1106 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1107 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1108 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1109 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_T_dFNaA4EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1110 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1111 </ownedStyle>
1112 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1113 <ownedElements xmi:type="diagram:DNodeListElement" uid="_SrSuoKA4EeuqkpDnuik1sg" name="abstract : EBoolean = false" tooltipText="">
1114 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//ClassDeclaration/abstract"/>
1115 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//ClassDeclaration/abstract"/>
1116 <ownedStyle xmi:type="diagram:BundledImage" uid="_T_eTUaA4EeuqkpDnuik1sg" labelAlignment="LEFT">
1117 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
1118 </ownedStyle>
1119 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1120 </ownedElements>
1121 </ownedDiagramElements>
1122 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_ODPlcKA4EeuqkpDnuik1sg" sourceNode="_JTstIKA4EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg">
1123 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/>
1124 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/>
1125 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_T_fhcKA4EeuqkpDnuik1sg" targetArrow="InputClosedArrow" routingStyle="tree">
1126 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1127 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_T_fhcaA4EeuqkpDnuik1sg" showIcon="false">
1128 <labelFormat>italic</labelFormat>
1129 </beginLabelStyle>
1130 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_T_fhcqA4EeuqkpDnuik1sg" showIcon="false"/>
1131 </ownedStyle>
1132 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1133 </ownedDiagramElements>
1134 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_VtPctqA4EeuqkpDnuik1sg" name="[0..*] superTypes" sourceNode="_JTstIKA4EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg">
1135 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/superTypes"/>
1136 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/superTypes"/>
1137 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_VtQDwKA4EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0">
1138 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1139 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_VtQDwqA4EeuqkpDnuik1sg" showIcon="false">
1140 <customFeatures>labelSize</customFeatures>
1141 </centerLabelStyle>
1142 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_VtQDwaA4EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1143 <customFeatures>labelSize</customFeatures>
1144 </endLabelStyle>
1145 </ownedStyle>
1146 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1147 </ownedDiagramElements>
1148 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_c-A7oKA4EeuqkpDnuik1sg" name="ReferenceDeclaration" tooltipText="" outgoingEdges="_gRoBcKA4EeuqkpDnuik1sg _ufJ3IKA4EeuqkpDnuik1sg _0V3L1qA4EeuqkpDnuik1sg _p1JWcqBJEeuqkpDnuik1sg" incomingEdges="_jk6-PKA4EeuqkpDnuik1sg _0V3L1qA4EeuqkpDnuik1sg" width="12" height="10">
1149 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/>
1150 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/>
1151 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1152 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1153 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1154 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_IMjpcqA5EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1155 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1156 </ownedStyle>
1157 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1158 <ownedElements xmi:type="diagram:DNodeListElement" uid="_HjDZcKA5EeuqkpDnuik1sg" name="containment : EBoolean = false" tooltipText="">
1159 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/containment"/>
1160 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/containment"/>
1161 <ownedStyle xmi:type="diagram:BundledImage" uid="_IMmswaA5EeuqkpDnuik1sg" labelAlignment="LEFT">
1162 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
1163 </ownedStyle>
1164 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1165 </ownedElements>
1166 </ownedDiagramElements>
1167 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_gRoBcKA4EeuqkpDnuik1sg" sourceNode="_c-A7oKA4EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg">
1168 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/>
1169 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/>
1170 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_IMsMUKA5EeuqkpDnuik1sg" targetArrow="InputClosedArrow" routingStyle="tree">
1171 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1172 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_IMsMUaA5EeuqkpDnuik1sg" showIcon="false">
1173 <labelFormat>italic</labelFormat>
1174 </beginLabelStyle>
1175 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_IMsMUqA5EeuqkpDnuik1sg" showIcon="false"/>
1176 </ownedStyle>
1177 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1178 </ownedDiagramElements>
1179 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_jk6-PKA4EeuqkpDnuik1sg" name="[0..*] referenceDeclarations" sourceNode="_JTstIKA4EeuqkpDnuik1sg" targetNode="_c-A7oKA4EeuqkpDnuik1sg">
1180 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/referenceDeclarations"/>
1181 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/referenceDeclarations"/>
1182 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_jk7lQKA4EeuqkpDnuik1sg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1183 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_jk7lQqA4EeuqkpDnuik1sg" showIcon="false">
1184 <customFeatures>labelSize</customFeatures>
1185 </centerLabelStyle>
1186 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_jk7lQaA4EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1187 <customFeatures>labelSize</customFeatures>
1188 </endLabelStyle>
1189 </ownedStyle>
1190 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1191 </ownedDiagramElements>
1192 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_ufJ3IKA4EeuqkpDnuik1sg" name="[0..1] referenceType" sourceNode="_c-A7oKA4EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg">
1193 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/referenceType"/>
1194 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/referenceType"/>
1195 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_ufLFQKA4EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0">
1196 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1197 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ufLFQqA4EeuqkpDnuik1sg" showIcon="false">
1198 <customFeatures>labelSize</customFeatures>
1199 </centerLabelStyle>
1200 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_ufLFQaA4EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1201 <customFeatures>labelSize</customFeatures>
1202 </endLabelStyle>
1203 </ownedStyle>
1204 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1205 </ownedDiagramElements>
1206 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_0V3L1qA4EeuqkpDnuik1sg" name="[0..1] opposite" sourceNode="_c-A7oKA4EeuqkpDnuik1sg" targetNode="_c-A7oKA4EeuqkpDnuik1sg">
1207 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/opposite"/>
1208 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/opposite"/>
1209 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_0V3y4KA4EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0">
1210 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1211 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_0V3y4qA4EeuqkpDnuik1sg" showIcon="false">
1212 <customFeatures>labelSize</customFeatures>
1213 </centerLabelStyle>
1214 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_0V3y4aA4EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1215 <customFeatures>labelSize</customFeatures>
1216 </endLabelStyle>
1217 </ownedStyle>
1218 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1219 </ownedDiagramElements>
1220 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_RzK-YKA5EeuqkpDnuik1sg" name="NamedElement" tooltipText="" incomingEdges="_XWbypqA5EeuqkpDnuik1sg _m-6OTNXtEeuF_d0WEhR3Xw _Smi9eNbNEeuymriYTNxK2g" width="12" height="10">
1221 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NamedElement"/>
1222 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NamedElement"/>
1223 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1224 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1225 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1226 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_TYmrIaA5EeuqkpDnuik1sg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
1227 <labelFormat>italic</labelFormat>
1228 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
1229 </ownedStyle>
1230 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1231 <ownedElements xmi:type="diagram:DNodeListElement" uid="_S-lBkKA5EeuqkpDnuik1sg" name="name : EString" tooltipText="">
1232 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//NamedElement/name"/>
1233 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//NamedElement/name"/>
1234 <ownedStyle xmi:type="diagram:BundledImage" uid="_TYqVgaA5EeuqkpDnuik1sg" labelAlignment="LEFT">
1235 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
1236 </ownedStyle>
1237 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1238 </ownedElements>
1239 </ownedDiagramElements>
1240 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_XWbypqA5EeuqkpDnuik1sg" sourceNode="_EfNqcKA4EeuqkpDnuik1sg" targetNode="_RzK-YKA5EeuqkpDnuik1sg">
1241 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/>
1242 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/>
1243 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_XWbyp6A5EeuqkpDnuik1sg" targetArrow="InputClosedArrow" routingStyle="tree">
1244 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1245 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_XWbyqKA5EeuqkpDnuik1sg" showIcon="false">
1246 <labelFormat>italic</labelFormat>
1247 </beginLabelStyle>
1248 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_XWbyqaA5EeuqkpDnuik1sg" showIcon="false"/>
1249 </ownedStyle>
1250 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1251 </ownedDiagramElements>
1252 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_fihqUKA5EeuqkpDnuik1sg" name="PredicateDefinition" tooltipText="" outgoingEdges="_rUgDkKA5EeuqkpDnuik1sg _Uy4bWaA6EeuqkpDnuik1sg _vDscvKA6EeuqkpDnuik1sg _mzziwKA9EeuqkpDnuik1sg" width="12" height="10">
1253 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//PredicateDefinition"/>
1254 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//PredicateDefinition"/>
1255 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1256 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1257 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1258 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_tWGu8aA5EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1259 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1260 </ownedStyle>
1261 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1262 <ownedElements xmi:type="diagram:DNodeListElement" uid="_svs2QKA5EeuqkpDnuik1sg" name="error : EBoolean = false" tooltipText="">
1263 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//PredicateDefinition/error"/>
1264 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//PredicateDefinition/error"/>
1265 <ownedStyle xmi:type="diagram:BundledImage" uid="_tWLAYaA5EeuqkpDnuik1sg" labelAlignment="LEFT">
1266 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
1267 </ownedStyle>
1268 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1269 </ownedElements>
1270 </ownedDiagramElements>
1271 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_rUgDkKA5EeuqkpDnuik1sg" sourceNode="_fihqUKA5EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg">
1272 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//PredicateDefinition"/>
1273 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//PredicateDefinition"/>
1274 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_tWRuFqA5EeuqkpDnuik1sg" targetArrow="InputClosedArrow" routingStyle="tree">
1275 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1276 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_tWRuF6A5EeuqkpDnuik1sg" showIcon="false">
1277 <labelFormat>italic</labelFormat>
1278 </beginLabelStyle>
1279 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_tWRuGKA5EeuqkpDnuik1sg" showIcon="false"/>
1280 </ownedStyle>
1281 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1282 </ownedDiagramElements>
1283 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_QKD2EKA6EeuqkpDnuik1sg" name="Parameter" tooltipText="" outgoingEdges="_Z7FrQKA6EeuqkpDnuik1sg _oni4rKA6EeuqkpDnuik1sg" incomingEdges="_Uy4bWaA6EeuqkpDnuik1sg" width="12" height="10">
1284 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Parameter"/>
1285 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Parameter"/>
1286 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1287 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1288 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1289 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_QKD2EaA6EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1290 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1291 </ownedStyle>
1292 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1293 </ownedDiagramElements>
1294 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_Uy4bWaA6EeuqkpDnuik1sg" name="[0..*] parameters" sourceNode="_fihqUKA5EeuqkpDnuik1sg" targetNode="_QKD2EKA6EeuqkpDnuik1sg">
1295 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//PredicateDefinition/parameters"/>
1296 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//PredicateDefinition/parameters"/>
1297 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_Uy5pcKA6EeuqkpDnuik1sg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1298 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_Uy5pcqA6EeuqkpDnuik1sg" showIcon="false">
1299 <customFeatures>labelSize</customFeatures>
1300 </centerLabelStyle>
1301 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_Uy5pcaA6EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1302 <customFeatures>labelSize</customFeatures>
1303 </endLabelStyle>
1304 </ownedStyle>
1305 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1306 </ownedDiagramElements>
1307 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_Z7FrQKA6EeuqkpDnuik1sg" name="[0..1] parameterType" sourceNode="_QKD2EKA6EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg">
1308 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Parameter/parameterType"/>
1309 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Parameter/parameterType"/>
1310 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_Z7GSUKA6EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0">
1311 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1312 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_Z7GSUqA6EeuqkpDnuik1sg" showIcon="false">
1313 <customFeatures>labelSize</customFeatures>
1314 </centerLabelStyle>
1315 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_Z7GSUaA6EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1316 <customFeatures>labelSize</customFeatures>
1317 </endLabelStyle>
1318 </ownedStyle>
1319 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1320 </ownedDiagramElements>
1321 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_jPpm4KA6EeuqkpDnuik1sg" name="Variable" tooltipText="" outgoingEdges="_Tt9RRtbNEeuymriYTNxK2g" incomingEdges="_oni4rKA6EeuqkpDnuik1sg _BVyUAKA7EeuqkpDnuik1sg" width="12" height="10">
1322 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/>
1323 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/>
1324 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1325 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1326 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1327 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_n6Wbd6A6EeuqkpDnuik1sg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
1328 <labelFormat>italic</labelFormat>
1329 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
1330 </ownedStyle>
1331 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1332 </ownedDiagramElements>
1333 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_oni4rKA6EeuqkpDnuik1sg" sourceNode="_QKD2EKA6EeuqkpDnuik1sg" targetNode="_jPpm4KA6EeuqkpDnuik1sg">
1334 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Parameter"/>
1335 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Parameter"/>
1336 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_onjfsKA6EeuqkpDnuik1sg" targetArrow="InputClosedArrow" routingStyle="tree">
1337 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1338 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_onjfsaA6EeuqkpDnuik1sg" showIcon="false">
1339 <labelFormat>italic</labelFormat>
1340 </beginLabelStyle>
1341 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_onjfsqA6EeuqkpDnuik1sg" showIcon="false"/>
1342 </ownedStyle>
1343 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1344 </ownedDiagramElements>
1345 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sc_gMKA6EeuqkpDnuik1sg" name="Conjunction" tooltipText="" outgoingEdges="_SykT9qA7EeuqkpDnuik1sg _vWBGaKA7EeuqkpDnuik1sg" incomingEdges="_vDscvKA6EeuqkpDnuik1sg" width="12" height="10">
1346 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Conjunction"/>
1347 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Conjunction"/>
1348 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1349 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1350 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1351 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_sdAHQKA6EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1352 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1353 </ownedStyle>
1354 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1355 </ownedDiagramElements>
1356 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_vDscvKA6EeuqkpDnuik1sg" name="[0..*] bodies" sourceNode="_fihqUKA5EeuqkpDnuik1sg" targetNode="_sc_gMKA6EeuqkpDnuik1sg">
1357 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//PredicateDefinition/bodies"/>
1358 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//PredicateDefinition/bodies"/>
1359 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_vDtDwKA6EeuqkpDnuik1sg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1360 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_vDtDwqA6EeuqkpDnuik1sg" showIcon="false">
1361 <customFeatures>labelSize</customFeatures>
1362 </centerLabelStyle>
1363 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_vDtDwaA6EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1364 <customFeatures>labelSize</customFeatures>
1365 </endLabelStyle>
1366 </ownedStyle>
1367 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1368 </ownedDiagramElements>
1369 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_4k00sKA6EeuqkpDnuik1sg" name="Literal" tooltipText="" incomingEdges="_SykT9qA7EeuqkpDnuik1sg _9OddBqA7EeuqkpDnuik1sg _D9lnQKA8EeuqkpDnuik1sg" width="12" height="10">
1370 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Literal"/>
1371 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Literal"/>
1372 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1373 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1374 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1375 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_W9SoAqA7EeuqkpDnuik1sg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
1376 <labelFormat>italic</labelFormat>
1377 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
1378 </ownedStyle>
1379 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1380 </ownedDiagramElements>
1381 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_6J_bsKA6EeuqkpDnuik1sg" name="Atom" tooltipText="" outgoingEdges="_D9lnQKA8EeuqkpDnuik1sg _VjwMzqA8EeuqkpDnuik1sg _KmxbkNYPEeuF_d0WEhR3Xw" incomingEdges="_UJJy0qBDEeuqkpDnuik1sg" width="12" height="10">
1382 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Atom"/>
1383 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Atom"/>
1384 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1385 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1386 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1387 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_Uy6TtqA-EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1388 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1389 </ownedStyle>
1390 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1391 <ownedElements xmi:type="diagram:DNodeListElement" uid="_UAle4KA-EeuqkpDnuik1sg" name="transitiveClosure : EBoolean = false" tooltipText="">
1392 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//Atom/transitiveClosure"/>
1393 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//Atom/transitiveClosure"/>
1394 <ownedStyle xmi:type="diagram:BundledImage" uid="_Uy9XAaA-EeuqkpDnuik1sg" labelAlignment="LEFT">
1395 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
1396 </ownedStyle>
1397 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1398 </ownedElements>
1399 </ownedDiagramElements>
1400 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_-O6CoKA6EeuqkpDnuik1sg" name="ImplicitVariable" tooltipText="" outgoingEdges="_BVyUAKA7EeuqkpDnuik1sg" incomingEdges="_0UtN5qA7EeuqkpDnuik1sg _bx-jYtYPEeuF_d0WEhR3Xw" width="12" height="10">
1401 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ImplicitVariable"/>
1402 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ImplicitVariable"/>
1403 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1404 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1405 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1406 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_-O6CoaA6EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1407 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1408 </ownedStyle>
1409 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1410 </ownedDiagramElements>
1411 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_BVyUAKA7EeuqkpDnuik1sg" sourceNode="_-O6CoKA6EeuqkpDnuik1sg" targetNode="_jPpm4KA6EeuqkpDnuik1sg">
1412 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ImplicitVariable"/>
1413 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ImplicitVariable"/>
1414 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_BVyUAaA7EeuqkpDnuik1sg" targetArrow="InputClosedArrow" routingStyle="tree">
1415 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1416 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_BVyUAqA7EeuqkpDnuik1sg" showIcon="false">
1417 <labelFormat>italic</labelFormat>
1418 </beginLabelStyle>
1419 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_BVyUA6A7EeuqkpDnuik1sg" showIcon="false"/>
1420 </ownedStyle>
1421 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1422 </ownedDiagramElements>
1423 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_SykT9qA7EeuqkpDnuik1sg" name="[0..*] literals" sourceNode="_sc_gMKA6EeuqkpDnuik1sg" targetNode="_4k00sKA6EeuqkpDnuik1sg">
1424 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Conjunction/literals"/>
1425 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Conjunction/literals"/>
1426 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_Syk7AKA7EeuqkpDnuik1sg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1427 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_Syk7AqA7EeuqkpDnuik1sg" showIcon="false">
1428 <customFeatures>labelSize</customFeatures>
1429 </centerLabelStyle>
1430 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_Syk7AaA7EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1431 <customFeatures>labelSize</customFeatures>
1432 </endLabelStyle>
1433 </ownedStyle>
1434 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1435 </ownedDiagramElements>
1436 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_V6YZcKA7EeuqkpDnuik1sg" name="NegativeLiteral" tooltipText="" outgoingEdges="_yCjlHKA7EeuqkpDnuik1sg _9OddBqA7EeuqkpDnuik1sg _UJJy0qBDEeuqkpDnuik1sg" width="12" height="10">
1437 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NegativeLiteral"/>
1438 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NegativeLiteral"/>
1439 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1440 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1441 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1442 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_V6ZAgKA7EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1443 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1444 </ownedStyle>
1445 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1446 </ownedDiagramElements>
1447 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_rRcdoKA7EeuqkpDnuik1sg" name="ExistentialQuantifier" tooltipText="" outgoingEdges="_0UtN5qA7EeuqkpDnuik1sg" incomingEdges="_vWBGaKA7EeuqkpDnuik1sg _yCjlHKA7EeuqkpDnuik1sg" width="12" height="10">
1448 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ExistentialQuantifier"/>
1449 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ExistentialQuantifier"/>
1450 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1451 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1452 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1453 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_-1RCnqA7EeuqkpDnuik1sg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_interface.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
1454 <labelFormat>italic</labelFormat>
1455 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style"/>
1456 </ownedStyle>
1457 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1458 </ownedDiagramElements>
1459 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_vWBGaKA7EeuqkpDnuik1sg" sourceNode="_sc_gMKA6EeuqkpDnuik1sg" targetNode="_rRcdoKA7EeuqkpDnuik1sg">
1460 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Conjunction"/>
1461 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Conjunction"/>
1462 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_-1Te06A7EeuqkpDnuik1sg" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
1463 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
1464 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_-1Te1KA7EeuqkpDnuik1sg" showIcon="false">
1465 <labelFormat>italic</labelFormat>
1466 </beginLabelStyle>
1467 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_-1Te1aA7EeuqkpDnuik1sg" showIcon="false"/>
1468 </ownedStyle>
1469 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1470 </ownedDiagramElements>
1471 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_yCjlHKA7EeuqkpDnuik1sg" sourceNode="_V6YZcKA7EeuqkpDnuik1sg" targetNode="_rRcdoKA7EeuqkpDnuik1sg">
1472 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NegativeLiteral"/>
1473 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NegativeLiteral"/>
1474 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_-1Te36A7EeuqkpDnuik1sg" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
1475 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
1476 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_-1Te4KA7EeuqkpDnuik1sg" showIcon="false">
1477 <labelFormat>italic</labelFormat>
1478 </beginLabelStyle>
1479 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_-1Te4aA7EeuqkpDnuik1sg" showIcon="false"/>
1480 </ownedStyle>
1481 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1482 </ownedDiagramElements>
1483 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_0UtN5qA7EeuqkpDnuik1sg" name="[0..*] implicitVariables" sourceNode="_rRcdoKA7EeuqkpDnuik1sg" targetNode="_-O6CoKA6EeuqkpDnuik1sg">
1484 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ExistentialQuantifier/implicitVariables"/>
1485 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ExistentialQuantifier/implicitVariables"/>
1486 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_0UucAKA7EeuqkpDnuik1sg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1487 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_0UucAqA7EeuqkpDnuik1sg" showIcon="false">
1488 <customFeatures>labelSize</customFeatures>
1489 </centerLabelStyle>
1490 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_0UucAaA7EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1491 <customFeatures>labelSize</customFeatures>
1492 </endLabelStyle>
1493 </ownedStyle>
1494 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1495 </ownedDiagramElements>
1496 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_9OddBqA7EeuqkpDnuik1sg" sourceNode="_V6YZcKA7EeuqkpDnuik1sg" targetNode="_4k00sKA6EeuqkpDnuik1sg">
1497 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NegativeLiteral"/>
1498 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NegativeLiteral"/>
1499 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_9OeD4KA7EeuqkpDnuik1sg" targetArrow="InputClosedArrow" routingStyle="tree">
1500 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1501 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_9OeD4aA7EeuqkpDnuik1sg" showIcon="false">
1502 <labelFormat>italic</labelFormat>
1503 </beginLabelStyle>
1504 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_9OeD4qA7EeuqkpDnuik1sg" showIcon="false"/>
1505 </ownedStyle>
1506 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1507 </ownedDiagramElements>
1508 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_D9lnQKA8EeuqkpDnuik1sg" sourceNode="_6J_bsKA6EeuqkpDnuik1sg" targetNode="_4k00sKA6EeuqkpDnuik1sg">
1509 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Atom"/>
1510 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Atom"/>
1511 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_UzDduKA-EeuqkpDnuik1sg" targetArrow="InputClosedArrow" routingStyle="tree">
1512 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1513 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_UzDduaA-EeuqkpDnuik1sg" showIcon="false">
1514 <labelFormat>italic</labelFormat>
1515 </beginLabelStyle>
1516 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_UzDduqA-EeuqkpDnuik1sg" showIcon="false"/>
1517 </ownedStyle>
1518 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1519 </ownedDiagramElements>
1520 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_VjwMzqA8EeuqkpDnuik1sg" name="[0..1] relation" sourceNode="_6J_bsKA6EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg">
1521 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/relation"/>
1522 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/relation"/>
1523 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_VjwMz6A8EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0">
1524 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1525 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_VjwM0aA8EeuqkpDnuik1sg" showIcon="false">
1526 <customFeatures>labelSize</customFeatures>
1527 </centerLabelStyle>
1528 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_VjwM0KA8EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1529 <customFeatures>labelSize</customFeatures>
1530 </endLabelStyle>
1531 </ownedStyle>
1532 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1533 </ownedDiagramElements>
1534 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_p9d30KA8EeuqkpDnuik1sg" name="Assertion" tooltipText="" outgoingEdges="_w-iG36A8EeuqkpDnuik1sg _79nqlqA8EeuqkpDnuik1sg _mQFKsqA9EeuqkpDnuik1sg" width="12" height="10">
1535 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/>
1536 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/>
1537 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1538 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1539 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1540 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_NgedbaA9EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1541 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1542 </ownedStyle>
1543 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1544 <ownedElements xmi:type="diagram:DNodeListElement" uid="_NAnRgKA9EeuqkpDnuik1sg" name="value : LogicValue = TRUE" tooltipText="">
1545 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//Assertion/value"/>
1546 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//Assertion/value"/>
1547 <ownedStyle xmi:type="diagram:BundledImage" uid="_NgfEZ6A9EeuqkpDnuik1sg" labelAlignment="LEFT">
1548 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
1549 </ownedStyle>
1550 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1551 </ownedElements>
1552 </ownedDiagramElements>
1553 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_w-iG36A8EeuqkpDnuik1sg" name="[0..1] relation" sourceNode="_p9d30KA8EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg">
1554 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Assertion/relation"/>
1555 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Assertion/relation"/>
1556 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_w-it4KA8EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0">
1557 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1558 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_w-it4qA8EeuqkpDnuik1sg" showIcon="false">
1559 <customFeatures>labelSize</customFeatures>
1560 </centerLabelStyle>
1561 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_w-it4aA8EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1562 <customFeatures>labelSize</customFeatures>
1563 </endLabelStyle>
1564 </ownedStyle>
1565 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1566 </ownedDiagramElements>
1567 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_xsYrUKA8EeuqkpDnuik1sg" name="Node" tooltipText="" outgoingEdges="_QlymotbNEeuymriYTNxK2g" incomingEdges="_4eU5TqA8EeuqkpDnuik1sg _79nqlqA8EeuqkpDnuik1sg _-XLKltawEeuymriYTNxK2g _gRDCgNbGEeuymriYTNxK2g" width="12" height="10">
1568 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/>
1569 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/>
1570 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1571 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1572 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1573 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_McYjKaA9EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1574 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1575 </ownedStyle>
1576 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1577 </ownedDiagramElements>
1578 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_4eU5TqA8EeuqkpDnuik1sg" name="[0..*] nodes" sourceNode="_D05iIKA4EeuqkpDnuik1sg" targetNode="_xsYrUKA8EeuqkpDnuik1sg">
1579 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Problem/nodes"/>
1580 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Problem/nodes"/>
1581 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_4eU5T6A8EeuqkpDnuik1sg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1582 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_4eU5UaA8EeuqkpDnuik1sg" showIcon="false">
1583 <customFeatures>labelSize</customFeatures>
1584 </centerLabelStyle>
1585 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_4eU5UKA8EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1586 <customFeatures>labelSize</customFeatures>
1587 </endLabelStyle>
1588 </ownedStyle>
1589 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1590 </ownedDiagramElements>
1591 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_79nqlqA8EeuqkpDnuik1sg" name="[0..*] arguments" sourceNode="_p9d30KA8EeuqkpDnuik1sg" targetNode="_xsYrUKA8EeuqkpDnuik1sg">
1592 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Assertion/arguments"/>
1593 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Assertion/arguments"/>
1594 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_79oRoKA8EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0">
1595 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1596 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_79oRoqA8EeuqkpDnuik1sg" showIcon="false">
1597 <customFeatures>labelSize</customFeatures>
1598 </centerLabelStyle>
1599 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_79oRoaA8EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1600 <customFeatures>labelSize</customFeatures>
1601 </endLabelStyle>
1602 </ownedStyle>
1603 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1604 </ownedDiagramElements>
1605 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_BMXnYKA9EeuqkpDnuik1sg" name="LogicValue" tooltipText="" width="12" height="10">
1606 <target xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//LogicValue"/>
1607 <semanticElements xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//LogicValue"/>
1608 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1609 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1610 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1611 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_BMXnYaA9EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="221,236,202">
1612 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@style"/>
1613 </ownedStyle>
1614 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']"/>
1615 <ownedElements xmi:type="diagram:DNodeListElement" uid="_B6IFQKA9EeuqkpDnuik1sg" name="TRUE" tooltipText="">
1616 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//LogicValue/TRUE"/>
1617 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//LogicValue/TRUE"/>
1618 <ownedStyle xmi:type="diagram:BundledImage" uid="_B6IsUKA9EeuqkpDnuik1sg" labelAlignment="LEFT">
1619 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
1620 </ownedStyle>
1621 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
1622 </ownedElements>
1623 <ownedElements xmi:type="diagram:DNodeListElement" uid="_D8ciUKA9EeuqkpDnuik1sg" name="FALSE" tooltipText="">
1624 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//LogicValue/FALSE"/>
1625 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//LogicValue/FALSE"/>
1626 <ownedStyle xmi:type="diagram:BundledImage" uid="_D8dJYKA9EeuqkpDnuik1sg" labelAlignment="LEFT">
1627 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
1628 </ownedStyle>
1629 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
1630 </ownedElements>
1631 <ownedElements xmi:type="diagram:DNodeListElement" uid="_JWqvUKA9EeuqkpDnuik1sg" name="UNKNOWN" tooltipText="">
1632 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//LogicValue/UNKNOWN"/>
1633 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//LogicValue/UNKNOWN"/>
1634 <ownedStyle xmi:type="diagram:BundledImage" uid="_JWrWYKA9EeuqkpDnuik1sg" labelAlignment="LEFT">
1635 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
1636 </ownedStyle>
1637 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
1638 </ownedElements>
1639 </ownedDiagramElements>
1640 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_QTzgkKA9EeuqkpDnuik1sg" name="ScopeDeclaration" tooltipText="" outgoingEdges="_vdptgqA9EeuqkpDnuik1sg _F2vPU6A-EeuqkpDnuik1sg" width="12" height="10">
1641 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ScopeDeclaration"/>
1642 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ScopeDeclaration"/>
1643 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1644 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1645 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1646 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_QT0HoKA9EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1647 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1648 </ownedStyle>
1649 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1650 </ownedDiagramElements>
1651 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_e7ydoKA9EeuqkpDnuik1sg" name="Statement" tooltipText="" incomingEdges="_hU64ZqA9EeuqkpDnuik1sg _mQFKsqA9EeuqkpDnuik1sg _mzziwKA9EeuqkpDnuik1sg _plK3JqA9EeuqkpDnuik1sg _vdptgqA9EeuqkpDnuik1sg _WX_5w9bGEeuymriYTNxK2g" width="12" height="10">
1652 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Statement"/>
1653 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Statement"/>
1654 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1655 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1656 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1657 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_k_IgQ6A9EeuqkpDnuik1sg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_interface.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
1658 <labelFormat>italic</labelFormat>
1659 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.0/@style"/>
1660 </ownedStyle>
1661 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1662 </ownedDiagramElements>
1663 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_hU64ZqA9EeuqkpDnuik1sg" name="[0..*] statements" sourceNode="_D05iIKA4EeuqkpDnuik1sg" targetNode="_e7ydoKA9EeuqkpDnuik1sg">
1664 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Problem/statements"/>
1665 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Problem/statements"/>
1666 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_hU7fQKA9EeuqkpDnuik1sg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1667 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_hU7fQqA9EeuqkpDnuik1sg" showIcon="false">
1668 <customFeatures>labelSize</customFeatures>
1669 </centerLabelStyle>
1670 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_hU7fQaA9EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1671 <customFeatures>labelSize</customFeatures>
1672 </endLabelStyle>
1673 </ownedStyle>
1674 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1675 </ownedDiagramElements>
1676 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_mQFKsqA9EeuqkpDnuik1sg" sourceNode="_p9d30KA8EeuqkpDnuik1sg" targetNode="_e7ydoKA9EeuqkpDnuik1sg">
1677 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/>
1678 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/>
1679 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_mQFxsKA9EeuqkpDnuik1sg" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
1680 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
1681 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_mQFxsaA9EeuqkpDnuik1sg" showIcon="false">
1682 <labelFormat>italic</labelFormat>
1683 </beginLabelStyle>
1684 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_mQFxsqA9EeuqkpDnuik1sg" showIcon="false"/>
1685 </ownedStyle>
1686 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1687 </ownedDiagramElements>
1688 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_mzziwKA9EeuqkpDnuik1sg" sourceNode="_fihqUKA5EeuqkpDnuik1sg" targetNode="_e7ydoKA9EeuqkpDnuik1sg">
1689 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//PredicateDefinition"/>
1690 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//PredicateDefinition"/>
1691 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_mzziwaA9EeuqkpDnuik1sg" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
1692 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
1693 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_mzziwqA9EeuqkpDnuik1sg" showIcon="false">
1694 <labelFormat>italic</labelFormat>
1695 </beginLabelStyle>
1696 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_mzziw6A9EeuqkpDnuik1sg" showIcon="false"/>
1697 </ownedStyle>
1698 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1699 </ownedDiagramElements>
1700 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_plK3JqA9EeuqkpDnuik1sg" sourceNode="_JTstIKA4EeuqkpDnuik1sg" targetNode="_e7ydoKA9EeuqkpDnuik1sg">
1701 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/>
1702 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/>
1703 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_plK3J6A9EeuqkpDnuik1sg" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
1704 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
1705 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_plK3KKA9EeuqkpDnuik1sg" showIcon="false">
1706 <labelFormat>italic</labelFormat>
1707 </beginLabelStyle>
1708 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_plK3KaA9EeuqkpDnuik1sg" showIcon="false"/>
1709 </ownedStyle>
1710 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1711 </ownedDiagramElements>
1712 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_vdptgqA9EeuqkpDnuik1sg" sourceNode="_QTzgkKA9EeuqkpDnuik1sg" targetNode="_e7ydoKA9EeuqkpDnuik1sg">
1713 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ScopeDeclaration"/>
1714 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ScopeDeclaration"/>
1715 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_vdqUgKA9EeuqkpDnuik1sg" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
1716 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
1717 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_vdqUgaA9EeuqkpDnuik1sg" showIcon="false">
1718 <labelFormat>italic</labelFormat>
1719 </beginLabelStyle>
1720 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_vdqUgqA9EeuqkpDnuik1sg" showIcon="false"/>
1721 </ownedStyle>
1722 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1723 </ownedDiagramElements>
1724 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_zac6MKA9EeuqkpDnuik1sg" name="TypeScope" tooltipText="" outgoingEdges="_2kWqbKA9EeuqkpDnuik1sg _n5fiHqBJEeuqkpDnuik1sg" incomingEdges="_F2vPU6A-EeuqkpDnuik1sg" width="12" height="10">
1725 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//TypeScope"/>
1726 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//TypeScope"/>
1727 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1728 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1729 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1730 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_DlBrZqA-EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1731 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1732 </ownedStyle>
1733 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1734 <ownedElements xmi:type="diagram:DNodeListElement" uid="_BtHHgKA-EeuqkpDnuik1sg" name="increment : EBoolean = false" tooltipText="">
1735 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//TypeScope/increment"/>
1736 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//TypeScope/increment"/>
1737 <ownedStyle xmi:type="diagram:BundledImage" uid="_DlEusaA-EeuqkpDnuik1sg" labelAlignment="LEFT">
1738 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
1739 </ownedStyle>
1740 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1741 </ownedElements>
1742 </ownedDiagramElements>
1743 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_2kWqbKA9EeuqkpDnuik1sg" name="[0..1] targetType" sourceNode="_zac6MKA9EeuqkpDnuik1sg" targetNode="_JTstIKA4EeuqkpDnuik1sg">
1744 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//TypeScope/targetType"/>
1745 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//TypeScope/targetType"/>
1746 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_2kXRcKA9EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0">
1747 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1748 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_2kXRcqA9EeuqkpDnuik1sg" showIcon="false">
1749 <customFeatures>labelSize</customFeatures>
1750 </centerLabelStyle>
1751 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_2kXRcaA9EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1752 <customFeatures>labelSize</customFeatures>
1753 </endLabelStyle>
1754 </ownedStyle>
1755 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1756 </ownedDiagramElements>
1757 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_F2vPU6A-EeuqkpDnuik1sg" name="[0..*] typeScopes" sourceNode="_QTzgkKA9EeuqkpDnuik1sg" targetNode="_zac6MKA9EeuqkpDnuik1sg">
1758 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ScopeDeclaration/typeScopes"/>
1759 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ScopeDeclaration/typeScopes"/>
1760 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_F2v2YKA-EeuqkpDnuik1sg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1761 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_F2v2YqA-EeuqkpDnuik1sg" showIcon="false">
1762 <customFeatures>labelSize</customFeatures>
1763 </centerLabelStyle>
1764 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_F2v2YaA-EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1765 <customFeatures>labelSize</customFeatures>
1766 </endLabelStyle>
1767 </ownedStyle>
1768 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1769 </ownedDiagramElements>
1770 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_UJJy0qBDEeuqkpDnuik1sg" name="[0..1] atom" sourceNode="_V6YZcKA7EeuqkpDnuik1sg" targetNode="_6J_bsKA6EeuqkpDnuik1sg">
1771 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//NegativeLiteral/atom"/>
1772 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//NegativeLiteral/atom"/>
1773 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_UJKZ0KBDEeuqkpDnuik1sg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1774 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_UJKZ0qBDEeuqkpDnuik1sg" showIcon="false">
1775 <customFeatures>labelSize</customFeatures>
1776 </centerLabelStyle>
1777 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_UJKZ0aBDEeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1778 <customFeatures>labelSize</customFeatures>
1779 </endLabelStyle>
1780 </ownedStyle>
1781 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1782 </ownedDiagramElements>
1783 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_ReiX4KBJEeuqkpDnuik1sg" name="Multiplicity" tooltipText="" incomingEdges="_c_boQqBJEeuqkpDnuik1sg _dn26MqBJEeuqkpDnuik1sg _n5fiHqBJEeuqkpDnuik1sg _p1JWcqBJEeuqkpDnuik1sg _HUJ8o9YBEeuF_d0WEhR3Xw" width="12" height="10">
1784 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Multiplicity"/>
1785 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Multiplicity"/>
1786 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1787 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1788 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1789 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_eULNnKBJEeuqkpDnuik1sg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
1790 <labelFormat>italic</labelFormat>
1791 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
1792 </ownedStyle>
1793 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1794 </ownedDiagramElements>
1795 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_Tx0CEKBJEeuqkpDnuik1sg" name="RangeMultiplicity" tooltipText="" outgoingEdges="_c_boQqBJEeuqkpDnuik1sg" width="12" height="10">
1796 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//RangeMultiplicity"/>
1797 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//RangeMultiplicity"/>
1798 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1799 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1800 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1801 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_kxDKYaBJEeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1802 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1803 </ownedStyle>
1804 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1805 <ownedElements xmi:type="diagram:DNodeListElement" uid="_iccDcKBJEeuqkpDnuik1sg" name="lowerBound : EInt = 0" tooltipText="">
1806 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//RangeMultiplicity/lowerBound"/>
1807 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//RangeMultiplicity/lowerBound"/>
1808 <ownedStyle xmi:type="diagram:BundledImage" uid="_jDn_QaBJEeuqkpDnuik1sg" labelAlignment="LEFT">
1809 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
1810 </ownedStyle>
1811 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1812 </ownedElements>
1813 <ownedElements xmi:type="diagram:DNodeListElement" uid="_kKaoMKBJEeuqkpDnuik1sg" name="upperBound : EInt = -1" tooltipText="">
1814 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//RangeMultiplicity/upperBound"/>
1815 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//RangeMultiplicity/upperBound"/>
1816 <ownedStyle xmi:type="diagram:BundledImage" uid="_kxFmoqBJEeuqkpDnuik1sg" labelAlignment="LEFT">
1817 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
1818 </ownedStyle>
1819 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1820 </ownedElements>
1821 </ownedDiagramElements>
1822 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_aPIDwKBJEeuqkpDnuik1sg" name="ExactMultiplicity" tooltipText="" outgoingEdges="_dn26MqBJEeuqkpDnuik1sg" width="12" height="10">
1823 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ExactMultiplicity"/>
1824 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ExactMultiplicity"/>
1825 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1826 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1827 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1828 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_nIZcRaBJEeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1829 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1830 </ownedStyle>
1831 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1832 <ownedElements xmi:type="diagram:DNodeListElement" uid="_lhXNAKBJEeuqkpDnuik1sg" name="exactValue : EInt = 1" tooltipText="">
1833 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//ExactMultiplicity/exactValue"/>
1834 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//ExactMultiplicity/exactValue"/>
1835 <ownedStyle xmi:type="diagram:BundledImage" uid="_nIsXNaBJEeuqkpDnuik1sg" labelAlignment="LEFT">
1836 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
1837 </ownedStyle>
1838 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1839 </ownedElements>
1840 </ownedDiagramElements>
1841 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_c_boQqBJEeuqkpDnuik1sg" sourceNode="_Tx0CEKBJEeuqkpDnuik1sg" targetNode="_ReiX4KBJEeuqkpDnuik1sg">
1842 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//RangeMultiplicity"/>
1843 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//RangeMultiplicity"/>
1844 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_kxLGYKBJEeuqkpDnuik1sg" targetArrow="InputClosedArrow" routingStyle="tree">
1845 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1846 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_kxLGYaBJEeuqkpDnuik1sg" showIcon="false">
1847 <labelFormat>italic</labelFormat>
1848 </beginLabelStyle>
1849 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_kxLGYqBJEeuqkpDnuik1sg" showIcon="false"/>
1850 </ownedStyle>
1851 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1852 </ownedDiagramElements>
1853 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_dn26MqBJEeuqkpDnuik1sg" sourceNode="_aPIDwKBJEeuqkpDnuik1sg" targetNode="_ReiX4KBJEeuqkpDnuik1sg">
1854 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ExactMultiplicity"/>
1855 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ExactMultiplicity"/>
1856 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_nIwopqBJEeuqkpDnuik1sg" targetArrow="InputClosedArrow" routingStyle="tree">
1857 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1858 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_nIwop6BJEeuqkpDnuik1sg" showIcon="false">
1859 <labelFormat>italic</labelFormat>
1860 </beginLabelStyle>
1861 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_nIwoqKBJEeuqkpDnuik1sg" showIcon="false"/>
1862 </ownedStyle>
1863 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1864 </ownedDiagramElements>
1865 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_n5fiHqBJEeuqkpDnuik1sg" name="[0..1] multiplicity" sourceNode="_zac6MKA9EeuqkpDnuik1sg" targetNode="_ReiX4KBJEeuqkpDnuik1sg">
1866 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//TypeScope/multiplicity"/>
1867 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//TypeScope/multiplicity"/>
1868 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_n5gJEKBJEeuqkpDnuik1sg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1869 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_n5gJEqBJEeuqkpDnuik1sg" showIcon="false">
1870 <customFeatures>labelSize</customFeatures>
1871 </centerLabelStyle>
1872 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_n5gJEaBJEeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1873 <customFeatures>labelSize</customFeatures>
1874 </endLabelStyle>
1875 </ownedStyle>
1876 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1877 </ownedDiagramElements>
1878 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_p1JWcqBJEeuqkpDnuik1sg" name="[0..1] multiplicity" sourceNode="_c-A7oKA4EeuqkpDnuik1sg" targetNode="_ReiX4KBJEeuqkpDnuik1sg">
1879 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/multiplicity"/>
1880 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/multiplicity"/>
1881 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_p1J9cKBJEeuqkpDnuik1sg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1882 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_p1J9cqBJEeuqkpDnuik1sg" showIcon="false">
1883 <customFeatures>labelSize</customFeatures>
1884 </centerLabelStyle>
1885 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_p1J9caBJEeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1886 <customFeatures>labelSize</customFeatures>
1887 </endLabelStyle>
1888 </ownedStyle>
1889 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1890 </ownedDiagramElements>
1891 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_m-6OTNXtEeuF_d0WEhR3Xw" sourceNode="_D05iIKA4EeuqkpDnuik1sg" targetNode="_RzK-YKA5EeuqkpDnuik1sg">
1892 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/>
1893 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/>
1894 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_m-61UNXtEeuF_d0WEhR3Xw" targetArrow="InputClosedArrow" routingStyle="tree">
1895 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1896 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_m-61UdXtEeuF_d0WEhR3Xw" showIcon="false">
1897 <labelFormat>italic</labelFormat>
1898 </beginLabelStyle>
1899 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_m-61UtXtEeuF_d0WEhR3Xw" showIcon="false"/>
1900 </ownedStyle>
1901 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1902 </ownedDiagramElements>
1903 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_D9_5INYBEeuF_d0WEhR3Xw" name="UnboundedMultiplicity" tooltipText="" outgoingEdges="_HUJ8o9YBEeuF_d0WEhR3Xw" width="12" height="10">
1904 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//UnboundedMultiplicity"/>
1905 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//UnboundedMultiplicity"/>
1906 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1907 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1908 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1909 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_D-DjgNYBEeuF_d0WEhR3Xw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1910 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1911 </ownedStyle>
1912 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1913 </ownedDiagramElements>
1914 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_HUJ8o9YBEeuF_d0WEhR3Xw" sourceNode="_D9_5INYBEeuF_d0WEhR3Xw" targetNode="_ReiX4KBJEeuqkpDnuik1sg">
1915 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//UnboundedMultiplicity"/>
1916 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//UnboundedMultiplicity"/>
1917 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_HUKjsNYBEeuF_d0WEhR3Xw" targetArrow="InputClosedArrow" routingStyle="tree">
1918 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1919 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_HUKjsdYBEeuF_d0WEhR3Xw" showIcon="false">
1920 <labelFormat>italic</labelFormat>
1921 </beginLabelStyle>
1922 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_HUKjstYBEeuF_d0WEhR3Xw" showIcon="false"/>
1923 </ownedStyle>
1924 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1925 </ownedDiagramElements>
1926 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_IwJ4MNYPEeuF_d0WEhR3Xw" name="Argument" tooltipText="" outgoingEdges="_T1fN5tYPEeuF_d0WEhR3Xw _bx-jYtYPEeuF_d0WEhR3Xw" incomingEdges="_KmxbkNYPEeuF_d0WEhR3Xw" width="12" height="10">
1927 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Argument"/>
1928 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Argument"/>
1929 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1930 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1931 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1932 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_IwLtYNYPEeuF_d0WEhR3Xw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1933 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1934 </ownedStyle>
1935 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1936 </ownedDiagramElements>
1937 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_KmxbkNYPEeuF_d0WEhR3Xw" name="[0..*] arguments" sourceNode="_6J_bsKA6EeuqkpDnuik1sg" targetNode="_IwJ4MNYPEeuF_d0WEhR3Xw">
1938 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/arguments"/>
1939 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/arguments"/>
1940 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_P-mb4NYPEeuF_d0WEhR3Xw" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1941 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_P-mb4tYPEeuF_d0WEhR3Xw" showIcon="false"/>
1942 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_P-mb4dYPEeuF_d0WEhR3Xw" labelSize="6" showIcon="false" labelColor="39,76,114"/>
1943 </ownedStyle>
1944 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1945 </ownedDiagramElements>
1946 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_T1fN5tYPEeuF_d0WEhR3Xw" name="[0..1] variableOrNode" sourceNode="_IwJ4MNYPEeuF_d0WEhR3Xw" targetNode="_KwtCUNbNEeuymriYTNxK2g">
1947 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/variableOrNode"/>
1948 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/variableOrNode"/>
1949 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_T1fN59YPEeuF_d0WEhR3Xw" routingStyle="manhattan" strokeColor="0,0,0">
1950 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1951 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_T1fN6dYPEeuF_d0WEhR3Xw" showIcon="false">
1952 <customFeatures>labelSize</customFeatures>
1953 </centerLabelStyle>
1954 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_T1fN6NYPEeuF_d0WEhR3Xw" showIcon="false" labelColor="39,76,114">
1955 <customFeatures>labelSize</customFeatures>
1956 </endLabelStyle>
1957 </ownedStyle>
1958 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1959 </ownedDiagramElements>
1960 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_bx-jYtYPEeuF_d0WEhR3Xw" name="[0..1] singletonVariable" sourceNode="_IwJ4MNYPEeuF_d0WEhR3Xw" targetNode="_-O6CoKA6EeuqkpDnuik1sg">
1961 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/singletonVariable"/>
1962 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/singletonVariable"/>
1963 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_dcHJ49YPEeuF_d0WEhR3Xw" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1964 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_dcHJ5dYPEeuF_d0WEhR3Xw" showIcon="false"/>
1965 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_dcHJ5NYPEeuF_d0WEhR3Xw" labelSize="6" showIcon="false" labelColor="39,76,114"/>
1966 </ownedStyle>
1967 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1968 </ownedDiagramElements>
1969 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_-XLKltawEeuymriYTNxK2g" name="[0..1] newNode" sourceNode="_JTstIKA4EeuqkpDnuik1sg" targetNode="_xsYrUKA8EeuqkpDnuik1sg">
1970 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/newNode"/>
1971 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/newNode"/>
1972 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_-XMYsNawEeuymriYTNxK2g" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1973 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_-XMYstawEeuymriYTNxK2g" showIcon="false">
1974 <customFeatures>labelSize</customFeatures>
1975 </centerLabelStyle>
1976 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_-XMYsdawEeuymriYTNxK2g" showIcon="false" labelColor="39,76,114">
1977 <customFeatures>labelSize</customFeatures>
1978 </endLabelStyle>
1979 </ownedStyle>
1980 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1981 </ownedDiagramElements>
1982 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_M58q8NbGEeuymriYTNxK2g" name="EnumDeclaration" tooltipText="" outgoingEdges="_UwbfHtbGEeuymriYTNxK2g _WX_5w9bGEeuymriYTNxK2g _gRDCgNbGEeuymriYTNxK2g" width="12" height="10">
1983 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//EnumDeclaration"/>
1984 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//EnumDeclaration"/>
1985 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1986 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1987 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1988 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_M59SANbGEeuymriYTNxK2g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1989 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1990 </ownedStyle>
1991 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1992 </ownedDiagramElements>
1993 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_UwbfHtbGEeuymriYTNxK2g" sourceNode="_M58q8NbGEeuymriYTNxK2g" targetNode="_EfNqcKA4EeuqkpDnuik1sg">
1994 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//EnumDeclaration"/>
1995 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//EnumDeclaration"/>
1996 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_UwcGENbGEeuymriYTNxK2g" targetArrow="InputClosedArrow" routingStyle="tree">
1997 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1998 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_UwcGEdbGEeuymriYTNxK2g" showIcon="false">
1999 <labelFormat>italic</labelFormat>
2000 </beginLabelStyle>
2001 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_UwcGEtbGEeuymriYTNxK2g" showIcon="false"/>
2002 </ownedStyle>
2003 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
2004 </ownedDiagramElements>
2005 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WX_5w9bGEeuymriYTNxK2g" sourceNode="_M58q8NbGEeuymriYTNxK2g" targetNode="_e7ydoKA9EeuqkpDnuik1sg">
2006 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//EnumDeclaration"/>
2007 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//EnumDeclaration"/>
2008 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WYAg0NbGEeuymriYTNxK2g" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
2009 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.0/@style"/>
2010 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_WYAg0dbGEeuymriYTNxK2g" showIcon="false">
2011 <labelFormat>italic</labelFormat>
2012 </beginLabelStyle>
2013 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_WYAg0tbGEeuymriYTNxK2g" showIcon="false"/>
2014 </ownedStyle>
2015 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
2016 </ownedDiagramElements>
2017 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_gRDCgNbGEeuymriYTNxK2g" name="[0..*] literals" sourceNode="_M58q8NbGEeuymriYTNxK2g" targetNode="_xsYrUKA8EeuqkpDnuik1sg">
2018 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//EnumDeclaration/literals"/>
2019 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//EnumDeclaration/literals"/>
2020 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_gRDpkNbGEeuymriYTNxK2g" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2021 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_gRDpktbGEeuymriYTNxK2g" showIcon="false">
2022 <customFeatures>labelSize</customFeatures>
2023 </centerLabelStyle>
2024 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_gRDpkdbGEeuymriYTNxK2g" showIcon="false" labelColor="39,76,114">
2025 <customFeatures>labelSize</customFeatures>
2026 </endLabelStyle>
2027 </ownedStyle>
2028 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2029 </ownedDiagramElements>
2030 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_KwtCUNbNEeuymriYTNxK2g" name="VariableOrNode" tooltipText="" outgoingEdges="_Smi9eNbNEeuymriYTNxK2g" incomingEdges="_QlymotbNEeuymriYTNxK2g _Tt9RRtbNEeuymriYTNxK2g _T1fN5tYPEeuF_d0WEhR3Xw" width="12" height="10">
2031 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//VariableOrNode"/>
2032 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//VariableOrNode"/>
2033 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2034 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2035 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2036 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_QMf8vdbNEeuymriYTNxK2g" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2037 <labelFormat>italic</labelFormat>
2038 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2039 </ownedStyle>
2040 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2041 </ownedDiagramElements>
2042 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_QlymotbNEeuymriYTNxK2g" sourceNode="_xsYrUKA8EeuqkpDnuik1sg" targetNode="_KwtCUNbNEeuymriYTNxK2g">
2043 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/>
2044 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/>
2045 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_QlzNcNbNEeuymriYTNxK2g" targetArrow="InputClosedArrow" routingStyle="tree">
2046 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
2047 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_QlzNcdbNEeuymriYTNxK2g" showIcon="false">
2048 <labelFormat>italic</labelFormat>
2049 </beginLabelStyle>
2050 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_QlzNctbNEeuymriYTNxK2g" showIcon="false"/>
2051 </ownedStyle>
2052 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
2053 </ownedDiagramElements>
2054 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_Smi9eNbNEeuymriYTNxK2g" sourceNode="_KwtCUNbNEeuymriYTNxK2g" targetNode="_RzK-YKA5EeuqkpDnuik1sg">
2055 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//VariableOrNode"/>
2056 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//VariableOrNode"/>
2057 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_SmjkQNbNEeuymriYTNxK2g" targetArrow="InputClosedArrow" routingStyle="tree">
2058 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
2059 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_SmjkQdbNEeuymriYTNxK2g" showIcon="false">
2060 <labelFormat>italic</labelFormat>
2061 </beginLabelStyle>
2062 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_SmjkQtbNEeuymriYTNxK2g" showIcon="false"/>
2063 </ownedStyle>
2064 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
2065 </ownedDiagramElements>
2066 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_Tt9RRtbNEeuymriYTNxK2g" sourceNode="_jPpm4KA6EeuqkpDnuik1sg" targetNode="_KwtCUNbNEeuymriYTNxK2g">
2067 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/>
2068 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/>
2069 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_Tt94QNbNEeuymriYTNxK2g" targetArrow="InputClosedArrow" routingStyle="tree">
2070 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
2071 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_Tt94QdbNEeuymriYTNxK2g" showIcon="false">
2072 <labelFormat>italic</labelFormat>
2073 </beginLabelStyle>
2074 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_Tt94QtbNEeuymriYTNxK2g" showIcon="false"/>
2075 </ownedStyle>
2076 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
2077 </ownedDiagramElements>
2078 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
2079 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_CsWlsKA4EeuqkpDnuik1sg"/>
2080 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
2081 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
2082 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
2083 <target xmi:type="ecore:EPackage" href="src/main/resources/model/problem.ecore#/"/>
2084 </diagram:DSemanticDiagram>
2085</xmi:XMI>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java
deleted file mode 100644
index 4857b38a..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java
+++ /dev/null
@@ -1,69 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Argument</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode <em>Variable Or Node</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument()
21 * @model
22 * @generated
23 */
24public interface Argument extends EObject {
25 /**
26 * Returns the value of the '<em><b>Variable Or Node</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Variable Or Node</em>' reference.
30 * @see #setVariableOrNode(VariableOrNode)
31 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument_VariableOrNode()
32 * @model
33 * @generated
34 */
35 VariableOrNode getVariableOrNode();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode <em>Variable Or Node</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Variable Or Node</em>' reference.
42 * @see #getVariableOrNode()
43 * @generated
44 */
45 void setVariableOrNode(VariableOrNode value);
46
47 /**
48 * Returns the value of the '<em><b>Singleton Variable</b></em>' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Singleton Variable</em>' containment reference.
52 * @see #setSingletonVariable(ImplicitVariable)
53 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument_SingletonVariable()
54 * @model containment="true"
55 * @generated
56 */
57 ImplicitVariable getSingletonVariable();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Singleton Variable</em>' containment reference.
64 * @see #getSingletonVariable()
65 * @generated
66 */
67 void setSingletonVariable(ImplicitVariable value);
68
69} // Argument
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java
deleted file mode 100644
index 758212fb..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java
+++ /dev/null
@@ -1,85 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Assertion</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getRelation <em>Relation</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments <em>Arguments</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getValue <em>Value</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertion()
22 * @model
23 * @generated
24 */
25public interface Assertion extends Statement {
26 /**
27 * Returns the value of the '<em><b>Relation</b></em>' reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Relation</em>' reference.
31 * @see #setRelation(Relation)
32 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertion_Relation()
33 * @model
34 * @generated
35 */
36 Relation getRelation();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getRelation <em>Relation</em>}' reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Relation</em>' reference.
43 * @see #getRelation()
44 * @generated
45 */
46 void setRelation(Relation value);
47
48 /**
49 * Returns the value of the '<em><b>Arguments</b></em>' reference list.
50 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Node}.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Arguments</em>' reference list.
54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertion_Arguments()
55 * @model
56 * @generated
57 */
58 EList<Node> getArguments();
59
60 /**
61 * Returns the value of the '<em><b>Value</b></em>' attribute.
62 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.model.problem.LogicValue}.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @return the value of the '<em>Value</em>' attribute.
66 * @see org.eclipse.viatra.solver.language.model.problem.LogicValue
67 * @see #setValue(LogicValue)
68 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertion_Value()
69 * @model
70 * @generated
71 */
72 LogicValue getValue();
73
74 /**
75 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getValue <em>Value</em>}' attribute.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @param value the new value of the '<em>Value</em>' attribute.
79 * @see org.eclipse.viatra.solver.language.model.problem.LogicValue
80 * @see #getValue()
81 * @generated
82 */
83 void setValue(LogicValue value);
84
85} // Assertion
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java
deleted file mode 100644
index d1b4d3fe..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java
+++ /dev/null
@@ -1,82 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Atom</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.model.problem.Atom#getRelation <em>Relation</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#isTransitiveClosure <em>Transitive Closure</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#getArguments <em>Arguments</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom()
22 * @model
23 * @generated
24 */
25public interface Atom extends Literal {
26 /**
27 * Returns the value of the '<em><b>Relation</b></em>' reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Relation</em>' reference.
31 * @see #setRelation(Relation)
32 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom_Relation()
33 * @model
34 * @generated
35 */
36 Relation getRelation();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Atom#getRelation <em>Relation</em>}' reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Relation</em>' reference.
43 * @see #getRelation()
44 * @generated
45 */
46 void setRelation(Relation value);
47
48 /**
49 * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
50 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Argument}.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Arguments</em>' containment reference list.
54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom_Arguments()
55 * @model containment="true"
56 * @generated
57 */
58 EList<Argument> getArguments();
59
60 /**
61 * Returns the value of the '<em><b>Transitive Closure</b></em>' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return the value of the '<em>Transitive Closure</em>' attribute.
65 * @see #setTransitiveClosure(boolean)
66 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom_TransitiveClosure()
67 * @model
68 * @generated
69 */
70 boolean isTransitiveClosure();
71
72 /**
73 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Atom#isTransitiveClosure <em>Transitive Closure</em>}' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @param value the new value of the '<em>Transitive Closure</em>' attribute.
77 * @see #isTransitiveClosure()
78 * @generated
79 */
80 void setTransitiveClosure(boolean value);
81
82} // Atom
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java
deleted file mode 100644
index d0f471be..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java
+++ /dev/null
@@ -1,95 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Class Declaration</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.model.problem.ClassDeclaration#isAbstract <em>Abstract</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getSuperTypes <em>Super Types</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getReferenceDeclarations <em>Reference Declarations</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getNewNode <em>New Node</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration()
23 * @model
24 * @generated
25 */
26public interface ClassDeclaration extends Relation, Statement {
27 /**
28 * Returns the value of the '<em><b>Abstract</b></em>' attribute.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Abstract</em>' attribute.
32 * @see #setAbstract(boolean)
33 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration_Abstract()
34 * @model
35 * @generated
36 */
37 boolean isAbstract();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#isAbstract <em>Abstract</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Abstract</em>' attribute.
44 * @see #isAbstract()
45 * @generated
46 */
47 void setAbstract(boolean value);
48
49 /**
50 * Returns the value of the '<em><b>Super Types</b></em>' reference list.
51 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Relation}.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Super Types</em>' reference list.
55 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration_SuperTypes()
56 * @model
57 * @generated
58 */
59 EList<Relation> getSuperTypes();
60
61 /**
62 * Returns the value of the '<em><b>Reference Declarations</b></em>' containment reference list.
63 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration}.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @return the value of the '<em>Reference Declarations</em>' containment reference list.
67 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration_ReferenceDeclarations()
68 * @model containment="true"
69 * @generated
70 */
71 EList<ReferenceDeclaration> getReferenceDeclarations();
72
73 /**
74 * Returns the value of the '<em><b>New Node</b></em>' containment reference.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @return the value of the '<em>New Node</em>' containment reference.
78 * @see #setNewNode(Node)
79 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration_NewNode()
80 * @model containment="true"
81 * @generated
82 */
83 Node getNewNode();
84
85 /**
86 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getNewNode <em>New Node</em>}' containment reference.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @param value the new value of the '<em>New Node</em>' containment reference.
90 * @see #getNewNode()
91 * @generated
92 */
93 void setNewNode(Node value);
94
95} // ClassDeclaration
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Conjunction.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Conjunction.java
deleted file mode 100644
index df8e0cef..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Conjunction.java
+++ /dev/null
@@ -1,36 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Conjunction</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.model.problem.Conjunction#getLiterals <em>Literals</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getConjunction()
20 * @model
21 * @generated
22 */
23public interface Conjunction extends ExistentialQuantifier {
24 /**
25 * Returns the value of the '<em><b>Literals</b></em>' containment reference list.
26 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Literal}.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Literals</em>' containment reference list.
30 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getConjunction_Literals()
31 * @model containment="true"
32 * @generated
33 */
34 EList<Literal> getLiterals();
35
36} // Conjunction
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/EnumDeclaration.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/EnumDeclaration.java
deleted file mode 100644
index 81f2967d..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/EnumDeclaration.java
+++ /dev/null
@@ -1,36 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Enum Declaration</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.model.problem.EnumDeclaration#getLiterals <em>Literals</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getEnumDeclaration()
20 * @model
21 * @generated
22 */
23public interface EnumDeclaration extends Relation, Statement {
24 /**
25 * Returns the value of the '<em><b>Literals</b></em>' containment reference list.
26 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Node}.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Literals</em>' containment reference list.
30 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getEnumDeclaration_Literals()
31 * @model containment="true"
32 * @generated
33 */
34 EList<Node> getLiterals();
35
36} // EnumDeclaration
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExactMultiplicity.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExactMultiplicity.java
deleted file mode 100644
index 413c2ad1..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExactMultiplicity.java
+++ /dev/null
@@ -1,45 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Exact Multiplicity</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity#getExactValue <em>Exact Value</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getExactMultiplicity()
18 * @model
19 * @generated
20 */
21public interface ExactMultiplicity extends Multiplicity {
22 /**
23 * Returns the value of the '<em><b>Exact Value</b></em>' attribute.
24 * The default value is <code>"1"</code>.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @return the value of the '<em>Exact Value</em>' attribute.
28 * @see #setExactValue(int)
29 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getExactMultiplicity_ExactValue()
30 * @model default="1"
31 * @generated
32 */
33 int getExactValue();
34
35 /**
36 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity#getExactValue <em>Exact Value</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @param value the new value of the '<em>Exact Value</em>' attribute.
40 * @see #getExactValue()
41 * @generated
42 */
43 void setExactValue(int value);
44
45} // ExactMultiplicity
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExistentialQuantifier.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExistentialQuantifier.java
deleted file mode 100644
index 1a1d5f8a..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ExistentialQuantifier.java
+++ /dev/null
@@ -1,38 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Existential Quantifier</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier#getImplicitVariables <em>Implicit Variables</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getExistentialQuantifier()
22 * @model interface="true" abstract="true"
23 * @generated
24 */
25public interface ExistentialQuantifier extends EObject {
26 /**
27 * Returns the value of the '<em><b>Implicit Variables</b></em>' containment reference list.
28 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.ImplicitVariable}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Implicit Variables</em>' containment reference list.
32 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getExistentialQuantifier_ImplicitVariables()
33 * @model containment="true"
34 * @generated
35 */
36 EList<ImplicitVariable> getImplicitVariables();
37
38} // ExistentialQuantifier
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ImplicitVariable.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ImplicitVariable.java
deleted file mode 100644
index 6d1793c6..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ImplicitVariable.java
+++ /dev/null
@@ -1,16 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Implicit Variable</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getImplicitVariable()
12 * @model
13 * @generated
14 */
15public interface ImplicitVariable extends Variable {
16} // ImplicitVariable
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Literal.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Literal.java
deleted file mode 100644
index acccf79b..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Literal.java
+++ /dev/null
@@ -1,18 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Literal</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getLiteral()
14 * @model abstract="true"
15 * @generated
16 */
17public interface Literal extends EObject {
18} // Literal
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/LogicValue.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/LogicValue.java
deleted file mode 100644
index 2efbd25a..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/LogicValue.java
+++ /dev/null
@@ -1,227 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import java.util.Arrays;
6import java.util.Collections;
7import java.util.List;
8
9import org.eclipse.emf.common.util.Enumerator;
10
11/**
12 * <!-- begin-user-doc -->
13 * A representation of the literals of the enumeration '<em><b>Logic Value</b></em>',
14 * and utility methods for working with them.
15 * <!-- end-user-doc -->
16 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getLogicValue()
17 * @model
18 * @generated
19 */
20public enum LogicValue implements Enumerator {
21 /**
22 * The '<em><b>TRUE</b></em>' literal object.
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @see #TRUE_VALUE
26 * @generated
27 * @ordered
28 */
29 TRUE(0, "TRUE", "TRUE"),
30
31 /**
32 * The '<em><b>FALSE</b></em>' literal object.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #FALSE_VALUE
36 * @generated
37 * @ordered
38 */
39 FALSE(1, "FALSE", "FALSE"),
40
41 /**
42 * The '<em><b>UNKNOWN</b></em>' literal object.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #UNKNOWN_VALUE
46 * @generated
47 * @ordered
48 */
49 UNKNOWN(2, "UNKNOWN", "UNKNOWN");
50
51 /**
52 * The '<em><b>TRUE</b></em>' literal value.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #TRUE
56 * @model
57 * @generated
58 * @ordered
59 */
60 public static final int TRUE_VALUE = 0;
61
62 /**
63 * The '<em><b>FALSE</b></em>' literal value.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #FALSE
67 * @model
68 * @generated
69 * @ordered
70 */
71 public static final int FALSE_VALUE = 1;
72
73 /**
74 * The '<em><b>UNKNOWN</b></em>' literal value.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #UNKNOWN
78 * @model
79 * @generated
80 * @ordered
81 */
82 public static final int UNKNOWN_VALUE = 2;
83
84 /**
85 * An array of all the '<em><b>Logic Value</b></em>' enumerators.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 private static final LogicValue[] VALUES_ARRAY = new LogicValue[] { TRUE, FALSE, UNKNOWN, };
91
92 /**
93 * A public read-only list of all the '<em><b>Logic Value</b></em>' enumerators.
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 public static final List<LogicValue> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
99
100 /**
101 * Returns the '<em><b>Logic Value</b></em>' literal with the specified literal value.
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @param literal the literal.
105 * @return the matching enumerator or <code>null</code>.
106 * @generated
107 */
108 public static LogicValue get(String literal) {
109 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
110 LogicValue result = VALUES_ARRAY[i];
111 if (result.toString().equals(literal)) {
112 return result;
113 }
114 }
115 return null;
116 }
117
118 /**
119 * Returns the '<em><b>Logic Value</b></em>' literal with the specified name.
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @param name the name.
123 * @return the matching enumerator or <code>null</code>.
124 * @generated
125 */
126 public static LogicValue getByName(String name) {
127 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
128 LogicValue result = VALUES_ARRAY[i];
129 if (result.getName().equals(name)) {
130 return result;
131 }
132 }
133 return null;
134 }
135
136 /**
137 * Returns the '<em><b>Logic Value</b></em>' literal with the specified integer value.
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @param value the integer value.
141 * @return the matching enumerator or <code>null</code>.
142 * @generated
143 */
144 public static LogicValue get(int value) {
145 switch (value) {
146 case TRUE_VALUE:
147 return TRUE;
148 case FALSE_VALUE:
149 return FALSE;
150 case UNKNOWN_VALUE:
151 return UNKNOWN;
152 }
153 return null;
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 private final int value;
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 private final String name;
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 private final String literal;
176
177 /**
178 * Only this class can construct instances.
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 private LogicValue(int value, String name, String literal) {
184 this.value = value;
185 this.name = name;
186 this.literal = literal;
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 public int getValue() {
195 return value;
196 }
197
198 /**
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 */
203 public String getName() {
204 return name;
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 public String getLiteral() {
213 return literal;
214 }
215
216 /**
217 * Returns the literal value of the enumerator, which is its string representation.
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 @Override
223 public String toString() {
224 return literal;
225 }
226
227} //LogicValue
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Multiplicity.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Multiplicity.java
deleted file mode 100644
index d3d573fa..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Multiplicity.java
+++ /dev/null
@@ -1,18 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Multiplicity</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getMultiplicity()
14 * @model abstract="true"
15 * @generated
16 */
17public interface Multiplicity extends EObject {
18} // Multiplicity
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NamedElement.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NamedElement.java
deleted file mode 100644
index 3302b041..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NamedElement.java
+++ /dev/null
@@ -1,46 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Named Element</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.model.problem.NamedElement#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNamedElement()
20 * @model abstract="true"
21 * @generated
22 */
23public interface NamedElement extends EObject {
24 /**
25 * Returns the value of the '<em><b>Name</b></em>' attribute.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return the value of the '<em>Name</em>' attribute.
29 * @see #setName(String)
30 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNamedElement_Name()
31 * @model
32 * @generated
33 */
34 String getName();
35
36 /**
37 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.NamedElement#getName <em>Name</em>}' attribute.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @param value the new value of the '<em>Name</em>' attribute.
41 * @see #getName()
42 * @generated
43 */
44 void setName(String value);
45
46} // NamedElement
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NegativeLiteral.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NegativeLiteral.java
deleted file mode 100644
index ac3aa2b9..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NegativeLiteral.java
+++ /dev/null
@@ -1,44 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Negative Literal</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.NegativeLiteral#getAtom <em>Atom</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNegativeLiteral()
18 * @model
19 * @generated
20 */
21public interface NegativeLiteral extends ExistentialQuantifier, Literal {
22 /**
23 * Returns the value of the '<em><b>Atom</b></em>' containment reference.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @return the value of the '<em>Atom</em>' containment reference.
27 * @see #setAtom(Atom)
28 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNegativeLiteral_Atom()
29 * @model containment="true"
30 * @generated
31 */
32 Atom getAtom();
33
34 /**
35 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.NegativeLiteral#getAtom <em>Atom</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @param value the new value of the '<em>Atom</em>' containment reference.
39 * @see #getAtom()
40 * @generated
41 */
42 void setAtom(Atom value);
43
44} // NegativeLiteral
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Node.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Node.java
deleted file mode 100644
index 3da08af3..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Node.java
+++ /dev/null
@@ -1,16 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Node</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNode()
12 * @model
13 * @generated
14 */
15public interface Node extends VariableOrNode {
16} // Node
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Parameter.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Parameter.java
deleted file mode 100644
index 7bedca1b..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Parameter.java
+++ /dev/null
@@ -1,44 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Parameter</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Parameter#getParameterType <em>Parameter Type</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getParameter()
18 * @model
19 * @generated
20 */
21public interface Parameter extends Variable {
22 /**
23 * Returns the value of the '<em><b>Parameter Type</b></em>' reference.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @return the value of the '<em>Parameter Type</em>' reference.
27 * @see #setParameterType(Relation)
28 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getParameter_ParameterType()
29 * @model
30 * @generated
31 */
32 Relation getParameterType();
33
34 /**
35 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Parameter#getParameterType <em>Parameter Type</em>}' reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @param value the new value of the '<em>Parameter Type</em>' reference.
39 * @see #getParameterType()
40 * @generated
41 */
42 void setParameterType(Relation value);
43
44} // Parameter
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/PredicateDefinition.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/PredicateDefinition.java
deleted file mode 100644
index 175d5fff..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/PredicateDefinition.java
+++ /dev/null
@@ -1,72 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Predicate Definition</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#isError <em>Error</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#getParameters <em>Parameters</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#getBodies <em>Bodies</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getPredicateDefinition()
22 * @model
23 * @generated
24 */
25public interface PredicateDefinition extends Relation, Statement {
26 /**
27 * Returns the value of the '<em><b>Error</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Error</em>' attribute.
31 * @see #setError(boolean)
32 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getPredicateDefinition_Error()
33 * @model
34 * @generated
35 */
36 boolean isError();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#isError <em>Error</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Error</em>' attribute.
43 * @see #isError()
44 * @generated
45 */
46 void setError(boolean value);
47
48 /**
49 * Returns the value of the '<em><b>Parameters</b></em>' containment reference list.
50 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Parameter}.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Parameters</em>' containment reference list.
54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getPredicateDefinition_Parameters()
55 * @model containment="true"
56 * @generated
57 */
58 EList<Parameter> getParameters();
59
60 /**
61 * Returns the value of the '<em><b>Bodies</b></em>' containment reference list.
62 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Conjunction}.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @return the value of the '<em>Bodies</em>' containment reference list.
66 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getPredicateDefinition_Bodies()
67 * @model containment="true"
68 * @generated
69 */
70 EList<Conjunction> getBodies();
71
72} // PredicateDefinition
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java
deleted file mode 100644
index 7e19bd22..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java
+++ /dev/null
@@ -1,49 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Problem</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.model.problem.Problem#getNodes <em>Nodes</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Problem#getStatements <em>Statements</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getProblem()
21 * @model
22 * @generated
23 */
24public interface Problem extends NamedElement {
25 /**
26 * Returns the value of the '<em><b>Nodes</b></em>' containment reference list.
27 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Node}.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Nodes</em>' containment reference list.
31 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getProblem_Nodes()
32 * @model containment="true"
33 * @generated
34 */
35 EList<Node> getNodes();
36
37 /**
38 * Returns the value of the '<em><b>Statements</b></em>' containment reference list.
39 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Statement}.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @return the value of the '<em>Statements</em>' containment reference list.
43 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getProblem_Statements()
44 * @model containment="true"
45 * @generated
46 */
47 EList<Statement> getStatements();
48
49} // Problem
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
deleted file mode 100644
index e4332d19..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
+++ /dev/null
@@ -1,195 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage
13 * @generated
14 */
15public interface ProblemFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 ProblemFactory eINSTANCE = org.eclipse.viatra.solver.language.model.problem.impl.ProblemFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Problem</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Problem</em>'.
29 * @generated
30 */
31 Problem createProblem();
32
33 /**
34 * Returns a new object of class '<em>Class Declaration</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Class Declaration</em>'.
38 * @generated
39 */
40 ClassDeclaration createClassDeclaration();
41
42 /**
43 * Returns a new object of class '<em>Reference Declaration</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Reference Declaration</em>'.
47 * @generated
48 */
49 ReferenceDeclaration createReferenceDeclaration();
50
51 /**
52 * Returns a new object of class '<em>Predicate Definition</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Predicate Definition</em>'.
56 * @generated
57 */
58 PredicateDefinition createPredicateDefinition();
59
60 /**
61 * Returns a new object of class '<em>Parameter</em>'.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return a new object of class '<em>Parameter</em>'.
65 * @generated
66 */
67 Parameter createParameter();
68
69 /**
70 * Returns a new object of class '<em>Conjunction</em>'.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @return a new object of class '<em>Conjunction</em>'.
74 * @generated
75 */
76 Conjunction createConjunction();
77
78 /**
79 * Returns a new object of class '<em>Atom</em>'.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @return a new object of class '<em>Atom</em>'.
83 * @generated
84 */
85 Atom createAtom();
86
87 /**
88 * Returns a new object of class '<em>Implicit Variable</em>'.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @return a new object of class '<em>Implicit Variable</em>'.
92 * @generated
93 */
94 ImplicitVariable createImplicitVariable();
95
96 /**
97 * Returns a new object of class '<em>Negative Literal</em>'.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @return a new object of class '<em>Negative Literal</em>'.
101 * @generated
102 */
103 NegativeLiteral createNegativeLiteral();
104
105 /**
106 * Returns a new object of class '<em>Assertion</em>'.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @return a new object of class '<em>Assertion</em>'.
110 * @generated
111 */
112 Assertion createAssertion();
113
114 /**
115 * Returns a new object of class '<em>Node</em>'.
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @return a new object of class '<em>Node</em>'.
119 * @generated
120 */
121 Node createNode();
122
123 /**
124 * Returns a new object of class '<em>Scope Declaration</em>'.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @return a new object of class '<em>Scope Declaration</em>'.
128 * @generated
129 */
130 ScopeDeclaration createScopeDeclaration();
131
132 /**
133 * Returns a new object of class '<em>Type Scope</em>'.
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @return a new object of class '<em>Type Scope</em>'.
137 * @generated
138 */
139 TypeScope createTypeScope();
140
141 /**
142 * Returns a new object of class '<em>Range Multiplicity</em>'.
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @return a new object of class '<em>Range Multiplicity</em>'.
146 * @generated
147 */
148 RangeMultiplicity createRangeMultiplicity();
149
150 /**
151 * Returns a new object of class '<em>Exact Multiplicity</em>'.
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @return a new object of class '<em>Exact Multiplicity</em>'.
155 * @generated
156 */
157 ExactMultiplicity createExactMultiplicity();
158
159 /**
160 * Returns a new object of class '<em>Unbounded Multiplicity</em>'.
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @return a new object of class '<em>Unbounded Multiplicity</em>'.
164 * @generated
165 */
166 UnboundedMultiplicity createUnboundedMultiplicity();
167
168 /**
169 * Returns a new object of class '<em>Argument</em>'.
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @return a new object of class '<em>Argument</em>'.
173 * @generated
174 */
175 Argument createArgument();
176
177 /**
178 * Returns a new object of class '<em>Enum Declaration</em>'.
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @return a new object of class '<em>Enum Declaration</em>'.
182 * @generated
183 */
184 EnumDeclaration createEnumDeclaration();
185
186 /**
187 * Returns the package supported by this factory.
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @return the package supported by this factory.
191 * @generated
192 */
193 ProblemPackage getProblemPackage();
194
195} //ProblemFactory
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
deleted file mode 100644
index ec96501d..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
+++ /dev/null
@@ -1,2432 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EEnum;
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 operation of each class,</li>
19 * <li>each enum,</li>
20 * <li>and each data type</li>
21 * </ul>
22 * <!-- end-user-doc -->
23 * @see org.eclipse.viatra.solver.language.model.problem.ProblemFactory
24 * @model kind="package"
25 * @generated
26 */
27public interface ProblemPackage extends EPackage {
28 /**
29 * The package name.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 String eNAME = "problem";
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/model/Problem";
43
44 /**
45 * The package namespace name.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 String eNS_PREFIX = "problem";
51
52 /**
53 * The singleton instance of the package.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 ProblemPackage eINSTANCE = org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl.init();
59
60 /**
61 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl <em>Named Element</em>}' class.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl
65 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNamedElement()
66 * @generated
67 */
68 int NAMED_ELEMENT = 4;
69
70 /**
71 * The feature id for the '<em><b>Name</b></em>' attribute.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 * @ordered
76 */
77 int NAMED_ELEMENT__NAME = 0;
78
79 /**
80 * The number of structural features of the '<em>Named Element</em>' class.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 * @ordered
85 */
86 int NAMED_ELEMENT_FEATURE_COUNT = 1;
87
88 /**
89 * The number of operations of the '<em>Named Element</em>' class.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 * @ordered
94 */
95 int NAMED_ELEMENT_OPERATION_COUNT = 0;
96
97 /**
98 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl <em>Problem</em>}' class.
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl
102 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getProblem()
103 * @generated
104 */
105 int PROBLEM = 0;
106
107 /**
108 * The feature id for the '<em><b>Name</b></em>' attribute.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 * @ordered
113 */
114 int PROBLEM__NAME = NAMED_ELEMENT__NAME;
115
116 /**
117 * The feature id for the '<em><b>Nodes</b></em>' containment reference list.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 * @ordered
122 */
123 int PROBLEM__NODES = NAMED_ELEMENT_FEATURE_COUNT + 0;
124
125 /**
126 * The feature id for the '<em><b>Statements</b></em>' containment reference list.
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 * @ordered
131 */
132 int PROBLEM__STATEMENTS = NAMED_ELEMENT_FEATURE_COUNT + 1;
133
134 /**
135 * The number of structural features of the '<em>Problem</em>' class.
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 * @ordered
140 */
141 int PROBLEM_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 2;
142
143 /**
144 * The number of operations of the '<em>Problem</em>' class.
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 * @ordered
149 */
150 int PROBLEM_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
151
152 /**
153 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RelationImpl <em>Relation</em>}' class.
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @see org.eclipse.viatra.solver.language.model.problem.impl.RelationImpl
157 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getRelation()
158 * @generated
159 */
160 int RELATION = 1;
161
162 /**
163 * The feature id for the '<em><b>Name</b></em>' attribute.
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 * @ordered
168 */
169 int RELATION__NAME = NAMED_ELEMENT__NAME;
170
171 /**
172 * The number of structural features of the '<em>Relation</em>' class.
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 * @ordered
177 */
178 int RELATION_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 0;
179
180 /**
181 * The number of operations of the '<em>Relation</em>' class.
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 * @ordered
186 */
187 int RELATION_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
188
189 /**
190 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl <em>Class Declaration</em>}' class.
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @see org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl
194 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getClassDeclaration()
195 * @generated
196 */
197 int CLASS_DECLARATION = 2;
198
199 /**
200 * The feature id for the '<em><b>Name</b></em>' attribute.
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 * @ordered
205 */
206 int CLASS_DECLARATION__NAME = RELATION__NAME;
207
208 /**
209 * The feature id for the '<em><b>Abstract</b></em>' attribute.
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 * @ordered
214 */
215 int CLASS_DECLARATION__ABSTRACT = RELATION_FEATURE_COUNT + 0;
216
217 /**
218 * The feature id for the '<em><b>Super Types</b></em>' reference list.
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 * @ordered
223 */
224 int CLASS_DECLARATION__SUPER_TYPES = RELATION_FEATURE_COUNT + 1;
225
226 /**
227 * The feature id for the '<em><b>Reference Declarations</b></em>' containment reference list.
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 * @ordered
232 */
233 int CLASS_DECLARATION__REFERENCE_DECLARATIONS = RELATION_FEATURE_COUNT + 2;
234
235 /**
236 * The feature id for the '<em><b>New Node</b></em>' containment reference.
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 * @ordered
241 */
242 int CLASS_DECLARATION__NEW_NODE = RELATION_FEATURE_COUNT + 3;
243
244 /**
245 * The number of structural features of the '<em>Class Declaration</em>' class.
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 * @ordered
250 */
251 int CLASS_DECLARATION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 4;
252
253 /**
254 * The number of operations of the '<em>Class Declaration</em>' class.
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @generated
258 * @ordered
259 */
260 int CLASS_DECLARATION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0;
261
262 /**
263 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl <em>Reference Declaration</em>}' class.
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @see org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl
267 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getReferenceDeclaration()
268 * @generated
269 */
270 int REFERENCE_DECLARATION = 3;
271
272 /**
273 * The feature id for the '<em><b>Name</b></em>' attribute.
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 * @ordered
278 */
279 int REFERENCE_DECLARATION__NAME = RELATION__NAME;
280
281 /**
282 * The feature id for the '<em><b>Reference Type</b></em>' reference.
283 * <!-- begin-user-doc -->
284 * <!-- end-user-doc -->
285 * @generated
286 * @ordered
287 */
288 int REFERENCE_DECLARATION__REFERENCE_TYPE = RELATION_FEATURE_COUNT + 0;
289
290 /**
291 * The feature id for the '<em><b>Opposite</b></em>' reference.
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 * @ordered
296 */
297 int REFERENCE_DECLARATION__OPPOSITE = RELATION_FEATURE_COUNT + 1;
298
299 /**
300 * The feature id for the '<em><b>Containment</b></em>' attribute.
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 * @ordered
305 */
306 int REFERENCE_DECLARATION__CONTAINMENT = RELATION_FEATURE_COUNT + 2;
307
308 /**
309 * The feature id for the '<em><b>Multiplicity</b></em>' containment reference.
310 * <!-- begin-user-doc -->
311 * <!-- end-user-doc -->
312 * @generated
313 * @ordered
314 */
315 int REFERENCE_DECLARATION__MULTIPLICITY = RELATION_FEATURE_COUNT + 3;
316
317 /**
318 * The number of structural features of the '<em>Reference Declaration</em>' class.
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @generated
322 * @ordered
323 */
324 int REFERENCE_DECLARATION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 4;
325
326 /**
327 * The number of operations of the '<em>Reference Declaration</em>' class.
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @generated
331 * @ordered
332 */
333 int REFERENCE_DECLARATION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0;
334
335 /**
336 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
337 * <!-- begin-user-doc -->
338 * <!-- end-user-doc -->
339 * @see org.eclipse.viatra.solver.language.model.problem.impl.PredicateDefinitionImpl
340 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getPredicateDefinition()
341 * @generated
342 */
343 int PREDICATE_DEFINITION = 5;
344
345 /**
346 * The feature id for the '<em><b>Name</b></em>' attribute.
347 * <!-- begin-user-doc -->
348 * <!-- end-user-doc -->
349 * @generated
350 * @ordered
351 */
352 int PREDICATE_DEFINITION__NAME = RELATION__NAME;
353
354 /**
355 * The feature id for the '<em><b>Error</b></em>' attribute.
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 * @ordered
360 */
361 int PREDICATE_DEFINITION__ERROR = RELATION_FEATURE_COUNT + 0;
362
363 /**
364 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
365 * <!-- begin-user-doc -->
366 * <!-- end-user-doc -->
367 * @generated
368 * @ordered
369 */
370 int PREDICATE_DEFINITION__PARAMETERS = RELATION_FEATURE_COUNT + 1;
371
372 /**
373 * The feature id for the '<em><b>Bodies</b></em>' containment reference list.
374 * <!-- begin-user-doc -->
375 * <!-- end-user-doc -->
376 * @generated
377 * @ordered
378 */
379 int PREDICATE_DEFINITION__BODIES = RELATION_FEATURE_COUNT + 2;
380
381 /**
382 * The number of structural features of the '<em>Predicate Definition</em>' class.
383 * <!-- begin-user-doc -->
384 * <!-- end-user-doc -->
385 * @generated
386 * @ordered
387 */
388 int PREDICATE_DEFINITION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 3;
389
390 /**
391 * The number of operations of the '<em>Predicate Definition</em>' class.
392 * <!-- begin-user-doc -->
393 * <!-- end-user-doc -->
394 * @generated
395 * @ordered
396 */
397 int PREDICATE_DEFINITION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0;
398
399 /**
400 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeImpl <em>Variable Or Node</em>}' class.
401 * <!-- begin-user-doc -->
402 * <!-- end-user-doc -->
403 * @see org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeImpl
404 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getVariableOrNode()
405 * @generated
406 */
407 int VARIABLE_OR_NODE = 25;
408
409 /**
410 * The feature id for the '<em><b>Name</b></em>' attribute.
411 * <!-- begin-user-doc -->
412 * <!-- end-user-doc -->
413 * @generated
414 * @ordered
415 */
416 int VARIABLE_OR_NODE__NAME = NAMED_ELEMENT__NAME;
417
418 /**
419 * The number of structural features of the '<em>Variable Or Node</em>' class.
420 * <!-- begin-user-doc -->
421 * <!-- end-user-doc -->
422 * @generated
423 * @ordered
424 */
425 int VARIABLE_OR_NODE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 0;
426
427 /**
428 * The number of operations of the '<em>Variable Or Node</em>' class.
429 * <!-- begin-user-doc -->
430 * <!-- end-user-doc -->
431 * @generated
432 * @ordered
433 */
434 int VARIABLE_OR_NODE_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
435
436 /**
437 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableImpl <em>Variable</em>}' class.
438 * <!-- begin-user-doc -->
439 * <!-- end-user-doc -->
440 * @see org.eclipse.viatra.solver.language.model.problem.impl.VariableImpl
441 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getVariable()
442 * @generated
443 */
444 int VARIABLE = 7;
445
446 /**
447 * The feature id for the '<em><b>Name</b></em>' attribute.
448 * <!-- begin-user-doc -->
449 * <!-- end-user-doc -->
450 * @generated
451 * @ordered
452 */
453 int VARIABLE__NAME = VARIABLE_OR_NODE__NAME;
454
455 /**
456 * The number of structural features of the '<em>Variable</em>' class.
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @generated
460 * @ordered
461 */
462 int VARIABLE_FEATURE_COUNT = VARIABLE_OR_NODE_FEATURE_COUNT + 0;
463
464 /**
465 * The number of operations of the '<em>Variable</em>' class.
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 * @ordered
470 */
471 int VARIABLE_OPERATION_COUNT = VARIABLE_OR_NODE_OPERATION_COUNT + 0;
472
473 /**
474 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ParameterImpl <em>Parameter</em>}' class.
475 * <!-- begin-user-doc -->
476 * <!-- end-user-doc -->
477 * @see org.eclipse.viatra.solver.language.model.problem.impl.ParameterImpl
478 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getParameter()
479 * @generated
480 */
481 int PARAMETER = 6;
482
483 /**
484 * The feature id for the '<em><b>Name</b></em>' attribute.
485 * <!-- begin-user-doc -->
486 * <!-- end-user-doc -->
487 * @generated
488 * @ordered
489 */
490 int PARAMETER__NAME = VARIABLE__NAME;
491
492 /**
493 * The feature id for the '<em><b>Parameter Type</b></em>' reference.
494 * <!-- begin-user-doc -->
495 * <!-- end-user-doc -->
496 * @generated
497 * @ordered
498 */
499 int PARAMETER__PARAMETER_TYPE = VARIABLE_FEATURE_COUNT + 0;
500
501 /**
502 * The number of structural features of the '<em>Parameter</em>' class.
503 * <!-- begin-user-doc -->
504 * <!-- end-user-doc -->
505 * @generated
506 * @ordered
507 */
508 int PARAMETER_FEATURE_COUNT = VARIABLE_FEATURE_COUNT + 1;
509
510 /**
511 * The number of operations of the '<em>Parameter</em>' class.
512 * <!-- begin-user-doc -->
513 * <!-- end-user-doc -->
514 * @generated
515 * @ordered
516 */
517 int PARAMETER_OPERATION_COUNT = VARIABLE_OPERATION_COUNT + 0;
518
519 /**
520 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier <em>Existential Quantifier</em>}' class.
521 * <!-- begin-user-doc -->
522 * <!-- end-user-doc -->
523 * @see org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier
524 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getExistentialQuantifier()
525 * @generated
526 */
527 int EXISTENTIAL_QUANTIFIER = 13;
528
529 /**
530 * The feature id for the '<em><b>Implicit Variables</b></em>' containment reference list.
531 * <!-- begin-user-doc -->
532 * <!-- end-user-doc -->
533 * @generated
534 * @ordered
535 */
536 int EXISTENTIAL_QUANTIFIER__IMPLICIT_VARIABLES = 0;
537
538 /**
539 * The number of structural features of the '<em>Existential Quantifier</em>' class.
540 * <!-- begin-user-doc -->
541 * <!-- end-user-doc -->
542 * @generated
543 * @ordered
544 */
545 int EXISTENTIAL_QUANTIFIER_FEATURE_COUNT = 1;
546
547 /**
548 * The number of operations of the '<em>Existential Quantifier</em>' class.
549 * <!-- begin-user-doc -->
550 * <!-- end-user-doc -->
551 * @generated
552 * @ordered
553 */
554 int EXISTENTIAL_QUANTIFIER_OPERATION_COUNT = 0;
555
556 /**
557 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConjunctionImpl <em>Conjunction</em>}' class.
558 * <!-- begin-user-doc -->
559 * <!-- end-user-doc -->
560 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConjunctionImpl
561 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConjunction()
562 * @generated
563 */
564 int CONJUNCTION = 8;
565
566 /**
567 * The feature id for the '<em><b>Implicit Variables</b></em>' containment reference list.
568 * <!-- begin-user-doc -->
569 * <!-- end-user-doc -->
570 * @generated
571 * @ordered
572 */
573 int CONJUNCTION__IMPLICIT_VARIABLES = EXISTENTIAL_QUANTIFIER__IMPLICIT_VARIABLES;
574
575 /**
576 * The feature id for the '<em><b>Literals</b></em>' containment reference list.
577 * <!-- begin-user-doc -->
578 * <!-- end-user-doc -->
579 * @generated
580 * @ordered
581 */
582 int CONJUNCTION__LITERALS = EXISTENTIAL_QUANTIFIER_FEATURE_COUNT + 0;
583
584 /**
585 * The number of structural features of the '<em>Conjunction</em>' class.
586 * <!-- begin-user-doc -->
587 * <!-- end-user-doc -->
588 * @generated
589 * @ordered
590 */
591 int CONJUNCTION_FEATURE_COUNT = EXISTENTIAL_QUANTIFIER_FEATURE_COUNT + 1;
592
593 /**
594 * The number of operations of the '<em>Conjunction</em>' class.
595 * <!-- begin-user-doc -->
596 * <!-- end-user-doc -->
597 * @generated
598 * @ordered
599 */
600 int CONJUNCTION_OPERATION_COUNT = EXISTENTIAL_QUANTIFIER_OPERATION_COUNT + 0;
601
602 /**
603 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.LiteralImpl <em>Literal</em>}' class.
604 * <!-- begin-user-doc -->
605 * <!-- end-user-doc -->
606 * @see org.eclipse.viatra.solver.language.model.problem.impl.LiteralImpl
607 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLiteral()
608 * @generated
609 */
610 int LITERAL = 9;
611
612 /**
613 * The number of structural features of the '<em>Literal</em>' class.
614 * <!-- begin-user-doc -->
615 * <!-- end-user-doc -->
616 * @generated
617 * @ordered
618 */
619 int LITERAL_FEATURE_COUNT = 0;
620
621 /**
622 * The number of operations of the '<em>Literal</em>' class.
623 * <!-- begin-user-doc -->
624 * <!-- end-user-doc -->
625 * @generated
626 * @ordered
627 */
628 int LITERAL_OPERATION_COUNT = 0;
629
630 /**
631 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl <em>Atom</em>}' class.
632 * <!-- begin-user-doc -->
633 * <!-- end-user-doc -->
634 * @see org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl
635 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getAtom()
636 * @generated
637 */
638 int ATOM = 10;
639
640 /**
641 * The feature id for the '<em><b>Relation</b></em>' reference.
642 * <!-- begin-user-doc -->
643 * <!-- end-user-doc -->
644 * @generated
645 * @ordered
646 */
647 int ATOM__RELATION = LITERAL_FEATURE_COUNT + 0;
648
649 /**
650 * The feature id for the '<em><b>Transitive Closure</b></em>' attribute.
651 * <!-- begin-user-doc -->
652 * <!-- end-user-doc -->
653 * @generated
654 * @ordered
655 */
656 int ATOM__TRANSITIVE_CLOSURE = LITERAL_FEATURE_COUNT + 1;
657
658 /**
659 * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
660 * <!-- begin-user-doc -->
661 * <!-- end-user-doc -->
662 * @generated
663 * @ordered
664 */
665 int ATOM__ARGUMENTS = LITERAL_FEATURE_COUNT + 2;
666
667 /**
668 * The number of structural features of the '<em>Atom</em>' class.
669 * <!-- begin-user-doc -->
670 * <!-- end-user-doc -->
671 * @generated
672 * @ordered
673 */
674 int ATOM_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 3;
675
676 /**
677 * The number of operations of the '<em>Atom</em>' class.
678 * <!-- begin-user-doc -->
679 * <!-- end-user-doc -->
680 * @generated
681 * @ordered
682 */
683 int ATOM_OPERATION_COUNT = LITERAL_OPERATION_COUNT + 0;
684
685 /**
686 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ImplicitVariableImpl <em>Implicit Variable</em>}' class.
687 * <!-- begin-user-doc -->
688 * <!-- end-user-doc -->
689 * @see org.eclipse.viatra.solver.language.model.problem.impl.ImplicitVariableImpl
690 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getImplicitVariable()
691 * @generated
692 */
693 int IMPLICIT_VARIABLE = 11;
694
695 /**
696 * The feature id for the '<em><b>Name</b></em>' attribute.
697 * <!-- begin-user-doc -->
698 * <!-- end-user-doc -->
699 * @generated
700 * @ordered
701 */
702 int IMPLICIT_VARIABLE__NAME = VARIABLE__NAME;
703
704 /**
705 * The number of structural features of the '<em>Implicit Variable</em>' class.
706 * <!-- begin-user-doc -->
707 * <!-- end-user-doc -->
708 * @generated
709 * @ordered
710 */
711 int IMPLICIT_VARIABLE_FEATURE_COUNT = VARIABLE_FEATURE_COUNT + 0;
712
713 /**
714 * The number of operations of the '<em>Implicit Variable</em>' class.
715 * <!-- begin-user-doc -->
716 * <!-- end-user-doc -->
717 * @generated
718 * @ordered
719 */
720 int IMPLICIT_VARIABLE_OPERATION_COUNT = VARIABLE_OPERATION_COUNT + 0;
721
722 /**
723 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NegativeLiteralImpl <em>Negative Literal</em>}' class.
724 * <!-- begin-user-doc -->
725 * <!-- end-user-doc -->
726 * @see org.eclipse.viatra.solver.language.model.problem.impl.NegativeLiteralImpl
727 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNegativeLiteral()
728 * @generated
729 */
730 int NEGATIVE_LITERAL = 12;
731
732 /**
733 * The feature id for the '<em><b>Implicit Variables</b></em>' containment reference list.
734 * <!-- begin-user-doc -->
735 * <!-- end-user-doc -->
736 * @generated
737 * @ordered
738 */
739 int NEGATIVE_LITERAL__IMPLICIT_VARIABLES = EXISTENTIAL_QUANTIFIER__IMPLICIT_VARIABLES;
740
741 /**
742 * The feature id for the '<em><b>Atom</b></em>' containment reference.
743 * <!-- begin-user-doc -->
744 * <!-- end-user-doc -->
745 * @generated
746 * @ordered
747 */
748 int NEGATIVE_LITERAL__ATOM = EXISTENTIAL_QUANTIFIER_FEATURE_COUNT + 0;
749
750 /**
751 * The number of structural features of the '<em>Negative Literal</em>' class.
752 * <!-- begin-user-doc -->
753 * <!-- end-user-doc -->
754 * @generated
755 * @ordered
756 */
757 int NEGATIVE_LITERAL_FEATURE_COUNT = EXISTENTIAL_QUANTIFIER_FEATURE_COUNT + 1;
758
759 /**
760 * The number of operations of the '<em>Negative Literal</em>' class.
761 * <!-- begin-user-doc -->
762 * <!-- end-user-doc -->
763 * @generated
764 * @ordered
765 */
766 int NEGATIVE_LITERAL_OPERATION_COUNT = EXISTENTIAL_QUANTIFIER_OPERATION_COUNT + 0;
767
768 /**
769 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.Statement <em>Statement</em>}' class.
770 * <!-- begin-user-doc -->
771 * <!-- end-user-doc -->
772 * @see org.eclipse.viatra.solver.language.model.problem.Statement
773 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getStatement()
774 * @generated
775 */
776 int STATEMENT = 17;
777
778 /**
779 * The number of structural features of the '<em>Statement</em>' class.
780 * <!-- begin-user-doc -->
781 * <!-- end-user-doc -->
782 * @generated
783 * @ordered
784 */
785 int STATEMENT_FEATURE_COUNT = 0;
786
787 /**
788 * The number of operations of the '<em>Statement</em>' class.
789 * <!-- begin-user-doc -->
790 * <!-- end-user-doc -->
791 * @generated
792 * @ordered
793 */
794 int STATEMENT_OPERATION_COUNT = 0;
795
796 /**
797 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl <em>Assertion</em>}' class.
798 * <!-- begin-user-doc -->
799 * <!-- end-user-doc -->
800 * @see org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl
801 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getAssertion()
802 * @generated
803 */
804 int ASSERTION = 14;
805
806 /**
807 * The feature id for the '<em><b>Relation</b></em>' reference.
808 * <!-- begin-user-doc -->
809 * <!-- end-user-doc -->
810 * @generated
811 * @ordered
812 */
813 int ASSERTION__RELATION = STATEMENT_FEATURE_COUNT + 0;
814
815 /**
816 * The feature id for the '<em><b>Arguments</b></em>' reference list.
817 * <!-- begin-user-doc -->
818 * <!-- end-user-doc -->
819 * @generated
820 * @ordered
821 */
822 int ASSERTION__ARGUMENTS = STATEMENT_FEATURE_COUNT + 1;
823
824 /**
825 * The feature id for the '<em><b>Value</b></em>' attribute.
826 * <!-- begin-user-doc -->
827 * <!-- end-user-doc -->
828 * @generated
829 * @ordered
830 */
831 int ASSERTION__VALUE = STATEMENT_FEATURE_COUNT + 2;
832
833 /**
834 * The number of structural features of the '<em>Assertion</em>' class.
835 * <!-- begin-user-doc -->
836 * <!-- end-user-doc -->
837 * @generated
838 * @ordered
839 */
840 int ASSERTION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3;
841
842 /**
843 * The number of operations of the '<em>Assertion</em>' class.
844 * <!-- begin-user-doc -->
845 * <!-- end-user-doc -->
846 * @generated
847 * @ordered
848 */
849 int ASSERTION_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 0;
850
851 /**
852 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeImpl <em>Node</em>}' class.
853 * <!-- begin-user-doc -->
854 * <!-- end-user-doc -->
855 * @see org.eclipse.viatra.solver.language.model.problem.impl.NodeImpl
856 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNode()
857 * @generated
858 */
859 int NODE = 15;
860
861 /**
862 * The feature id for the '<em><b>Name</b></em>' attribute.
863 * <!-- begin-user-doc -->
864 * <!-- end-user-doc -->
865 * @generated
866 * @ordered
867 */
868 int NODE__NAME = VARIABLE_OR_NODE__NAME;
869
870 /**
871 * The number of structural features of the '<em>Node</em>' class.
872 * <!-- begin-user-doc -->
873 * <!-- end-user-doc -->
874 * @generated
875 * @ordered
876 */
877 int NODE_FEATURE_COUNT = VARIABLE_OR_NODE_FEATURE_COUNT + 0;
878
879 /**
880 * The number of operations of the '<em>Node</em>' class.
881 * <!-- begin-user-doc -->
882 * <!-- end-user-doc -->
883 * @generated
884 * @ordered
885 */
886 int NODE_OPERATION_COUNT = VARIABLE_OR_NODE_OPERATION_COUNT + 0;
887
888 /**
889 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ScopeDeclarationImpl <em>Scope Declaration</em>}' class.
890 * <!-- begin-user-doc -->
891 * <!-- end-user-doc -->
892 * @see org.eclipse.viatra.solver.language.model.problem.impl.ScopeDeclarationImpl
893 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getScopeDeclaration()
894 * @generated
895 */
896 int SCOPE_DECLARATION = 16;
897
898 /**
899 * The feature id for the '<em><b>Type Scopes</b></em>' containment reference list.
900 * <!-- begin-user-doc -->
901 * <!-- end-user-doc -->
902 * @generated
903 * @ordered
904 */
905 int SCOPE_DECLARATION__TYPE_SCOPES = STATEMENT_FEATURE_COUNT + 0;
906
907 /**
908 * The number of structural features of the '<em>Scope Declaration</em>' class.
909 * <!-- begin-user-doc -->
910 * <!-- end-user-doc -->
911 * @generated
912 * @ordered
913 */
914 int SCOPE_DECLARATION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
915
916 /**
917 * The number of operations of the '<em>Scope Declaration</em>' class.
918 * <!-- begin-user-doc -->
919 * <!-- end-user-doc -->
920 * @generated
921 * @ordered
922 */
923 int SCOPE_DECLARATION_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 0;
924
925 /**
926 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.TypeScopeImpl <em>Type Scope</em>}' class.
927 * <!-- begin-user-doc -->
928 * <!-- end-user-doc -->
929 * @see org.eclipse.viatra.solver.language.model.problem.impl.TypeScopeImpl
930 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getTypeScope()
931 * @generated
932 */
933 int TYPE_SCOPE = 18;
934
935 /**
936 * The feature id for the '<em><b>Target Type</b></em>' reference.
937 * <!-- begin-user-doc -->
938 * <!-- end-user-doc -->
939 * @generated
940 * @ordered
941 */
942 int TYPE_SCOPE__TARGET_TYPE = 0;
943
944 /**
945 * The feature id for the '<em><b>Increment</b></em>' attribute.
946 * <!-- begin-user-doc -->
947 * <!-- end-user-doc -->
948 * @generated
949 * @ordered
950 */
951 int TYPE_SCOPE__INCREMENT = 1;
952
953 /**
954 * The feature id for the '<em><b>Multiplicity</b></em>' containment reference.
955 * <!-- begin-user-doc -->
956 * <!-- end-user-doc -->
957 * @generated
958 * @ordered
959 */
960 int TYPE_SCOPE__MULTIPLICITY = 2;
961
962 /**
963 * The number of structural features of the '<em>Type Scope</em>' class.
964 * <!-- begin-user-doc -->
965 * <!-- end-user-doc -->
966 * @generated
967 * @ordered
968 */
969 int TYPE_SCOPE_FEATURE_COUNT = 3;
970
971 /**
972 * The number of operations of the '<em>Type Scope</em>' class.
973 * <!-- begin-user-doc -->
974 * <!-- end-user-doc -->
975 * @generated
976 * @ordered
977 */
978 int TYPE_SCOPE_OPERATION_COUNT = 0;
979
980 /**
981 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.MultiplicityImpl <em>Multiplicity</em>}' class.
982 * <!-- begin-user-doc -->
983 * <!-- end-user-doc -->
984 * @see org.eclipse.viatra.solver.language.model.problem.impl.MultiplicityImpl
985 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getMultiplicity()
986 * @generated
987 */
988 int MULTIPLICITY = 19;
989
990 /**
991 * The number of structural features of the '<em>Multiplicity</em>' class.
992 * <!-- begin-user-doc -->
993 * <!-- end-user-doc -->
994 * @generated
995 * @ordered
996 */
997 int MULTIPLICITY_FEATURE_COUNT = 0;
998
999 /**
1000 * The number of operations of the '<em>Multiplicity</em>' class.
1001 * <!-- begin-user-doc -->
1002 * <!-- end-user-doc -->
1003 * @generated
1004 * @ordered
1005 */
1006 int MULTIPLICITY_OPERATION_COUNT = 0;
1007
1008 /**
1009 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RangeMultiplicityImpl <em>Range Multiplicity</em>}' class.
1010 * <!-- begin-user-doc -->
1011 * <!-- end-user-doc -->
1012 * @see org.eclipse.viatra.solver.language.model.problem.impl.RangeMultiplicityImpl
1013 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getRangeMultiplicity()
1014 * @generated
1015 */
1016 int RANGE_MULTIPLICITY = 20;
1017
1018 /**
1019 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1020 * <!-- begin-user-doc -->
1021 * <!-- end-user-doc -->
1022 * @generated
1023 * @ordered
1024 */
1025 int RANGE_MULTIPLICITY__LOWER_BOUND = MULTIPLICITY_FEATURE_COUNT + 0;
1026
1027 /**
1028 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
1029 * <!-- begin-user-doc -->
1030 * <!-- end-user-doc -->
1031 * @generated
1032 * @ordered
1033 */
1034 int RANGE_MULTIPLICITY__UPPER_BOUND = MULTIPLICITY_FEATURE_COUNT + 1;
1035
1036 /**
1037 * The number of structural features of the '<em>Range Multiplicity</em>' class.
1038 * <!-- begin-user-doc -->
1039 * <!-- end-user-doc -->
1040 * @generated
1041 * @ordered
1042 */
1043 int RANGE_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 2;
1044
1045 /**
1046 * The number of operations of the '<em>Range Multiplicity</em>' class.
1047 * <!-- begin-user-doc -->
1048 * <!-- end-user-doc -->
1049 * @generated
1050 * @ordered
1051 */
1052 int RANGE_MULTIPLICITY_OPERATION_COUNT = MULTIPLICITY_OPERATION_COUNT + 0;
1053
1054 /**
1055 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ExactMultiplicityImpl <em>Exact Multiplicity</em>}' class.
1056 * <!-- begin-user-doc -->
1057 * <!-- end-user-doc -->
1058 * @see org.eclipse.viatra.solver.language.model.problem.impl.ExactMultiplicityImpl
1059 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getExactMultiplicity()
1060 * @generated
1061 */
1062 int EXACT_MULTIPLICITY = 21;
1063
1064 /**
1065 * The feature id for the '<em><b>Exact Value</b></em>' attribute.
1066 * <!-- begin-user-doc -->
1067 * <!-- end-user-doc -->
1068 * @generated
1069 * @ordered
1070 */
1071 int EXACT_MULTIPLICITY__EXACT_VALUE = MULTIPLICITY_FEATURE_COUNT + 0;
1072
1073 /**
1074 * The number of structural features of the '<em>Exact Multiplicity</em>' class.
1075 * <!-- begin-user-doc -->
1076 * <!-- end-user-doc -->
1077 * @generated
1078 * @ordered
1079 */
1080 int EXACT_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 1;
1081
1082 /**
1083 * The number of operations of the '<em>Exact Multiplicity</em>' class.
1084 * <!-- begin-user-doc -->
1085 * <!-- end-user-doc -->
1086 * @generated
1087 * @ordered
1088 */
1089 int EXACT_MULTIPLICITY_OPERATION_COUNT = MULTIPLICITY_OPERATION_COUNT + 0;
1090
1091 /**
1092 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.UnboundedMultiplicityImpl <em>Unbounded Multiplicity</em>}' class.
1093 * <!-- begin-user-doc -->
1094 * <!-- end-user-doc -->
1095 * @see org.eclipse.viatra.solver.language.model.problem.impl.UnboundedMultiplicityImpl
1096 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getUnboundedMultiplicity()
1097 * @generated
1098 */
1099 int UNBOUNDED_MULTIPLICITY = 22;
1100
1101 /**
1102 * The number of structural features of the '<em>Unbounded Multiplicity</em>' class.
1103 * <!-- begin-user-doc -->
1104 * <!-- end-user-doc -->
1105 * @generated
1106 * @ordered
1107 */
1108 int UNBOUNDED_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 0;
1109
1110 /**
1111 * The number of operations of the '<em>Unbounded Multiplicity</em>' class.
1112 * <!-- begin-user-doc -->
1113 * <!-- end-user-doc -->
1114 * @generated
1115 * @ordered
1116 */
1117 int UNBOUNDED_MULTIPLICITY_OPERATION_COUNT = MULTIPLICITY_OPERATION_COUNT + 0;
1118
1119 /**
1120 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl <em>Argument</em>}' class.
1121 * <!-- begin-user-doc -->
1122 * <!-- end-user-doc -->
1123 * @see org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl
1124 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getArgument()
1125 * @generated
1126 */
1127 int ARGUMENT = 23;
1128
1129 /**
1130 * The feature id for the '<em><b>Variable Or Node</b></em>' reference.
1131 * <!-- begin-user-doc -->
1132 * <!-- end-user-doc -->
1133 * @generated
1134 * @ordered
1135 */
1136 int ARGUMENT__VARIABLE_OR_NODE = 0;
1137
1138 /**
1139 * The feature id for the '<em><b>Singleton Variable</b></em>' containment reference.
1140 * <!-- begin-user-doc -->
1141 * <!-- end-user-doc -->
1142 * @generated
1143 * @ordered
1144 */
1145 int ARGUMENT__SINGLETON_VARIABLE = 1;
1146
1147 /**
1148 * The number of structural features of the '<em>Argument</em>' class.
1149 * <!-- begin-user-doc -->
1150 * <!-- end-user-doc -->
1151 * @generated
1152 * @ordered
1153 */
1154 int ARGUMENT_FEATURE_COUNT = 2;
1155
1156 /**
1157 * The number of operations of the '<em>Argument</em>' class.
1158 * <!-- begin-user-doc -->
1159 * <!-- end-user-doc -->
1160 * @generated
1161 * @ordered
1162 */
1163 int ARGUMENT_OPERATION_COUNT = 0;
1164
1165 /**
1166 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl <em>Enum Declaration</em>}' class.
1167 * <!-- begin-user-doc -->
1168 * <!-- end-user-doc -->
1169 * @see org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl
1170 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getEnumDeclaration()
1171 * @generated
1172 */
1173 int ENUM_DECLARATION = 24;
1174
1175 /**
1176 * The feature id for the '<em><b>Name</b></em>' attribute.
1177 * <!-- begin-user-doc -->
1178 * <!-- end-user-doc -->
1179 * @generated
1180 * @ordered
1181 */
1182 int ENUM_DECLARATION__NAME = RELATION__NAME;
1183
1184 /**
1185 * The feature id for the '<em><b>Literals</b></em>' containment reference list.
1186 * <!-- begin-user-doc -->
1187 * <!-- end-user-doc -->
1188 * @generated
1189 * @ordered
1190 */
1191 int ENUM_DECLARATION__LITERALS = RELATION_FEATURE_COUNT + 0;
1192
1193 /**
1194 * The number of structural features of the '<em>Enum Declaration</em>' class.
1195 * <!-- begin-user-doc -->
1196 * <!-- end-user-doc -->
1197 * @generated
1198 * @ordered
1199 */
1200 int ENUM_DECLARATION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 1;
1201
1202 /**
1203 * The number of operations of the '<em>Enum Declaration</em>' class.
1204 * <!-- begin-user-doc -->
1205 * <!-- end-user-doc -->
1206 * @generated
1207 * @ordered
1208 */
1209 int ENUM_DECLARATION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0;
1210
1211 /**
1212 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum.
1213 * <!-- begin-user-doc -->
1214 * <!-- end-user-doc -->
1215 * @see org.eclipse.viatra.solver.language.model.problem.LogicValue
1216 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLogicValue()
1217 * @generated
1218 */
1219 int LOGIC_VALUE = 26;
1220
1221 /**
1222 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Problem <em>Problem</em>}'.
1223 * <!-- begin-user-doc -->
1224 * <!-- end-user-doc -->
1225 * @return the meta object for class '<em>Problem</em>'.
1226 * @see org.eclipse.viatra.solver.language.model.problem.Problem
1227 * @generated
1228 */
1229 EClass getProblem();
1230
1231 /**
1232 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.Problem#getNodes <em>Nodes</em>}'.
1233 * <!-- begin-user-doc -->
1234 * <!-- end-user-doc -->
1235 * @return the meta object for the containment reference list '<em>Nodes</em>'.
1236 * @see org.eclipse.viatra.solver.language.model.problem.Problem#getNodes()
1237 * @see #getProblem()
1238 * @generated
1239 */
1240 EReference getProblem_Nodes();
1241
1242 /**
1243 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.Problem#getStatements <em>Statements</em>}'.
1244 * <!-- begin-user-doc -->
1245 * <!-- end-user-doc -->
1246 * @return the meta object for the containment reference list '<em>Statements</em>'.
1247 * @see org.eclipse.viatra.solver.language.model.problem.Problem#getStatements()
1248 * @see #getProblem()
1249 * @generated
1250 */
1251 EReference getProblem_Statements();
1252
1253 /**
1254 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Relation <em>Relation</em>}'.
1255 * <!-- begin-user-doc -->
1256 * <!-- end-user-doc -->
1257 * @return the meta object for class '<em>Relation</em>'.
1258 * @see org.eclipse.viatra.solver.language.model.problem.Relation
1259 * @generated
1260 */
1261 EClass getRelation();
1262
1263 /**
1264 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration <em>Class Declaration</em>}'.
1265 * <!-- begin-user-doc -->
1266 * <!-- end-user-doc -->
1267 * @return the meta object for class '<em>Class Declaration</em>'.
1268 * @see org.eclipse.viatra.solver.language.model.problem.ClassDeclaration
1269 * @generated
1270 */
1271 EClass getClassDeclaration();
1272
1273 /**
1274 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#isAbstract <em>Abstract</em>}'.
1275 * <!-- begin-user-doc -->
1276 * <!-- end-user-doc -->
1277 * @return the meta object for the attribute '<em>Abstract</em>'.
1278 * @see org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#isAbstract()
1279 * @see #getClassDeclaration()
1280 * @generated
1281 */
1282 EAttribute getClassDeclaration_Abstract();
1283
1284 /**
1285 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getSuperTypes <em>Super Types</em>}'.
1286 * <!-- begin-user-doc -->
1287 * <!-- end-user-doc -->
1288 * @return the meta object for the reference list '<em>Super Types</em>'.
1289 * @see org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getSuperTypes()
1290 * @see #getClassDeclaration()
1291 * @generated
1292 */
1293 EReference getClassDeclaration_SuperTypes();
1294
1295 /**
1296 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getReferenceDeclarations <em>Reference Declarations</em>}'.
1297 * <!-- begin-user-doc -->
1298 * <!-- end-user-doc -->
1299 * @return the meta object for the containment reference list '<em>Reference Declarations</em>'.
1300 * @see org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getReferenceDeclarations()
1301 * @see #getClassDeclaration()
1302 * @generated
1303 */
1304 EReference getClassDeclaration_ReferenceDeclarations();
1305
1306 /**
1307 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getNewNode <em>New Node</em>}'.
1308 * <!-- begin-user-doc -->
1309 * <!-- end-user-doc -->
1310 * @return the meta object for the containment reference '<em>New Node</em>'.
1311 * @see org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getNewNode()
1312 * @see #getClassDeclaration()
1313 * @generated
1314 */
1315 EReference getClassDeclaration_NewNode();
1316
1317 /**
1318 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration <em>Reference Declaration</em>}'.
1319 * <!-- begin-user-doc -->
1320 * <!-- end-user-doc -->
1321 * @return the meta object for class '<em>Reference Declaration</em>'.
1322 * @see org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration
1323 * @generated
1324 */
1325 EClass getReferenceDeclaration();
1326
1327 /**
1328 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getReferenceType <em>Reference Type</em>}'.
1329 * <!-- begin-user-doc -->
1330 * <!-- end-user-doc -->
1331 * @return the meta object for the reference '<em>Reference Type</em>'.
1332 * @see org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getReferenceType()
1333 * @see #getReferenceDeclaration()
1334 * @generated
1335 */
1336 EReference getReferenceDeclaration_ReferenceType();
1337
1338 /**
1339 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getOpposite <em>Opposite</em>}'.
1340 * <!-- begin-user-doc -->
1341 * <!-- end-user-doc -->
1342 * @return the meta object for the reference '<em>Opposite</em>'.
1343 * @see org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getOpposite()
1344 * @see #getReferenceDeclaration()
1345 * @generated
1346 */
1347 EReference getReferenceDeclaration_Opposite();
1348
1349 /**
1350 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#isContainment <em>Containment</em>}'.
1351 * <!-- begin-user-doc -->
1352 * <!-- end-user-doc -->
1353 * @return the meta object for the attribute '<em>Containment</em>'.
1354 * @see org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#isContainment()
1355 * @see #getReferenceDeclaration()
1356 * @generated
1357 */
1358 EAttribute getReferenceDeclaration_Containment();
1359
1360 /**
1361 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getMultiplicity <em>Multiplicity</em>}'.
1362 * <!-- begin-user-doc -->
1363 * <!-- end-user-doc -->
1364 * @return the meta object for the containment reference '<em>Multiplicity</em>'.
1365 * @see org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getMultiplicity()
1366 * @see #getReferenceDeclaration()
1367 * @generated
1368 */
1369 EReference getReferenceDeclaration_Multiplicity();
1370
1371 /**
1372 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.NamedElement <em>Named Element</em>}'.
1373 * <!-- begin-user-doc -->
1374 * <!-- end-user-doc -->
1375 * @return the meta object for class '<em>Named Element</em>'.
1376 * @see org.eclipse.viatra.solver.language.model.problem.NamedElement
1377 * @generated
1378 */
1379 EClass getNamedElement();
1380
1381 /**
1382 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.NamedElement#getName <em>Name</em>}'.
1383 * <!-- begin-user-doc -->
1384 * <!-- end-user-doc -->
1385 * @return the meta object for the attribute '<em>Name</em>'.
1386 * @see org.eclipse.viatra.solver.language.model.problem.NamedElement#getName()
1387 * @see #getNamedElement()
1388 * @generated
1389 */
1390 EAttribute getNamedElement_Name();
1391
1392 /**
1393 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition <em>Predicate Definition</em>}'.
1394 * <!-- begin-user-doc -->
1395 * <!-- end-user-doc -->
1396 * @return the meta object for class '<em>Predicate Definition</em>'.
1397 * @see org.eclipse.viatra.solver.language.model.problem.PredicateDefinition
1398 * @generated
1399 */
1400 EClass getPredicateDefinition();
1401
1402 /**
1403 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#isError <em>Error</em>}'.
1404 * <!-- begin-user-doc -->
1405 * <!-- end-user-doc -->
1406 * @return the meta object for the attribute '<em>Error</em>'.
1407 * @see org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#isError()
1408 * @see #getPredicateDefinition()
1409 * @generated
1410 */
1411 EAttribute getPredicateDefinition_Error();
1412
1413 /**
1414 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#getParameters <em>Parameters</em>}'.
1415 * <!-- begin-user-doc -->
1416 * <!-- end-user-doc -->
1417 * @return the meta object for the containment reference list '<em>Parameters</em>'.
1418 * @see org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#getParameters()
1419 * @see #getPredicateDefinition()
1420 * @generated
1421 */
1422 EReference getPredicateDefinition_Parameters();
1423
1424 /**
1425 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#getBodies <em>Bodies</em>}'.
1426 * <!-- begin-user-doc -->
1427 * <!-- end-user-doc -->
1428 * @return the meta object for the containment reference list '<em>Bodies</em>'.
1429 * @see org.eclipse.viatra.solver.language.model.problem.PredicateDefinition#getBodies()
1430 * @see #getPredicateDefinition()
1431 * @generated
1432 */
1433 EReference getPredicateDefinition_Bodies();
1434
1435 /**
1436 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Parameter <em>Parameter</em>}'.
1437 * <!-- begin-user-doc -->
1438 * <!-- end-user-doc -->
1439 * @return the meta object for class '<em>Parameter</em>'.
1440 * @see org.eclipse.viatra.solver.language.model.problem.Parameter
1441 * @generated
1442 */
1443 EClass getParameter();
1444
1445 /**
1446 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.Parameter#getParameterType <em>Parameter Type</em>}'.
1447 * <!-- begin-user-doc -->
1448 * <!-- end-user-doc -->
1449 * @return the meta object for the reference '<em>Parameter Type</em>'.
1450 * @see org.eclipse.viatra.solver.language.model.problem.Parameter#getParameterType()
1451 * @see #getParameter()
1452 * @generated
1453 */
1454 EReference getParameter_ParameterType();
1455
1456 /**
1457 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Variable <em>Variable</em>}'.
1458 * <!-- begin-user-doc -->
1459 * <!-- end-user-doc -->
1460 * @return the meta object for class '<em>Variable</em>'.
1461 * @see org.eclipse.viatra.solver.language.model.problem.Variable
1462 * @generated
1463 */
1464 EClass getVariable();
1465
1466 /**
1467 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Conjunction <em>Conjunction</em>}'.
1468 * <!-- begin-user-doc -->
1469 * <!-- end-user-doc -->
1470 * @return the meta object for class '<em>Conjunction</em>'.
1471 * @see org.eclipse.viatra.solver.language.model.problem.Conjunction
1472 * @generated
1473 */
1474 EClass getConjunction();
1475
1476 /**
1477 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.Conjunction#getLiterals <em>Literals</em>}'.
1478 * <!-- begin-user-doc -->
1479 * <!-- end-user-doc -->
1480 * @return the meta object for the containment reference list '<em>Literals</em>'.
1481 * @see org.eclipse.viatra.solver.language.model.problem.Conjunction#getLiterals()
1482 * @see #getConjunction()
1483 * @generated
1484 */
1485 EReference getConjunction_Literals();
1486
1487 /**
1488 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Literal <em>Literal</em>}'.
1489 * <!-- begin-user-doc -->
1490 * <!-- end-user-doc -->
1491 * @return the meta object for class '<em>Literal</em>'.
1492 * @see org.eclipse.viatra.solver.language.model.problem.Literal
1493 * @generated
1494 */
1495 EClass getLiteral();
1496
1497 /**
1498 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Atom <em>Atom</em>}'.
1499 * <!-- begin-user-doc -->
1500 * <!-- end-user-doc -->
1501 * @return the meta object for class '<em>Atom</em>'.
1502 * @see org.eclipse.viatra.solver.language.model.problem.Atom
1503 * @generated
1504 */
1505 EClass getAtom();
1506
1507 /**
1508 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.Atom#getRelation <em>Relation</em>}'.
1509 * <!-- begin-user-doc -->
1510 * <!-- end-user-doc -->
1511 * @return the meta object for the reference '<em>Relation</em>'.
1512 * @see org.eclipse.viatra.solver.language.model.problem.Atom#getRelation()
1513 * @see #getAtom()
1514 * @generated
1515 */
1516 EReference getAtom_Relation();
1517
1518 /**
1519 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.Atom#getArguments <em>Arguments</em>}'.
1520 * <!-- begin-user-doc -->
1521 * <!-- end-user-doc -->
1522 * @return the meta object for the containment reference list '<em>Arguments</em>'.
1523 * @see org.eclipse.viatra.solver.language.model.problem.Atom#getArguments()
1524 * @see #getAtom()
1525 * @generated
1526 */
1527 EReference getAtom_Arguments();
1528
1529 /**
1530 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.Atom#isTransitiveClosure <em>Transitive Closure</em>}'.
1531 * <!-- begin-user-doc -->
1532 * <!-- end-user-doc -->
1533 * @return the meta object for the attribute '<em>Transitive Closure</em>'.
1534 * @see org.eclipse.viatra.solver.language.model.problem.Atom#isTransitiveClosure()
1535 * @see #getAtom()
1536 * @generated
1537 */
1538 EAttribute getAtom_TransitiveClosure();
1539
1540 /**
1541 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ImplicitVariable <em>Implicit Variable</em>}'.
1542 * <!-- begin-user-doc -->
1543 * <!-- end-user-doc -->
1544 * @return the meta object for class '<em>Implicit Variable</em>'.
1545 * @see org.eclipse.viatra.solver.language.model.problem.ImplicitVariable
1546 * @generated
1547 */
1548 EClass getImplicitVariable();
1549
1550 /**
1551 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.NegativeLiteral <em>Negative Literal</em>}'.
1552 * <!-- begin-user-doc -->
1553 * <!-- end-user-doc -->
1554 * @return the meta object for class '<em>Negative Literal</em>'.
1555 * @see org.eclipse.viatra.solver.language.model.problem.NegativeLiteral
1556 * @generated
1557 */
1558 EClass getNegativeLiteral();
1559
1560 /**
1561 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.NegativeLiteral#getAtom <em>Atom</em>}'.
1562 * <!-- begin-user-doc -->
1563 * <!-- end-user-doc -->
1564 * @return the meta object for the containment reference '<em>Atom</em>'.
1565 * @see org.eclipse.viatra.solver.language.model.problem.NegativeLiteral#getAtom()
1566 * @see #getNegativeLiteral()
1567 * @generated
1568 */
1569 EReference getNegativeLiteral_Atom();
1570
1571 /**
1572 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier <em>Existential Quantifier</em>}'.
1573 * <!-- begin-user-doc -->
1574 * <!-- end-user-doc -->
1575 * @return the meta object for class '<em>Existential Quantifier</em>'.
1576 * @see org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier
1577 * @generated
1578 */
1579 EClass getExistentialQuantifier();
1580
1581 /**
1582 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier#getImplicitVariables <em>Implicit Variables</em>}'.
1583 * <!-- begin-user-doc -->
1584 * <!-- end-user-doc -->
1585 * @return the meta object for the containment reference list '<em>Implicit Variables</em>'.
1586 * @see org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier#getImplicitVariables()
1587 * @see #getExistentialQuantifier()
1588 * @generated
1589 */
1590 EReference getExistentialQuantifier_ImplicitVariables();
1591
1592 /**
1593 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Assertion <em>Assertion</em>}'.
1594 * <!-- begin-user-doc -->
1595 * <!-- end-user-doc -->
1596 * @return the meta object for class '<em>Assertion</em>'.
1597 * @see org.eclipse.viatra.solver.language.model.problem.Assertion
1598 * @generated
1599 */
1600 EClass getAssertion();
1601
1602 /**
1603 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getRelation <em>Relation</em>}'.
1604 * <!-- begin-user-doc -->
1605 * <!-- end-user-doc -->
1606 * @return the meta object for the reference '<em>Relation</em>'.
1607 * @see org.eclipse.viatra.solver.language.model.problem.Assertion#getRelation()
1608 * @see #getAssertion()
1609 * @generated
1610 */
1611 EReference getAssertion_Relation();
1612
1613 /**
1614 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments <em>Arguments</em>}'.
1615 * <!-- begin-user-doc -->
1616 * <!-- end-user-doc -->
1617 * @return the meta object for the reference list '<em>Arguments</em>'.
1618 * @see org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments()
1619 * @see #getAssertion()
1620 * @generated
1621 */
1622 EReference getAssertion_Arguments();
1623
1624 /**
1625 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getValue <em>Value</em>}'.
1626 * <!-- begin-user-doc -->
1627 * <!-- end-user-doc -->
1628 * @return the meta object for the attribute '<em>Value</em>'.
1629 * @see org.eclipse.viatra.solver.language.model.problem.Assertion#getValue()
1630 * @see #getAssertion()
1631 * @generated
1632 */
1633 EAttribute getAssertion_Value();
1634
1635 /**
1636 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Node <em>Node</em>}'.
1637 * <!-- begin-user-doc -->
1638 * <!-- end-user-doc -->
1639 * @return the meta object for class '<em>Node</em>'.
1640 * @see org.eclipse.viatra.solver.language.model.problem.Node
1641 * @generated
1642 */
1643 EClass getNode();
1644
1645 /**
1646 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration <em>Scope Declaration</em>}'.
1647 * <!-- begin-user-doc -->
1648 * <!-- end-user-doc -->
1649 * @return the meta object for class '<em>Scope Declaration</em>'.
1650 * @see org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration
1651 * @generated
1652 */
1653 EClass getScopeDeclaration();
1654
1655 /**
1656 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration#getTypeScopes <em>Type Scopes</em>}'.
1657 * <!-- begin-user-doc -->
1658 * <!-- end-user-doc -->
1659 * @return the meta object for the containment reference list '<em>Type Scopes</em>'.
1660 * @see org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration#getTypeScopes()
1661 * @see #getScopeDeclaration()
1662 * @generated
1663 */
1664 EReference getScopeDeclaration_TypeScopes();
1665
1666 /**
1667 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Statement <em>Statement</em>}'.
1668 * <!-- begin-user-doc -->
1669 * <!-- end-user-doc -->
1670 * @return the meta object for class '<em>Statement</em>'.
1671 * @see org.eclipse.viatra.solver.language.model.problem.Statement
1672 * @generated
1673 */
1674 EClass getStatement();
1675
1676 /**
1677 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope <em>Type Scope</em>}'.
1678 * <!-- begin-user-doc -->
1679 * <!-- end-user-doc -->
1680 * @return the meta object for class '<em>Type Scope</em>'.
1681 * @see org.eclipse.viatra.solver.language.model.problem.TypeScope
1682 * @generated
1683 */
1684 EClass getTypeScope();
1685
1686 /**
1687 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#getTargetType <em>Target Type</em>}'.
1688 * <!-- begin-user-doc -->
1689 * <!-- end-user-doc -->
1690 * @return the meta object for the reference '<em>Target Type</em>'.
1691 * @see org.eclipse.viatra.solver.language.model.problem.TypeScope#getTargetType()
1692 * @see #getTypeScope()
1693 * @generated
1694 */
1695 EReference getTypeScope_TargetType();
1696
1697 /**
1698 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#isIncrement <em>Increment</em>}'.
1699 * <!-- begin-user-doc -->
1700 * <!-- end-user-doc -->
1701 * @return the meta object for the attribute '<em>Increment</em>'.
1702 * @see org.eclipse.viatra.solver.language.model.problem.TypeScope#isIncrement()
1703 * @see #getTypeScope()
1704 * @generated
1705 */
1706 EAttribute getTypeScope_Increment();
1707
1708 /**
1709 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#getMultiplicity <em>Multiplicity</em>}'.
1710 * <!-- begin-user-doc -->
1711 * <!-- end-user-doc -->
1712 * @return the meta object for the containment reference '<em>Multiplicity</em>'.
1713 * @see org.eclipse.viatra.solver.language.model.problem.TypeScope#getMultiplicity()
1714 * @see #getTypeScope()
1715 * @generated
1716 */
1717 EReference getTypeScope_Multiplicity();
1718
1719 /**
1720 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Multiplicity <em>Multiplicity</em>}'.
1721 * <!-- begin-user-doc -->
1722 * <!-- end-user-doc -->
1723 * @return the meta object for class '<em>Multiplicity</em>'.
1724 * @see org.eclipse.viatra.solver.language.model.problem.Multiplicity
1725 * @generated
1726 */
1727 EClass getMultiplicity();
1728
1729 /**
1730 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity <em>Range Multiplicity</em>}'.
1731 * <!-- begin-user-doc -->
1732 * <!-- end-user-doc -->
1733 * @return the meta object for class '<em>Range Multiplicity</em>'.
1734 * @see org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity
1735 * @generated
1736 */
1737 EClass getRangeMultiplicity();
1738
1739 /**
1740 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity#getLowerBound <em>Lower Bound</em>}'.
1741 * <!-- begin-user-doc -->
1742 * <!-- end-user-doc -->
1743 * @return the meta object for the attribute '<em>Lower Bound</em>'.
1744 * @see org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity#getLowerBound()
1745 * @see #getRangeMultiplicity()
1746 * @generated
1747 */
1748 EAttribute getRangeMultiplicity_LowerBound();
1749
1750 /**
1751 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity#getUpperBound <em>Upper Bound</em>}'.
1752 * <!-- begin-user-doc -->
1753 * <!-- end-user-doc -->
1754 * @return the meta object for the attribute '<em>Upper Bound</em>'.
1755 * @see org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity#getUpperBound()
1756 * @see #getRangeMultiplicity()
1757 * @generated
1758 */
1759 EAttribute getRangeMultiplicity_UpperBound();
1760
1761 /**
1762 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity <em>Exact Multiplicity</em>}'.
1763 * <!-- begin-user-doc -->
1764 * <!-- end-user-doc -->
1765 * @return the meta object for class '<em>Exact Multiplicity</em>'.
1766 * @see org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity
1767 * @generated
1768 */
1769 EClass getExactMultiplicity();
1770
1771 /**
1772 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity#getExactValue <em>Exact Value</em>}'.
1773 * <!-- begin-user-doc -->
1774 * <!-- end-user-doc -->
1775 * @return the meta object for the attribute '<em>Exact Value</em>'.
1776 * @see org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity#getExactValue()
1777 * @see #getExactMultiplicity()
1778 * @generated
1779 */
1780 EAttribute getExactMultiplicity_ExactValue();
1781
1782 /**
1783 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity <em>Unbounded Multiplicity</em>}'.
1784 * <!-- begin-user-doc -->
1785 * <!-- end-user-doc -->
1786 * @return the meta object for class '<em>Unbounded Multiplicity</em>'.
1787 * @see org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity
1788 * @generated
1789 */
1790 EClass getUnboundedMultiplicity();
1791
1792 /**
1793 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Argument <em>Argument</em>}'.
1794 * <!-- begin-user-doc -->
1795 * <!-- end-user-doc -->
1796 * @return the meta object for class '<em>Argument</em>'.
1797 * @see org.eclipse.viatra.solver.language.model.problem.Argument
1798 * @generated
1799 */
1800 EClass getArgument();
1801
1802 /**
1803 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode <em>Variable Or Node</em>}'.
1804 * <!-- begin-user-doc -->
1805 * <!-- end-user-doc -->
1806 * @return the meta object for the reference '<em>Variable Or Node</em>'.
1807 * @see org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode()
1808 * @see #getArgument()
1809 * @generated
1810 */
1811 EReference getArgument_VariableOrNode();
1812
1813 /**
1814 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}'.
1815 * <!-- begin-user-doc -->
1816 * <!-- end-user-doc -->
1817 * @return the meta object for the containment reference '<em>Singleton Variable</em>'.
1818 * @see org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable()
1819 * @see #getArgument()
1820 * @generated
1821 */
1822 EReference getArgument_SingletonVariable();
1823
1824 /**
1825 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.EnumDeclaration <em>Enum Declaration</em>}'.
1826 * <!-- begin-user-doc -->
1827 * <!-- end-user-doc -->
1828 * @return the meta object for class '<em>Enum Declaration</em>'.
1829 * @see org.eclipse.viatra.solver.language.model.problem.EnumDeclaration
1830 * @generated
1831 */
1832 EClass getEnumDeclaration();
1833
1834 /**
1835 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.EnumDeclaration#getLiterals <em>Literals</em>}'.
1836 * <!-- begin-user-doc -->
1837 * <!-- end-user-doc -->
1838 * @return the meta object for the containment reference list '<em>Literals</em>'.
1839 * @see org.eclipse.viatra.solver.language.model.problem.EnumDeclaration#getLiterals()
1840 * @see #getEnumDeclaration()
1841 * @generated
1842 */
1843 EReference getEnumDeclaration_Literals();
1844
1845 /**
1846 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNode <em>Variable Or Node</em>}'.
1847 * <!-- begin-user-doc -->
1848 * <!-- end-user-doc -->
1849 * @return the meta object for class '<em>Variable Or Node</em>'.
1850 * @see org.eclipse.viatra.solver.language.model.problem.VariableOrNode
1851 * @generated
1852 */
1853 EClass getVariableOrNode();
1854
1855 /**
1856 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}'.
1857 * <!-- begin-user-doc -->
1858 * <!-- end-user-doc -->
1859 * @return the meta object for enum '<em>Logic Value</em>'.
1860 * @see org.eclipse.viatra.solver.language.model.problem.LogicValue
1861 * @generated
1862 */
1863 EEnum getLogicValue();
1864
1865 /**
1866 * Returns the factory that creates the instances of the model.
1867 * <!-- begin-user-doc -->
1868 * <!-- end-user-doc -->
1869 * @return the factory that creates the instances of the model.
1870 * @generated
1871 */
1872 ProblemFactory getProblemFactory();
1873
1874 /**
1875 * <!-- begin-user-doc -->
1876 * Defines literals for the meta objects that represent
1877 * <ul>
1878 * <li>each class,</li>
1879 * <li>each feature of each class,</li>
1880 * <li>each operation of each class,</li>
1881 * <li>each enum,</li>
1882 * <li>and each data type</li>
1883 * </ul>
1884 * <!-- end-user-doc -->
1885 * @generated
1886 */
1887 interface Literals {
1888 /**
1889 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl <em>Problem</em>}' class.
1890 * <!-- begin-user-doc -->
1891 * <!-- end-user-doc -->
1892 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl
1893 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getProblem()
1894 * @generated
1895 */
1896 EClass PROBLEM = eINSTANCE.getProblem();
1897
1898 /**
1899 * The meta object literal for the '<em><b>Nodes</b></em>' containment reference list feature.
1900 * <!-- begin-user-doc -->
1901 * <!-- end-user-doc -->
1902 * @generated
1903 */
1904 EReference PROBLEM__NODES = eINSTANCE.getProblem_Nodes();
1905
1906 /**
1907 * The meta object literal for the '<em><b>Statements</b></em>' containment reference list feature.
1908 * <!-- begin-user-doc -->
1909 * <!-- end-user-doc -->
1910 * @generated
1911 */
1912 EReference PROBLEM__STATEMENTS = eINSTANCE.getProblem_Statements();
1913
1914 /**
1915 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RelationImpl <em>Relation</em>}' class.
1916 * <!-- begin-user-doc -->
1917 * <!-- end-user-doc -->
1918 * @see org.eclipse.viatra.solver.language.model.problem.impl.RelationImpl
1919 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getRelation()
1920 * @generated
1921 */
1922 EClass RELATION = eINSTANCE.getRelation();
1923
1924 /**
1925 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl <em>Class Declaration</em>}' class.
1926 * <!-- begin-user-doc -->
1927 * <!-- end-user-doc -->
1928 * @see org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl
1929 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getClassDeclaration()
1930 * @generated
1931 */
1932 EClass CLASS_DECLARATION = eINSTANCE.getClassDeclaration();
1933
1934 /**
1935 * The meta object literal for the '<em><b>Abstract</b></em>' attribute feature.
1936 * <!-- begin-user-doc -->
1937 * <!-- end-user-doc -->
1938 * @generated
1939 */
1940 EAttribute CLASS_DECLARATION__ABSTRACT = eINSTANCE.getClassDeclaration_Abstract();
1941
1942 /**
1943 * The meta object literal for the '<em><b>Super Types</b></em>' reference list feature.
1944 * <!-- begin-user-doc -->
1945 * <!-- end-user-doc -->
1946 * @generated
1947 */
1948 EReference CLASS_DECLARATION__SUPER_TYPES = eINSTANCE.getClassDeclaration_SuperTypes();
1949
1950 /**
1951 * The meta object literal for the '<em><b>Reference Declarations</b></em>' containment reference list feature.
1952 * <!-- begin-user-doc -->
1953 * <!-- end-user-doc -->
1954 * @generated
1955 */
1956 EReference CLASS_DECLARATION__REFERENCE_DECLARATIONS = eINSTANCE.getClassDeclaration_ReferenceDeclarations();
1957
1958 /**
1959 * The meta object literal for the '<em><b>New Node</b></em>' containment reference feature.
1960 * <!-- begin-user-doc -->
1961 * <!-- end-user-doc -->
1962 * @generated
1963 */
1964 EReference CLASS_DECLARATION__NEW_NODE = eINSTANCE.getClassDeclaration_NewNode();
1965
1966 /**
1967 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl <em>Reference Declaration</em>}' class.
1968 * <!-- begin-user-doc -->
1969 * <!-- end-user-doc -->
1970 * @see org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl
1971 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getReferenceDeclaration()
1972 * @generated
1973 */
1974 EClass REFERENCE_DECLARATION = eINSTANCE.getReferenceDeclaration();
1975
1976 /**
1977 * The meta object literal for the '<em><b>Reference Type</b></em>' reference feature.
1978 * <!-- begin-user-doc -->
1979 * <!-- end-user-doc -->
1980 * @generated
1981 */
1982 EReference REFERENCE_DECLARATION__REFERENCE_TYPE = eINSTANCE.getReferenceDeclaration_ReferenceType();
1983
1984 /**
1985 * The meta object literal for the '<em><b>Opposite</b></em>' reference feature.
1986 * <!-- begin-user-doc -->
1987 * <!-- end-user-doc -->
1988 * @generated
1989 */
1990 EReference REFERENCE_DECLARATION__OPPOSITE = eINSTANCE.getReferenceDeclaration_Opposite();
1991
1992 /**
1993 * The meta object literal for the '<em><b>Containment</b></em>' attribute feature.
1994 * <!-- begin-user-doc -->
1995 * <!-- end-user-doc -->
1996 * @generated
1997 */
1998 EAttribute REFERENCE_DECLARATION__CONTAINMENT = eINSTANCE.getReferenceDeclaration_Containment();
1999
2000 /**
2001 * The meta object literal for the '<em><b>Multiplicity</b></em>' containment reference feature.
2002 * <!-- begin-user-doc -->
2003 * <!-- end-user-doc -->
2004 * @generated
2005 */
2006 EReference REFERENCE_DECLARATION__MULTIPLICITY = eINSTANCE.getReferenceDeclaration_Multiplicity();
2007
2008 /**
2009 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl <em>Named Element</em>}' class.
2010 * <!-- begin-user-doc -->
2011 * <!-- end-user-doc -->
2012 * @see org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl
2013 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNamedElement()
2014 * @generated
2015 */
2016 EClass NAMED_ELEMENT = eINSTANCE.getNamedElement();
2017
2018 /**
2019 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
2020 * <!-- begin-user-doc -->
2021 * <!-- end-user-doc -->
2022 * @generated
2023 */
2024 EAttribute NAMED_ELEMENT__NAME = eINSTANCE.getNamedElement_Name();
2025
2026 /**
2027 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
2028 * <!-- begin-user-doc -->
2029 * <!-- end-user-doc -->
2030 * @see org.eclipse.viatra.solver.language.model.problem.impl.PredicateDefinitionImpl
2031 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getPredicateDefinition()
2032 * @generated
2033 */
2034 EClass PREDICATE_DEFINITION = eINSTANCE.getPredicateDefinition();
2035
2036 /**
2037 * The meta object literal for the '<em><b>Error</b></em>' attribute feature.
2038 * <!-- begin-user-doc -->
2039 * <!-- end-user-doc -->
2040 * @generated
2041 */
2042 EAttribute PREDICATE_DEFINITION__ERROR = eINSTANCE.getPredicateDefinition_Error();
2043
2044 /**
2045 * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature.
2046 * <!-- begin-user-doc -->
2047 * <!-- end-user-doc -->
2048 * @generated
2049 */
2050 EReference PREDICATE_DEFINITION__PARAMETERS = eINSTANCE.getPredicateDefinition_Parameters();
2051
2052 /**
2053 * The meta object literal for the '<em><b>Bodies</b></em>' containment reference list feature.
2054 * <!-- begin-user-doc -->
2055 * <!-- end-user-doc -->
2056 * @generated
2057 */
2058 EReference PREDICATE_DEFINITION__BODIES = eINSTANCE.getPredicateDefinition_Bodies();
2059
2060 /**
2061 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ParameterImpl <em>Parameter</em>}' class.
2062 * <!-- begin-user-doc -->
2063 * <!-- end-user-doc -->
2064 * @see org.eclipse.viatra.solver.language.model.problem.impl.ParameterImpl
2065 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getParameter()
2066 * @generated
2067 */
2068 EClass PARAMETER = eINSTANCE.getParameter();
2069
2070 /**
2071 * The meta object literal for the '<em><b>Parameter Type</b></em>' reference feature.
2072 * <!-- begin-user-doc -->
2073 * <!-- end-user-doc -->
2074 * @generated
2075 */
2076 EReference PARAMETER__PARAMETER_TYPE = eINSTANCE.getParameter_ParameterType();
2077
2078 /**
2079 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableImpl <em>Variable</em>}' class.
2080 * <!-- begin-user-doc -->
2081 * <!-- end-user-doc -->
2082 * @see org.eclipse.viatra.solver.language.model.problem.impl.VariableImpl
2083 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getVariable()
2084 * @generated
2085 */
2086 EClass VARIABLE = eINSTANCE.getVariable();
2087
2088 /**
2089 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConjunctionImpl <em>Conjunction</em>}' class.
2090 * <!-- begin-user-doc -->
2091 * <!-- end-user-doc -->
2092 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConjunctionImpl
2093 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConjunction()
2094 * @generated
2095 */
2096 EClass CONJUNCTION = eINSTANCE.getConjunction();
2097
2098 /**
2099 * The meta object literal for the '<em><b>Literals</b></em>' containment reference list feature.
2100 * <!-- begin-user-doc -->
2101 * <!-- end-user-doc -->
2102 * @generated
2103 */
2104 EReference CONJUNCTION__LITERALS = eINSTANCE.getConjunction_Literals();
2105
2106 /**
2107 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.LiteralImpl <em>Literal</em>}' class.
2108 * <!-- begin-user-doc -->
2109 * <!-- end-user-doc -->
2110 * @see org.eclipse.viatra.solver.language.model.problem.impl.LiteralImpl
2111 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLiteral()
2112 * @generated
2113 */
2114 EClass LITERAL = eINSTANCE.getLiteral();
2115
2116 /**
2117 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl <em>Atom</em>}' class.
2118 * <!-- begin-user-doc -->
2119 * <!-- end-user-doc -->
2120 * @see org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl
2121 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getAtom()
2122 * @generated
2123 */
2124 EClass ATOM = eINSTANCE.getAtom();
2125
2126 /**
2127 * The meta object literal for the '<em><b>Relation</b></em>' reference feature.
2128 * <!-- begin-user-doc -->
2129 * <!-- end-user-doc -->
2130 * @generated
2131 */
2132 EReference ATOM__RELATION = eINSTANCE.getAtom_Relation();
2133
2134 /**
2135 * The meta object literal for the '<em><b>Arguments</b></em>' containment reference list feature.
2136 * <!-- begin-user-doc -->
2137 * <!-- end-user-doc -->
2138 * @generated
2139 */
2140 EReference ATOM__ARGUMENTS = eINSTANCE.getAtom_Arguments();
2141
2142 /**
2143 * The meta object literal for the '<em><b>Transitive Closure</b></em>' attribute feature.
2144 * <!-- begin-user-doc -->
2145 * <!-- end-user-doc -->
2146 * @generated
2147 */
2148 EAttribute ATOM__TRANSITIVE_CLOSURE = eINSTANCE.getAtom_TransitiveClosure();
2149
2150 /**
2151 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ImplicitVariableImpl <em>Implicit Variable</em>}' class.
2152 * <!-- begin-user-doc -->
2153 * <!-- end-user-doc -->
2154 * @see org.eclipse.viatra.solver.language.model.problem.impl.ImplicitVariableImpl
2155 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getImplicitVariable()
2156 * @generated
2157 */
2158 EClass IMPLICIT_VARIABLE = eINSTANCE.getImplicitVariable();
2159
2160 /**
2161 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NegativeLiteralImpl <em>Negative Literal</em>}' class.
2162 * <!-- begin-user-doc -->
2163 * <!-- end-user-doc -->
2164 * @see org.eclipse.viatra.solver.language.model.problem.impl.NegativeLiteralImpl
2165 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNegativeLiteral()
2166 * @generated
2167 */
2168 EClass NEGATIVE_LITERAL = eINSTANCE.getNegativeLiteral();
2169
2170 /**
2171 * The meta object literal for the '<em><b>Atom</b></em>' containment reference feature.
2172 * <!-- begin-user-doc -->
2173 * <!-- end-user-doc -->
2174 * @generated
2175 */
2176 EReference NEGATIVE_LITERAL__ATOM = eINSTANCE.getNegativeLiteral_Atom();
2177
2178 /**
2179 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier <em>Existential Quantifier</em>}' class.
2180 * <!-- begin-user-doc -->
2181 * <!-- end-user-doc -->
2182 * @see org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier
2183 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getExistentialQuantifier()
2184 * @generated
2185 */
2186 EClass EXISTENTIAL_QUANTIFIER = eINSTANCE.getExistentialQuantifier();
2187
2188 /**
2189 * The meta object literal for the '<em><b>Implicit Variables</b></em>' containment reference list feature.
2190 * <!-- begin-user-doc -->
2191 * <!-- end-user-doc -->
2192 * @generated
2193 */
2194 EReference EXISTENTIAL_QUANTIFIER__IMPLICIT_VARIABLES = eINSTANCE.getExistentialQuantifier_ImplicitVariables();
2195
2196 /**
2197 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl <em>Assertion</em>}' class.
2198 * <!-- begin-user-doc -->
2199 * <!-- end-user-doc -->
2200 * @see org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl
2201 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getAssertion()
2202 * @generated
2203 */
2204 EClass ASSERTION = eINSTANCE.getAssertion();
2205
2206 /**
2207 * The meta object literal for the '<em><b>Relation</b></em>' reference feature.
2208 * <!-- begin-user-doc -->
2209 * <!-- end-user-doc -->
2210 * @generated
2211 */
2212 EReference ASSERTION__RELATION = eINSTANCE.getAssertion_Relation();
2213
2214 /**
2215 * The meta object literal for the '<em><b>Arguments</b></em>' reference list feature.
2216 * <!-- begin-user-doc -->
2217 * <!-- end-user-doc -->
2218 * @generated
2219 */
2220 EReference ASSERTION__ARGUMENTS = eINSTANCE.getAssertion_Arguments();
2221
2222 /**
2223 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
2224 * <!-- begin-user-doc -->
2225 * <!-- end-user-doc -->
2226 * @generated
2227 */
2228 EAttribute ASSERTION__VALUE = eINSTANCE.getAssertion_Value();
2229
2230 /**
2231 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeImpl <em>Node</em>}' class.
2232 * <!-- begin-user-doc -->
2233 * <!-- end-user-doc -->
2234 * @see org.eclipse.viatra.solver.language.model.problem.impl.NodeImpl
2235 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNode()
2236 * @generated
2237 */
2238 EClass NODE = eINSTANCE.getNode();
2239
2240 /**
2241 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ScopeDeclarationImpl <em>Scope Declaration</em>}' class.
2242 * <!-- begin-user-doc -->
2243 * <!-- end-user-doc -->
2244 * @see org.eclipse.viatra.solver.language.model.problem.impl.ScopeDeclarationImpl
2245 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getScopeDeclaration()
2246 * @generated
2247 */
2248 EClass SCOPE_DECLARATION = eINSTANCE.getScopeDeclaration();
2249
2250 /**
2251 * The meta object literal for the '<em><b>Type Scopes</b></em>' containment reference list feature.
2252 * <!-- begin-user-doc -->
2253 * <!-- end-user-doc -->
2254 * @generated
2255 */
2256 EReference SCOPE_DECLARATION__TYPE_SCOPES = eINSTANCE.getScopeDeclaration_TypeScopes();
2257
2258 /**
2259 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.Statement <em>Statement</em>}' class.
2260 * <!-- begin-user-doc -->
2261 * <!-- end-user-doc -->
2262 * @see org.eclipse.viatra.solver.language.model.problem.Statement
2263 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getStatement()
2264 * @generated
2265 */
2266 EClass STATEMENT = eINSTANCE.getStatement();
2267
2268 /**
2269 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.TypeScopeImpl <em>Type Scope</em>}' class.
2270 * <!-- begin-user-doc -->
2271 * <!-- end-user-doc -->
2272 * @see org.eclipse.viatra.solver.language.model.problem.impl.TypeScopeImpl
2273 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getTypeScope()
2274 * @generated
2275 */
2276 EClass TYPE_SCOPE = eINSTANCE.getTypeScope();
2277
2278 /**
2279 * The meta object literal for the '<em><b>Target Type</b></em>' reference feature.
2280 * <!-- begin-user-doc -->
2281 * <!-- end-user-doc -->
2282 * @generated
2283 */
2284 EReference TYPE_SCOPE__TARGET_TYPE = eINSTANCE.getTypeScope_TargetType();
2285
2286 /**
2287 * The meta object literal for the '<em><b>Increment</b></em>' attribute feature.
2288 * <!-- begin-user-doc -->
2289 * <!-- end-user-doc -->
2290 * @generated
2291 */
2292 EAttribute TYPE_SCOPE__INCREMENT = eINSTANCE.getTypeScope_Increment();
2293
2294 /**
2295 * The meta object literal for the '<em><b>Multiplicity</b></em>' containment reference feature.
2296 * <!-- begin-user-doc -->
2297 * <!-- end-user-doc -->
2298 * @generated
2299 */
2300 EReference TYPE_SCOPE__MULTIPLICITY = eINSTANCE.getTypeScope_Multiplicity();
2301
2302 /**
2303 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.MultiplicityImpl <em>Multiplicity</em>}' class.
2304 * <!-- begin-user-doc -->
2305 * <!-- end-user-doc -->
2306 * @see org.eclipse.viatra.solver.language.model.problem.impl.MultiplicityImpl
2307 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getMultiplicity()
2308 * @generated
2309 */
2310 EClass MULTIPLICITY = eINSTANCE.getMultiplicity();
2311
2312 /**
2313 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RangeMultiplicityImpl <em>Range Multiplicity</em>}' class.
2314 * <!-- begin-user-doc -->
2315 * <!-- end-user-doc -->
2316 * @see org.eclipse.viatra.solver.language.model.problem.impl.RangeMultiplicityImpl
2317 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getRangeMultiplicity()
2318 * @generated
2319 */
2320 EClass RANGE_MULTIPLICITY = eINSTANCE.getRangeMultiplicity();
2321
2322 /**
2323 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
2324 * <!-- begin-user-doc -->
2325 * <!-- end-user-doc -->
2326 * @generated
2327 */
2328 EAttribute RANGE_MULTIPLICITY__LOWER_BOUND = eINSTANCE.getRangeMultiplicity_LowerBound();
2329
2330 /**
2331 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
2332 * <!-- begin-user-doc -->
2333 * <!-- end-user-doc -->
2334 * @generated
2335 */
2336 EAttribute RANGE_MULTIPLICITY__UPPER_BOUND = eINSTANCE.getRangeMultiplicity_UpperBound();
2337
2338 /**
2339 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ExactMultiplicityImpl <em>Exact Multiplicity</em>}' class.
2340 * <!-- begin-user-doc -->
2341 * <!-- end-user-doc -->
2342 * @see org.eclipse.viatra.solver.language.model.problem.impl.ExactMultiplicityImpl
2343 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getExactMultiplicity()
2344 * @generated
2345 */
2346 EClass EXACT_MULTIPLICITY = eINSTANCE.getExactMultiplicity();
2347
2348 /**
2349 * The meta object literal for the '<em><b>Exact Value</b></em>' attribute feature.
2350 * <!-- begin-user-doc -->
2351 * <!-- end-user-doc -->
2352 * @generated
2353 */
2354 EAttribute EXACT_MULTIPLICITY__EXACT_VALUE = eINSTANCE.getExactMultiplicity_ExactValue();
2355
2356 /**
2357 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.UnboundedMultiplicityImpl <em>Unbounded Multiplicity</em>}' class.
2358 * <!-- begin-user-doc -->
2359 * <!-- end-user-doc -->
2360 * @see org.eclipse.viatra.solver.language.model.problem.impl.UnboundedMultiplicityImpl
2361 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getUnboundedMultiplicity()
2362 * @generated
2363 */
2364 EClass UNBOUNDED_MULTIPLICITY = eINSTANCE.getUnboundedMultiplicity();
2365
2366 /**
2367 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl <em>Argument</em>}' class.
2368 * <!-- begin-user-doc -->
2369 * <!-- end-user-doc -->
2370 * @see org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl
2371 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getArgument()
2372 * @generated
2373 */
2374 EClass ARGUMENT = eINSTANCE.getArgument();
2375
2376 /**
2377 * The meta object literal for the '<em><b>Variable Or Node</b></em>' reference feature.
2378 * <!-- begin-user-doc -->
2379 * <!-- end-user-doc -->
2380 * @generated
2381 */
2382 EReference ARGUMENT__VARIABLE_OR_NODE = eINSTANCE.getArgument_VariableOrNode();
2383
2384 /**
2385 * The meta object literal for the '<em><b>Singleton Variable</b></em>' containment reference feature.
2386 * <!-- begin-user-doc -->
2387 * <!-- end-user-doc -->
2388 * @generated
2389 */
2390 EReference ARGUMENT__SINGLETON_VARIABLE = eINSTANCE.getArgument_SingletonVariable();
2391
2392 /**
2393 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl <em>Enum Declaration</em>}' class.
2394 * <!-- begin-user-doc -->
2395 * <!-- end-user-doc -->
2396 * @see org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl
2397 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getEnumDeclaration()
2398 * @generated
2399 */
2400 EClass ENUM_DECLARATION = eINSTANCE.getEnumDeclaration();
2401
2402 /**
2403 * The meta object literal for the '<em><b>Literals</b></em>' containment reference list feature.
2404 * <!-- begin-user-doc -->
2405 * <!-- end-user-doc -->
2406 * @generated
2407 */
2408 EReference ENUM_DECLARATION__LITERALS = eINSTANCE.getEnumDeclaration_Literals();
2409
2410 /**
2411 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeImpl <em>Variable Or Node</em>}' class.
2412 * <!-- begin-user-doc -->
2413 * <!-- end-user-doc -->
2414 * @see org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeImpl
2415 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getVariableOrNode()
2416 * @generated
2417 */
2418 EClass VARIABLE_OR_NODE = eINSTANCE.getVariableOrNode();
2419
2420 /**
2421 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum.
2422 * <!-- begin-user-doc -->
2423 * <!-- end-user-doc -->
2424 * @see org.eclipse.viatra.solver.language.model.problem.LogicValue
2425 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLogicValue()
2426 * @generated
2427 */
2428 EEnum LOGIC_VALUE = eINSTANCE.getLogicValue();
2429
2430 }
2431
2432} //ProblemPackage
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RangeMultiplicity.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RangeMultiplicity.java
deleted file mode 100644
index 65bcc440..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RangeMultiplicity.java
+++ /dev/null
@@ -1,69 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Range Multiplicity</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity#getLowerBound <em>Lower Bound</em>}</li>
15 * <li>{@link org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity#getUpperBound <em>Upper Bound</em>}</li>
16 * </ul>
17 *
18 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getRangeMultiplicity()
19 * @model
20 * @generated
21 */
22public interface RangeMultiplicity extends Multiplicity {
23 /**
24 * Returns the value of the '<em><b>Lower Bound</b></em>' attribute.
25 * The default value is <code>"0"</code>.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return the value of the '<em>Lower Bound</em>' attribute.
29 * @see #setLowerBound(int)
30 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getRangeMultiplicity_LowerBound()
31 * @model default="0"
32 * @generated
33 */
34 int getLowerBound();
35
36 /**
37 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity#getLowerBound <em>Lower Bound</em>}' attribute.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @param value the new value of the '<em>Lower Bound</em>' attribute.
41 * @see #getLowerBound()
42 * @generated
43 */
44 void setLowerBound(int value);
45
46 /**
47 * Returns the value of the '<em><b>Upper Bound</b></em>' attribute.
48 * The default value is <code>"-1"</code>.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Upper Bound</em>' attribute.
52 * @see #setUpperBound(int)
53 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getRangeMultiplicity_UpperBound()
54 * @model default="-1"
55 * @generated
56 */
57 int getUpperBound();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity#getUpperBound <em>Upper Bound</em>}' attribute.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Upper Bound</em>' attribute.
64 * @see #getUpperBound()
65 * @generated
66 */
67 void setUpperBound(int value);
68
69} // RangeMultiplicity
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ReferenceDeclaration.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ReferenceDeclaration.java
deleted file mode 100644
index 38650d66..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ReferenceDeclaration.java
+++ /dev/null
@@ -1,113 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Reference Declaration</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getReferenceType <em>Reference Type</em>}</li>
15 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getOpposite <em>Opposite</em>}</li>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#isContainment <em>Containment</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getMultiplicity <em>Multiplicity</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getReferenceDeclaration()
21 * @model
22 * @generated
23 */
24public interface ReferenceDeclaration extends Relation {
25 /**
26 * Returns the value of the '<em><b>Reference Type</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Reference Type</em>' reference.
30 * @see #setReferenceType(Relation)
31 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getReferenceDeclaration_ReferenceType()
32 * @model
33 * @generated
34 */
35 Relation getReferenceType();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getReferenceType <em>Reference Type</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Reference Type</em>' reference.
42 * @see #getReferenceType()
43 * @generated
44 */
45 void setReferenceType(Relation value);
46
47 /**
48 * Returns the value of the '<em><b>Opposite</b></em>' reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Opposite</em>' reference.
52 * @see #setOpposite(ReferenceDeclaration)
53 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getReferenceDeclaration_Opposite()
54 * @model
55 * @generated
56 */
57 ReferenceDeclaration getOpposite();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getOpposite <em>Opposite</em>}' reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Opposite</em>' reference.
64 * @see #getOpposite()
65 * @generated
66 */
67 void setOpposite(ReferenceDeclaration value);
68
69 /**
70 * Returns the value of the '<em><b>Containment</b></em>' attribute.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @return the value of the '<em>Containment</em>' attribute.
74 * @see #setContainment(boolean)
75 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getReferenceDeclaration_Containment()
76 * @model
77 * @generated
78 */
79 boolean isContainment();
80
81 /**
82 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#isContainment <em>Containment</em>}' attribute.
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @param value the new value of the '<em>Containment</em>' attribute.
86 * @see #isContainment()
87 * @generated
88 */
89 void setContainment(boolean value);
90
91 /**
92 * Returns the value of the '<em><b>Multiplicity</b></em>' containment reference.
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @return the value of the '<em>Multiplicity</em>' containment reference.
96 * @see #setMultiplicity(Multiplicity)
97 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getReferenceDeclaration_Multiplicity()
98 * @model containment="true"
99 * @generated
100 */
101 Multiplicity getMultiplicity();
102
103 /**
104 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getMultiplicity <em>Multiplicity</em>}' containment reference.
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @param value the new value of the '<em>Multiplicity</em>' containment reference.
108 * @see #getMultiplicity()
109 * @generated
110 */
111 void setMultiplicity(Multiplicity value);
112
113} // ReferenceDeclaration
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Relation.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Relation.java
deleted file mode 100644
index 2754e9d0..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Relation.java
+++ /dev/null
@@ -1,16 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Relation</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getRelation()
12 * @model abstract="true"
13 * @generated
14 */
15public interface Relation extends NamedElement {
16} // Relation
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ScopeDeclaration.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ScopeDeclaration.java
deleted file mode 100644
index f728589d..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ScopeDeclaration.java
+++ /dev/null
@@ -1,36 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Scope Declaration</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.model.problem.ScopeDeclaration#getTypeScopes <em>Type Scopes</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getScopeDeclaration()
20 * @model
21 * @generated
22 */
23public interface ScopeDeclaration extends Statement {
24 /**
25 * Returns the value of the '<em><b>Type Scopes</b></em>' containment reference list.
26 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.TypeScope}.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Type Scopes</em>' containment reference list.
30 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getScopeDeclaration_TypeScopes()
31 * @model containment="true"
32 * @generated
33 */
34 EList<TypeScope> getTypeScopes();
35
36} // ScopeDeclaration
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Statement.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Statement.java
deleted file mode 100644
index 90303639..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Statement.java
+++ /dev/null
@@ -1,18 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Statement</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getStatement()
14 * @model interface="true" abstract="true"
15 * @generated
16 */
17public interface Statement extends EObject {
18} // Statement
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/TypeScope.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/TypeScope.java
deleted file mode 100644
index 76a95dd5..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/TypeScope.java
+++ /dev/null
@@ -1,92 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Type Scope</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.model.problem.TypeScope#getTargetType <em>Target Type</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#isIncrement <em>Increment</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#getMultiplicity <em>Multiplicity</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getTypeScope()
22 * @model
23 * @generated
24 */
25public interface TypeScope extends EObject {
26 /**
27 * Returns the value of the '<em><b>Target Type</b></em>' reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Target Type</em>' reference.
31 * @see #setTargetType(ClassDeclaration)
32 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getTypeScope_TargetType()
33 * @model
34 * @generated
35 */
36 ClassDeclaration getTargetType();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#getTargetType <em>Target Type</em>}' reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Target Type</em>' reference.
43 * @see #getTargetType()
44 * @generated
45 */
46 void setTargetType(ClassDeclaration value);
47
48 /**
49 * Returns the value of the '<em><b>Increment</b></em>' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Increment</em>' attribute.
53 * @see #setIncrement(boolean)
54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getTypeScope_Increment()
55 * @model
56 * @generated
57 */
58 boolean isIncrement();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#isIncrement <em>Increment</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Increment</em>' attribute.
65 * @see #isIncrement()
66 * @generated
67 */
68 void setIncrement(boolean value);
69
70 /**
71 * Returns the value of the '<em><b>Multiplicity</b></em>' containment reference.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @return the value of the '<em>Multiplicity</em>' containment reference.
75 * @see #setMultiplicity(Multiplicity)
76 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getTypeScope_Multiplicity()
77 * @model containment="true"
78 * @generated
79 */
80 Multiplicity getMultiplicity();
81
82 /**
83 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope#getMultiplicity <em>Multiplicity</em>}' containment reference.
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @param value the new value of the '<em>Multiplicity</em>' containment reference.
87 * @see #getMultiplicity()
88 * @generated
89 */
90 void setMultiplicity(Multiplicity value);
91
92} // TypeScope
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/UnboundedMultiplicity.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/UnboundedMultiplicity.java
deleted file mode 100644
index 725311a4..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/UnboundedMultiplicity.java
+++ /dev/null
@@ -1,16 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Unbounded Multiplicity</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getUnboundedMultiplicity()
12 * @model
13 * @generated
14 */
15public interface UnboundedMultiplicity extends Multiplicity {
16} // UnboundedMultiplicity
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Variable.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Variable.java
deleted file mode 100644
index cba5740c..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Variable.java
+++ /dev/null
@@ -1,16 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Variable</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getVariable()
12 * @model abstract="true"
13 * @generated
14 */
15public interface Variable extends VariableOrNode {
16} // Variable
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/VariableOrNode.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/VariableOrNode.java
deleted file mode 100644
index 65c315e2..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/VariableOrNode.java
+++ /dev/null
@@ -1,16 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Variable Or Node</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getVariableOrNode()
12 * @model abstract="true"
13 * @generated
14 */
15public interface VariableOrNode extends NamedElement {
16} // VariableOrNode
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java
deleted file mode 100644
index f7d045ca..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java
+++ /dev/null
@@ -1,247 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6import org.eclipse.emf.common.notify.NotificationChain;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
13
14import org.eclipse.viatra.solver.language.model.problem.Argument;
15import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
16import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
17import org.eclipse.viatra.solver.language.model.problem.VariableOrNode;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Argument</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl#getVariableOrNode <em>Variable Or Node</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl#getSingletonVariable <em>Singleton Variable</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument {
34 /**
35 * The cached value of the '{@link #getVariableOrNode() <em>Variable Or Node</em>}' reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getVariableOrNode()
39 * @generated
40 * @ordered
41 */
42 protected VariableOrNode variableOrNode;
43
44 /**
45 * The cached value of the '{@link #getSingletonVariable() <em>Singleton Variable</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getSingletonVariable()
49 * @generated
50 * @ordered
51 */
52 protected ImplicitVariable singletonVariable;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected ArgumentImpl() {
60 super();
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 protected EClass eStaticClass() {
70 return ProblemPackage.Literals.ARGUMENT;
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 public VariableOrNode getVariableOrNode() {
79 if (variableOrNode != null && variableOrNode.eIsProxy()) {
80 InternalEObject oldVariableOrNode = (InternalEObject) variableOrNode;
81 variableOrNode = (VariableOrNode) eResolveProxy(oldVariableOrNode);
82 if (variableOrNode != oldVariableOrNode) {
83 if (eNotificationRequired())
84 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.ARGUMENT__VARIABLE_OR_NODE,
85 oldVariableOrNode, variableOrNode));
86 }
87 }
88 return variableOrNode;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public VariableOrNode basicGetVariableOrNode() {
97 return variableOrNode;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public void setVariableOrNode(VariableOrNode newVariableOrNode) {
106 VariableOrNode oldVariableOrNode = variableOrNode;
107 variableOrNode = newVariableOrNode;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ARGUMENT__VARIABLE_OR_NODE,
110 oldVariableOrNode, variableOrNode));
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public ImplicitVariable getSingletonVariable() {
119 return singletonVariable;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetSingletonVariable(ImplicitVariable newSingletonVariable, NotificationChain msgs) {
128 ImplicitVariable oldSingletonVariable = singletonVariable;
129 singletonVariable = newSingletonVariable;
130 if (eNotificationRequired()) {
131 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
132 ProblemPackage.ARGUMENT__SINGLETON_VARIABLE, oldSingletonVariable, newSingletonVariable);
133 if (msgs == null)
134 msgs = notification;
135 else
136 msgs.add(notification);
137 }
138 return msgs;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 public void setSingletonVariable(ImplicitVariable newSingletonVariable) {
147 if (newSingletonVariable != singletonVariable) {
148 NotificationChain msgs = null;
149 if (singletonVariable != null)
150 msgs = ((InternalEObject) singletonVariable).eInverseRemove(this,
151 EOPPOSITE_FEATURE_BASE - ProblemPackage.ARGUMENT__SINGLETON_VARIABLE, null, msgs);
152 if (newSingletonVariable != null)
153 msgs = ((InternalEObject) newSingletonVariable).eInverseAdd(this,
154 EOPPOSITE_FEATURE_BASE - ProblemPackage.ARGUMENT__SINGLETON_VARIABLE, null, msgs);
155 msgs = basicSetSingletonVariable(newSingletonVariable, msgs);
156 if (msgs != null)
157 msgs.dispatch();
158 } else if (eNotificationRequired())
159 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ARGUMENT__SINGLETON_VARIABLE,
160 newSingletonVariable, newSingletonVariable));
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
170 switch (featureID) {
171 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
172 return basicSetSingletonVariable(null, msgs);
173 }
174 return super.eInverseRemove(otherEnd, featureID, msgs);
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType) {
184 switch (featureID) {
185 case ProblemPackage.ARGUMENT__VARIABLE_OR_NODE:
186 if (resolve)
187 return getVariableOrNode();
188 return basicGetVariableOrNode();
189 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
190 return getSingletonVariable();
191 }
192 return super.eGet(featureID, resolve, coreType);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eSet(int featureID, Object newValue) {
202 switch (featureID) {
203 case ProblemPackage.ARGUMENT__VARIABLE_OR_NODE:
204 setVariableOrNode((VariableOrNode) newValue);
205 return;
206 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
207 setSingletonVariable((ImplicitVariable) newValue);
208 return;
209 }
210 super.eSet(featureID, newValue);
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public void eUnset(int featureID) {
220 switch (featureID) {
221 case ProblemPackage.ARGUMENT__VARIABLE_OR_NODE:
222 setVariableOrNode((VariableOrNode) null);
223 return;
224 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
225 setSingletonVariable((ImplicitVariable) null);
226 return;
227 }
228 super.eUnset(featureID);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public boolean eIsSet(int featureID) {
238 switch (featureID) {
239 case ProblemPackage.ARGUMENT__VARIABLE_OR_NODE:
240 return variableOrNode != null;
241 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
242 return singletonVariable != null;
243 }
244 return super.eIsSet(featureID);
245 }
246
247} //ArgumentImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java
deleted file mode 100644
index 5856a276..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java
+++ /dev/null
@@ -1,272 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification;
8
9import org.eclipse.emf.common.util.EList;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.impl.ENotificationImpl;
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16
17import org.eclipse.emf.ecore.util.EObjectResolvingEList;
18
19import org.eclipse.viatra.solver.language.model.problem.Assertion;
20import org.eclipse.viatra.solver.language.model.problem.LogicValue;
21import org.eclipse.viatra.solver.language.model.problem.Node;
22import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
23import org.eclipse.viatra.solver.language.model.problem.Relation;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>Assertion</b></em>'.
28 * <!-- end-user-doc -->
29 * <p>
30 * The following features are implemented:
31 * </p>
32 * <ul>
33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getRelation <em>Relation</em>}</li>
34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getArguments <em>Arguments</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getValue <em>Value</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class AssertionImpl extends MinimalEObjectImpl.Container implements Assertion {
41 /**
42 * The cached value of the '{@link #getRelation() <em>Relation</em>}' reference.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getRelation()
46 * @generated
47 * @ordered
48 */
49 protected Relation relation;
50
51 /**
52 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' reference list.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getArguments()
56 * @generated
57 * @ordered
58 */
59 protected EList<Node> arguments;
60
61 /**
62 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getValue()
66 * @generated
67 * @ordered
68 */
69 protected static final LogicValue VALUE_EDEFAULT = LogicValue.TRUE;
70
71 /**
72 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @see #getValue()
76 * @generated
77 * @ordered
78 */
79 protected LogicValue value = VALUE_EDEFAULT;
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 protected AssertionImpl() {
87 super();
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 protected EClass eStaticClass() {
97 return ProblemPackage.Literals.ASSERTION;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public Relation getRelation() {
106 if (relation != null && relation.eIsProxy()) {
107 InternalEObject oldRelation = (InternalEObject) relation;
108 relation = (Relation) eResolveProxy(oldRelation);
109 if (relation != oldRelation) {
110 if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.ASSERTION__RELATION,
112 oldRelation, relation));
113 }
114 }
115 return relation;
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 public Relation basicGetRelation() {
124 return relation;
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 public void setRelation(Relation newRelation) {
133 Relation oldRelation = relation;
134 relation = newRelation;
135 if (eNotificationRequired())
136 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ASSERTION__RELATION, oldRelation,
137 relation));
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 public EList<Node> getArguments() {
146 if (arguments == null) {
147 arguments = new EObjectResolvingEList<Node>(Node.class, this, ProblemPackage.ASSERTION__ARGUMENTS);
148 }
149 return arguments;
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 public LogicValue getValue() {
158 return value;
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 public void setValue(LogicValue newValue) {
167 LogicValue oldValue = value;
168 value = newValue == null ? VALUE_EDEFAULT : newValue;
169 if (eNotificationRequired())
170 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ASSERTION__VALUE, oldValue, value));
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public Object eGet(int featureID, boolean resolve, boolean coreType) {
180 switch (featureID) {
181 case ProblemPackage.ASSERTION__RELATION:
182 if (resolve)
183 return getRelation();
184 return basicGetRelation();
185 case ProblemPackage.ASSERTION__ARGUMENTS:
186 return getArguments();
187 case ProblemPackage.ASSERTION__VALUE:
188 return getValue();
189 }
190 return super.eGet(featureID, resolve, coreType);
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @SuppressWarnings("unchecked")
199 @Override
200 public void eSet(int featureID, Object newValue) {
201 switch (featureID) {
202 case ProblemPackage.ASSERTION__RELATION:
203 setRelation((Relation) newValue);
204 return;
205 case ProblemPackage.ASSERTION__ARGUMENTS:
206 getArguments().clear();
207 getArguments().addAll((Collection<? extends Node>) newValue);
208 return;
209 case ProblemPackage.ASSERTION__VALUE:
210 setValue((LogicValue) newValue);
211 return;
212 }
213 super.eSet(featureID, newValue);
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 @Override
222 public void eUnset(int featureID) {
223 switch (featureID) {
224 case ProblemPackage.ASSERTION__RELATION:
225 setRelation((Relation) null);
226 return;
227 case ProblemPackage.ASSERTION__ARGUMENTS:
228 getArguments().clear();
229 return;
230 case ProblemPackage.ASSERTION__VALUE:
231 setValue(VALUE_EDEFAULT);
232 return;
233 }
234 super.eUnset(featureID);
235 }
236
237 /**
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @generated
241 */
242 @Override
243 public boolean eIsSet(int featureID) {
244 switch (featureID) {
245 case ProblemPackage.ASSERTION__RELATION:
246 return relation != null;
247 case ProblemPackage.ASSERTION__ARGUMENTS:
248 return arguments != null && !arguments.isEmpty();
249 case ProblemPackage.ASSERTION__VALUE:
250 return value != VALUE_EDEFAULT;
251 }
252 return super.eIsSet(featureID);
253 }
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 @Override
261 public String toString() {
262 if (eIsProxy())
263 return super.toString();
264
265 StringBuilder result = new StringBuilder(super.toString());
266 result.append(" (value: ");
267 result.append(value);
268 result.append(')');
269 return result.toString();
270 }
271
272} //AssertionImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java
deleted file mode 100644
index d70fe90b..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java
+++ /dev/null
@@ -1,286 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification;
8
9import org.eclipse.emf.common.notify.NotificationChain;
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.ENotificationImpl;
16
17import org.eclipse.emf.ecore.util.EObjectContainmentEList;
18import org.eclipse.emf.ecore.util.InternalEList;
19import org.eclipse.viatra.solver.language.model.problem.Argument;
20import org.eclipse.viatra.solver.language.model.problem.Atom;
21import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
22import org.eclipse.viatra.solver.language.model.problem.Relation;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Atom</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.model.problem.impl.AtomImpl#getRelation <em>Relation</em>}</li>
33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#isTransitiveClosure <em>Transitive Closure</em>}</li>
34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#getArguments <em>Arguments</em>}</li>
35 * </ul>
36 *
37 * @generated
38 */
39public class AtomImpl extends LiteralImpl implements Atom {
40 /**
41 * The cached value of the '{@link #getRelation() <em>Relation</em>}' reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getRelation()
45 * @generated
46 * @ordered
47 */
48 protected Relation relation;
49
50 /**
51 * The default value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @see #isTransitiveClosure()
55 * @generated
56 * @ordered
57 */
58 protected static final boolean TRANSITIVE_CLOSURE_EDEFAULT = false;
59
60 /**
61 * The cached value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see #isTransitiveClosure()
65 * @generated
66 * @ordered
67 */
68 protected boolean transitiveClosure = TRANSITIVE_CLOSURE_EDEFAULT;
69
70 /**
71 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @see #getArguments()
75 * @generated
76 * @ordered
77 */
78 protected EList<Argument> arguments;
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 protected AtomImpl() {
86 super();
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 protected EClass eStaticClass() {
96 return ProblemPackage.Literals.ATOM;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 public Relation getRelation() {
105 if (relation != null && relation.eIsProxy()) {
106 InternalEObject oldRelation = (InternalEObject) relation;
107 relation = (Relation) eResolveProxy(oldRelation);
108 if (relation != oldRelation) {
109 if (eNotificationRequired())
110 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.ATOM__RELATION,
111 oldRelation, relation));
112 }
113 }
114 return relation;
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 public Relation basicGetRelation() {
123 return relation;
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 public void setRelation(Relation newRelation) {
132 Relation oldRelation = relation;
133 relation = newRelation;
134 if (eNotificationRequired())
135 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ATOM__RELATION, oldRelation,
136 relation));
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 public EList<Argument> getArguments() {
145 if (arguments == null) {
146 arguments = new EObjectContainmentEList<Argument>(Argument.class, this, ProblemPackage.ATOM__ARGUMENTS);
147 }
148 return arguments;
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 public boolean isTransitiveClosure() {
157 return transitiveClosure;
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 public void setTransitiveClosure(boolean newTransitiveClosure) {
166 boolean oldTransitiveClosure = transitiveClosure;
167 transitiveClosure = newTransitiveClosure;
168 if (eNotificationRequired())
169 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ATOM__TRANSITIVE_CLOSURE,
170 oldTransitiveClosure, transitiveClosure));
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
180 switch (featureID) {
181 case ProblemPackage.ATOM__ARGUMENTS:
182 return ((InternalEList<?>) getArguments()).basicRemove(otherEnd, msgs);
183 }
184 return super.eInverseRemove(otherEnd, featureID, msgs);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public Object eGet(int featureID, boolean resolve, boolean coreType) {
194 switch (featureID) {
195 case ProblemPackage.ATOM__RELATION:
196 if (resolve)
197 return getRelation();
198 return basicGetRelation();
199 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
200 return isTransitiveClosure();
201 case ProblemPackage.ATOM__ARGUMENTS:
202 return getArguments();
203 }
204 return super.eGet(featureID, resolve, coreType);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @SuppressWarnings("unchecked")
213 @Override
214 public void eSet(int featureID, Object newValue) {
215 switch (featureID) {
216 case ProblemPackage.ATOM__RELATION:
217 setRelation((Relation) newValue);
218 return;
219 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
220 setTransitiveClosure((Boolean) newValue);
221 return;
222 case ProblemPackage.ATOM__ARGUMENTS:
223 getArguments().clear();
224 getArguments().addAll((Collection<? extends Argument>) newValue);
225 return;
226 }
227 super.eSet(featureID, newValue);
228 }
229
230 /**
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @generated
234 */
235 @Override
236 public void eUnset(int featureID) {
237 switch (featureID) {
238 case ProblemPackage.ATOM__RELATION:
239 setRelation((Relation) null);
240 return;
241 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
242 setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT);
243 return;
244 case ProblemPackage.ATOM__ARGUMENTS:
245 getArguments().clear();
246 return;
247 }
248 super.eUnset(featureID);
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public boolean eIsSet(int featureID) {
258 switch (featureID) {
259 case ProblemPackage.ATOM__RELATION:
260 return relation != null;
261 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
262 return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT;
263 case ProblemPackage.ATOM__ARGUMENTS:
264 return arguments != null && !arguments.isEmpty();
265 }
266 return super.eIsSet(featureID);
267 }
268
269 /**
270 * <!-- begin-user-doc -->
271 * <!-- end-user-doc -->
272 * @generated
273 */
274 @Override
275 public String toString() {
276 if (eIsProxy())
277 return super.toString();
278
279 StringBuilder result = new StringBuilder(super.toString());
280 result.append(" (transitiveClosure: ");
281 result.append(transitiveClosure);
282 result.append(')');
283 return result.toString();
284 }
285
286} //AtomImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java
deleted file mode 100644
index 774a6e33..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java
+++ /dev/null
@@ -1,335 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification;
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.ENotificationImpl;
16
17import org.eclipse.emf.ecore.util.EObjectContainmentEList;
18import org.eclipse.emf.ecore.util.EObjectResolvingEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
22import org.eclipse.viatra.solver.language.model.problem.Node;
23import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
24import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
25import org.eclipse.viatra.solver.language.model.problem.Relation;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Class Declaration</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.model.problem.impl.ClassDeclarationImpl#isAbstract <em>Abstract</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#getSuperTypes <em>Super Types</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#getReferenceDeclarations <em>Reference Declarations</em>}</li>
38 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#getNewNode <em>New Node</em>}</li>
39 * </ul>
40 *
41 * @generated
42 */
43public class ClassDeclarationImpl extends RelationImpl implements ClassDeclaration {
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 #getSuperTypes() <em>Super Types</em>}' reference list.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see #getSuperTypes()
69 * @generated
70 * @ordered
71 */
72 protected EList<Relation> superTypes;
73
74 /**
75 * The cached value of the '{@link #getReferenceDeclarations() <em>Reference Declarations</em>}' containment reference list.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #getReferenceDeclarations()
79 * @generated
80 * @ordered
81 */
82 protected EList<ReferenceDeclaration> referenceDeclarations;
83
84 /**
85 * The cached value of the '{@link #getNewNode() <em>New Node</em>}' containment reference.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @see #getNewNode()
89 * @generated
90 * @ordered
91 */
92 protected Node newNode;
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 protected ClassDeclarationImpl() {
100 super();
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 protected EClass eStaticClass() {
110 return ProblemPackage.Literals.CLASS_DECLARATION;
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public boolean isAbstract() {
119 return abstract_;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public void setAbstract(boolean newAbstract) {
128 boolean oldAbstract = abstract_;
129 abstract_ = newAbstract;
130 if (eNotificationRequired())
131 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.CLASS_DECLARATION__ABSTRACT,
132 oldAbstract, abstract_));
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 public EList<Relation> getSuperTypes() {
141 if (superTypes == null) {
142 superTypes = new EObjectResolvingEList<Relation>(Relation.class, this,
143 ProblemPackage.CLASS_DECLARATION__SUPER_TYPES);
144 }
145 return superTypes;
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 public EList<ReferenceDeclaration> getReferenceDeclarations() {
154 if (referenceDeclarations == null) {
155 referenceDeclarations = new EObjectContainmentEList<ReferenceDeclaration>(ReferenceDeclaration.class, this,
156 ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS);
157 }
158 return referenceDeclarations;
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 public Node getNewNode() {
167 return newNode;
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 public NotificationChain basicSetNewNode(Node newNewNode, NotificationChain msgs) {
176 Node oldNewNode = newNode;
177 newNode = newNewNode;
178 if (eNotificationRequired()) {
179 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
180 ProblemPackage.CLASS_DECLARATION__NEW_NODE, oldNewNode, newNewNode);
181 if (msgs == null)
182 msgs = notification;
183 else
184 msgs.add(notification);
185 }
186 return msgs;
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 public void setNewNode(Node newNewNode) {
195 if (newNewNode != newNode) {
196 NotificationChain msgs = null;
197 if (newNode != null)
198 msgs = ((InternalEObject) newNode).eInverseRemove(this,
199 EOPPOSITE_FEATURE_BASE - ProblemPackage.CLASS_DECLARATION__NEW_NODE, null, msgs);
200 if (newNewNode != null)
201 msgs = ((InternalEObject) newNewNode).eInverseAdd(this,
202 EOPPOSITE_FEATURE_BASE - ProblemPackage.CLASS_DECLARATION__NEW_NODE, null, msgs);
203 msgs = basicSetNewNode(newNewNode, msgs);
204 if (msgs != null)
205 msgs.dispatch();
206 } else if (eNotificationRequired())
207 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.CLASS_DECLARATION__NEW_NODE,
208 newNewNode, newNewNode));
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
218 switch (featureID) {
219 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
220 return ((InternalEList<?>) getReferenceDeclarations()).basicRemove(otherEnd, msgs);
221 case ProblemPackage.CLASS_DECLARATION__NEW_NODE:
222 return basicSetNewNode(null, msgs);
223 }
224 return super.eInverseRemove(otherEnd, featureID, msgs);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public Object eGet(int featureID, boolean resolve, boolean coreType) {
234 switch (featureID) {
235 case ProblemPackage.CLASS_DECLARATION__ABSTRACT:
236 return isAbstract();
237 case ProblemPackage.CLASS_DECLARATION__SUPER_TYPES:
238 return getSuperTypes();
239 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
240 return getReferenceDeclarations();
241 case ProblemPackage.CLASS_DECLARATION__NEW_NODE:
242 return getNewNode();
243 }
244 return super.eGet(featureID, resolve, coreType);
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @SuppressWarnings("unchecked")
253 @Override
254 public void eSet(int featureID, Object newValue) {
255 switch (featureID) {
256 case ProblemPackage.CLASS_DECLARATION__ABSTRACT:
257 setAbstract((Boolean) newValue);
258 return;
259 case ProblemPackage.CLASS_DECLARATION__SUPER_TYPES:
260 getSuperTypes().clear();
261 getSuperTypes().addAll((Collection<? extends Relation>) newValue);
262 return;
263 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
264 getReferenceDeclarations().clear();
265 getReferenceDeclarations().addAll((Collection<? extends ReferenceDeclaration>) newValue);
266 return;
267 case ProblemPackage.CLASS_DECLARATION__NEW_NODE:
268 setNewNode((Node) newValue);
269 return;
270 }
271 super.eSet(featureID, newValue);
272 }
273
274 /**
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 */
279 @Override
280 public void eUnset(int featureID) {
281 switch (featureID) {
282 case ProblemPackage.CLASS_DECLARATION__ABSTRACT:
283 setAbstract(ABSTRACT_EDEFAULT);
284 return;
285 case ProblemPackage.CLASS_DECLARATION__SUPER_TYPES:
286 getSuperTypes().clear();
287 return;
288 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
289 getReferenceDeclarations().clear();
290 return;
291 case ProblemPackage.CLASS_DECLARATION__NEW_NODE:
292 setNewNode((Node) 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 switch (featureID) {
306 case ProblemPackage.CLASS_DECLARATION__ABSTRACT:
307 return abstract_ != ABSTRACT_EDEFAULT;
308 case ProblemPackage.CLASS_DECLARATION__SUPER_TYPES:
309 return superTypes != null && !superTypes.isEmpty();
310 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
311 return referenceDeclarations != null && !referenceDeclarations.isEmpty();
312 case ProblemPackage.CLASS_DECLARATION__NEW_NODE:
313 return newNode != null;
314 }
315 return super.eIsSet(featureID);
316 }
317
318 /**
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @generated
322 */
323 @Override
324 public String toString() {
325 if (eIsProxy())
326 return super.toString();
327
328 StringBuilder result = new StringBuilder(super.toString());
329 result.append(" (abstract: ");
330 result.append(abstract_);
331 result.append(')');
332 return result.toString();
333 }
334
335} //ClassDeclarationImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java
deleted file mode 100644
index 72258cc1..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java
+++ /dev/null
@@ -1,190 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.common.util.EList;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
15
16import org.eclipse.emf.ecore.util.EObjectContainmentEList;
17import org.eclipse.emf.ecore.util.InternalEList;
18
19import org.eclipse.viatra.solver.language.model.problem.Conjunction;
20import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
21import org.eclipse.viatra.solver.language.model.problem.Literal;
22import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Conjunction</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.model.problem.impl.ConjunctionImpl#getImplicitVariables <em>Implicit Variables</em>}</li>
33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ConjunctionImpl#getLiterals <em>Literals</em>}</li>
34 * </ul>
35 *
36 * @generated
37 */
38public class ConjunctionImpl extends MinimalEObjectImpl.Container implements Conjunction {
39 /**
40 * The cached value of the '{@link #getImplicitVariables() <em>Implicit Variables</em>}' containment reference list.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getImplicitVariables()
44 * @generated
45 * @ordered
46 */
47 protected EList<ImplicitVariable> implicitVariables;
48
49 /**
50 * The cached value of the '{@link #getLiterals() <em>Literals</em>}' containment reference list.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getLiterals()
54 * @generated
55 * @ordered
56 */
57 protected EList<Literal> literals;
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 protected ConjunctionImpl() {
65 super();
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 protected EClass eStaticClass() {
75 return ProblemPackage.Literals.CONJUNCTION;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public EList<ImplicitVariable> getImplicitVariables() {
84 if (implicitVariables == null) {
85 implicitVariables = new EObjectContainmentEList<ImplicitVariable>(ImplicitVariable.class, this,
86 ProblemPackage.CONJUNCTION__IMPLICIT_VARIABLES);
87 }
88 return implicitVariables;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public EList<Literal> getLiterals() {
97 if (literals == null) {
98 literals = new EObjectContainmentEList<Literal>(Literal.class, this, ProblemPackage.CONJUNCTION__LITERALS);
99 }
100 return literals;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
110 switch (featureID) {
111 case ProblemPackage.CONJUNCTION__IMPLICIT_VARIABLES:
112 return ((InternalEList<?>) getImplicitVariables()).basicRemove(otherEnd, msgs);
113 case ProblemPackage.CONJUNCTION__LITERALS:
114 return ((InternalEList<?>) getLiterals()).basicRemove(otherEnd, msgs);
115 }
116 return super.eInverseRemove(otherEnd, featureID, msgs);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public Object eGet(int featureID, boolean resolve, boolean coreType) {
126 switch (featureID) {
127 case ProblemPackage.CONJUNCTION__IMPLICIT_VARIABLES:
128 return getImplicitVariables();
129 case ProblemPackage.CONJUNCTION__LITERALS:
130 return getLiterals();
131 }
132 return super.eGet(featureID, resolve, coreType);
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @SuppressWarnings("unchecked")
141 @Override
142 public void eSet(int featureID, Object newValue) {
143 switch (featureID) {
144 case ProblemPackage.CONJUNCTION__IMPLICIT_VARIABLES:
145 getImplicitVariables().clear();
146 getImplicitVariables().addAll((Collection<? extends ImplicitVariable>) newValue);
147 return;
148 case ProblemPackage.CONJUNCTION__LITERALS:
149 getLiterals().clear();
150 getLiterals().addAll((Collection<? extends Literal>) newValue);
151 return;
152 }
153 super.eSet(featureID, newValue);
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 @Override
162 public void eUnset(int featureID) {
163 switch (featureID) {
164 case ProblemPackage.CONJUNCTION__IMPLICIT_VARIABLES:
165 getImplicitVariables().clear();
166 return;
167 case ProblemPackage.CONJUNCTION__LITERALS:
168 getLiterals().clear();
169 return;
170 }
171 super.eUnset(featureID);
172 }
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 @Override
180 public boolean eIsSet(int featureID) {
181 switch (featureID) {
182 case ProblemPackage.CONJUNCTION__IMPLICIT_VARIABLES:
183 return implicitVariables != null && !implicitVariables.isEmpty();
184 case ProblemPackage.CONJUNCTION__LITERALS:
185 return literals != null && !literals.isEmpty();
186 }
187 return super.eIsSet(featureID);
188 }
189
190} //ConjunctionImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/EnumDeclarationImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/EnumDeclarationImpl.java
deleted file mode 100644
index aac00423..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/EnumDeclarationImpl.java
+++ /dev/null
@@ -1,150 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.common.util.EList;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.util.EObjectContainmentEList;
15import org.eclipse.emf.ecore.util.InternalEList;
16
17import org.eclipse.viatra.solver.language.model.problem.EnumDeclaration;
18import org.eclipse.viatra.solver.language.model.problem.Node;
19import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Enum Declaration</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.model.problem.impl.EnumDeclarationImpl#getLiterals <em>Literals</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class EnumDeclarationImpl extends RelationImpl implements EnumDeclaration {
35 /**
36 * The cached value of the '{@link #getLiterals() <em>Literals</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getLiterals()
40 * @generated
41 * @ordered
42 */
43 protected EList<Node> literals;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected EnumDeclarationImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return ProblemPackage.Literals.ENUM_DECLARATION;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<Node> getLiterals() {
70 if (literals == null) {
71 literals = new EObjectContainmentEList<Node>(Node.class, this, ProblemPackage.ENUM_DECLARATION__LITERALS);
72 }
73 return literals;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @Override
82 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
83 switch (featureID) {
84 case ProblemPackage.ENUM_DECLARATION__LITERALS:
85 return ((InternalEList<?>) getLiterals()).basicRemove(otherEnd, msgs);
86 }
87 return super.eInverseRemove(otherEnd, featureID, msgs);
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 public Object eGet(int featureID, boolean resolve, boolean coreType) {
97 switch (featureID) {
98 case ProblemPackage.ENUM_DECLARATION__LITERALS:
99 return getLiterals();
100 }
101 return super.eGet(featureID, resolve, coreType);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @SuppressWarnings("unchecked")
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case ProblemPackage.ENUM_DECLARATION__LITERALS:
114 getLiterals().clear();
115 getLiterals().addAll((Collection<? extends Node>) newValue);
116 return;
117 }
118 super.eSet(featureID, newValue);
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public void eUnset(int featureID) {
128 switch (featureID) {
129 case ProblemPackage.ENUM_DECLARATION__LITERALS:
130 getLiterals().clear();
131 return;
132 }
133 super.eUnset(featureID);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public boolean eIsSet(int featureID) {
143 switch (featureID) {
144 case ProblemPackage.ENUM_DECLARATION__LITERALS:
145 return literals != null && !literals.isEmpty();
146 }
147 return super.eIsSet(featureID);
148 }
149
150} //EnumDeclarationImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ExactMultiplicityImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ExactMultiplicityImpl.java
deleted file mode 100644
index b3896ac2..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ExactMultiplicityImpl.java
+++ /dev/null
@@ -1,164 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6
7import org.eclipse.emf.ecore.EClass;
8
9import org.eclipse.emf.ecore.impl.ENotificationImpl;
10
11import org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity;
12import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Exact Multiplicity</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ExactMultiplicityImpl#getExactValue <em>Exact Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class ExactMultiplicityImpl extends MultiplicityImpl implements ExactMultiplicity {
28 /**
29 * The default value of the '{@link #getExactValue() <em>Exact Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getExactValue()
33 * @generated
34 * @ordered
35 */
36 protected static final int EXACT_VALUE_EDEFAULT = 1;
37
38 /**
39 * The cached value of the '{@link #getExactValue() <em>Exact Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getExactValue()
43 * @generated
44 * @ordered
45 */
46 protected int exactValue = EXACT_VALUE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected ExactMultiplicityImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return ProblemPackage.Literals.EXACT_MULTIPLICITY;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public int getExactValue() {
73 return exactValue;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setExactValue(int newExactValue) {
82 int oldExactValue = exactValue;
83 exactValue = newExactValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.EXACT_MULTIPLICITY__EXACT_VALUE,
86 oldExactValue, exactValue));
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public Object eGet(int featureID, boolean resolve, boolean coreType) {
96 switch (featureID) {
97 case ProblemPackage.EXACT_MULTIPLICITY__EXACT_VALUE:
98 return getExactValue();
99 }
100 return super.eGet(featureID, resolve, coreType);
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void eSet(int featureID, Object newValue) {
110 switch (featureID) {
111 case ProblemPackage.EXACT_MULTIPLICITY__EXACT_VALUE:
112 setExactValue((Integer) newValue);
113 return;
114 }
115 super.eSet(featureID, newValue);
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public void eUnset(int featureID) {
125 switch (featureID) {
126 case ProblemPackage.EXACT_MULTIPLICITY__EXACT_VALUE:
127 setExactValue(EXACT_VALUE_EDEFAULT);
128 return;
129 }
130 super.eUnset(featureID);
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public boolean eIsSet(int featureID) {
140 switch (featureID) {
141 case ProblemPackage.EXACT_MULTIPLICITY__EXACT_VALUE:
142 return exactValue != EXACT_VALUE_EDEFAULT;
143 }
144 return super.eIsSet(featureID);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public String toString() {
154 if (eIsProxy())
155 return super.toString();
156
157 StringBuilder result = new StringBuilder(super.toString());
158 result.append(" (exactValue: ");
159 result.append(exactValue);
160 result.append(')');
161 return result.toString();
162 }
163
164} //ExactMultiplicityImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ImplicitVariableImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ImplicitVariableImpl.java
deleted file mode 100644
index 03a31a16..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ImplicitVariableImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
8import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Implicit Variable</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class ImplicitVariableImpl extends VariableImpl implements ImplicitVariable {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected ImplicitVariableImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return ProblemPackage.Literals.IMPLICIT_VARIABLE;
35 }
36
37} //ImplicitVariableImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/LiteralImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/LiteralImpl.java
deleted file mode 100644
index c48bdb0b..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/LiteralImpl.java
+++ /dev/null
@@ -1,39 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
8
9import org.eclipse.viatra.solver.language.model.problem.Literal;
10import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Literal</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public abstract class LiteralImpl extends MinimalEObjectImpl.Container implements Literal {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected LiteralImpl() {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass() {
36 return ProblemPackage.Literals.LITERAL;
37 }
38
39} //LiteralImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/MultiplicityImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/MultiplicityImpl.java
deleted file mode 100644
index 8d769eb0..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/MultiplicityImpl.java
+++ /dev/null
@@ -1,39 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
8
9import org.eclipse.viatra.solver.language.model.problem.Multiplicity;
10import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Multiplicity</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public abstract class MultiplicityImpl extends MinimalEObjectImpl.Container implements Multiplicity {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected MultiplicityImpl() {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass() {
36 return ProblemPackage.Literals.MULTIPLICITY;
37 }
38
39} //MultiplicityImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NamedElementImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NamedElementImpl.java
deleted file mode 100644
index b414013b..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NamedElementImpl.java
+++ /dev/null
@@ -1,164 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6
7import org.eclipse.emf.ecore.EClass;
8
9import org.eclipse.emf.ecore.impl.ENotificationImpl;
10import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
11
12import org.eclipse.viatra.solver.language.model.problem.NamedElement;
13import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Named Element</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.model.problem.impl.NamedElementImpl#getName <em>Name</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public abstract class NamedElementImpl extends MinimalEObjectImpl.Container implements NamedElement {
29 /**
30 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getName()
34 * @generated
35 * @ordered
36 */
37 protected static final String NAME_EDEFAULT = null;
38
39 /**
40 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getName()
44 * @generated
45 * @ordered
46 */
47 protected String name = NAME_EDEFAULT;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected NamedElementImpl() {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 protected EClass eStaticClass() {
65 return ProblemPackage.Literals.NAMED_ELEMENT;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 public String getName() {
74 return name;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public void setName(String newName) {
83 String oldName = name;
84 name = newName;
85 if (eNotificationRequired())
86 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.NAMED_ELEMENT__NAME, oldName, name));
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public Object eGet(int featureID, boolean resolve, boolean coreType) {
96 switch (featureID) {
97 case ProblemPackage.NAMED_ELEMENT__NAME:
98 return getName();
99 }
100 return super.eGet(featureID, resolve, coreType);
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void eSet(int featureID, Object newValue) {
110 switch (featureID) {
111 case ProblemPackage.NAMED_ELEMENT__NAME:
112 setName((String) newValue);
113 return;
114 }
115 super.eSet(featureID, newValue);
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public void eUnset(int featureID) {
125 switch (featureID) {
126 case ProblemPackage.NAMED_ELEMENT__NAME:
127 setName(NAME_EDEFAULT);
128 return;
129 }
130 super.eUnset(featureID);
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public boolean eIsSet(int featureID) {
140 switch (featureID) {
141 case ProblemPackage.NAMED_ELEMENT__NAME:
142 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
143 }
144 return super.eIsSet(featureID);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public String toString() {
154 if (eIsProxy())
155 return super.toString();
156
157 StringBuilder result = new StringBuilder(super.toString());
158 result.append(" (name: ");
159 result.append(name);
160 result.append(')');
161 return result.toString();
162 }
163
164} //NamedElementImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java
deleted file mode 100644
index 857a779d..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java
+++ /dev/null
@@ -1,229 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification;
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.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21import org.eclipse.viatra.solver.language.model.problem.Atom;
22import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
23import org.eclipse.viatra.solver.language.model.problem.NegativeLiteral;
24import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Negative Literal</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.model.problem.impl.NegativeLiteralImpl#getImplicitVariables <em>Implicit Variables</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.NegativeLiteralImpl#getAtom <em>Atom</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class NegativeLiteralImpl extends MinimalEObjectImpl.Container implements NegativeLiteral {
41 /**
42 * The cached value of the '{@link #getImplicitVariables() <em>Implicit Variables</em>}' containment reference list.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getImplicitVariables()
46 * @generated
47 * @ordered
48 */
49 protected EList<ImplicitVariable> implicitVariables;
50
51 /**
52 * The cached value of the '{@link #getAtom() <em>Atom</em>}' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getAtom()
56 * @generated
57 * @ordered
58 */
59 protected Atom atom;
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 protected NegativeLiteralImpl() {
67 super();
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 protected EClass eStaticClass() {
77 return ProblemPackage.Literals.NEGATIVE_LITERAL;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public EList<ImplicitVariable> getImplicitVariables() {
86 if (implicitVariables == null) {
87 implicitVariables = new EObjectContainmentEList<ImplicitVariable>(ImplicitVariable.class, this,
88 ProblemPackage.NEGATIVE_LITERAL__IMPLICIT_VARIABLES);
89 }
90 return implicitVariables;
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 public Atom getAtom() {
99 return atom;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public NotificationChain basicSetAtom(Atom newAtom, NotificationChain msgs) {
108 Atom oldAtom = atom;
109 atom = newAtom;
110 if (eNotificationRequired()) {
111 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
112 ProblemPackage.NEGATIVE_LITERAL__ATOM, oldAtom, newAtom);
113 if (msgs == null)
114 msgs = notification;
115 else
116 msgs.add(notification);
117 }
118 return msgs;
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 public void setAtom(Atom newAtom) {
127 if (newAtom != atom) {
128 NotificationChain msgs = null;
129 if (atom != null)
130 msgs = ((InternalEObject) atom).eInverseRemove(this,
131 EOPPOSITE_FEATURE_BASE - ProblemPackage.NEGATIVE_LITERAL__ATOM, null, msgs);
132 if (newAtom != null)
133 msgs = ((InternalEObject) newAtom).eInverseAdd(this,
134 EOPPOSITE_FEATURE_BASE - ProblemPackage.NEGATIVE_LITERAL__ATOM, null, msgs);
135 msgs = basicSetAtom(newAtom, msgs);
136 if (msgs != null)
137 msgs.dispatch();
138 } else if (eNotificationRequired())
139 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.NEGATIVE_LITERAL__ATOM, newAtom,
140 newAtom));
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 @Override
149 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
150 switch (featureID) {
151 case ProblemPackage.NEGATIVE_LITERAL__IMPLICIT_VARIABLES:
152 return ((InternalEList<?>) getImplicitVariables()).basicRemove(otherEnd, msgs);
153 case ProblemPackage.NEGATIVE_LITERAL__ATOM:
154 return basicSetAtom(null, msgs);
155 }
156 return super.eInverseRemove(otherEnd, featureID, msgs);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public Object eGet(int featureID, boolean resolve, boolean coreType) {
166 switch (featureID) {
167 case ProblemPackage.NEGATIVE_LITERAL__IMPLICIT_VARIABLES:
168 return getImplicitVariables();
169 case ProblemPackage.NEGATIVE_LITERAL__ATOM:
170 return getAtom();
171 }
172 return super.eGet(featureID, resolve, coreType);
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @SuppressWarnings("unchecked")
181 @Override
182 public void eSet(int featureID, Object newValue) {
183 switch (featureID) {
184 case ProblemPackage.NEGATIVE_LITERAL__IMPLICIT_VARIABLES:
185 getImplicitVariables().clear();
186 getImplicitVariables().addAll((Collection<? extends ImplicitVariable>) newValue);
187 return;
188 case ProblemPackage.NEGATIVE_LITERAL__ATOM:
189 setAtom((Atom) newValue);
190 return;
191 }
192 super.eSet(featureID, newValue);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eUnset(int featureID) {
202 switch (featureID) {
203 case ProblemPackage.NEGATIVE_LITERAL__IMPLICIT_VARIABLES:
204 getImplicitVariables().clear();
205 return;
206 case ProblemPackage.NEGATIVE_LITERAL__ATOM:
207 setAtom((Atom) null);
208 return;
209 }
210 super.eUnset(featureID);
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public boolean eIsSet(int featureID) {
220 switch (featureID) {
221 case ProblemPackage.NEGATIVE_LITERAL__IMPLICIT_VARIABLES:
222 return implicitVariables != null && !implicitVariables.isEmpty();
223 case ProblemPackage.NEGATIVE_LITERAL__ATOM:
224 return atom != null;
225 }
226 return super.eIsSet(featureID);
227 }
228
229} //NegativeLiteralImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeImpl.java
deleted file mode 100644
index 0c08bb1b..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.model.problem.Node;
8import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Node</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class NodeImpl extends VariableOrNodeImpl implements Node {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected NodeImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return ProblemPackage.Literals.NODE;
35 }
36
37} //NodeImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ParameterImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ParameterImpl.java
deleted file mode 100644
index 06eea3f3..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ParameterImpl.java
+++ /dev/null
@@ -1,158 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.InternalEObject;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11import org.eclipse.viatra.solver.language.model.problem.Parameter;
12import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
13import org.eclipse.viatra.solver.language.model.problem.Relation;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Parameter</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.model.problem.impl.ParameterImpl#getParameterType <em>Parameter Type</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class ParameterImpl extends VariableImpl implements Parameter {
29 /**
30 * The cached value of the '{@link #getParameterType() <em>Parameter Type</em>}' reference.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getParameterType()
34 * @generated
35 * @ordered
36 */
37 protected Relation parameterType;
38
39 /**
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @generated
43 */
44 protected ParameterImpl() {
45 super();
46 }
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 @Override
54 protected EClass eStaticClass() {
55 return ProblemPackage.Literals.PARAMETER;
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 public Relation getParameterType() {
64 if (parameterType != null && parameterType.eIsProxy()) {
65 InternalEObject oldParameterType = (InternalEObject) parameterType;
66 parameterType = (Relation) eResolveProxy(oldParameterType);
67 if (parameterType != oldParameterType) {
68 if (eNotificationRequired())
69 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.PARAMETER__PARAMETER_TYPE,
70 oldParameterType, parameterType));
71 }
72 }
73 return parameterType;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public Relation basicGetParameterType() {
82 return parameterType;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public void setParameterType(Relation newParameterType) {
91 Relation oldParameterType = parameterType;
92 parameterType = newParameterType;
93 if (eNotificationRequired())
94 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.PARAMETER__PARAMETER_TYPE,
95 oldParameterType, parameterType));
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 switch (featureID) {
106 case ProblemPackage.PARAMETER__PARAMETER_TYPE:
107 if (resolve)
108 return getParameterType();
109 return basicGetParameterType();
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 switch (featureID) {
122 case ProblemPackage.PARAMETER__PARAMETER_TYPE:
123 setParameterType((Relation) 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 switch (featureID) {
137 case ProblemPackage.PARAMETER__PARAMETER_TYPE:
138 setParameterType((Relation) null);
139 return;
140 }
141 super.eUnset(featureID);
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 @Override
150 public boolean eIsSet(int featureID) {
151 switch (featureID) {
152 case ProblemPackage.PARAMETER__PARAMETER_TYPE:
153 return parameterType != null;
154 }
155 return super.eIsSet(featureID);
156 }
157
158} //ParameterImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/PredicateDefinitionImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/PredicateDefinitionImpl.java
deleted file mode 100644
index 968b6de1..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/PredicateDefinitionImpl.java
+++ /dev/null
@@ -1,262 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification;
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.ENotificationImpl;
16
17import org.eclipse.emf.ecore.util.EObjectContainmentEList;
18import org.eclipse.emf.ecore.util.InternalEList;
19
20import org.eclipse.viatra.solver.language.model.problem.Conjunction;
21import org.eclipse.viatra.solver.language.model.problem.Parameter;
22import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition;
23import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>Predicate Definition</b></em>'.
28 * <!-- end-user-doc -->
29 * <p>
30 * The following features are implemented:
31 * </p>
32 * <ul>
33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.PredicateDefinitionImpl#isError <em>Error</em>}</li>
34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.PredicateDefinitionImpl#getParameters <em>Parameters</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.PredicateDefinitionImpl#getBodies <em>Bodies</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class PredicateDefinitionImpl extends RelationImpl implements PredicateDefinition {
41 /**
42 * The default value of the '{@link #isError() <em>Error</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #isError()
46 * @generated
47 * @ordered
48 */
49 protected static final boolean ERROR_EDEFAULT = false;
50
51 /**
52 * The cached value of the '{@link #isError() <em>Error</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #isError()
56 * @generated
57 * @ordered
58 */
59 protected boolean error = ERROR_EDEFAULT;
60
61 /**
62 * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getParameters()
66 * @generated
67 * @ordered
68 */
69 protected EList<Parameter> parameters;
70
71 /**
72 * The cached value of the '{@link #getBodies() <em>Bodies</em>}' containment reference list.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @see #getBodies()
76 * @generated
77 * @ordered
78 */
79 protected EList<Conjunction> bodies;
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 protected PredicateDefinitionImpl() {
87 super();
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 protected EClass eStaticClass() {
97 return ProblemPackage.Literals.PREDICATE_DEFINITION;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public boolean isError() {
106 return error;
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 public void setError(boolean newError) {
115 boolean oldError = error;
116 error = newError;
117 if (eNotificationRequired())
118 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.PREDICATE_DEFINITION__ERROR, oldError,
119 error));
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public EList<Parameter> getParameters() {
128 if (parameters == null) {
129 parameters = new EObjectContainmentEList<Parameter>(Parameter.class, this,
130 ProblemPackage.PREDICATE_DEFINITION__PARAMETERS);
131 }
132 return parameters;
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 public EList<Conjunction> getBodies() {
141 if (bodies == null) {
142 bodies = new EObjectContainmentEList<Conjunction>(Conjunction.class, this,
143 ProblemPackage.PREDICATE_DEFINITION__BODIES);
144 }
145 return bodies;
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 switch (featureID) {
156 case ProblemPackage.PREDICATE_DEFINITION__PARAMETERS:
157 return ((InternalEList<?>) getParameters()).basicRemove(otherEnd, msgs);
158 case ProblemPackage.PREDICATE_DEFINITION__BODIES:
159 return ((InternalEList<?>) getBodies()).basicRemove(otherEnd, msgs);
160 }
161 return super.eInverseRemove(otherEnd, featureID, msgs);
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public Object eGet(int featureID, boolean resolve, boolean coreType) {
171 switch (featureID) {
172 case ProblemPackage.PREDICATE_DEFINITION__ERROR:
173 return isError();
174 case ProblemPackage.PREDICATE_DEFINITION__PARAMETERS:
175 return getParameters();
176 case ProblemPackage.PREDICATE_DEFINITION__BODIES:
177 return getBodies();
178 }
179 return super.eGet(featureID, resolve, coreType);
180 }
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 @SuppressWarnings("unchecked")
188 @Override
189 public void eSet(int featureID, Object newValue) {
190 switch (featureID) {
191 case ProblemPackage.PREDICATE_DEFINITION__ERROR:
192 setError((Boolean) newValue);
193 return;
194 case ProblemPackage.PREDICATE_DEFINITION__PARAMETERS:
195 getParameters().clear();
196 getParameters().addAll((Collection<? extends Parameter>) newValue);
197 return;
198 case ProblemPackage.PREDICATE_DEFINITION__BODIES:
199 getBodies().clear();
200 getBodies().addAll((Collection<? extends Conjunction>) 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 switch (featureID) {
214 case ProblemPackage.PREDICATE_DEFINITION__ERROR:
215 setError(ERROR_EDEFAULT);
216 return;
217 case ProblemPackage.PREDICATE_DEFINITION__PARAMETERS:
218 getParameters().clear();
219 return;
220 case ProblemPackage.PREDICATE_DEFINITION__BODIES:
221 getBodies().clear();
222 return;
223 }
224 super.eUnset(featureID);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public boolean eIsSet(int featureID) {
234 switch (featureID) {
235 case ProblemPackage.PREDICATE_DEFINITION__ERROR:
236 return error != ERROR_EDEFAULT;
237 case ProblemPackage.PREDICATE_DEFINITION__PARAMETERS:
238 return parameters != null && !parameters.isEmpty();
239 case ProblemPackage.PREDICATE_DEFINITION__BODIES:
240 return bodies != null && !bodies.isEmpty();
241 }
242 return super.eIsSet(featureID);
243 }
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 @Override
251 public String toString() {
252 if (eIsProxy())
253 return super.toString();
254
255 StringBuilder result = new StringBuilder(super.toString());
256 result.append(" (error: ");
257 result.append(error);
258 result.append(')');
259 return result.toString();
260 }
261
262} //PredicateDefinitionImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
deleted file mode 100644
index 2f4144b9..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
+++ /dev/null
@@ -1,353 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EDataType;
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.model.problem.*;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model <b>Factory</b>.
19 * <!-- end-user-doc -->
20 * @generated
21 */
22public class ProblemFactoryImpl extends EFactoryImpl implements ProblemFactory {
23 /**
24 * Creates the default factory implementation.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 public static ProblemFactory init() {
30 try {
31 ProblemFactory theProblemFactory = (ProblemFactory) EPackage.Registry.INSTANCE
32 .getEFactory(ProblemPackage.eNS_URI);
33 if (theProblemFactory != null) {
34 return theProblemFactory;
35 }
36 } catch (Exception exception) {
37 EcorePlugin.INSTANCE.log(exception);
38 }
39 return new ProblemFactoryImpl();
40 }
41
42 /**
43 * Creates an instance of the factory.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 public ProblemFactoryImpl() {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 public EObject create(EClass eClass) {
59 switch (eClass.getClassifierID()) {
60 case ProblemPackage.PROBLEM:
61 return createProblem();
62 case ProblemPackage.CLASS_DECLARATION:
63 return createClassDeclaration();
64 case ProblemPackage.REFERENCE_DECLARATION:
65 return createReferenceDeclaration();
66 case ProblemPackage.PREDICATE_DEFINITION:
67 return createPredicateDefinition();
68 case ProblemPackage.PARAMETER:
69 return createParameter();
70 case ProblemPackage.CONJUNCTION:
71 return createConjunction();
72 case ProblemPackage.ATOM:
73 return createAtom();
74 case ProblemPackage.IMPLICIT_VARIABLE:
75 return createImplicitVariable();
76 case ProblemPackage.NEGATIVE_LITERAL:
77 return createNegativeLiteral();
78 case ProblemPackage.ASSERTION:
79 return createAssertion();
80 case ProblemPackage.NODE:
81 return createNode();
82 case ProblemPackage.SCOPE_DECLARATION:
83 return createScopeDeclaration();
84 case ProblemPackage.TYPE_SCOPE:
85 return createTypeScope();
86 case ProblemPackage.RANGE_MULTIPLICITY:
87 return createRangeMultiplicity();
88 case ProblemPackage.EXACT_MULTIPLICITY:
89 return createExactMultiplicity();
90 case ProblemPackage.UNBOUNDED_MULTIPLICITY:
91 return createUnboundedMultiplicity();
92 case ProblemPackage.ARGUMENT:
93 return createArgument();
94 case ProblemPackage.ENUM_DECLARATION:
95 return createEnumDeclaration();
96 default:
97 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
98 }
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 @Override
107 public Object createFromString(EDataType eDataType, String initialValue) {
108 switch (eDataType.getClassifierID()) {
109 case ProblemPackage.LOGIC_VALUE:
110 return createLogicValueFromString(eDataType, initialValue);
111 default:
112 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
113 }
114 }
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 @Override
122 public String convertToString(EDataType eDataType, Object instanceValue) {
123 switch (eDataType.getClassifierID()) {
124 case ProblemPackage.LOGIC_VALUE:
125 return convertLogicValueToString(eDataType, instanceValue);
126 default:
127 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
128 }
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 public Problem createProblem() {
137 ProblemImpl problem = new ProblemImpl();
138 return problem;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 public ClassDeclaration createClassDeclaration() {
147 ClassDeclarationImpl classDeclaration = new ClassDeclarationImpl();
148 return classDeclaration;
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 public ReferenceDeclaration createReferenceDeclaration() {
157 ReferenceDeclarationImpl referenceDeclaration = new ReferenceDeclarationImpl();
158 return referenceDeclaration;
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 public PredicateDefinition createPredicateDefinition() {
167 PredicateDefinitionImpl predicateDefinition = new PredicateDefinitionImpl();
168 return predicateDefinition;
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 public Parameter createParameter() {
177 ParameterImpl parameter = new ParameterImpl();
178 return parameter;
179 }
180
181 /**
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 */
186 public Conjunction createConjunction() {
187 ConjunctionImpl conjunction = new ConjunctionImpl();
188 return conjunction;
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 public Atom createAtom() {
197 AtomImpl atom = new AtomImpl();
198 return atom;
199 }
200
201 /**
202 * <!-- begin-user-doc -->
203 * <!-- end-user-doc -->
204 * @generated
205 */
206 public ImplicitVariable createImplicitVariable() {
207 ImplicitVariableImpl implicitVariable = new ImplicitVariableImpl();
208 return implicitVariable;
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 public NegativeLiteral createNegativeLiteral() {
217 NegativeLiteralImpl negativeLiteral = new NegativeLiteralImpl();
218 return negativeLiteral;
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 public Assertion createAssertion() {
227 AssertionImpl assertion = new AssertionImpl();
228 return assertion;
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 public Node createNode() {
237 NodeImpl node = new NodeImpl();
238 return node;
239 }
240
241 /**
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @generated
245 */
246 public ScopeDeclaration createScopeDeclaration() {
247 ScopeDeclarationImpl scopeDeclaration = new ScopeDeclarationImpl();
248 return scopeDeclaration;
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 public TypeScope createTypeScope() {
257 TypeScopeImpl typeScope = new TypeScopeImpl();
258 return typeScope;
259 }
260
261 /**
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @generated
265 */
266 public RangeMultiplicity createRangeMultiplicity() {
267 RangeMultiplicityImpl rangeMultiplicity = new RangeMultiplicityImpl();
268 return rangeMultiplicity;
269 }
270
271 /**
272 * <!-- begin-user-doc -->
273 * <!-- end-user-doc -->
274 * @generated
275 */
276 public ExactMultiplicity createExactMultiplicity() {
277 ExactMultiplicityImpl exactMultiplicity = new ExactMultiplicityImpl();
278 return exactMultiplicity;
279 }
280
281 /**
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 */
286 public UnboundedMultiplicity createUnboundedMultiplicity() {
287 UnboundedMultiplicityImpl unboundedMultiplicity = new UnboundedMultiplicityImpl();
288 return unboundedMultiplicity;
289 }
290
291 /**
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 */
296 public Argument createArgument() {
297 ArgumentImpl argument = new ArgumentImpl();
298 return argument;
299 }
300
301 /**
302 * <!-- begin-user-doc -->
303 * <!-- end-user-doc -->
304 * @generated
305 */
306 public EnumDeclaration createEnumDeclaration() {
307 EnumDeclarationImpl enumDeclaration = new EnumDeclarationImpl();
308 return enumDeclaration;
309 }
310
311 /**
312 * <!-- begin-user-doc -->
313 * <!-- end-user-doc -->
314 * @generated
315 */
316 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) {
317 LogicValue result = LogicValue.get(initialValue);
318 if (result == null)
319 throw new IllegalArgumentException(
320 "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
321 return result;
322 }
323
324 /**
325 * <!-- begin-user-doc -->
326 * <!-- end-user-doc -->
327 * @generated
328 */
329 public String convertLogicValueToString(EDataType eDataType, Object instanceValue) {
330 return instanceValue == null ? null : instanceValue.toString();
331 }
332
333 /**
334 * <!-- begin-user-doc -->
335 * <!-- end-user-doc -->
336 * @generated
337 */
338 public ProblemPackage getProblemPackage() {
339 return (ProblemPackage) getEPackage();
340 }
341
342 /**
343 * <!-- begin-user-doc -->
344 * <!-- end-user-doc -->
345 * @deprecated
346 * @generated
347 */
348 @Deprecated
349 public static ProblemPackage getPackage() {
350 return ProblemPackage.eINSTANCE;
351 }
352
353} //ProblemFactoryImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java
deleted file mode 100644
index 191021c4..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java
+++ /dev/null
@@ -1,188 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.common.util.EList;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.util.EObjectContainmentEList;
15import org.eclipse.emf.ecore.util.InternalEList;
16
17import org.eclipse.viatra.solver.language.model.problem.Node;
18import org.eclipse.viatra.solver.language.model.problem.Problem;
19import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
20import org.eclipse.viatra.solver.language.model.problem.Statement;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>Problem</b></em>'.
25 * <!-- end-user-doc -->
26 * <p>
27 * The following features are implemented:
28 * </p>
29 * <ul>
30 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl#getNodes <em>Nodes</em>}</li>
31 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl#getStatements <em>Statements</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public class ProblemImpl extends NamedElementImpl implements Problem {
37 /**
38 * The cached value of the '{@link #getNodes() <em>Nodes</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getNodes()
42 * @generated
43 * @ordered
44 */
45 protected EList<Node> nodes;
46
47 /**
48 * The cached value of the '{@link #getStatements() <em>Statements</em>}' containment reference list.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @see #getStatements()
52 * @generated
53 * @ordered
54 */
55 protected EList<Statement> statements;
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 protected ProblemImpl() {
63 super();
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 @Override
72 protected EClass eStaticClass() {
73 return ProblemPackage.Literals.PROBLEM;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public EList<Node> getNodes() {
82 if (nodes == null) {
83 nodes = new EObjectContainmentEList<Node>(Node.class, this, ProblemPackage.PROBLEM__NODES);
84 }
85 return nodes;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public EList<Statement> getStatements() {
94 if (statements == null) {
95 statements = new EObjectContainmentEList<Statement>(Statement.class, this,
96 ProblemPackage.PROBLEM__STATEMENTS);
97 }
98 return statements;
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 @Override
107 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
108 switch (featureID) {
109 case ProblemPackage.PROBLEM__NODES:
110 return ((InternalEList<?>) getNodes()).basicRemove(otherEnd, msgs);
111 case ProblemPackage.PROBLEM__STATEMENTS:
112 return ((InternalEList<?>) getStatements()).basicRemove(otherEnd, msgs);
113 }
114 return super.eInverseRemove(otherEnd, featureID, msgs);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public Object eGet(int featureID, boolean resolve, boolean coreType) {
124 switch (featureID) {
125 case ProblemPackage.PROBLEM__NODES:
126 return getNodes();
127 case ProblemPackage.PROBLEM__STATEMENTS:
128 return getStatements();
129 }
130 return super.eGet(featureID, resolve, coreType);
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @SuppressWarnings("unchecked")
139 @Override
140 public void eSet(int featureID, Object newValue) {
141 switch (featureID) {
142 case ProblemPackage.PROBLEM__NODES:
143 getNodes().clear();
144 getNodes().addAll((Collection<? extends Node>) newValue);
145 return;
146 case ProblemPackage.PROBLEM__STATEMENTS:
147 getStatements().clear();
148 getStatements().addAll((Collection<? extends Statement>) newValue);
149 return;
150 }
151 super.eSet(featureID, newValue);
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 @Override
160 public void eUnset(int featureID) {
161 switch (featureID) {
162 case ProblemPackage.PROBLEM__NODES:
163 getNodes().clear();
164 return;
165 case ProblemPackage.PROBLEM__STATEMENTS:
166 getStatements().clear();
167 return;
168 }
169 super.eUnset(featureID);
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public boolean eIsSet(int featureID) {
179 switch (featureID) {
180 case ProblemPackage.PROBLEM__NODES:
181 return nodes != null && !nodes.isEmpty();
182 case ProblemPackage.PROBLEM__STATEMENTS:
183 return statements != null && !statements.isEmpty();
184 }
185 return super.eIsSet(featureID);
186 }
187
188} //ProblemImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
deleted file mode 100644
index d10ff2f0..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
+++ /dev/null
@@ -1,1206 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EEnum;
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.model.problem.Argument;
14import org.eclipse.viatra.solver.language.model.problem.Assertion;
15import org.eclipse.viatra.solver.language.model.problem.Atom;
16import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
17import org.eclipse.viatra.solver.language.model.problem.Conjunction;
18import org.eclipse.viatra.solver.language.model.problem.EnumDeclaration;
19import org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity;
20import org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier;
21import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
22import org.eclipse.viatra.solver.language.model.problem.Literal;
23import org.eclipse.viatra.solver.language.model.problem.LogicValue;
24import org.eclipse.viatra.solver.language.model.problem.Multiplicity;
25import org.eclipse.viatra.solver.language.model.problem.NamedElement;
26import org.eclipse.viatra.solver.language.model.problem.NegativeLiteral;
27import org.eclipse.viatra.solver.language.model.problem.Node;
28import org.eclipse.viatra.solver.language.model.problem.Parameter;
29import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition;
30import org.eclipse.viatra.solver.language.model.problem.Problem;
31import org.eclipse.viatra.solver.language.model.problem.ProblemFactory;
32import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
33import org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity;
34import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
35import org.eclipse.viatra.solver.language.model.problem.Relation;
36import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration;
37import org.eclipse.viatra.solver.language.model.problem.Statement;
38import org.eclipse.viatra.solver.language.model.problem.TypeScope;
39import org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity;
40import org.eclipse.viatra.solver.language.model.problem.Variable;
41import org.eclipse.viatra.solver.language.model.problem.VariableOrNode;
42
43/**
44 * <!-- begin-user-doc -->
45 * An implementation of the model <b>Package</b>.
46 * <!-- end-user-doc -->
47 * @generated
48 */
49public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 private EClass problemEClass = null;
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 private EClass relationEClass = null;
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 private EClass classDeclarationEClass = null;
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 private EClass referenceDeclarationEClass = null;
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 private EClass namedElementEClass = null;
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 private EClass predicateDefinitionEClass = null;
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 private EClass parameterEClass = null;
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 private EClass variableEClass = null;
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 private EClass conjunctionEClass = null;
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 private EClass literalEClass = null;
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 private EClass atomEClass = null;
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 private EClass implicitVariableEClass = null;
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 private EClass negativeLiteralEClass = null;
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 private EClass existentialQuantifierEClass = null;
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 private EClass assertionEClass = null;
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 private EClass nodeEClass = null;
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 private EClass scopeDeclarationEClass = null;
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 private EClass statementEClass = null;
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 private EClass typeScopeEClass = null;
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 private EClass multiplicityEClass = null;
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 private EClass rangeMultiplicityEClass = null;
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 private EClass exactMultiplicityEClass = null;
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 private EClass unboundedMultiplicityEClass = null;
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 private EClass argumentEClass = null;
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 private EClass enumDeclarationEClass = null;
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 private EClass variableOrNodeEClass = null;
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 private EEnum logicValueEEnum = null;
238
239 /**
240 * Creates an instance of the model <b>Package</b>, registered with
241 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
242 * package URI value.
243 * <p>Note: the correct way to create the package is via the static
244 * factory method {@link #init init()}, which also performs
245 * initialization of the package, or returns the registered package,
246 * if one already exists.
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @see org.eclipse.emf.ecore.EPackage.Registry
250 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#eNS_URI
251 * @see #init()
252 * @generated
253 */
254 private ProblemPackageImpl() {
255 super(eNS_URI, ProblemFactory.eINSTANCE);
256 }
257
258 /**
259 * <!-- begin-user-doc -->
260 * <!-- end-user-doc -->
261 * @generated
262 */
263 private static boolean isInited = false;
264
265 /**
266 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
267 *
268 * <p>This method is used to initialize {@link ProblemPackage#eINSTANCE} when that field is accessed.
269 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
270 * <!-- begin-user-doc -->
271 * <!-- end-user-doc -->
272 * @see #eNS_URI
273 * @see #createPackageContents()
274 * @see #initializePackageContents()
275 * @generated
276 */
277 public static ProblemPackage init() {
278 if (isInited)
279 return (ProblemPackage) EPackage.Registry.INSTANCE.getEPackage(ProblemPackage.eNS_URI);
280
281 // Obtain or create and register package
282 Object registeredProblemPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
283 ProblemPackageImpl theProblemPackage = registeredProblemPackage instanceof ProblemPackageImpl
284 ? (ProblemPackageImpl) registeredProblemPackage
285 : new ProblemPackageImpl();
286
287 isInited = true;
288
289 // Create package meta-data objects
290 theProblemPackage.createPackageContents();
291
292 // Initialize created meta-data
293 theProblemPackage.initializePackageContents();
294
295 // Mark meta-data to indicate it can't be changed
296 theProblemPackage.freeze();
297
298 // Update the registry and return the package
299 EPackage.Registry.INSTANCE.put(ProblemPackage.eNS_URI, theProblemPackage);
300 return theProblemPackage;
301 }
302
303 /**
304 * <!-- begin-user-doc -->
305 * <!-- end-user-doc -->
306 * @generated
307 */
308 public EClass getProblem() {
309 return problemEClass;
310 }
311
312 /**
313 * <!-- begin-user-doc -->
314 * <!-- end-user-doc -->
315 * @generated
316 */
317 public EReference getProblem_Nodes() {
318 return (EReference) problemEClass.getEStructuralFeatures().get(0);
319 }
320
321 /**
322 * <!-- begin-user-doc -->
323 * <!-- end-user-doc -->
324 * @generated
325 */
326 public EReference getProblem_Statements() {
327 return (EReference) problemEClass.getEStructuralFeatures().get(1);
328 }
329
330 /**
331 * <!-- begin-user-doc -->
332 * <!-- end-user-doc -->
333 * @generated
334 */
335 public EClass getRelation() {
336 return relationEClass;
337 }
338
339 /**
340 * <!-- begin-user-doc -->
341 * <!-- end-user-doc -->
342 * @generated
343 */
344 public EClass getClassDeclaration() {
345 return classDeclarationEClass;
346 }
347
348 /**
349 * <!-- begin-user-doc -->
350 * <!-- end-user-doc -->
351 * @generated
352 */
353 public EAttribute getClassDeclaration_Abstract() {
354 return (EAttribute) classDeclarationEClass.getEStructuralFeatures().get(0);
355 }
356
357 /**
358 * <!-- begin-user-doc -->
359 * <!-- end-user-doc -->
360 * @generated
361 */
362 public EReference getClassDeclaration_SuperTypes() {
363 return (EReference) classDeclarationEClass.getEStructuralFeatures().get(1);
364 }
365
366 /**
367 * <!-- begin-user-doc -->
368 * <!-- end-user-doc -->
369 * @generated
370 */
371 public EReference getClassDeclaration_ReferenceDeclarations() {
372 return (EReference) classDeclarationEClass.getEStructuralFeatures().get(2);
373 }
374
375 /**
376 * <!-- begin-user-doc -->
377 * <!-- end-user-doc -->
378 * @generated
379 */
380 public EReference getClassDeclaration_NewNode() {
381 return (EReference) classDeclarationEClass.getEStructuralFeatures().get(3);
382 }
383
384 /**
385 * <!-- begin-user-doc -->
386 * <!-- end-user-doc -->
387 * @generated
388 */
389 public EClass getReferenceDeclaration() {
390 return referenceDeclarationEClass;
391 }
392
393 /**
394 * <!-- begin-user-doc -->
395 * <!-- end-user-doc -->
396 * @generated
397 */
398 public EReference getReferenceDeclaration_ReferenceType() {
399 return (EReference) referenceDeclarationEClass.getEStructuralFeatures().get(0);
400 }
401
402 /**
403 * <!-- begin-user-doc -->
404 * <!-- end-user-doc -->
405 * @generated
406 */
407 public EReference getReferenceDeclaration_Opposite() {
408 return (EReference) referenceDeclarationEClass.getEStructuralFeatures().get(1);
409 }
410
411 /**
412 * <!-- begin-user-doc -->
413 * <!-- end-user-doc -->
414 * @generated
415 */
416 public EAttribute getReferenceDeclaration_Containment() {
417 return (EAttribute) referenceDeclarationEClass.getEStructuralFeatures().get(2);
418 }
419
420 /**
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 */
425 public EReference getReferenceDeclaration_Multiplicity() {
426 return (EReference) referenceDeclarationEClass.getEStructuralFeatures().get(3);
427 }
428
429 /**
430 * <!-- begin-user-doc -->
431 * <!-- end-user-doc -->
432 * @generated
433 */
434 public EClass getNamedElement() {
435 return namedElementEClass;
436 }
437
438 /**
439 * <!-- begin-user-doc -->
440 * <!-- end-user-doc -->
441 * @generated
442 */
443 public EAttribute getNamedElement_Name() {
444 return (EAttribute) namedElementEClass.getEStructuralFeatures().get(0);
445 }
446
447 /**
448 * <!-- begin-user-doc -->
449 * <!-- end-user-doc -->
450 * @generated
451 */
452 public EClass getPredicateDefinition() {
453 return predicateDefinitionEClass;
454 }
455
456 /**
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @generated
460 */
461 public EAttribute getPredicateDefinition_Error() {
462 return (EAttribute) predicateDefinitionEClass.getEStructuralFeatures().get(0);
463 }
464
465 /**
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 */
470 public EReference getPredicateDefinition_Parameters() {
471 return (EReference) predicateDefinitionEClass.getEStructuralFeatures().get(1);
472 }
473
474 /**
475 * <!-- begin-user-doc -->
476 * <!-- end-user-doc -->
477 * @generated
478 */
479 public EReference getPredicateDefinition_Bodies() {
480 return (EReference) predicateDefinitionEClass.getEStructuralFeatures().get(2);
481 }
482
483 /**
484 * <!-- begin-user-doc -->
485 * <!-- end-user-doc -->
486 * @generated
487 */
488 public EClass getParameter() {
489 return parameterEClass;
490 }
491
492 /**
493 * <!-- begin-user-doc -->
494 * <!-- end-user-doc -->
495 * @generated
496 */
497 public EReference getParameter_ParameterType() {
498 return (EReference) parameterEClass.getEStructuralFeatures().get(0);
499 }
500
501 /**
502 * <!-- begin-user-doc -->
503 * <!-- end-user-doc -->
504 * @generated
505 */
506 public EClass getVariable() {
507 return variableEClass;
508 }
509
510 /**
511 * <!-- begin-user-doc -->
512 * <!-- end-user-doc -->
513 * @generated
514 */
515 public EClass getConjunction() {
516 return conjunctionEClass;
517 }
518
519 /**
520 * <!-- begin-user-doc -->
521 * <!-- end-user-doc -->
522 * @generated
523 */
524 public EReference getConjunction_Literals() {
525 return (EReference) conjunctionEClass.getEStructuralFeatures().get(0);
526 }
527
528 /**
529 * <!-- begin-user-doc -->
530 * <!-- end-user-doc -->
531 * @generated
532 */
533 public EClass getLiteral() {
534 return literalEClass;
535 }
536
537 /**
538 * <!-- begin-user-doc -->
539 * <!-- end-user-doc -->
540 * @generated
541 */
542 public EClass getAtom() {
543 return atomEClass;
544 }
545
546 /**
547 * <!-- begin-user-doc -->
548 * <!-- end-user-doc -->
549 * @generated
550 */
551 public EReference getAtom_Relation() {
552 return (EReference) atomEClass.getEStructuralFeatures().get(0);
553 }
554
555 /**
556 * <!-- begin-user-doc -->
557 * <!-- end-user-doc -->
558 * @generated
559 */
560 public EReference getAtom_Arguments() {
561 return (EReference) atomEClass.getEStructuralFeatures().get(2);
562 }
563
564 /**
565 * <!-- begin-user-doc -->
566 * <!-- end-user-doc -->
567 * @generated
568 */
569 public EAttribute getAtom_TransitiveClosure() {
570 return (EAttribute) atomEClass.getEStructuralFeatures().get(1);
571 }
572
573 /**
574 * <!-- begin-user-doc -->
575 * <!-- end-user-doc -->
576 * @generated
577 */
578 public EClass getImplicitVariable() {
579 return implicitVariableEClass;
580 }
581
582 /**
583 * <!-- begin-user-doc -->
584 * <!-- end-user-doc -->
585 * @generated
586 */
587 public EClass getNegativeLiteral() {
588 return negativeLiteralEClass;
589 }
590
591 /**
592 * <!-- begin-user-doc -->
593 * <!-- end-user-doc -->
594 * @generated
595 */
596 public EReference getNegativeLiteral_Atom() {
597 return (EReference) negativeLiteralEClass.getEStructuralFeatures().get(0);
598 }
599
600 /**
601 * <!-- begin-user-doc -->
602 * <!-- end-user-doc -->
603 * @generated
604 */
605 public EClass getExistentialQuantifier() {
606 return existentialQuantifierEClass;
607 }
608
609 /**
610 * <!-- begin-user-doc -->
611 * <!-- end-user-doc -->
612 * @generated
613 */
614 public EReference getExistentialQuantifier_ImplicitVariables() {
615 return (EReference) existentialQuantifierEClass.getEStructuralFeatures().get(0);
616 }
617
618 /**
619 * <!-- begin-user-doc -->
620 * <!-- end-user-doc -->
621 * @generated
622 */
623 public EClass getAssertion() {
624 return assertionEClass;
625 }
626
627 /**
628 * <!-- begin-user-doc -->
629 * <!-- end-user-doc -->
630 * @generated
631 */
632 public EReference getAssertion_Relation() {
633 return (EReference) assertionEClass.getEStructuralFeatures().get(0);
634 }
635
636 /**
637 * <!-- begin-user-doc -->
638 * <!-- end-user-doc -->
639 * @generated
640 */
641 public EReference getAssertion_Arguments() {
642 return (EReference) assertionEClass.getEStructuralFeatures().get(1);
643 }
644
645 /**
646 * <!-- begin-user-doc -->
647 * <!-- end-user-doc -->
648 * @generated
649 */
650 public EAttribute getAssertion_Value() {
651 return (EAttribute) assertionEClass.getEStructuralFeatures().get(2);
652 }
653
654 /**
655 * <!-- begin-user-doc -->
656 * <!-- end-user-doc -->
657 * @generated
658 */
659 public EClass getNode() {
660 return nodeEClass;
661 }
662
663 /**
664 * <!-- begin-user-doc -->
665 * <!-- end-user-doc -->
666 * @generated
667 */
668 public EClass getScopeDeclaration() {
669 return scopeDeclarationEClass;
670 }
671
672 /**
673 * <!-- begin-user-doc -->
674 * <!-- end-user-doc -->
675 * @generated
676 */
677 public EReference getScopeDeclaration_TypeScopes() {
678 return (EReference) scopeDeclarationEClass.getEStructuralFeatures().get(0);
679 }
680
681 /**
682 * <!-- begin-user-doc -->
683 * <!-- end-user-doc -->
684 * @generated
685 */
686 public EClass getStatement() {
687 return statementEClass;
688 }
689
690 /**
691 * <!-- begin-user-doc -->
692 * <!-- end-user-doc -->
693 * @generated
694 */
695 public EClass getTypeScope() {
696 return typeScopeEClass;
697 }
698
699 /**
700 * <!-- begin-user-doc -->
701 * <!-- end-user-doc -->
702 * @generated
703 */
704 public EReference getTypeScope_TargetType() {
705 return (EReference) typeScopeEClass.getEStructuralFeatures().get(0);
706 }
707
708 /**
709 * <!-- begin-user-doc -->
710 * <!-- end-user-doc -->
711 * @generated
712 */
713 public EAttribute getTypeScope_Increment() {
714 return (EAttribute) typeScopeEClass.getEStructuralFeatures().get(1);
715 }
716
717 /**
718 * <!-- begin-user-doc -->
719 * <!-- end-user-doc -->
720 * @generated
721 */
722 public EReference getTypeScope_Multiplicity() {
723 return (EReference) typeScopeEClass.getEStructuralFeatures().get(2);
724 }
725
726 /**
727 * <!-- begin-user-doc -->
728 * <!-- end-user-doc -->
729 * @generated
730 */
731 public EClass getMultiplicity() {
732 return multiplicityEClass;
733 }
734
735 /**
736 * <!-- begin-user-doc -->
737 * <!-- end-user-doc -->
738 * @generated
739 */
740 public EClass getRangeMultiplicity() {
741 return rangeMultiplicityEClass;
742 }
743
744 /**
745 * <!-- begin-user-doc -->
746 * <!-- end-user-doc -->
747 * @generated
748 */
749 public EAttribute getRangeMultiplicity_LowerBound() {
750 return (EAttribute) rangeMultiplicityEClass.getEStructuralFeatures().get(0);
751 }
752
753 /**
754 * <!-- begin-user-doc -->
755 * <!-- end-user-doc -->
756 * @generated
757 */
758 public EAttribute getRangeMultiplicity_UpperBound() {
759 return (EAttribute) rangeMultiplicityEClass.getEStructuralFeatures().get(1);
760 }
761
762 /**
763 * <!-- begin-user-doc -->
764 * <!-- end-user-doc -->
765 * @generated
766 */
767 public EClass getExactMultiplicity() {
768 return exactMultiplicityEClass;
769 }
770
771 /**
772 * <!-- begin-user-doc -->
773 * <!-- end-user-doc -->
774 * @generated
775 */
776 public EAttribute getExactMultiplicity_ExactValue() {
777 return (EAttribute) exactMultiplicityEClass.getEStructuralFeatures().get(0);
778 }
779
780 /**
781 * <!-- begin-user-doc -->
782 * <!-- end-user-doc -->
783 * @generated
784 */
785 public EClass getUnboundedMultiplicity() {
786 return unboundedMultiplicityEClass;
787 }
788
789 /**
790 * <!-- begin-user-doc -->
791 * <!-- end-user-doc -->
792 * @generated
793 */
794 public EClass getArgument() {
795 return argumentEClass;
796 }
797
798 /**
799 * <!-- begin-user-doc -->
800 * <!-- end-user-doc -->
801 * @generated
802 */
803 public EReference getArgument_VariableOrNode() {
804 return (EReference) argumentEClass.getEStructuralFeatures().get(0);
805 }
806
807 /**
808 * <!-- begin-user-doc -->
809 * <!-- end-user-doc -->
810 * @generated
811 */
812 public EReference getArgument_SingletonVariable() {
813 return (EReference) argumentEClass.getEStructuralFeatures().get(1);
814 }
815
816 /**
817 * <!-- begin-user-doc -->
818 * <!-- end-user-doc -->
819 * @generated
820 */
821 public EClass getEnumDeclaration() {
822 return enumDeclarationEClass;
823 }
824
825 /**
826 * <!-- begin-user-doc -->
827 * <!-- end-user-doc -->
828 * @generated
829 */
830 public EReference getEnumDeclaration_Literals() {
831 return (EReference) enumDeclarationEClass.getEStructuralFeatures().get(0);
832 }
833
834 /**
835 * <!-- begin-user-doc -->
836 * <!-- end-user-doc -->
837 * @generated
838 */
839 public EClass getVariableOrNode() {
840 return variableOrNodeEClass;
841 }
842
843 /**
844 * <!-- begin-user-doc -->
845 * <!-- end-user-doc -->
846 * @generated
847 */
848 public EEnum getLogicValue() {
849 return logicValueEEnum;
850 }
851
852 /**
853 * <!-- begin-user-doc -->
854 * <!-- end-user-doc -->
855 * @generated
856 */
857 public ProblemFactory getProblemFactory() {
858 return (ProblemFactory) getEFactoryInstance();
859 }
860
861 /**
862 * <!-- begin-user-doc -->
863 * <!-- end-user-doc -->
864 * @generated
865 */
866 private boolean isCreated = false;
867
868 /**
869 * Creates the meta-model objects for the package. This method is
870 * guarded to have no affect on any invocation but its first.
871 * <!-- begin-user-doc -->
872 * <!-- end-user-doc -->
873 * @generated
874 */
875 public void createPackageContents() {
876 if (isCreated)
877 return;
878 isCreated = true;
879
880 // Create classes and their features
881 problemEClass = createEClass(PROBLEM);
882 createEReference(problemEClass, PROBLEM__NODES);
883 createEReference(problemEClass, PROBLEM__STATEMENTS);
884
885 relationEClass = createEClass(RELATION);
886
887 classDeclarationEClass = createEClass(CLASS_DECLARATION);
888 createEAttribute(classDeclarationEClass, CLASS_DECLARATION__ABSTRACT);
889 createEReference(classDeclarationEClass, CLASS_DECLARATION__SUPER_TYPES);
890 createEReference(classDeclarationEClass, CLASS_DECLARATION__REFERENCE_DECLARATIONS);
891 createEReference(classDeclarationEClass, CLASS_DECLARATION__NEW_NODE);
892
893 referenceDeclarationEClass = createEClass(REFERENCE_DECLARATION);
894 createEReference(referenceDeclarationEClass, REFERENCE_DECLARATION__REFERENCE_TYPE);
895 createEReference(referenceDeclarationEClass, REFERENCE_DECLARATION__OPPOSITE);
896 createEAttribute(referenceDeclarationEClass, REFERENCE_DECLARATION__CONTAINMENT);
897 createEReference(referenceDeclarationEClass, REFERENCE_DECLARATION__MULTIPLICITY);
898
899 namedElementEClass = createEClass(NAMED_ELEMENT);
900 createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME);
901
902 predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION);
903 createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__ERROR);
904 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__PARAMETERS);
905 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__BODIES);
906
907 parameterEClass = createEClass(PARAMETER);
908 createEReference(parameterEClass, PARAMETER__PARAMETER_TYPE);
909
910 variableEClass = createEClass(VARIABLE);
911
912 conjunctionEClass = createEClass(CONJUNCTION);
913 createEReference(conjunctionEClass, CONJUNCTION__LITERALS);
914
915 literalEClass = createEClass(LITERAL);
916
917 atomEClass = createEClass(ATOM);
918 createEReference(atomEClass, ATOM__RELATION);
919 createEAttribute(atomEClass, ATOM__TRANSITIVE_CLOSURE);
920 createEReference(atomEClass, ATOM__ARGUMENTS);
921
922 implicitVariableEClass = createEClass(IMPLICIT_VARIABLE);
923
924 negativeLiteralEClass = createEClass(NEGATIVE_LITERAL);
925 createEReference(negativeLiteralEClass, NEGATIVE_LITERAL__ATOM);
926
927 existentialQuantifierEClass = createEClass(EXISTENTIAL_QUANTIFIER);
928 createEReference(existentialQuantifierEClass, EXISTENTIAL_QUANTIFIER__IMPLICIT_VARIABLES);
929
930 assertionEClass = createEClass(ASSERTION);
931 createEReference(assertionEClass, ASSERTION__RELATION);
932 createEReference(assertionEClass, ASSERTION__ARGUMENTS);
933 createEAttribute(assertionEClass, ASSERTION__VALUE);
934
935 nodeEClass = createEClass(NODE);
936
937 scopeDeclarationEClass = createEClass(SCOPE_DECLARATION);
938 createEReference(scopeDeclarationEClass, SCOPE_DECLARATION__TYPE_SCOPES);
939
940 statementEClass = createEClass(STATEMENT);
941
942 typeScopeEClass = createEClass(TYPE_SCOPE);
943 createEReference(typeScopeEClass, TYPE_SCOPE__TARGET_TYPE);
944 createEAttribute(typeScopeEClass, TYPE_SCOPE__INCREMENT);
945 createEReference(typeScopeEClass, TYPE_SCOPE__MULTIPLICITY);
946
947 multiplicityEClass = createEClass(MULTIPLICITY);
948
949 rangeMultiplicityEClass = createEClass(RANGE_MULTIPLICITY);
950 createEAttribute(rangeMultiplicityEClass, RANGE_MULTIPLICITY__LOWER_BOUND);
951 createEAttribute(rangeMultiplicityEClass, RANGE_MULTIPLICITY__UPPER_BOUND);
952
953 exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY);
954 createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__EXACT_VALUE);
955
956 unboundedMultiplicityEClass = createEClass(UNBOUNDED_MULTIPLICITY);
957
958 argumentEClass = createEClass(ARGUMENT);
959 createEReference(argumentEClass, ARGUMENT__VARIABLE_OR_NODE);
960 createEReference(argumentEClass, ARGUMENT__SINGLETON_VARIABLE);
961
962 enumDeclarationEClass = createEClass(ENUM_DECLARATION);
963 createEReference(enumDeclarationEClass, ENUM_DECLARATION__LITERALS);
964
965 variableOrNodeEClass = createEClass(VARIABLE_OR_NODE);
966
967 // Create enums
968 logicValueEEnum = createEEnum(LOGIC_VALUE);
969 }
970
971 /**
972 * <!-- begin-user-doc -->
973 * <!-- end-user-doc -->
974 * @generated
975 */
976 private boolean isInitialized = false;
977
978 /**
979 * Complete the initialization of the package and its meta-model. This
980 * method is guarded to have no affect on any invocation but its first.
981 * <!-- begin-user-doc -->
982 * <!-- end-user-doc -->
983 * @generated
984 */
985 public void initializePackageContents() {
986 if (isInitialized)
987 return;
988 isInitialized = true;
989
990 // Initialize package
991 setName(eNAME);
992 setNsPrefix(eNS_PREFIX);
993 setNsURI(eNS_URI);
994
995 // Create type parameters
996
997 // Set bounds for type parameters
998
999 // Add supertypes to classes
1000 problemEClass.getESuperTypes().add(this.getNamedElement());
1001 relationEClass.getESuperTypes().add(this.getNamedElement());
1002 classDeclarationEClass.getESuperTypes().add(this.getRelation());
1003 classDeclarationEClass.getESuperTypes().add(this.getStatement());
1004 referenceDeclarationEClass.getESuperTypes().add(this.getRelation());
1005 predicateDefinitionEClass.getESuperTypes().add(this.getRelation());
1006 predicateDefinitionEClass.getESuperTypes().add(this.getStatement());
1007 parameterEClass.getESuperTypes().add(this.getVariable());
1008 variableEClass.getESuperTypes().add(this.getVariableOrNode());
1009 conjunctionEClass.getESuperTypes().add(this.getExistentialQuantifier());
1010 atomEClass.getESuperTypes().add(this.getLiteral());
1011 implicitVariableEClass.getESuperTypes().add(this.getVariable());
1012 negativeLiteralEClass.getESuperTypes().add(this.getExistentialQuantifier());
1013 negativeLiteralEClass.getESuperTypes().add(this.getLiteral());
1014 assertionEClass.getESuperTypes().add(this.getStatement());
1015 nodeEClass.getESuperTypes().add(this.getVariableOrNode());
1016 scopeDeclarationEClass.getESuperTypes().add(this.getStatement());
1017 rangeMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1018 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1019 unboundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1020 enumDeclarationEClass.getESuperTypes().add(this.getRelation());
1021 enumDeclarationEClass.getESuperTypes().add(this.getStatement());
1022 variableOrNodeEClass.getESuperTypes().add(this.getNamedElement());
1023
1024 // Initialize classes, features, and operations; add parameters
1025 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1026 initEReference(getProblem_Nodes(), this.getNode(), null, "nodes", null, 0, -1, Problem.class, !IS_TRANSIENT,
1027 !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
1028 IS_ORDERED);
1029 initEReference(getProblem_Statements(), this.getStatement(), null, "statements", null, 0, -1, Problem.class,
1030 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1031 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1032
1033 initEClass(relationEClass, Relation.class, "Relation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1034
1035 initEClass(classDeclarationEClass, ClassDeclaration.class, "ClassDeclaration", !IS_ABSTRACT, !IS_INTERFACE,
1036 IS_GENERATED_INSTANCE_CLASS);
1037 initEAttribute(getClassDeclaration_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1,
1038 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1039 !IS_DERIVED, IS_ORDERED);
1040 initEReference(getClassDeclaration_SuperTypes(), this.getRelation(), null, "superTypes", null, 0, -1,
1041 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
1042 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1043 initEReference(getClassDeclaration_ReferenceDeclarations(), this.getReferenceDeclaration(), null,
1044 "referenceDeclarations", null, 0, -1, ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE,
1045 IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1046 initEReference(getClassDeclaration_NewNode(), this.getNode(), null, "newNode", null, 0, 1,
1047 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1048 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1049
1050 initEClass(referenceDeclarationEClass, ReferenceDeclaration.class, "ReferenceDeclaration", !IS_ABSTRACT,
1051 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1052 initEReference(getReferenceDeclaration_ReferenceType(), this.getRelation(), null, "referenceType", null, 0, 1,
1053 ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
1054 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1055 initEReference(getReferenceDeclaration_Opposite(), this.getReferenceDeclaration(), null, "opposite", null, 0, 1,
1056 ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
1057 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1058 initEAttribute(getReferenceDeclaration_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1,
1059 ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
1060 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1061 initEReference(getReferenceDeclaration_Multiplicity(), this.getMultiplicity(), null, "multiplicity", null, 0, 1,
1062 ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
1063 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1064
1065 initEClass(namedElementEClass, NamedElement.class, "NamedElement", IS_ABSTRACT, !IS_INTERFACE,
1066 IS_GENERATED_INSTANCE_CLASS);
1067 initEAttribute(getNamedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, NamedElement.class,
1068 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1069
1070 initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT,
1071 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1072 initEAttribute(getPredicateDefinition_Error(), ecorePackage.getEBoolean(), "error", null, 0, 1,
1073 PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
1074 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1075 initEReference(getPredicateDefinition_Parameters(), this.getParameter(), null, "parameters", null, 0, -1,
1076 PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
1077 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1078 initEReference(getPredicateDefinition_Bodies(), this.getConjunction(), null, "bodies", null, 0, -1,
1079 PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
1080 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1081
1082 initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE,
1083 IS_GENERATED_INSTANCE_CLASS);
1084 initEReference(getParameter_ParameterType(), this.getRelation(), null, "parameterType", null, 0, 1,
1085 Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
1086 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1087
1088 initEClass(variableEClass, Variable.class, "Variable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1089
1090 initEClass(conjunctionEClass, Conjunction.class, "Conjunction", !IS_ABSTRACT, !IS_INTERFACE,
1091 IS_GENERATED_INSTANCE_CLASS);
1092 initEReference(getConjunction_Literals(), this.getLiteral(), null, "literals", null, 0, -1, Conjunction.class,
1093 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1094 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1095
1096 initEClass(literalEClass, Literal.class, "Literal", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1097
1098 initEClass(atomEClass, Atom.class, "Atom", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1099 initEReference(getAtom_Relation(), this.getRelation(), null, "relation", null, 0, 1, Atom.class, !IS_TRANSIENT,
1100 !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
1101 IS_ORDERED);
1102 initEAttribute(getAtom_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0, 1,
1103 Atom.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
1104 IS_ORDERED);
1105 initEReference(getAtom_Arguments(), this.getArgument(), null, "arguments", null, 0, -1, Atom.class,
1106 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1107 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1108
1109 initEClass(implicitVariableEClass, ImplicitVariable.class, "ImplicitVariable", !IS_ABSTRACT, !IS_INTERFACE,
1110 IS_GENERATED_INSTANCE_CLASS);
1111
1112 initEClass(negativeLiteralEClass, NegativeLiteral.class, "NegativeLiteral", !IS_ABSTRACT, !IS_INTERFACE,
1113 IS_GENERATED_INSTANCE_CLASS);
1114 initEReference(getNegativeLiteral_Atom(), this.getAtom(), null, "atom", null, 0, 1, NegativeLiteral.class,
1115 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1116 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1117
1118 initEClass(existentialQuantifierEClass, ExistentialQuantifier.class, "ExistentialQuantifier", IS_ABSTRACT,
1119 IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1120 initEReference(getExistentialQuantifier_ImplicitVariables(), this.getImplicitVariable(), null,
1121 "implicitVariables", null, 0, -1, ExistentialQuantifier.class, !IS_TRANSIENT, !IS_VOLATILE,
1122 IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1123
1124 initEClass(assertionEClass, Assertion.class, "Assertion", !IS_ABSTRACT, !IS_INTERFACE,
1125 IS_GENERATED_INSTANCE_CLASS);
1126 initEReference(getAssertion_Relation(), this.getRelation(), null, "relation", null, 0, 1, Assertion.class,
1127 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1128 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1129 initEReference(getAssertion_Arguments(), this.getNode(), null, "arguments", null, 0, -1, Assertion.class,
1130 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1131 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1132 initEAttribute(getAssertion_Value(), this.getLogicValue(), "value", null, 0, 1, Assertion.class, !IS_TRANSIENT,
1133 !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1134
1135 initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1136
1137 initEClass(scopeDeclarationEClass, ScopeDeclaration.class, "ScopeDeclaration", !IS_ABSTRACT, !IS_INTERFACE,
1138 IS_GENERATED_INSTANCE_CLASS);
1139 initEReference(getScopeDeclaration_TypeScopes(), this.getTypeScope(), null, "typeScopes", null, 0, -1,
1140 ScopeDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1141 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1142
1143 initEClass(statementEClass, Statement.class, "Statement", IS_ABSTRACT, IS_INTERFACE,
1144 IS_GENERATED_INSTANCE_CLASS);
1145
1146 initEClass(typeScopeEClass, TypeScope.class, "TypeScope", !IS_ABSTRACT, !IS_INTERFACE,
1147 IS_GENERATED_INSTANCE_CLASS);
1148 initEReference(getTypeScope_TargetType(), this.getClassDeclaration(), null, "targetType", null, 0, 1,
1149 TypeScope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
1150 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1151 initEAttribute(getTypeScope_Increment(), ecorePackage.getEBoolean(), "increment", null, 0, 1, TypeScope.class,
1152 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1153 initEReference(getTypeScope_Multiplicity(), this.getMultiplicity(), null, "multiplicity", null, 0, 1,
1154 TypeScope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1155 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1156
1157 initEClass(multiplicityEClass, Multiplicity.class, "Multiplicity", IS_ABSTRACT, !IS_INTERFACE,
1158 IS_GENERATED_INSTANCE_CLASS);
1159
1160 initEClass(rangeMultiplicityEClass, RangeMultiplicity.class, "RangeMultiplicity", !IS_ABSTRACT, !IS_INTERFACE,
1161 IS_GENERATED_INSTANCE_CLASS);
1162 initEAttribute(getRangeMultiplicity_LowerBound(), ecorePackage.getEInt(), "lowerBound", "0", 0, 1,
1163 RangeMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1164 !IS_DERIVED, IS_ORDERED);
1165 initEAttribute(getRangeMultiplicity_UpperBound(), ecorePackage.getEInt(), "upperBound", "-1", 0, 1,
1166 RangeMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1167 !IS_DERIVED, IS_ORDERED);
1168
1169 initEClass(exactMultiplicityEClass, ExactMultiplicity.class, "ExactMultiplicity", !IS_ABSTRACT, !IS_INTERFACE,
1170 IS_GENERATED_INSTANCE_CLASS);
1171 initEAttribute(getExactMultiplicity_ExactValue(), ecorePackage.getEInt(), "exactValue", "1", 0, 1,
1172 ExactMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1173 !IS_DERIVED, IS_ORDERED);
1174
1175 initEClass(unboundedMultiplicityEClass, UnboundedMultiplicity.class, "UnboundedMultiplicity", !IS_ABSTRACT,
1176 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1177
1178 initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE,
1179 IS_GENERATED_INSTANCE_CLASS);
1180 initEReference(getArgument_VariableOrNode(), this.getVariableOrNode(), null, "variableOrNode", null, 0, 1,
1181 Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
1182 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1183 initEReference(getArgument_SingletonVariable(), this.getImplicitVariable(), null, "singletonVariable", null, 0,
1184 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1185 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1186
1187 initEClass(enumDeclarationEClass, EnumDeclaration.class, "EnumDeclaration", !IS_ABSTRACT, !IS_INTERFACE,
1188 IS_GENERATED_INSTANCE_CLASS);
1189 initEReference(getEnumDeclaration_Literals(), this.getNode(), null, "literals", null, 0, -1,
1190 EnumDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1191 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1192
1193 initEClass(variableOrNodeEClass, VariableOrNode.class, "VariableOrNode", IS_ABSTRACT, !IS_INTERFACE,
1194 IS_GENERATED_INSTANCE_CLASS);
1195
1196 // Initialize enums and add enum literals
1197 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue");
1198 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE);
1199 addEEnumLiteral(logicValueEEnum, LogicValue.FALSE);
1200 addEEnumLiteral(logicValueEEnum, LogicValue.UNKNOWN);
1201
1202 // Create resource
1203 createResource(eNS_URI);
1204 }
1205
1206} //ProblemPackageImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RangeMultiplicityImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RangeMultiplicityImpl.java
deleted file mode 100644
index 1122b5be..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RangeMultiplicityImpl.java
+++ /dev/null
@@ -1,219 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6
7import org.eclipse.emf.ecore.EClass;
8
9import org.eclipse.emf.ecore.impl.ENotificationImpl;
10
11import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
12import org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Range Multiplicity</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.RangeMultiplicityImpl#getLowerBound <em>Lower Bound</em>}</li>
23 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.RangeMultiplicityImpl#getUpperBound <em>Upper Bound</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class RangeMultiplicityImpl extends MultiplicityImpl implements RangeMultiplicity {
29 /**
30 * The default value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getLowerBound()
34 * @generated
35 * @ordered
36 */
37 protected static final int LOWER_BOUND_EDEFAULT = 0;
38
39 /**
40 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getLowerBound()
44 * @generated
45 * @ordered
46 */
47 protected int lowerBound = LOWER_BOUND_EDEFAULT;
48
49 /**
50 * The default value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #getUpperBound()
54 * @generated
55 * @ordered
56 */
57 protected static final int UPPER_BOUND_EDEFAULT = -1;
58
59 /**
60 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #getUpperBound()
64 * @generated
65 * @ordered
66 */
67 protected int upperBound = UPPER_BOUND_EDEFAULT;
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 protected RangeMultiplicityImpl() {
75 super();
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 protected EClass eStaticClass() {
85 return ProblemPackage.Literals.RANGE_MULTIPLICITY;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public int getLowerBound() {
94 return lowerBound;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 public void setLowerBound(int newLowerBound) {
103 int oldLowerBound = lowerBound;
104 lowerBound = newLowerBound;
105 if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.RANGE_MULTIPLICITY__LOWER_BOUND,
107 oldLowerBound, lowerBound));
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 public int getUpperBound() {
116 return upperBound;
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 public void setUpperBound(int newUpperBound) {
125 int oldUpperBound = upperBound;
126 upperBound = newUpperBound;
127 if (eNotificationRequired())
128 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.RANGE_MULTIPLICITY__UPPER_BOUND,
129 oldUpperBound, upperBound));
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public Object eGet(int featureID, boolean resolve, boolean coreType) {
139 switch (featureID) {
140 case ProblemPackage.RANGE_MULTIPLICITY__LOWER_BOUND:
141 return getLowerBound();
142 case ProblemPackage.RANGE_MULTIPLICITY__UPPER_BOUND:
143 return getUpperBound();
144 }
145 return super.eGet(featureID, resolve, coreType);
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public void eSet(int featureID, Object newValue) {
155 switch (featureID) {
156 case ProblemPackage.RANGE_MULTIPLICITY__LOWER_BOUND:
157 setLowerBound((Integer) newValue);
158 return;
159 case ProblemPackage.RANGE_MULTIPLICITY__UPPER_BOUND:
160 setUpperBound((Integer) newValue);
161 return;
162 }
163 super.eSet(featureID, newValue);
164 }
165
166 /**
167 * <!-- begin-user-doc -->
168 * <!-- end-user-doc -->
169 * @generated
170 */
171 @Override
172 public void eUnset(int featureID) {
173 switch (featureID) {
174 case ProblemPackage.RANGE_MULTIPLICITY__LOWER_BOUND:
175 setLowerBound(LOWER_BOUND_EDEFAULT);
176 return;
177 case ProblemPackage.RANGE_MULTIPLICITY__UPPER_BOUND:
178 setUpperBound(UPPER_BOUND_EDEFAULT);
179 return;
180 }
181 super.eUnset(featureID);
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public boolean eIsSet(int featureID) {
191 switch (featureID) {
192 case ProblemPackage.RANGE_MULTIPLICITY__LOWER_BOUND:
193 return lowerBound != LOWER_BOUND_EDEFAULT;
194 case ProblemPackage.RANGE_MULTIPLICITY__UPPER_BOUND:
195 return upperBound != UPPER_BOUND_EDEFAULT;
196 }
197 return super.eIsSet(featureID);
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public String toString() {
207 if (eIsProxy())
208 return super.toString();
209
210 StringBuilder result = new StringBuilder(super.toString());
211 result.append(" (lowerBound: ");
212 result.append(lowerBound);
213 result.append(", upperBound: ");
214 result.append(upperBound);
215 result.append(')');
216 return result.toString();
217 }
218
219} //RangeMultiplicityImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ReferenceDeclarationImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ReferenceDeclarationImpl.java
deleted file mode 100644
index 8df2715f..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ReferenceDeclarationImpl.java
+++ /dev/null
@@ -1,378 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6import org.eclipse.emf.common.notify.NotificationChain;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12import org.eclipse.viatra.solver.language.model.problem.Multiplicity;
13import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
14import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
15import org.eclipse.viatra.solver.language.model.problem.Relation;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Reference Declaration</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.model.problem.impl.ReferenceDeclarationImpl#getReferenceType <em>Reference Type</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl#getOpposite <em>Opposite</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl#isContainment <em>Containment</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl#getMultiplicity <em>Multiplicity</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class ReferenceDeclarationImpl extends RelationImpl implements ReferenceDeclaration {
34 /**
35 * The cached value of the '{@link #getReferenceType() <em>Reference Type</em>}' reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getReferenceType()
39 * @generated
40 * @ordered
41 */
42 protected Relation referenceType;
43
44 /**
45 * The cached value of the '{@link #getOpposite() <em>Opposite</em>}' reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getOpposite()
49 * @generated
50 * @ordered
51 */
52 protected ReferenceDeclaration opposite;
53
54 /**
55 * The default value of the '{@link #isContainment() <em>Containment</em>}' attribute.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #isContainment()
59 * @generated
60 * @ordered
61 */
62 protected static final boolean CONTAINMENT_EDEFAULT = false;
63
64 /**
65 * The cached value of the '{@link #isContainment() <em>Containment</em>}' attribute.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @see #isContainment()
69 * @generated
70 * @ordered
71 */
72 protected boolean containment = CONTAINMENT_EDEFAULT;
73
74 /**
75 * The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #getMultiplicity()
79 * @generated
80 * @ordered
81 */
82 protected Multiplicity multiplicity;
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 protected ReferenceDeclarationImpl() {
90 super();
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 @Override
99 protected EClass eStaticClass() {
100 return ProblemPackage.Literals.REFERENCE_DECLARATION;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public Relation getReferenceType() {
109 if (referenceType != null && referenceType.eIsProxy()) {
110 InternalEObject oldReferenceType = (InternalEObject) referenceType;
111 referenceType = (Relation) eResolveProxy(oldReferenceType);
112 if (referenceType != oldReferenceType) {
113 if (eNotificationRequired())
114 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
115 ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE, oldReferenceType, referenceType));
116 }
117 }
118 return referenceType;
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 public Relation basicGetReferenceType() {
127 return referenceType;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 public void setReferenceType(Relation newReferenceType) {
136 Relation oldReferenceType = referenceType;
137 referenceType = newReferenceType;
138 if (eNotificationRequired())
139 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE,
140 oldReferenceType, referenceType));
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 public ReferenceDeclaration getOpposite() {
149 if (opposite != null && opposite.eIsProxy()) {
150 InternalEObject oldOpposite = (InternalEObject) opposite;
151 opposite = (ReferenceDeclaration) eResolveProxy(oldOpposite);
152 if (opposite != oldOpposite) {
153 if (eNotificationRequired())
154 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
155 ProblemPackage.REFERENCE_DECLARATION__OPPOSITE, oldOpposite, opposite));
156 }
157 }
158 return opposite;
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 public ReferenceDeclaration basicGetOpposite() {
167 return opposite;
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 public void setOpposite(ReferenceDeclaration newOpposite) {
176 ReferenceDeclaration oldOpposite = opposite;
177 opposite = newOpposite;
178 if (eNotificationRequired())
179 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.REFERENCE_DECLARATION__OPPOSITE,
180 oldOpposite, opposite));
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 public boolean isContainment() {
189 return containment;
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 public void setContainment(boolean newContainment) {
198 boolean oldContainment = containment;
199 containment = newContainment;
200 if (eNotificationRequired())
201 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.REFERENCE_DECLARATION__CONTAINMENT,
202 oldContainment, containment));
203 }
204
205 /**
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 public Multiplicity getMultiplicity() {
211 return multiplicity;
212 }
213
214 /**
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 public NotificationChain basicSetMultiplicity(Multiplicity newMultiplicity, NotificationChain msgs) {
220 Multiplicity oldMultiplicity = multiplicity;
221 multiplicity = newMultiplicity;
222 if (eNotificationRequired()) {
223 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
224 ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY, oldMultiplicity, newMultiplicity);
225 if (msgs == null)
226 msgs = notification;
227 else
228 msgs.add(notification);
229 }
230 return msgs;
231 }
232
233 /**
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @generated
237 */
238 public void setMultiplicity(Multiplicity newMultiplicity) {
239 if (newMultiplicity != multiplicity) {
240 NotificationChain msgs = null;
241 if (multiplicity != null)
242 msgs = ((InternalEObject) multiplicity).eInverseRemove(this,
243 EOPPOSITE_FEATURE_BASE - ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY, null, msgs);
244 if (newMultiplicity != null)
245 msgs = ((InternalEObject) newMultiplicity).eInverseAdd(this,
246 EOPPOSITE_FEATURE_BASE - ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY, null, msgs);
247 msgs = basicSetMultiplicity(newMultiplicity, msgs);
248 if (msgs != null)
249 msgs.dispatch();
250 } else if (eNotificationRequired())
251 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY,
252 newMultiplicity, newMultiplicity));
253 }
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 @Override
261 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
262 switch (featureID) {
263 case ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY:
264 return basicSetMultiplicity(null, msgs);
265 }
266 return super.eInverseRemove(otherEnd, featureID, msgs);
267 }
268
269 /**
270 * <!-- begin-user-doc -->
271 * <!-- end-user-doc -->
272 * @generated
273 */
274 @Override
275 public Object eGet(int featureID, boolean resolve, boolean coreType) {
276 switch (featureID) {
277 case ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE:
278 if (resolve)
279 return getReferenceType();
280 return basicGetReferenceType();
281 case ProblemPackage.REFERENCE_DECLARATION__OPPOSITE:
282 if (resolve)
283 return getOpposite();
284 return basicGetOpposite();
285 case ProblemPackage.REFERENCE_DECLARATION__CONTAINMENT:
286 return isContainment();
287 case ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY:
288 return getMultiplicity();
289 }
290 return super.eGet(featureID, resolve, coreType);
291 }
292
293 /**
294 * <!-- begin-user-doc -->
295 * <!-- end-user-doc -->
296 * @generated
297 */
298 @Override
299 public void eSet(int featureID, Object newValue) {
300 switch (featureID) {
301 case ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE:
302 setReferenceType((Relation) newValue);
303 return;
304 case ProblemPackage.REFERENCE_DECLARATION__OPPOSITE:
305 setOpposite((ReferenceDeclaration) newValue);
306 return;
307 case ProblemPackage.REFERENCE_DECLARATION__CONTAINMENT:
308 setContainment((Boolean) newValue);
309 return;
310 case ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY:
311 setMultiplicity((Multiplicity) newValue);
312 return;
313 }
314 super.eSet(featureID, newValue);
315 }
316
317 /**
318 * <!-- begin-user-doc -->
319 * <!-- end-user-doc -->
320 * @generated
321 */
322 @Override
323 public void eUnset(int featureID) {
324 switch (featureID) {
325 case ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE:
326 setReferenceType((Relation) null);
327 return;
328 case ProblemPackage.REFERENCE_DECLARATION__OPPOSITE:
329 setOpposite((ReferenceDeclaration) null);
330 return;
331 case ProblemPackage.REFERENCE_DECLARATION__CONTAINMENT:
332 setContainment(CONTAINMENT_EDEFAULT);
333 return;
334 case ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY:
335 setMultiplicity((Multiplicity) null);
336 return;
337 }
338 super.eUnset(featureID);
339 }
340
341 /**
342 * <!-- begin-user-doc -->
343 * <!-- end-user-doc -->
344 * @generated
345 */
346 @Override
347 public boolean eIsSet(int featureID) {
348 switch (featureID) {
349 case ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE:
350 return referenceType != null;
351 case ProblemPackage.REFERENCE_DECLARATION__OPPOSITE:
352 return opposite != null;
353 case ProblemPackage.REFERENCE_DECLARATION__CONTAINMENT:
354 return containment != CONTAINMENT_EDEFAULT;
355 case ProblemPackage.REFERENCE_DECLARATION__MULTIPLICITY:
356 return multiplicity != null;
357 }
358 return super.eIsSet(featureID);
359 }
360
361 /**
362 * <!-- begin-user-doc -->
363 * <!-- end-user-doc -->
364 * @generated
365 */
366 @Override
367 public String toString() {
368 if (eIsProxy())
369 return super.toString();
370
371 StringBuilder result = new StringBuilder(super.toString());
372 result.append(" (containment: ");
373 result.append(containment);
374 result.append(')');
375 return result.toString();
376 }
377
378} //ReferenceDeclarationImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RelationImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RelationImpl.java
deleted file mode 100644
index 20d43043..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RelationImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
8import org.eclipse.viatra.solver.language.model.problem.Relation;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Relation</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class RelationImpl extends NamedElementImpl implements Relation {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected RelationImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return ProblemPackage.Literals.RELATION;
35 }
36
37} //RelationImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ScopeDeclarationImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ScopeDeclarationImpl.java
deleted file mode 100644
index f178d9e0..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ScopeDeclarationImpl.java
+++ /dev/null
@@ -1,153 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.common.util.EList;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
15
16import org.eclipse.emf.ecore.util.EObjectContainmentEList;
17import org.eclipse.emf.ecore.util.InternalEList;
18
19import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
20import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration;
21import org.eclipse.viatra.solver.language.model.problem.TypeScope;
22
23/**
24 * <!-- begin-user-doc -->
25 * An implementation of the model object '<em><b>Scope Declaration</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.model.problem.impl.ScopeDeclarationImpl#getTypeScopes <em>Type Scopes</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public class ScopeDeclarationImpl extends MinimalEObjectImpl.Container implements ScopeDeclaration {
37 /**
38 * The cached value of the '{@link #getTypeScopes() <em>Type Scopes</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getTypeScopes()
42 * @generated
43 * @ordered
44 */
45 protected EList<TypeScope> typeScopes;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected ScopeDeclarationImpl() {
53 super();
54 }
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 @Override
62 protected EClass eStaticClass() {
63 return ProblemPackage.Literals.SCOPE_DECLARATION;
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 public EList<TypeScope> getTypeScopes() {
72 if (typeScopes == null) {
73 typeScopes = new EObjectContainmentEList<TypeScope>(TypeScope.class, this,
74 ProblemPackage.SCOPE_DECLARATION__TYPE_SCOPES);
75 }
76 return typeScopes;
77 }
78
79 /**
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 @Override
85 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
86 switch (featureID) {
87 case ProblemPackage.SCOPE_DECLARATION__TYPE_SCOPES:
88 return ((InternalEList<?>) getTypeScopes()).basicRemove(otherEnd, msgs);
89 }
90 return super.eInverseRemove(otherEnd, featureID, msgs);
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 @Override
99 public Object eGet(int featureID, boolean resolve, boolean coreType) {
100 switch (featureID) {
101 case ProblemPackage.SCOPE_DECLARATION__TYPE_SCOPES:
102 return getTypeScopes();
103 }
104 return super.eGet(featureID, resolve, coreType);
105 }
106
107 /**
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 */
112 @SuppressWarnings("unchecked")
113 @Override
114 public void eSet(int featureID, Object newValue) {
115 switch (featureID) {
116 case ProblemPackage.SCOPE_DECLARATION__TYPE_SCOPES:
117 getTypeScopes().clear();
118 getTypeScopes().addAll((Collection<? extends TypeScope>) newValue);
119 return;
120 }
121 super.eSet(featureID, newValue);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public void eUnset(int featureID) {
131 switch (featureID) {
132 case ProblemPackage.SCOPE_DECLARATION__TYPE_SCOPES:
133 getTypeScopes().clear();
134 return;
135 }
136 super.eUnset(featureID);
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public boolean eIsSet(int featureID) {
146 switch (featureID) {
147 case ProblemPackage.SCOPE_DECLARATION__TYPE_SCOPES:
148 return typeScopes != null && !typeScopes.isEmpty();
149 }
150 return super.eIsSet(featureID);
151 }
152
153} //ScopeDeclarationImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/TypeScopeImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/TypeScopeImpl.java
deleted file mode 100644
index 608cc015..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/TypeScopeImpl.java
+++ /dev/null
@@ -1,317 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6import org.eclipse.emf.common.notify.NotificationChain;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
13
14import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
15import org.eclipse.viatra.solver.language.model.problem.Multiplicity;
16import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
17import org.eclipse.viatra.solver.language.model.problem.TypeScope;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Type Scope</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.TypeScopeImpl#getTargetType <em>Target Type</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.TypeScopeImpl#isIncrement <em>Increment</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.TypeScopeImpl#getMultiplicity <em>Multiplicity</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class TypeScopeImpl extends MinimalEObjectImpl.Container implements TypeScope {
35 /**
36 * The cached value of the '{@link #getTargetType() <em>Target Type</em>}' reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getTargetType()
40 * @generated
41 * @ordered
42 */
43 protected ClassDeclaration targetType;
44
45 /**
46 * The default value of the '{@link #isIncrement() <em>Increment</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #isIncrement()
50 * @generated
51 * @ordered
52 */
53 protected static final boolean INCREMENT_EDEFAULT = false;
54
55 /**
56 * The cached value of the '{@link #isIncrement() <em>Increment</em>}' attribute.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #isIncrement()
60 * @generated
61 * @ordered
62 */
63 protected boolean increment = INCREMENT_EDEFAULT;
64
65 /**
66 * The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' containment reference.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getMultiplicity()
70 * @generated
71 * @ordered
72 */
73 protected Multiplicity multiplicity;
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 protected TypeScopeImpl() {
81 super();
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 protected EClass eStaticClass() {
91 return ProblemPackage.Literals.TYPE_SCOPE;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 public ClassDeclaration getTargetType() {
100 if (targetType != null && targetType.eIsProxy()) {
101 InternalEObject oldTargetType = (InternalEObject) targetType;
102 targetType = (ClassDeclaration) eResolveProxy(oldTargetType);
103 if (targetType != oldTargetType) {
104 if (eNotificationRequired())
105 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.TYPE_SCOPE__TARGET_TYPE,
106 oldTargetType, targetType));
107 }
108 }
109 return targetType;
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 public ClassDeclaration basicGetTargetType() {
118 return targetType;
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 public void setTargetType(ClassDeclaration newTargetType) {
127 ClassDeclaration oldTargetType = targetType;
128 targetType = newTargetType;
129 if (eNotificationRequired())
130 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.TYPE_SCOPE__TARGET_TYPE, oldTargetType,
131 targetType));
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 public boolean isIncrement() {
140 return increment;
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 public void setIncrement(boolean newIncrement) {
149 boolean oldIncrement = increment;
150 increment = newIncrement;
151 if (eNotificationRequired())
152 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.TYPE_SCOPE__INCREMENT, oldIncrement,
153 increment));
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 public Multiplicity getMultiplicity() {
162 return multiplicity;
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 public NotificationChain basicSetMultiplicity(Multiplicity newMultiplicity, NotificationChain msgs) {
171 Multiplicity oldMultiplicity = multiplicity;
172 multiplicity = newMultiplicity;
173 if (eNotificationRequired()) {
174 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
175 ProblemPackage.TYPE_SCOPE__MULTIPLICITY, oldMultiplicity, newMultiplicity);
176 if (msgs == null)
177 msgs = notification;
178 else
179 msgs.add(notification);
180 }
181 return msgs;
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 public void setMultiplicity(Multiplicity newMultiplicity) {
190 if (newMultiplicity != multiplicity) {
191 NotificationChain msgs = null;
192 if (multiplicity != null)
193 msgs = ((InternalEObject) multiplicity).eInverseRemove(this,
194 EOPPOSITE_FEATURE_BASE - ProblemPackage.TYPE_SCOPE__MULTIPLICITY, null, msgs);
195 if (newMultiplicity != null)
196 msgs = ((InternalEObject) newMultiplicity).eInverseAdd(this,
197 EOPPOSITE_FEATURE_BASE - ProblemPackage.TYPE_SCOPE__MULTIPLICITY, null, msgs);
198 msgs = basicSetMultiplicity(newMultiplicity, msgs);
199 if (msgs != null)
200 msgs.dispatch();
201 } else if (eNotificationRequired())
202 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.TYPE_SCOPE__MULTIPLICITY,
203 newMultiplicity, newMultiplicity));
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
213 switch (featureID) {
214 case ProblemPackage.TYPE_SCOPE__MULTIPLICITY:
215 return basicSetMultiplicity(null, msgs);
216 }
217 return super.eInverseRemove(otherEnd, featureID, msgs);
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public Object eGet(int featureID, boolean resolve, boolean coreType) {
227 switch (featureID) {
228 case ProblemPackage.TYPE_SCOPE__TARGET_TYPE:
229 if (resolve)
230 return getTargetType();
231 return basicGetTargetType();
232 case ProblemPackage.TYPE_SCOPE__INCREMENT:
233 return isIncrement();
234 case ProblemPackage.TYPE_SCOPE__MULTIPLICITY:
235 return getMultiplicity();
236 }
237 return super.eGet(featureID, resolve, coreType);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public void eSet(int featureID, Object newValue) {
247 switch (featureID) {
248 case ProblemPackage.TYPE_SCOPE__TARGET_TYPE:
249 setTargetType((ClassDeclaration) newValue);
250 return;
251 case ProblemPackage.TYPE_SCOPE__INCREMENT:
252 setIncrement((Boolean) newValue);
253 return;
254 case ProblemPackage.TYPE_SCOPE__MULTIPLICITY:
255 setMultiplicity((Multiplicity) newValue);
256 return;
257 }
258 super.eSet(featureID, newValue);
259 }
260
261 /**
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @generated
265 */
266 @Override
267 public void eUnset(int featureID) {
268 switch (featureID) {
269 case ProblemPackage.TYPE_SCOPE__TARGET_TYPE:
270 setTargetType((ClassDeclaration) null);
271 return;
272 case ProblemPackage.TYPE_SCOPE__INCREMENT:
273 setIncrement(INCREMENT_EDEFAULT);
274 return;
275 case ProblemPackage.TYPE_SCOPE__MULTIPLICITY:
276 setMultiplicity((Multiplicity) null);
277 return;
278 }
279 super.eUnset(featureID);
280 }
281
282 /**
283 * <!-- begin-user-doc -->
284 * <!-- end-user-doc -->
285 * @generated
286 */
287 @Override
288 public boolean eIsSet(int featureID) {
289 switch (featureID) {
290 case ProblemPackage.TYPE_SCOPE__TARGET_TYPE:
291 return targetType != null;
292 case ProblemPackage.TYPE_SCOPE__INCREMENT:
293 return increment != INCREMENT_EDEFAULT;
294 case ProblemPackage.TYPE_SCOPE__MULTIPLICITY:
295 return multiplicity != null;
296 }
297 return super.eIsSet(featureID);
298 }
299
300 /**
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 */
305 @Override
306 public String toString() {
307 if (eIsProxy())
308 return super.toString();
309
310 StringBuilder result = new StringBuilder(super.toString());
311 result.append(" (increment: ");
312 result.append(increment);
313 result.append(')');
314 return result.toString();
315 }
316
317} //TypeScopeImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/UnboundedMultiplicityImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/UnboundedMultiplicityImpl.java
deleted file mode 100644
index 34283189..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/UnboundedMultiplicityImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
8import org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Unbounded Multiplicity</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class UnboundedMultiplicityImpl extends MultiplicityImpl implements UnboundedMultiplicity {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected UnboundedMultiplicityImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return ProblemPackage.Literals.UNBOUNDED_MULTIPLICITY;
35 }
36
37} //UnboundedMultiplicityImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableImpl.java
deleted file mode 100644
index 645ac39c..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
8import org.eclipse.viatra.solver.language.model.problem.Variable;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Variable</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class VariableImpl extends VariableOrNodeImpl implements Variable {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected VariableImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return ProblemPackage.Literals.VARIABLE;
35 }
36
37} //VariableImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableOrNodeImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableOrNodeImpl.java
deleted file mode 100644
index 4964a019..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableOrNodeImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
8import org.eclipse.viatra.solver.language.model.problem.VariableOrNode;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Variable Or Node</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class VariableOrNodeImpl extends NamedElementImpl implements VariableOrNode {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected VariableOrNodeImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return ProblemPackage.Literals.VARIABLE_OR_NODE;
35 }
36
37} //VariableOrNodeImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
deleted file mode 100644
index 3fc3ca75..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
+++ /dev/null
@@ -1,594 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.util;
4
5import org.eclipse.emf.common.notify.Adapter;
6import org.eclipse.emf.common.notify.Notifier;
7
8import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
9
10import org.eclipse.emf.ecore.EObject;
11
12import org.eclipse.viatra.solver.language.model.problem.*;
13
14/**
15 * <!-- begin-user-doc -->
16 * The <b>Adapter Factory</b> for the model.
17 * It provides an adapter <code>createXXX</code> method for each class of the model.
18 * <!-- end-user-doc -->
19 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage
20 * @generated
21 */
22public class ProblemAdapterFactory extends AdapterFactoryImpl {
23 /**
24 * The cached model package.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 protected static ProblemPackage modelPackage;
30
31 /**
32 * Creates an instance of the adapter factory.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 public ProblemAdapterFactory() {
38 if (modelPackage == null) {
39 modelPackage = ProblemPackage.eINSTANCE;
40 }
41 }
42
43 /**
44 * Returns whether this factory is applicable for the type of the object.
45 * <!-- begin-user-doc -->
46 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
47 * <!-- end-user-doc -->
48 * @return whether this factory is applicable for the type of the object.
49 * @generated
50 */
51 @Override
52 public boolean isFactoryForType(Object object) {
53 if (object == modelPackage) {
54 return true;
55 }
56 if (object instanceof EObject) {
57 return ((EObject) object).eClass().getEPackage() == modelPackage;
58 }
59 return false;
60 }
61
62 /**
63 * The switch that delegates to the <code>createXXX</code> methods.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected ProblemSwitch<Adapter> modelSwitch = new ProblemSwitch<Adapter>() {
69 @Override
70 public Adapter caseProblem(Problem object) {
71 return createProblemAdapter();
72 }
73
74 @Override
75 public Adapter caseRelation(Relation object) {
76 return createRelationAdapter();
77 }
78
79 @Override
80 public Adapter caseClassDeclaration(ClassDeclaration object) {
81 return createClassDeclarationAdapter();
82 }
83
84 @Override
85 public Adapter caseReferenceDeclaration(ReferenceDeclaration object) {
86 return createReferenceDeclarationAdapter();
87 }
88
89 @Override
90 public Adapter caseNamedElement(NamedElement object) {
91 return createNamedElementAdapter();
92 }
93
94 @Override
95 public Adapter casePredicateDefinition(PredicateDefinition object) {
96 return createPredicateDefinitionAdapter();
97 }
98
99 @Override
100 public Adapter caseParameter(Parameter object) {
101 return createParameterAdapter();
102 }
103
104 @Override
105 public Adapter caseVariable(Variable object) {
106 return createVariableAdapter();
107 }
108
109 @Override
110 public Adapter caseConjunction(Conjunction object) {
111 return createConjunctionAdapter();
112 }
113
114 @Override
115 public Adapter caseLiteral(Literal object) {
116 return createLiteralAdapter();
117 }
118
119 @Override
120 public Adapter caseAtom(Atom object) {
121 return createAtomAdapter();
122 }
123
124 @Override
125 public Adapter caseImplicitVariable(ImplicitVariable object) {
126 return createImplicitVariableAdapter();
127 }
128
129 @Override
130 public Adapter caseNegativeLiteral(NegativeLiteral object) {
131 return createNegativeLiteralAdapter();
132 }
133
134 @Override
135 public Adapter caseExistentialQuantifier(ExistentialQuantifier object) {
136 return createExistentialQuantifierAdapter();
137 }
138
139 @Override
140 public Adapter caseAssertion(Assertion object) {
141 return createAssertionAdapter();
142 }
143
144 @Override
145 public Adapter caseNode(Node object) {
146 return createNodeAdapter();
147 }
148
149 @Override
150 public Adapter caseScopeDeclaration(ScopeDeclaration object) {
151 return createScopeDeclarationAdapter();
152 }
153
154 @Override
155 public Adapter caseStatement(Statement object) {
156 return createStatementAdapter();
157 }
158
159 @Override
160 public Adapter caseTypeScope(TypeScope object) {
161 return createTypeScopeAdapter();
162 }
163
164 @Override
165 public Adapter caseMultiplicity(Multiplicity object) {
166 return createMultiplicityAdapter();
167 }
168
169 @Override
170 public Adapter caseRangeMultiplicity(RangeMultiplicity object) {
171 return createRangeMultiplicityAdapter();
172 }
173
174 @Override
175 public Adapter caseExactMultiplicity(ExactMultiplicity object) {
176 return createExactMultiplicityAdapter();
177 }
178
179 @Override
180 public Adapter caseUnboundedMultiplicity(UnboundedMultiplicity object) {
181 return createUnboundedMultiplicityAdapter();
182 }
183
184 @Override
185 public Adapter caseArgument(Argument object) {
186 return createArgumentAdapter();
187 }
188
189 @Override
190 public Adapter caseEnumDeclaration(EnumDeclaration object) {
191 return createEnumDeclarationAdapter();
192 }
193
194 @Override
195 public Adapter caseVariableOrNode(VariableOrNode object) {
196 return createVariableOrNodeAdapter();
197 }
198
199 @Override
200 public Adapter defaultCase(EObject object) {
201 return createEObjectAdapter();
202 }
203 };
204
205 /**
206 * Creates an adapter for the <code>target</code>.
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @param target the object to adapt.
210 * @return the adapter for the <code>target</code>.
211 * @generated
212 */
213 @Override
214 public Adapter createAdapter(Notifier target) {
215 return modelSwitch.doSwitch((EObject) target);
216 }
217
218 /**
219 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Problem <em>Problem</em>}'.
220 * <!-- begin-user-doc -->
221 * This default implementation returns null so that we can easily ignore cases;
222 * it's useful to ignore a case when inheritance will catch all the cases anyway.
223 * <!-- end-user-doc -->
224 * @return the new adapter.
225 * @see org.eclipse.viatra.solver.language.model.problem.Problem
226 * @generated
227 */
228 public Adapter createProblemAdapter() {
229 return null;
230 }
231
232 /**
233 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Relation <em>Relation</em>}'.
234 * <!-- begin-user-doc -->
235 * This default implementation returns null so that we can easily ignore cases;
236 * it's useful to ignore a case when inheritance will catch all the cases anyway.
237 * <!-- end-user-doc -->
238 * @return the new adapter.
239 * @see org.eclipse.viatra.solver.language.model.problem.Relation
240 * @generated
241 */
242 public Adapter createRelationAdapter() {
243 return null;
244 }
245
246 /**
247 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration <em>Class Declaration</em>}'.
248 * <!-- begin-user-doc -->
249 * This default implementation returns null so that we can easily ignore cases;
250 * it's useful to ignore a case when inheritance will catch all the cases anyway.
251 * <!-- end-user-doc -->
252 * @return the new adapter.
253 * @see org.eclipse.viatra.solver.language.model.problem.ClassDeclaration
254 * @generated
255 */
256 public Adapter createClassDeclarationAdapter() {
257 return null;
258 }
259
260 /**
261 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration <em>Reference Declaration</em>}'.
262 * <!-- begin-user-doc -->
263 * This default implementation returns null so that we can easily ignore cases;
264 * it's useful to ignore a case when inheritance will catch all the cases anyway.
265 * <!-- end-user-doc -->
266 * @return the new adapter.
267 * @see org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration
268 * @generated
269 */
270 public Adapter createReferenceDeclarationAdapter() {
271 return null;
272 }
273
274 /**
275 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.NamedElement <em>Named Element</em>}'.
276 * <!-- begin-user-doc -->
277 * This default implementation returns null so that we can easily ignore cases;
278 * it's useful to ignore a case when inheritance will catch all the cases anyway.
279 * <!-- end-user-doc -->
280 * @return the new adapter.
281 * @see org.eclipse.viatra.solver.language.model.problem.NamedElement
282 * @generated
283 */
284 public Adapter createNamedElementAdapter() {
285 return null;
286 }
287
288 /**
289 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.PredicateDefinition <em>Predicate Definition</em>}'.
290 * <!-- begin-user-doc -->
291 * This default implementation returns null so that we can easily ignore cases;
292 * it's useful to ignore a case when inheritance will catch all the cases anyway.
293 * <!-- end-user-doc -->
294 * @return the new adapter.
295 * @see org.eclipse.viatra.solver.language.model.problem.PredicateDefinition
296 * @generated
297 */
298 public Adapter createPredicateDefinitionAdapter() {
299 return null;
300 }
301
302 /**
303 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Parameter <em>Parameter</em>}'.
304 * <!-- begin-user-doc -->
305 * This default implementation returns null so that we can easily ignore cases;
306 * it's useful to ignore a case when inheritance will catch all the cases anyway.
307 * <!-- end-user-doc -->
308 * @return the new adapter.
309 * @see org.eclipse.viatra.solver.language.model.problem.Parameter
310 * @generated
311 */
312 public Adapter createParameterAdapter() {
313 return null;
314 }
315
316 /**
317 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Variable <em>Variable</em>}'.
318 * <!-- begin-user-doc -->
319 * This default implementation returns null so that we can easily ignore cases;
320 * it's useful to ignore a case when inheritance will catch all the cases anyway.
321 * <!-- end-user-doc -->
322 * @return the new adapter.
323 * @see org.eclipse.viatra.solver.language.model.problem.Variable
324 * @generated
325 */
326 public Adapter createVariableAdapter() {
327 return null;
328 }
329
330 /**
331 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Conjunction <em>Conjunction</em>}'.
332 * <!-- begin-user-doc -->
333 * This default implementation returns null so that we can easily ignore cases;
334 * it's useful to ignore a case when inheritance will catch all the cases anyway.
335 * <!-- end-user-doc -->
336 * @return the new adapter.
337 * @see org.eclipse.viatra.solver.language.model.problem.Conjunction
338 * @generated
339 */
340 public Adapter createConjunctionAdapter() {
341 return null;
342 }
343
344 /**
345 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Literal <em>Literal</em>}'.
346 * <!-- begin-user-doc -->
347 * This default implementation returns null so that we can easily ignore cases;
348 * it's useful to ignore a case when inheritance will catch all the cases anyway.
349 * <!-- end-user-doc -->
350 * @return the new adapter.
351 * @see org.eclipse.viatra.solver.language.model.problem.Literal
352 * @generated
353 */
354 public Adapter createLiteralAdapter() {
355 return null;
356 }
357
358 /**
359 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Atom <em>Atom</em>}'.
360 * <!-- begin-user-doc -->
361 * This default implementation returns null so that we can easily ignore cases;
362 * it's useful to ignore a case when inheritance will catch all the cases anyway.
363 * <!-- end-user-doc -->
364 * @return the new adapter.
365 * @see org.eclipse.viatra.solver.language.model.problem.Atom
366 * @generated
367 */
368 public Adapter createAtomAdapter() {
369 return null;
370 }
371
372 /**
373 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ImplicitVariable <em>Implicit Variable</em>}'.
374 * <!-- begin-user-doc -->
375 * This default implementation returns null so that we can easily ignore cases;
376 * it's useful to ignore a case when inheritance will catch all the cases anyway.
377 * <!-- end-user-doc -->
378 * @return the new adapter.
379 * @see org.eclipse.viatra.solver.language.model.problem.ImplicitVariable
380 * @generated
381 */
382 public Adapter createImplicitVariableAdapter() {
383 return null;
384 }
385
386 /**
387 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.NegativeLiteral <em>Negative Literal</em>}'.
388 * <!-- begin-user-doc -->
389 * This default implementation returns null so that we can easily ignore cases;
390 * it's useful to ignore a case when inheritance will catch all the cases anyway.
391 * <!-- end-user-doc -->
392 * @return the new adapter.
393 * @see org.eclipse.viatra.solver.language.model.problem.NegativeLiteral
394 * @generated
395 */
396 public Adapter createNegativeLiteralAdapter() {
397 return null;
398 }
399
400 /**
401 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier <em>Existential Quantifier</em>}'.
402 * <!-- begin-user-doc -->
403 * This default implementation returns null so that we can easily ignore cases;
404 * it's useful to ignore a case when inheritance will catch all the cases anyway.
405 * <!-- end-user-doc -->
406 * @return the new adapter.
407 * @see org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier
408 * @generated
409 */
410 public Adapter createExistentialQuantifierAdapter() {
411 return null;
412 }
413
414 /**
415 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Assertion <em>Assertion</em>}'.
416 * <!-- begin-user-doc -->
417 * This default implementation returns null so that we can easily ignore cases;
418 * it's useful to ignore a case when inheritance will catch all the cases anyway.
419 * <!-- end-user-doc -->
420 * @return the new adapter.
421 * @see org.eclipse.viatra.solver.language.model.problem.Assertion
422 * @generated
423 */
424 public Adapter createAssertionAdapter() {
425 return null;
426 }
427
428 /**
429 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Node <em>Node</em>}'.
430 * <!-- begin-user-doc -->
431 * This default implementation returns null so that we can easily ignore cases;
432 * it's useful to ignore a case when inheritance will catch all the cases anyway.
433 * <!-- end-user-doc -->
434 * @return the new adapter.
435 * @see org.eclipse.viatra.solver.language.model.problem.Node
436 * @generated
437 */
438 public Adapter createNodeAdapter() {
439 return null;
440 }
441
442 /**
443 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration <em>Scope Declaration</em>}'.
444 * <!-- begin-user-doc -->
445 * This default implementation returns null so that we can easily ignore cases;
446 * it's useful to ignore a case when inheritance will catch all the cases anyway.
447 * <!-- end-user-doc -->
448 * @return the new adapter.
449 * @see org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration
450 * @generated
451 */
452 public Adapter createScopeDeclarationAdapter() {
453 return null;
454 }
455
456 /**
457 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Statement <em>Statement</em>}'.
458 * <!-- begin-user-doc -->
459 * This default implementation returns null so that we can easily ignore cases;
460 * it's useful to ignore a case when inheritance will catch all the cases anyway.
461 * <!-- end-user-doc -->
462 * @return the new adapter.
463 * @see org.eclipse.viatra.solver.language.model.problem.Statement
464 * @generated
465 */
466 public Adapter createStatementAdapter() {
467 return null;
468 }
469
470 /**
471 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.TypeScope <em>Type Scope</em>}'.
472 * <!-- begin-user-doc -->
473 * This default implementation returns null so that we can easily ignore cases;
474 * it's useful to ignore a case when inheritance will catch all the cases anyway.
475 * <!-- end-user-doc -->
476 * @return the new adapter.
477 * @see org.eclipse.viatra.solver.language.model.problem.TypeScope
478 * @generated
479 */
480 public Adapter createTypeScopeAdapter() {
481 return null;
482 }
483
484 /**
485 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Multiplicity <em>Multiplicity</em>}'.
486 * <!-- begin-user-doc -->
487 * This default implementation returns null so that we can easily ignore cases;
488 * it's useful to ignore a case when inheritance will catch all the cases anyway.
489 * <!-- end-user-doc -->
490 * @return the new adapter.
491 * @see org.eclipse.viatra.solver.language.model.problem.Multiplicity
492 * @generated
493 */
494 public Adapter createMultiplicityAdapter() {
495 return null;
496 }
497
498 /**
499 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity <em>Range Multiplicity</em>}'.
500 * <!-- begin-user-doc -->
501 * This default implementation returns null so that we can easily ignore cases;
502 * it's useful to ignore a case when inheritance will catch all the cases anyway.
503 * <!-- end-user-doc -->
504 * @return the new adapter.
505 * @see org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity
506 * @generated
507 */
508 public Adapter createRangeMultiplicityAdapter() {
509 return null;
510 }
511
512 /**
513 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity <em>Exact Multiplicity</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.model.problem.ExactMultiplicity
520 * @generated
521 */
522 public Adapter createExactMultiplicityAdapter() {
523 return null;
524 }
525
526 /**
527 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity <em>Unbounded Multiplicity</em>}'.
528 * <!-- begin-user-doc -->
529 * This default implementation returns null so that we can easily ignore cases;
530 * it's useful to ignore a case when inheritance will catch all the cases anyway.
531 * <!-- end-user-doc -->
532 * @return the new adapter.
533 * @see org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity
534 * @generated
535 */
536 public Adapter createUnboundedMultiplicityAdapter() {
537 return null;
538 }
539
540 /**
541 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Argument <em>Argument</em>}'.
542 * <!-- begin-user-doc -->
543 * This default implementation returns null so that we can easily ignore cases;
544 * it's useful to ignore a case when inheritance will catch all the cases anyway.
545 * <!-- end-user-doc -->
546 * @return the new adapter.
547 * @see org.eclipse.viatra.solver.language.model.problem.Argument
548 * @generated
549 */
550 public Adapter createArgumentAdapter() {
551 return null;
552 }
553
554 /**
555 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.EnumDeclaration <em>Enum Declaration</em>}'.
556 * <!-- begin-user-doc -->
557 * This default implementation returns null so that we can easily ignore cases;
558 * it's useful to ignore a case when inheritance will catch all the cases anyway.
559 * <!-- end-user-doc -->
560 * @return the new adapter.
561 * @see org.eclipse.viatra.solver.language.model.problem.EnumDeclaration
562 * @generated
563 */
564 public Adapter createEnumDeclarationAdapter() {
565 return null;
566 }
567
568 /**
569 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNode <em>Variable Or Node</em>}'.
570 * <!-- begin-user-doc -->
571 * This default implementation returns null so that we can easily ignore cases;
572 * it's useful to ignore a case when inheritance will catch all the cases anyway.
573 * <!-- end-user-doc -->
574 * @return the new adapter.
575 * @see org.eclipse.viatra.solver.language.model.problem.VariableOrNode
576 * @generated
577 */
578 public Adapter createVariableOrNodeAdapter() {
579 return null;
580 }
581
582 /**
583 * Creates a new adapter for the default case.
584 * <!-- begin-user-doc -->
585 * This default implementation returns null.
586 * <!-- end-user-doc -->
587 * @return the new adapter.
588 * @generated
589 */
590 public Adapter createEObjectAdapter() {
591 return null;
592 }
593
594} //ProblemAdapterFactory
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
deleted file mode 100644
index b74718b5..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
+++ /dev/null
@@ -1,728 +0,0 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.util;
4
5import org.eclipse.emf.ecore.EObject;
6import org.eclipse.emf.ecore.EPackage;
7
8import org.eclipse.emf.ecore.util.Switch;
9
10import org.eclipse.viatra.solver.language.model.problem.*;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Switch</b> for the model's inheritance hierarchy.
15 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
16 * to invoke the <code>caseXXX</code> method for each class of the model,
17 * starting with the actual class of the object
18 * and proceeding up the inheritance hierarchy
19 * until a non-null result is returned,
20 * which is the result of the switch.
21 * <!-- end-user-doc -->
22 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage
23 * @generated
24 */
25public class ProblemSwitch<T> extends Switch<T> {
26 /**
27 * The cached model package
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 protected static ProblemPackage modelPackage;
33
34 /**
35 * Creates an instance of the switch.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 public ProblemSwitch() {
41 if (modelPackage == null) {
42 modelPackage = ProblemPackage.eINSTANCE;
43 }
44 }
45
46 /**
47 * Checks whether this is a switch for the given package.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param ePackage the package in question.
51 * @return whether this is a switch for the given package.
52 * @generated
53 */
54 @Override
55 protected boolean isSwitchFor(EPackage ePackage) {
56 return ePackage == modelPackage;
57 }
58
59 /**
60 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @return the first non-null result returned by a <code>caseXXX</code> call.
64 * @generated
65 */
66 @Override
67 protected T doSwitch(int classifierID, EObject theEObject) {
68 switch (classifierID) {
69 case ProblemPackage.PROBLEM: {
70 Problem problem = (Problem) theEObject;
71 T result = caseProblem(problem);
72 if (result == null)
73 result = caseNamedElement(problem);
74 if (result == null)
75 result = defaultCase(theEObject);
76 return result;
77 }
78 case ProblemPackage.RELATION: {
79 Relation relation = (Relation) theEObject;
80 T result = caseRelation(relation);
81 if (result == null)
82 result = caseNamedElement(relation);
83 if (result == null)
84 result = defaultCase(theEObject);
85 return result;
86 }
87 case ProblemPackage.CLASS_DECLARATION: {
88 ClassDeclaration classDeclaration = (ClassDeclaration) theEObject;
89 T result = caseClassDeclaration(classDeclaration);
90 if (result == null)
91 result = caseRelation(classDeclaration);
92 if (result == null)
93 result = caseStatement(classDeclaration);
94 if (result == null)
95 result = caseNamedElement(classDeclaration);
96 if (result == null)
97 result = defaultCase(theEObject);
98 return result;
99 }
100 case ProblemPackage.REFERENCE_DECLARATION: {
101 ReferenceDeclaration referenceDeclaration = (ReferenceDeclaration) theEObject;
102 T result = caseReferenceDeclaration(referenceDeclaration);
103 if (result == null)
104 result = caseRelation(referenceDeclaration);
105 if (result == null)
106 result = caseNamedElement(referenceDeclaration);
107 if (result == null)
108 result = defaultCase(theEObject);
109 return result;
110 }
111 case ProblemPackage.NAMED_ELEMENT: {
112 NamedElement namedElement = (NamedElement) theEObject;
113 T result = caseNamedElement(namedElement);
114 if (result == null)
115 result = defaultCase(theEObject);
116 return result;
117 }
118 case ProblemPackage.PREDICATE_DEFINITION: {
119 PredicateDefinition predicateDefinition = (PredicateDefinition) theEObject;
120 T result = casePredicateDefinition(predicateDefinition);
121 if (result == null)
122 result = caseRelation(predicateDefinition);
123 if (result == null)
124 result = caseStatement(predicateDefinition);
125 if (result == null)
126 result = caseNamedElement(predicateDefinition);
127 if (result == null)
128 result = defaultCase(theEObject);
129 return result;
130 }
131 case ProblemPackage.PARAMETER: {
132 Parameter parameter = (Parameter) theEObject;
133 T result = caseParameter(parameter);
134 if (result == null)
135 result = caseVariable(parameter);
136 if (result == null)
137 result = caseVariableOrNode(parameter);
138 if (result == null)
139 result = caseNamedElement(parameter);
140 if (result == null)
141 result = defaultCase(theEObject);
142 return result;
143 }
144 case ProblemPackage.VARIABLE: {
145 Variable variable = (Variable) theEObject;
146 T result = caseVariable(variable);
147 if (result == null)
148 result = caseVariableOrNode(variable);
149 if (result == null)
150 result = caseNamedElement(variable);
151 if (result == null)
152 result = defaultCase(theEObject);
153 return result;
154 }
155 case ProblemPackage.CONJUNCTION: {
156 Conjunction conjunction = (Conjunction) theEObject;
157 T result = caseConjunction(conjunction);
158 if (result == null)
159 result = caseExistentialQuantifier(conjunction);
160 if (result == null)
161 result = defaultCase(theEObject);
162 return result;
163 }
164 case ProblemPackage.LITERAL: {
165 Literal literal = (Literal) theEObject;
166 T result = caseLiteral(literal);
167 if (result == null)
168 result = defaultCase(theEObject);
169 return result;
170 }
171 case ProblemPackage.ATOM: {
172 Atom atom = (Atom) theEObject;
173 T result = caseAtom(atom);
174 if (result == null)
175 result = caseLiteral(atom);
176 if (result == null)
177 result = defaultCase(theEObject);
178 return result;
179 }
180 case ProblemPackage.IMPLICIT_VARIABLE: {
181 ImplicitVariable implicitVariable = (ImplicitVariable) theEObject;
182 T result = caseImplicitVariable(implicitVariable);
183 if (result == null)
184 result = caseVariable(implicitVariable);
185 if (result == null)
186 result = caseVariableOrNode(implicitVariable);
187 if (result == null)
188 result = caseNamedElement(implicitVariable);
189 if (result == null)
190 result = defaultCase(theEObject);
191 return result;
192 }
193 case ProblemPackage.NEGATIVE_LITERAL: {
194 NegativeLiteral negativeLiteral = (NegativeLiteral) theEObject;
195 T result = caseNegativeLiteral(negativeLiteral);
196 if (result == null)
197 result = caseExistentialQuantifier(negativeLiteral);
198 if (result == null)
199 result = caseLiteral(negativeLiteral);
200 if (result == null)
201 result = defaultCase(theEObject);
202 return result;
203 }
204 case ProblemPackage.EXISTENTIAL_QUANTIFIER: {
205 ExistentialQuantifier existentialQuantifier = (ExistentialQuantifier) theEObject;
206 T result = caseExistentialQuantifier(existentialQuantifier);
207 if (result == null)
208 result = defaultCase(theEObject);
209 return result;
210 }
211 case ProblemPackage.ASSERTION: {
212 Assertion assertion = (Assertion) theEObject;
213 T result = caseAssertion(assertion);
214 if (result == null)
215 result = caseStatement(assertion);
216 if (result == null)
217 result = defaultCase(theEObject);
218 return result;
219 }
220 case ProblemPackage.NODE: {
221 Node node = (Node) theEObject;
222 T result = caseNode(node);
223 if (result == null)
224 result = caseVariableOrNode(node);
225 if (result == null)
226 result = caseNamedElement(node);
227 if (result == null)
228 result = defaultCase(theEObject);
229 return result;
230 }
231 case ProblemPackage.SCOPE_DECLARATION: {
232 ScopeDeclaration scopeDeclaration = (ScopeDeclaration) theEObject;
233 T result = caseScopeDeclaration(scopeDeclaration);
234 if (result == null)
235 result = caseStatement(scopeDeclaration);
236 if (result == null)
237 result = defaultCase(theEObject);
238 return result;
239 }
240 case ProblemPackage.STATEMENT: {
241 Statement statement = (Statement) theEObject;
242 T result = caseStatement(statement);
243 if (result == null)
244 result = defaultCase(theEObject);
245 return result;
246 }
247 case ProblemPackage.TYPE_SCOPE: {
248 TypeScope typeScope = (TypeScope) theEObject;
249 T result = caseTypeScope(typeScope);
250 if (result == null)
251 result = defaultCase(theEObject);
252 return result;
253 }
254 case ProblemPackage.MULTIPLICITY: {
255 Multiplicity multiplicity = (Multiplicity) theEObject;
256 T result = caseMultiplicity(multiplicity);
257 if (result == null)
258 result = defaultCase(theEObject);
259 return result;
260 }
261 case ProblemPackage.RANGE_MULTIPLICITY: {
262 RangeMultiplicity rangeMultiplicity = (RangeMultiplicity) theEObject;
263 T result = caseRangeMultiplicity(rangeMultiplicity);
264 if (result == null)
265 result = caseMultiplicity(rangeMultiplicity);
266 if (result == null)
267 result = defaultCase(theEObject);
268 return result;
269 }
270 case ProblemPackage.EXACT_MULTIPLICITY: {
271 ExactMultiplicity exactMultiplicity = (ExactMultiplicity) theEObject;
272 T result = caseExactMultiplicity(exactMultiplicity);
273 if (result == null)
274 result = caseMultiplicity(exactMultiplicity);
275 if (result == null)
276 result = defaultCase(theEObject);
277 return result;
278 }
279 case ProblemPackage.UNBOUNDED_MULTIPLICITY: {
280 UnboundedMultiplicity unboundedMultiplicity = (UnboundedMultiplicity) theEObject;
281 T result = caseUnboundedMultiplicity(unboundedMultiplicity);
282 if (result == null)
283 result = caseMultiplicity(unboundedMultiplicity);
284 if (result == null)
285 result = defaultCase(theEObject);
286 return result;
287 }
288 case ProblemPackage.ARGUMENT: {
289 Argument argument = (Argument) theEObject;
290 T result = caseArgument(argument);
291 if (result == null)
292 result = defaultCase(theEObject);
293 return result;
294 }
295 case ProblemPackage.ENUM_DECLARATION: {
296 EnumDeclaration enumDeclaration = (EnumDeclaration) theEObject;
297 T result = caseEnumDeclaration(enumDeclaration);
298 if (result == null)
299 result = caseRelation(enumDeclaration);
300 if (result == null)
301 result = caseStatement(enumDeclaration);
302 if (result == null)
303 result = caseNamedElement(enumDeclaration);
304 if (result == null)
305 result = defaultCase(theEObject);
306 return result;
307 }
308 case ProblemPackage.VARIABLE_OR_NODE: {
309 VariableOrNode variableOrNode = (VariableOrNode) theEObject;
310 T result = caseVariableOrNode(variableOrNode);
311 if (result == null)
312 result = caseNamedElement(variableOrNode);
313 if (result == null)
314 result = defaultCase(theEObject);
315 return result;
316 }
317 default:
318 return defaultCase(theEObject);
319 }
320 }
321
322 /**
323 * Returns the result of interpreting the object as an instance of '<em>Problem</em>'.
324 * <!-- begin-user-doc -->
325 * This implementation returns null;
326 * returning a non-null result will terminate the switch.
327 * <!-- end-user-doc -->
328 * @param object the target of the switch.
329 * @return the result of interpreting the object as an instance of '<em>Problem</em>'.
330 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
331 * @generated
332 */
333 public T caseProblem(Problem object) {
334 return null;
335 }
336
337 /**
338 * Returns the result of interpreting the object as an instance of '<em>Relation</em>'.
339 * <!-- begin-user-doc -->
340 * This implementation returns null;
341 * returning a non-null result will terminate the switch.
342 * <!-- end-user-doc -->
343 * @param object the target of the switch.
344 * @return the result of interpreting the object as an instance of '<em>Relation</em>'.
345 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
346 * @generated
347 */
348 public T caseRelation(Relation object) {
349 return null;
350 }
351
352 /**
353 * Returns the result of interpreting the object as an instance of '<em>Class Declaration</em>'.
354 * <!-- begin-user-doc -->
355 * This implementation returns null;
356 * returning a non-null result will terminate the switch.
357 * <!-- end-user-doc -->
358 * @param object the target of the switch.
359 * @return the result of interpreting the object as an instance of '<em>Class Declaration</em>'.
360 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
361 * @generated
362 */
363 public T caseClassDeclaration(ClassDeclaration object) {
364 return null;
365 }
366
367 /**
368 * Returns the result of interpreting the object as an instance of '<em>Reference Declaration</em>'.
369 * <!-- begin-user-doc -->
370 * This implementation returns null;
371 * returning a non-null result will terminate the switch.
372 * <!-- end-user-doc -->
373 * @param object the target of the switch.
374 * @return the result of interpreting the object as an instance of '<em>Reference Declaration</em>'.
375 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
376 * @generated
377 */
378 public T caseReferenceDeclaration(ReferenceDeclaration object) {
379 return null;
380 }
381
382 /**
383 * Returns the result of interpreting the object as an instance of '<em>Named Element</em>'.
384 * <!-- begin-user-doc -->
385 * This implementation returns null;
386 * returning a non-null result will terminate the switch.
387 * <!-- end-user-doc -->
388 * @param object the target of the switch.
389 * @return the result of interpreting the object as an instance of '<em>Named Element</em>'.
390 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
391 * @generated
392 */
393 public T caseNamedElement(NamedElement object) {
394 return null;
395 }
396
397 /**
398 * Returns the result of interpreting the object as an instance of '<em>Predicate Definition</em>'.
399 * <!-- begin-user-doc -->
400 * This implementation returns null;
401 * returning a non-null result will terminate the switch.
402 * <!-- end-user-doc -->
403 * @param object the target of the switch.
404 * @return the result of interpreting the object as an instance of '<em>Predicate Definition</em>'.
405 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
406 * @generated
407 */
408 public T casePredicateDefinition(PredicateDefinition object) {
409 return null;
410 }
411
412 /**
413 * Returns the result of interpreting the object as an instance of '<em>Parameter</em>'.
414 * <!-- begin-user-doc -->
415 * This implementation returns null;
416 * returning a non-null result will terminate the switch.
417 * <!-- end-user-doc -->
418 * @param object the target of the switch.
419 * @return the result of interpreting the object as an instance of '<em>Parameter</em>'.
420 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
421 * @generated
422 */
423 public T caseParameter(Parameter object) {
424 return null;
425 }
426
427 /**
428 * Returns the result of interpreting the object as an instance of '<em>Variable</em>'.
429 * <!-- begin-user-doc -->
430 * This implementation returns null;
431 * returning a non-null result will terminate the switch.
432 * <!-- end-user-doc -->
433 * @param object the target of the switch.
434 * @return the result of interpreting the object as an instance of '<em>Variable</em>'.
435 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
436 * @generated
437 */
438 public T caseVariable(Variable object) {
439 return null;
440 }
441
442 /**
443 * Returns the result of interpreting the object as an instance of '<em>Conjunction</em>'.
444 * <!-- begin-user-doc -->
445 * This implementation returns null;
446 * returning a non-null result will terminate the switch.
447 * <!-- end-user-doc -->
448 * @param object the target of the switch.
449 * @return the result of interpreting the object as an instance of '<em>Conjunction</em>'.
450 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
451 * @generated
452 */
453 public T caseConjunction(Conjunction object) {
454 return null;
455 }
456
457 /**
458 * Returns the result of interpreting the object as an instance of '<em>Literal</em>'.
459 * <!-- begin-user-doc -->
460 * This implementation returns null;
461 * returning a non-null result will terminate the switch.
462 * <!-- end-user-doc -->
463 * @param object the target of the switch.
464 * @return the result of interpreting the object as an instance of '<em>Literal</em>'.
465 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
466 * @generated
467 */
468 public T caseLiteral(Literal object) {
469 return null;
470 }
471
472 /**
473 * Returns the result of interpreting the object as an instance of '<em>Atom</em>'.
474 * <!-- begin-user-doc -->
475 * This implementation returns null;
476 * returning a non-null result will terminate the switch.
477 * <!-- end-user-doc -->
478 * @param object the target of the switch.
479 * @return the result of interpreting the object as an instance of '<em>Atom</em>'.
480 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
481 * @generated
482 */
483 public T caseAtom(Atom object) {
484 return null;
485 }
486
487 /**
488 * Returns the result of interpreting the object as an instance of '<em>Implicit Variable</em>'.
489 * <!-- begin-user-doc -->
490 * This implementation returns null;
491 * returning a non-null result will terminate the switch.
492 * <!-- end-user-doc -->
493 * @param object the target of the switch.
494 * @return the result of interpreting the object as an instance of '<em>Implicit Variable</em>'.
495 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
496 * @generated
497 */
498 public T caseImplicitVariable(ImplicitVariable object) {
499 return null;
500 }
501
502 /**
503 * Returns the result of interpreting the object as an instance of '<em>Negative Literal</em>'.
504 * <!-- begin-user-doc -->
505 * This implementation returns null;
506 * returning a non-null result will terminate the switch.
507 * <!-- end-user-doc -->
508 * @param object the target of the switch.
509 * @return the result of interpreting the object as an instance of '<em>Negative Literal</em>'.
510 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
511 * @generated
512 */
513 public T caseNegativeLiteral(NegativeLiteral object) {
514 return null;
515 }
516
517 /**
518 * Returns the result of interpreting the object as an instance of '<em>Existential Quantifier</em>'.
519 * <!-- begin-user-doc -->
520 * This implementation returns null;
521 * returning a non-null result will terminate the switch.
522 * <!-- end-user-doc -->
523 * @param object the target of the switch.
524 * @return the result of interpreting the object as an instance of '<em>Existential Quantifier</em>'.
525 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
526 * @generated
527 */
528 public T caseExistentialQuantifier(ExistentialQuantifier object) {
529 return null;
530 }
531
532 /**
533 * Returns the result of interpreting the object as an instance of '<em>Assertion</em>'.
534 * <!-- begin-user-doc -->
535 * This implementation returns null;
536 * returning a non-null result will terminate the switch.
537 * <!-- end-user-doc -->
538 * @param object the target of the switch.
539 * @return the result of interpreting the object as an instance of '<em>Assertion</em>'.
540 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
541 * @generated
542 */
543 public T caseAssertion(Assertion object) {
544 return null;
545 }
546
547 /**
548 * Returns the result of interpreting the object as an instance of '<em>Node</em>'.
549 * <!-- begin-user-doc -->
550 * This implementation returns null;
551 * returning a non-null result will terminate the switch.
552 * <!-- end-user-doc -->
553 * @param object the target of the switch.
554 * @return the result of interpreting the object as an instance of '<em>Node</em>'.
555 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
556 * @generated
557 */
558 public T caseNode(Node object) {
559 return null;
560 }
561
562 /**
563 * Returns the result of interpreting the object as an instance of '<em>Scope Declaration</em>'.
564 * <!-- begin-user-doc -->
565 * This implementation returns null;
566 * returning a non-null result will terminate the switch.
567 * <!-- end-user-doc -->
568 * @param object the target of the switch.
569 * @return the result of interpreting the object as an instance of '<em>Scope Declaration</em>'.
570 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
571 * @generated
572 */
573 public T caseScopeDeclaration(ScopeDeclaration object) {
574 return null;
575 }
576
577 /**
578 * Returns the result of interpreting the object as an instance of '<em>Statement</em>'.
579 * <!-- begin-user-doc -->
580 * This implementation returns null;
581 * returning a non-null result will terminate the switch.
582 * <!-- end-user-doc -->
583 * @param object the target of the switch.
584 * @return the result of interpreting the object as an instance of '<em>Statement</em>'.
585 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
586 * @generated
587 */
588 public T caseStatement(Statement object) {
589 return null;
590 }
591
592 /**
593 * Returns the result of interpreting the object as an instance of '<em>Type Scope</em>'.
594 * <!-- begin-user-doc -->
595 * This implementation returns null;
596 * returning a non-null result will terminate the switch.
597 * <!-- end-user-doc -->
598 * @param object the target of the switch.
599 * @return the result of interpreting the object as an instance of '<em>Type Scope</em>'.
600 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
601 * @generated
602 */
603 public T caseTypeScope(TypeScope object) {
604 return null;
605 }
606
607 /**
608 * Returns the result of interpreting the object as an instance of '<em>Multiplicity</em>'.
609 * <!-- begin-user-doc -->
610 * This implementation returns null;
611 * returning a non-null result will terminate the switch.
612 * <!-- end-user-doc -->
613 * @param object the target of the switch.
614 * @return the result of interpreting the object as an instance of '<em>Multiplicity</em>'.
615 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
616 * @generated
617 */
618 public T caseMultiplicity(Multiplicity object) {
619 return null;
620 }
621
622 /**
623 * Returns the result of interpreting the object as an instance of '<em>Range Multiplicity</em>'.
624 * <!-- begin-user-doc -->
625 * This implementation returns null;
626 * returning a non-null result will terminate the switch.
627 * <!-- end-user-doc -->
628 * @param object the target of the switch.
629 * @return the result of interpreting the object as an instance of '<em>Range Multiplicity</em>'.
630 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
631 * @generated
632 */
633 public T caseRangeMultiplicity(RangeMultiplicity object) {
634 return null;
635 }
636
637 /**
638 * Returns the result of interpreting the object as an instance of '<em>Exact Multiplicity</em>'.
639 * <!-- begin-user-doc -->
640 * This implementation returns null;
641 * returning a non-null result will terminate the switch.
642 * <!-- end-user-doc -->
643 * @param object the target of the switch.
644 * @return the result of interpreting the object as an instance of '<em>Exact Multiplicity</em>'.
645 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
646 * @generated
647 */
648 public T caseExactMultiplicity(ExactMultiplicity object) {
649 return null;
650 }
651
652 /**
653 * Returns the result of interpreting the object as an instance of '<em>Unbounded Multiplicity</em>'.
654 * <!-- begin-user-doc -->
655 * This implementation returns null;
656 * returning a non-null result will terminate the switch.
657 * <!-- end-user-doc -->
658 * @param object the target of the switch.
659 * @return the result of interpreting the object as an instance of '<em>Unbounded Multiplicity</em>'.
660 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
661 * @generated
662 */
663 public T caseUnboundedMultiplicity(UnboundedMultiplicity object) {
664 return null;
665 }
666
667 /**
668 * Returns the result of interpreting the object as an instance of '<em>Argument</em>'.
669 * <!-- begin-user-doc -->
670 * This implementation returns null;
671 * returning a non-null result will terminate the switch.
672 * <!-- end-user-doc -->
673 * @param object the target of the switch.
674 * @return the result of interpreting the object as an instance of '<em>Argument</em>'.
675 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
676 * @generated
677 */
678 public T caseArgument(Argument object) {
679 return null;
680 }
681
682 /**
683 * Returns the result of interpreting the object as an instance of '<em>Enum Declaration</em>'.
684 * <!-- begin-user-doc -->
685 * This implementation returns null;
686 * returning a non-null result will terminate the switch.
687 * <!-- end-user-doc -->
688 * @param object the target of the switch.
689 * @return the result of interpreting the object as an instance of '<em>Enum Declaration</em>'.
690 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
691 * @generated
692 */
693 public T caseEnumDeclaration(EnumDeclaration object) {
694 return null;
695 }
696
697 /**
698 * Returns the result of interpreting the object as an instance of '<em>Variable Or Node</em>'.
699 * <!-- begin-user-doc -->
700 * This implementation returns null;
701 * returning a non-null result will terminate the switch.
702 * <!-- end-user-doc -->
703 * @param object the target of the switch.
704 * @return the result of interpreting the object as an instance of '<em>Variable Or Node</em>'.
705 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
706 * @generated
707 */
708 public T caseVariableOrNode(VariableOrNode object) {
709 return null;
710 }
711
712 /**
713 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
714 * <!-- begin-user-doc -->
715 * This implementation returns null;
716 * returning a non-null result will terminate the switch, but this is the last case anyway.
717 * <!-- end-user-doc -->
718 * @param object the target of the switch.
719 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
720 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
721 * @generated
722 */
723 @Override
724 public T defaultCase(EObject object) {
725 return null;
726 }
727
728} //ProblemSwitch
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore
deleted file mode 100644
index 99404f61..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore
+++ /dev/null
@@ -1,107 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="problem" nsURI="http://www.eclipse.org/viatra/solver/language/model/Problem"
4 nsPrefix="problem">
5 <eClassifiers xsi:type="ecore:EClass" name="Problem" eSuperTypes="#//NamedElement">
6 <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1"
7 eType="#//Node" containment="true"/>
8 <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
9 eType="#//Statement" containment="true"/>
10 </eClassifiers>
11 <eClassifiers xsi:type="ecore:EClass" name="Relation" abstract="true" eSuperTypes="#//NamedElement"/>
12 <eClassifiers xsi:type="ecore:EClass" name="ClassDeclaration" eSuperTypes="#//Relation #//Statement">
13 <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
14 <eStructuralFeatures xsi:type="ecore:EReference" name="superTypes" upperBound="-1"
15 eType="#//Relation"/>
16 <eStructuralFeatures xsi:type="ecore:EReference" name="referenceDeclarations"
17 upperBound="-1" eType="#//ReferenceDeclaration" containment="true"/>
18 <eStructuralFeatures xsi:type="ecore:EReference" name="newNode" eType="#//Node"
19 containment="true"/>
20 </eClassifiers>
21 <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//Relation">
22 <eStructuralFeatures xsi:type="ecore:EReference" name="referenceType" eType="#//Relation"/>
23 <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//ReferenceDeclaration"/>
24 <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
25 <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity"
26 containment="true"/>
27 </eClassifiers>
28 <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true">
29 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
30 </eClassifiers>
31 <eClassifiers xsi:type="ecore:EClass" name="PredicateDefinition" eSuperTypes="#//Relation #//Statement">
32 <eStructuralFeatures xsi:type="ecore:EAttribute" name="error" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
33 <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
34 eType="#//Parameter" containment="true"/>
35 <eStructuralFeatures xsi:type="ecore:EReference" name="bodies" upperBound="-1"
36 eType="#//Conjunction" containment="true"/>
37 </eClassifiers>
38 <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//Variable">
39 <eStructuralFeatures xsi:type="ecore:EReference" name="parameterType" eType="#//Relation"/>
40 </eClassifiers>
41 <eClassifiers xsi:type="ecore:EClass" name="Variable" abstract="true" eSuperTypes="#//VariableOrNode"/>
42 <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//ExistentialQuantifier">
43 <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1"
44 eType="#//Literal" containment="true"/>
45 </eClassifiers>
46 <eClassifiers xsi:type="ecore:EClass" name="Literal" abstract="true"/>
47 <eClassifiers xsi:type="ecore:EClass" name="Atom" eSuperTypes="#//Literal">
48 <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/>
49 <eStructuralFeatures xsi:type="ecore:EAttribute" name="transitiveClosure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
50 <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
51 eType="#//Argument" containment="true"/>
52 </eClassifiers>
53 <eClassifiers xsi:type="ecore:EClass" name="ImplicitVariable" eSuperTypes="#//Variable"/>
54 <eClassifiers xsi:type="ecore:EClass" name="NegativeLiteral" eSuperTypes="#//ExistentialQuantifier #//Literal">
55 <eStructuralFeatures xsi:type="ecore:EReference" name="atom" eType="#//Atom" containment="true"/>
56 </eClassifiers>
57 <eClassifiers xsi:type="ecore:EClass" name="ExistentialQuantifier" abstract="true"
58 interface="true">
59 <eStructuralFeatures xsi:type="ecore:EReference" name="implicitVariables" upperBound="-1"
60 eType="#//ImplicitVariable" containment="true"/>
61 </eClassifiers>
62 <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement">
63 <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/>
64 <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
65 eType="#//Node"/>
66 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/>
67 </eClassifiers>
68 <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//VariableOrNode"/>
69 <eClassifiers xsi:type="ecore:EEnum" name="LogicValue">
70 <eLiterals name="TRUE" literal="TRUE"/>
71 <eLiterals name="FALSE" value="1"/>
72 <eLiterals name="UNKNOWN" value="2"/>
73 </eClassifiers>
74 <eClassifiers xsi:type="ecore:EClass" name="ScopeDeclaration" eSuperTypes="#//Statement">
75 <eStructuralFeatures xsi:type="ecore:EReference" name="typeScopes" upperBound="-1"
76 eType="#//TypeScope" containment="true"/>
77 </eClassifiers>
78 <eClassifiers xsi:type="ecore:EClass" name="Statement" abstract="true" interface="true"/>
79 <eClassifiers xsi:type="ecore:EClass" name="TypeScope">
80 <eStructuralFeatures xsi:type="ecore:EReference" name="targetType" eType="#//ClassDeclaration"/>
81 <eStructuralFeatures xsi:type="ecore:EAttribute" name="increment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
82 <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity"
83 containment="true"/>
84 </eClassifiers>
85 <eClassifiers xsi:type="ecore:EClass" name="Multiplicity" abstract="true"/>
86 <eClassifiers xsi:type="ecore:EClass" name="RangeMultiplicity" eSuperTypes="#//Multiplicity">
87 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
88 defaultValueLiteral="0"/>
89 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
90 defaultValueLiteral="-1"/>
91 </eClassifiers>
92 <eClassifiers xsi:type="ecore:EClass" name="ExactMultiplicity" eSuperTypes="#//Multiplicity">
93 <eStructuralFeatures xsi:type="ecore:EAttribute" name="exactValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
94 defaultValueLiteral="1"/>
95 </eClassifiers>
96 <eClassifiers xsi:type="ecore:EClass" name="UnboundedMultiplicity" eSuperTypes="#//Multiplicity"/>
97 <eClassifiers xsi:type="ecore:EClass" name="Argument">
98 <eStructuralFeatures xsi:type="ecore:EReference" name="variableOrNode" eType="#//VariableOrNode"/>
99 <eStructuralFeatures xsi:type="ecore:EReference" name="singletonVariable" eType="#//ImplicitVariable"
100 containment="true"/>
101 </eClassifiers>
102 <eClassifiers xsi:type="ecore:EClass" name="EnumDeclaration" eSuperTypes="#//Relation #//Statement">
103 <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1"
104 eType="#//Node" containment="true"/>
105 </eClassifiers>
106 <eClassifiers xsi:type="ecore:EClass" name="VariableOrNode" abstract="true" eSuperTypes="#//NamedElement"/>
107</ecore:EPackage>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel
deleted file mode 100644
index 2eb9a988..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel
+++ /dev/null
@@ -1,97 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel"
4 modelDirectory="/org.eclipse.viatra.solver.language.model/src/main/emf-gen"
5 creationIcons="false" editDirectory="/org.eclipse.viatra.solver.language.model.edit/src-gen"
6 editorDirectory="/org.eclipse.viatra.solver.language.model.editor/src-gen" modelPluginID="org.eclipse.viatra.solver.language.model"
7 modelName="Problem" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
8 codeFormatting="true" importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0"
9 copyrightFields="false" operationReflection="true" importOrganizing="true">
10 <foreignModel>problem.ecore</foreignModel>
11 <testsDirectory xsi:nil="true"/>
12 <genPackages prefix="Problem" basePackage="org.eclipse.viatra.solver.language.model"
13 disposableProviderFactory="true" ecorePackage="problem.ecore#/">
14 <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//LogicValue">
15 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/TRUE"/>
16 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/FALSE"/>
17 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/UNKNOWN"/>
18 </genEnums>
19 <genClasses ecoreClass="problem.ecore#//Problem">
20 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/nodes"/>
21 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/statements"/>
22 </genClasses>
23 <genClasses ecoreClass="problem.ecore#//Relation"/>
24 <genClasses ecoreClass="problem.ecore#//ClassDeclaration">
25 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ClassDeclaration/abstract"/>
26 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/superTypes"/>
27 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/referenceDeclarations"/>
28 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/newNode"/>
29 </genClasses>
30 <genClasses ecoreClass="problem.ecore#//ReferenceDeclaration">
31 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/referenceType"/>
32 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/opposite"/>
33 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ReferenceDeclaration/containment"/>
34 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/multiplicity"/>
35 </genClasses>
36 <genClasses ecoreClass="problem.ecore#//NamedElement">
37 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//NamedElement/name"/>
38 </genClasses>
39 <genClasses ecoreClass="problem.ecore#//PredicateDefinition">
40 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//PredicateDefinition/error"/>
41 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//PredicateDefinition/parameters"/>
42 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//PredicateDefinition/bodies"/>
43 </genClasses>
44 <genClasses ecoreClass="problem.ecore#//Parameter">
45 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Parameter/parameterType"/>
46 </genClasses>
47 <genClasses ecoreClass="problem.ecore#//Variable"/>
48 <genClasses ecoreClass="problem.ecore#//Conjunction">
49 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Conjunction/literals"/>
50 </genClasses>
51 <genClasses ecoreClass="problem.ecore#//Literal"/>
52 <genClasses ecoreClass="problem.ecore#//Atom">
53 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/relation"/>
54 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Atom/transitiveClosure"/>
55 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/arguments"/>
56 </genClasses>
57 <genClasses ecoreClass="problem.ecore#//ImplicitVariable"/>
58 <genClasses ecoreClass="problem.ecore#//NegativeLiteral">
59 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//NegativeLiteral/atom"/>
60 </genClasses>
61 <genClasses ecoreClass="problem.ecore#//ExistentialQuantifier">
62 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ExistentialQuantifier/implicitVariables"/>
63 </genClasses>
64 <genClasses ecoreClass="problem.ecore#//Assertion">
65 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/relation"/>
66 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/arguments"/>
67 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Assertion/value"/>
68 </genClasses>
69 <genClasses ecoreClass="problem.ecore#//Node"/>
70 <genClasses ecoreClass="problem.ecore#//ScopeDeclaration">
71 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ScopeDeclaration/typeScopes"/>
72 </genClasses>
73 <genClasses ecoreClass="problem.ecore#//Statement"/>
74 <genClasses ecoreClass="problem.ecore#//TypeScope">
75 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//TypeScope/targetType"/>
76 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//TypeScope/increment"/>
77 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//TypeScope/multiplicity"/>
78 </genClasses>
79 <genClasses ecoreClass="problem.ecore#//Multiplicity"/>
80 <genClasses ecoreClass="problem.ecore#//RangeMultiplicity">
81 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//RangeMultiplicity/lowerBound"/>
82 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//RangeMultiplicity/upperBound"/>
83 </genClasses>
84 <genClasses ecoreClass="problem.ecore#//ExactMultiplicity">
85 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ExactMultiplicity/exactValue"/>
86 </genClasses>
87 <genClasses ecoreClass="problem.ecore#//UnboundedMultiplicity"/>
88 <genClasses ecoreClass="problem.ecore#//Argument">
89 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Argument/variableOrNode"/>
90 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Argument/singletonVariable"/>
91 </genClasses>
92 <genClasses ecoreClass="problem.ecore#//EnumDeclaration">
93 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//EnumDeclaration/literals"/>
94 </genClasses>
95 <genClasses ecoreClass="problem.ecore#//VariableOrNode"/>
96 </genPackages>
97</genmodel:GenModel>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.classpath b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.classpath
deleted file mode 100644
index 82e9aceb..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.classpath
+++ /dev/null
@@ -1,35 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" output="bin/main" path="src/main/java">
4 <attributes>
5 <attribute name="gradle_scope" value="main"/>
6 <attribute name="gradle_used_by_scope" value="main,test"/>
7 </attributes>
8 </classpathentry>
9 <classpathentry kind="src" output="bin/main" path="src/main/xtext-gen">
10 <attributes>
11 <attribute name="gradle_scope" value="main"/>
12 <attribute name="gradle_used_by_scope" value="main,test"/>
13 </attributes>
14 </classpathentry>
15 <classpathentry kind="src" output="bin/main" path="src/main/xtend-gen">
16 <attributes>
17 <attribute name="gradle_scope" value="main"/>
18 <attribute name="gradle_used_by_scope" value="main,test"/>
19 </attributes>
20 </classpathentry>
21 <classpathentry kind="src" output="bin/main" path="src/main/resources">
22 <attributes>
23 <attribute name="gradle_scope" value="main"/>
24 <attribute name="gradle_used_by_scope" value="main,test"/>
25 </attributes>
26 </classpathentry>
27 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11/"/>
28 <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
29 <classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer">
30 <attributes>
31 <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
32 </attributes>
33 </classpathentry>
34 <classpathentry kind="output" path="bin/default"/>
35</classpath>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.gitignore b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.gitignore
deleted file mode 100644
index 84c048a7..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
1/build/
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.project b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.project
deleted file mode 100644
index 9b5a8e63..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.project
+++ /dev/null
@@ -1,40 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>org.eclipse.viatra.solver.language.web</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.jdt.core.javabuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.wst.common.project.facet.core.builder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.wst.validation.validationbuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 <buildCommand>
29 <name>org.eclipse.buildship.core.gradleprojectbuilder</name>
30 <arguments>
31 </arguments>
32 </buildCommand>
33 </buildSpec>
34 <natures>
35 <nature>org.eclipse.jdt.core.javanature</nature>
36 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
37 <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
38 <nature>org.eclipse.buildship.core.gradleprojectnature</nature>
39 </natures>
40</projectDescription>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.core.resources.prefs b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
1eclipse.preferences.version=1
2encoding/<project>=UTF-8
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/build.gradle b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/build.gradle
deleted file mode 100644
index 495b1339..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/build.gradle
+++ /dev/null
@@ -1,37 +0,0 @@
1plugins {
2 id 'war'
3}
4
5dependencies {
6 compile project(':org.eclipse.viatra.solver.language')
7 compile project(':org.eclipse.viatra.solver.language.ide')
8 compile "org.eclipse.xtext:org.eclipse.xtext.xbase.web:${xtextVersion}"
9 compile "org.eclipse.xtext:org.eclipse.xtext.web.servlet:${xtextVersion}"
10 compile "org.eclipse.xtend:org.eclipse.xtend.lib:${xtextVersion}"
11 compile "org.webjars:requirejs:2.3.6"
12 compile "org.webjars:requirejs-text:2.0.15"
13 compile "org.webjars:jquery:3.6.0"
14 // CodeMirror 5.53.0 and later is incompatible with Xtext due to
15 // https://github.com/codemirror/CodeMirror/commit/b2d26b4ccb1d0994ae84d18ad8b84018de176da9#commitcomment-41525744
16 compile "org.webjars.npm:codemirror:5.52.2"
17 providedCompile "org.eclipse.jetty:jetty-annotations:9.4.42.v20210604"
18 providedCompile "org.eclipse.jetty:jetty-rewrite:9.4.42.v20210604"
19 providedCompile "org.slf4j:slf4j-simple:1.7.31"
20}
21
22task jettyRun(type:JavaExec) {
23 dependsOn(sourceSets.main.runtimeClasspath)
24 classpath = sourceSets.main.runtimeClasspath.filter{it.exists()}
25 main = 'org.eclipse.viatra.solver.language.web.ServerLauncher'
26 standardInput = System.in
27 group = 'run'
28 description = 'Starts an example Jetty server with your language'
29}
30
31eclipse {
32 project {
33 file.whenMerged {
34 natures.remove('org.eclipse.wst.common.modulecore.ModuleCoreNature')
35 }
36 }
37} \ No newline at end of file
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemServlet.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemServlet.java
deleted file mode 100644
index 5de708f0..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemServlet.java
+++ /dev/null
@@ -1,36 +0,0 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language.web;
5
6import com.google.inject.Injector;
7import javax.servlet.ServletException;
8import javax.servlet.annotation.WebServlet;
9import org.eclipse.xtext.util.DisposableRegistry;
10import org.eclipse.xtext.web.servlet.XtextServlet;
11
12/**
13 * Deploy this class into a servlet container to enable DSL-specific services.
14 */
15@WebServlet(name = "XtextServices", urlPatterns = "/xtext-service/*")
16public class ProblemServlet extends XtextServlet {
17
18 private static final long serialVersionUID = 1L;
19
20 DisposableRegistry disposableRegistry;
21
22 public void init() throws ServletException {
23 super.init();
24 Injector injector = new ProblemWebSetup().createInjectorAndDoEMFRegistration();
25 this.disposableRegistry = injector.getInstance(DisposableRegistry.class);
26 }
27
28 public void destroy() {
29 if (disposableRegistry != null) {
30 disposableRegistry.dispose();
31 disposableRegistry = null;
32 }
33 super.destroy();
34 }
35
36}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebModule.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebModule.java
deleted file mode 100644
index 0eea7f1e..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebModule.java
+++ /dev/null
@@ -1,11 +0,0 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language.web;
5
6
7/**
8 * Use this class to register additional components to be used within the web application.
9 */
10public class ProblemWebModule extends AbstractProblemWebModule {
11}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebSetup.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebSetup.java
deleted file mode 100644
index 8d5778af..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebSetup.java
+++ /dev/null
@@ -1,23 +0,0 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language.web;
5
6import com.google.inject.Guice;
7import com.google.inject.Injector;
8import org.eclipse.viatra.solver.language.ProblemRuntimeModule;
9import org.eclipse.viatra.solver.language.ProblemStandaloneSetup;
10import org.eclipse.viatra.solver.language.ide.ProblemIdeModule;
11import org.eclipse.xtext.util.Modules2;
12
13/**
14 * Initialization support for running Xtext languages in web applications.
15 */
16public class ProblemWebSetup extends ProblemStandaloneSetup {
17
18 @Override
19 public Injector createInjector() {
20 return Guice.createInjector(Modules2.mixin(new ProblemRuntimeModule(), new ProblemIdeModule(), new ProblemWebModule()));
21 }
22
23}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ServerLauncher.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ServerLauncher.java
deleted file mode 100644
index d25f4ae9..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ServerLauncher.java
+++ /dev/null
@@ -1,65 +0,0 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language.web;
5
6import java.net.InetSocketAddress;
7import org.eclipse.jetty.annotations.AnnotationConfiguration;
8import org.eclipse.jetty.server.Server;
9import org.eclipse.jetty.util.log.Slf4jLog;
10import org.eclipse.jetty.webapp.Configuration;
11import org.eclipse.jetty.webapp.MetaInfConfiguration;
12import org.eclipse.jetty.webapp.WebAppContext;
13import org.eclipse.jetty.webapp.WebInfConfiguration;
14import org.eclipse.jetty.webapp.WebXmlConfiguration;
15
16/**
17 * This program starts an HTTP server for testing the web integration of your DSL.
18 * Just execute it and point a web browser to http://localhost:8080/
19 */
20public class ServerLauncher {
21 public static void main(String[] args) {
22 Server server = new Server(new InetSocketAddress("localhost", 1313));
23 WebAppContext ctx = new WebAppContext();
24 ctx.setResourceBase("src/main/webapp");
25 ctx.setWelcomeFiles(new String[] {"index.html"});
26 ctx.setContextPath("/");
27 ctx.setConfigurations(new Configuration[] {
28 new AnnotationConfiguration(),
29 new WebXmlConfiguration(),
30 new WebInfConfiguration(),
31 new MetaInfConfiguration()
32 });
33 ctx.setAttribute(WebInfConfiguration.CONTAINER_JAR_PATTERN,
34 ".*/org\\.eclipse\\.viatra\\.solver\\.language\\.web/.*,.*\\.jar");
35 ctx.setInitParameter("org.eclipse.jetty.servlet.Default.useFileMappedBuffer", "false");
36 server.setHandler(ctx);
37 Slf4jLog log = new Slf4jLog(ServerLauncher.class.getName());
38 try {
39 server.start();
40 log.info("Server started " + server.getURI() + "...");
41 new Thread() {
42
43 public void run() {
44 try {
45 log.info("Press enter to stop the server...");
46 int key = System.in.read();
47 if (key != -1) {
48 server.stop();
49 } else {
50 log.warn(
51 "Console input is not available. In order to stop the server, you need to cancel process manually.");
52 }
53 } catch (Exception e) {
54 log.warn(e);
55 }
56 }
57
58 }.start();
59 server.join();
60 } catch (Exception exception) {
61 log.warn(exception.getMessage());
62 System.exit(1);
63 }
64 }
65}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/index.html b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/index.html
deleted file mode 100644
index 3fb66d62..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/index.html
+++ /dev/null
@@ -1,49 +0,0 @@
1<!DOCTYPE html>
2<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3<meta http-equiv="Content-Language" content="en-us">
4<title>Example Web Editor</title>
5<link rel="stylesheet" type="text/css" href="webjars/codemirror/5.52.2/lib/codemirror.css" />
6<link rel="stylesheet" type="text/css" href="webjars/codemirror/5.52.2/addon/hint/show-hint.css" />
7<link rel="stylesheet" type="text/css" href="xtext/2.26.0.M1/xtext-codemirror.css" />
8<link rel="stylesheet" type="text/css" href="style.css" />
9<body>
10 <div class="container">
11 <div class="header">
12 <h1>Example Problem Web Editor</h1>
13 </div>
14 <div class="content">
15 <div class="xtext-editor"
16 data-editor-xtext-lang="problem"
17 data-editor-enable-formatting-action="true"
18 data-editor-send-full-text="false"
19 ><pre>class Family {
20 contains Person[] members
21}
22
23class Person {
24 Person[] children opposite parent
25 Person parent opposite children
26 TaxStatus[1] taxStatus
27}
28
29enum TaxStatus {
30 child, student, adult, retired
31}
32
33error invalidTaxStatus(Person p) :-
34 taxStatus(p, child), children(p, _q).
35
36Family('family').
37members('family', anne).
38members('family', bob).
39members('family', ciri).
40children(anne, ciri).
41?children(bob, ciri).
42taxStatus(anne, adult).
43
44scope Family = 1, Person += 5..10.</pre></div>
45 </div>
46 </div>
47 <script type="text/javascript" src="webjars/requirejs/2.3.6/require.min.js"></script>
48 <script type="text/javascript" src="script.js"></script>
49</body>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/script.js b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/script.js
deleted file mode 100644
index dced7eca..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/script.js
+++ /dev/null
@@ -1,20 +0,0 @@
1var baseUrl = window.location.pathname;
2var fileIndex = baseUrl.indexOf("index.html");
3if (fileIndex > 0)
4 baseUrl = baseUrl.slice(0, fileIndex)
5require.config({
6 baseUrl: baseUrl,
7 paths: {
8 "text": "webjars/requirejs-text/2.26.0.M1/text",
9 "jquery": "webjars/jquery/3.6.0/jquery.min",
10 "xtext/xtext-codemirror": "xtext/2.26.0.M1/xtext-codemirror",
11 },
12 packages: [{
13 name: "codemirror",
14 location: "webjars/codemirror/5.52.2",
15 main: "lib/codemirror"
16 }]
17});
18require(["xtext-resources/generated/mode-problem", "xtext/xtext-codemirror"], function(mode, xtext) {
19 window.xtextEditor = xtext.createEditor({baseUrl: baseUrl,});
20});
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/style.css b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/style.css
deleted file mode 100644
index 9a89dd81..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/style.css
+++ /dev/null
@@ -1,105 +0,0 @@
1body {
2 width: 100%;
3 height: 100%;
4 overflow: hidden;
5 font: 16px Helvetica,sans-serif;
6}
7
8a {
9 color: #22a;
10 text-decoration: none;
11}
12
13a:hover {
14 text-decoration: underline;
15}
16
17.container {
18 display: block;
19 position: absolute;
20 top: 0;
21 bottom: 0;
22 left: 0;
23 right: 0;
24 margin: 24px 24px 36px 24px;
25}
26
27.header {
28 display: block;
29 position: absolute;
30 top: 0;
31 left: 0;
32 right: 0;
33 padding: 16px;
34 background: #dbdbdb;
35 border-radius: 16px;
36 color: #383838;
37}
38
39.header h1 {
40 font-size: 36px;
41 margin: 0;
42}
43
44.content {
45 display: block;
46 position: absolute;
47 top: 108px;
48 bottom: 0;
49 left: 0;
50 width: 50%;
51 box-shadow: 0 0 8px rgba(80, 10, 98, .25), 0 10px 24px rgba(80, 10, 98, .35);
52 border-radius: 16px;
53}
54
55.xtext-editor {
56 display: block;
57 position: absolute;
58 top: 16px;
59 bottom: 16px;
60 left: 16px;
61 right: 16px;
62 border: 1px solid #aaa;
63}
64
65.problem-class {
66 color: #005032;
67}
68
69.problem-abstract {
70 color: #8b8816;
71}
72
73.problem-enum {
74 color: #644632;
75}
76
77.problem-reference {
78 color: #0000c0;
79}
80
81.problem-containment {
82 font-weight: bold;
83}
84
85
86.CodeMirror .problem-node {
87 color: inherit;
88}
89
90.problem-enum-node {
91 color: #1a1a1a !important;
92 font-weight: bold;
93}
94
95.problem-new-node {
96 font-style: italic;
97}
98
99.problem-variable {
100 color: #6a3e3e;
101}
102
103.problem-singleton-variable {
104 opacity: 0.7;
105}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/xtext-resources/generated/mode-problem.js b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/xtext-resources/generated/mode-problem.js
deleted file mode 100644
index 84515ad6..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/xtext-resources/generated/mode-problem.js
+++ /dev/null
@@ -1,23 +0,0 @@
1define(["codemirror", "codemirror/addon/mode/simple"], function(CodeMirror, SimpleMode) {
2 var keywords = "abstract|class|contains|enum|error|extends|false|opposite|pred|problem|refers|scope|true|unknown";
3 CodeMirror.defineSimpleMode("xtext/problem", {
4 start: [
5 {token: "comment", regex: "\\/\\/.*$"},
6 {token: "comment", regex: "\\/\\*", next : "comment"},
7 {token: "string", regex: '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},
8 {token: "string", regex: "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},
9 {token: "constant.numeric", regex: "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},
10 {token: "lparen", regex: "[\\[({]"},
11 {token: "rparen", regex: "[\\])}]"},
12 {token: "keyword", regex: "\\b(?:" + keywords + ")\\b"}
13 ],
14 comment: [
15 {token: "comment", regex: ".*?\\*\\/", next : "start"},
16 {token: "comment", regex: ".+"}
17 ],
18 meta: {
19 dontIndentStates: ["comment"],
20 lineComment: "//"
21 }
22 });
23});
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/xtext-gen/org/eclipse/viatra/solver/language/web/AbstractProblemWebModule.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/xtext-gen/org/eclipse/viatra/solver/language/web/AbstractProblemWebModule.java
deleted file mode 100644
index fefb7da3..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/xtext-gen/org/eclipse/viatra/solver/language/web/AbstractProblemWebModule.java
+++ /dev/null
@@ -1,14 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
3 */
4package org.eclipse.viatra.solver.language.web;
5
6import org.eclipse.xtext.web.server.DefaultWebModule;
7
8/**
9 * Manual modifications go to {@link ProblemWebModule}.
10 */
11@SuppressWarnings("all")
12public abstract class AbstractProblemWebModule extends DefaultWebModule {
13
14}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.classpath b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.classpath
deleted file mode 100644
index 032f6f94..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.classpath
+++ /dev/null
@@ -1,59 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" output="bin/main" path="src/main/java">
4 <attributes>
5 <attribute name="gradle_scope" value="main"/>
6 <attribute name="gradle_used_by_scope" value="main,test"/>
7 </attributes>
8 </classpathentry>
9 <classpathentry kind="src" output="bin/main" path="src/main/xtext-gen">
10 <attributes>
11 <attribute name="ignore_optional_problems" value="true"/>
12 <attribute name="gradle_scope" value="main"/>
13 <attribute name="gradle_used_by_scope" value="main,test"/>
14 </attributes>
15 </classpathentry>
16 <classpathentry kind="src" output="bin/main" path="src/main/xtend-gen">
17 <attributes>
18 <attribute name="gradle_scope" value="main"/>
19 <attribute name="gradle_used_by_scope" value="main,test"/>
20 </attributes>
21 </classpathentry>
22 <classpathentry kind="src" output="bin/main" path="src/main/resources">
23 <attributes>
24 <attribute name="gradle_scope" value="main"/>
25 <attribute name="gradle_used_by_scope" value="main,test"/>
26 </attributes>
27 </classpathentry>
28 <classpathentry kind="src" output="bin/test" path="src/test/java">
29 <attributes>
30 <attribute name="gradle_scope" value="test"/>
31 <attribute name="gradle_used_by_scope" value="test"/>
32 <attribute name="test" value="true"/>
33 </attributes>
34 </classpathentry>
35 <classpathentry kind="src" output="bin/test" path="src/test/xtext-gen">
36 <attributes>
37 <attribute name="gradle_scope" value="test"/>
38 <attribute name="gradle_used_by_scope" value="test"/>
39 <attribute name="test" value="true"/>
40 </attributes>
41 </classpathentry>
42 <classpathentry kind="src" output="bin/test" path="src/test/xtend-gen">
43 <attributes>
44 <attribute name="gradle_scope" value="test"/>
45 <attribute name="gradle_used_by_scope" value="test"/>
46 <attribute name="test" value="true"/>
47 </attributes>
48 </classpathentry>
49 <classpathentry kind="src" output="bin/test" path="src/test/resources">
50 <attributes>
51 <attribute name="gradle_scope" value="test"/>
52 <attribute name="gradle_used_by_scope" value="test"/>
53 <attribute name="test" value="true"/>
54 </attributes>
55 </classpathentry>
56 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11/"/>
57 <classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
58 <classpathentry kind="output" path="bin/default"/>
59</classpath>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.gitignore b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.gitignore
deleted file mode 100644
index 84c048a7..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
1/build/
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.launch/Generate Problem (problem) Language Infrastructure.launch b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.launch/Generate Problem (problem) Language Infrastructure.launch
deleted file mode 100644
index 042ecc17..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.launch/Generate Problem (problem) Language Infrastructure.launch
+++ /dev/null
@@ -1,14 +0,0 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<launchConfiguration type="org.eclipse.buildship.core.launch.runconfiguration">
3<listAttribute key="arguments"/>
4<stringAttribute key="gradle_distribution" value="GRADLE_DISTRIBUTION(WRAPPER)"/>
5<listAttribute key="jvm_arguments"/>
6<booleanAttribute key="show_console_view" value="true"/>
7<booleanAttribute key="show_execution_view" value="true"/>
8<listAttribute key="tasks">
9<listEntry value="build"/>
10</listAttribute>
11<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;resources&gt;&#10;&lt;item path=&quot;/org.eclipse.viatra.solver.language.parent&quot; type=&quot;4&quot;/&gt;&#10;&lt;item path=&quot;/org.eclipse.viatra.solver.language&quot; type=&quot;4&quot;/&gt;&#10;&lt;item path=&quot;/org.eclipse.viatra.solver.language.ide&quot; type=&quot;4&quot;/&gt;&#10;&lt;item path=&quot;/org.eclipse.viatra.solver.language.web&quot; type=&quot;4&quot;/&gt;&#10;&lt;item path=&quot;/org.eclipse.viatra.solver.language.tests&quot; type=&quot;4&quot;/&gt;&#10;;&lt;/resources&gt;}"/>
12<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
13<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.viatra.solver.language}"/>
14</launchConfiguration>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.project b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.project
deleted file mode 100644
index bbe16f36..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.project
+++ /dev/null
@@ -1,29 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>org.eclipse.viatra.solver.language</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.jdt.core.javabuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.buildship.core.gradleprojectbuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 </buildSpec>
24 <natures>
25 <nature>org.eclipse.buildship.core.gradleprojectnature</nature>
26 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
27 <nature>org.eclipse.jdt.core.javanature</nature>
28 </natures>
29</projectDescription>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.settings/org.eclipse.core.resources.prefs b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
1eclipse.preferences.version=1
2encoding/<project>=UTF-8
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/build.gradle b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/build.gradle
deleted file mode 100644
index 558f08bb..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/build.gradle
+++ /dev/null
@@ -1,42 +0,0 @@
1dependencies {
2 testCompile 'org.junit.jupiter:junit-jupiter-api'
3 testRuntime 'org.junit.jupiter:junit-jupiter-engine'
4 testCompile "org.eclipse.xtext:org.eclipse.xtext.testing:${xtextVersion}"
5 testCompile "org.eclipse.xtext:org.eclipse.xtext.xbase.testing:${xtextVersion}"
6 compile "org.eclipse.xtext:org.eclipse.xtext:${xtextVersion}"
7 compile "org.eclipse.xtext:org.eclipse.xtext.xbase:${xtextVersion}"
8 compile 'org.eclipse.emf:org.eclipse.emf.ecore'
9 compile project(':org.eclipse.viatra.solver.language.model')
10}
11
12configurations {
13 mwe2 {
14 extendsFrom compile
15 }
16}
17
18dependencies {
19 mwe2 'org.eclipse.emf:org.eclipse.emf.mwe2.launch'
20 mwe2 "org.eclipse.xtext:org.eclipse.xtext.common.types:${xtextVersion}"
21 mwe2 "org.eclipse.xtext:org.eclipse.xtext.xtext.generator:${xtextVersion}"
22 mwe2 'org.eclipse.xtext:xtext-antlr-generator'
23}
24
25task generateXtextLanguage(type: JavaExec) {
26 main = 'org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher'
27 classpath = configurations.mwe2
28 inputs.file "src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe2"
29 inputs.file "src/main/java/org/eclipse/viatra/solver/language/Problem.xtext"
30 outputs.dir "src/main/xtext-gen"
31 args += "src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe2"
32 args += "-p"
33 args += "rootPath=/${projectDir}/.."
34}
35
36test {
37 useJUnitPlatform()
38}
39
40generateXtext.dependsOn(generateXtextLanguage)
41clean.dependsOn(cleanGenerateXtextLanguage)
42eclipse.classpath.plusConfigurations += [configurations.mwe2]
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe2 b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe2
deleted file mode 100644
index 46812355..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe2
+++ /dev/null
@@ -1,54 +0,0 @@
1module org.eclipse.viatra.solver.language.GenerateProblem
2
3import org.eclipse.xtext.xtext.generator.*
4import org.eclipse.xtext.xtext.generator.model.project.*
5
6var rootPath = ".."
7
8Workflow {
9 component = XtextGenerator {
10 configuration = {
11 project = StandardProjectConfig {
12 baseName = "org.eclipse.viatra.solver.language"
13 rootPath = rootPath
14 runtimeTest = {
15 enabled = true
16 }
17 web = {
18 enabled = true
19 }
20 mavenLayout = true
21 }
22 code = {
23 encoding = "UTF-8"
24 lineDelimiter = "\n"
25 fileHeader = "/*\n * generated by Xtext \${version}\n */"
26 preferXtendStubs = false
27 }
28 }
29
30 language = StandardLanguage {
31 name = "org.eclipse.viatra.solver.language.Problem"
32 fileExtensions = "problem"
33 referencedResource = "platform:/resource/org.eclipse.viatra.solver.language.model/model/problem.genmodel"
34
35 serializer = {
36 generateStub = false
37 }
38 validator = {
39 // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
40 // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
41 generateDeprecationValidation = true
42 }
43 generator = {
44 generateXtendStub = true
45 }
46 junitSupport = {
47 junitVersion = "5"
48 }
49 webSupport = {
50 framework = "CodeMirror"
51 }
52 }
53 }
54}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/Problem.xtext b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/Problem.xtext
deleted file mode 100644
index 5f8b35f3..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/Problem.xtext
+++ /dev/null
@@ -1,116 +0,0 @@
1grammar org.eclipse.viatra.solver.language.Problem with org.eclipse.xtext.common.Terminals
2
3import "http://www.eclipse.org/emf/2002/Ecore" as ecore
4import "http://www.eclipse.org/viatra/solver/language/model/Problem"
5
6Problem:
7 ("problem" name=Identifier ".")?
8 statements+=Statement*;
9
10Statement:
11 ClassDeclaration | EnumDeclaration | PredicateDefinition | Assertion | ScopeDeclaration;
12
13ClassDeclaration:
14 abstract?="abstract"? "class"
15 name=Identifier
16 ("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)?
17 ("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".");
18
19EnumDeclaration:
20 "enum"
21 name=Identifier
22 ("{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}" | ".");
23
24EnumLiteral returns Node:
25 name=QuotedOrUnquotedId;
26
27ReferenceDeclaration:
28 (containment?="contains" | "refers")?
29 referenceType=[Relation|QualifiedName]
30 ("[" multiplicity=Multiplicity "]")?
31 name=Identifier
32 ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?;
33
34PredicateDefinition:
35 (error?="error" "pred"? | "pred")
36 name=Identifier
37 "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
38 (":-" bodies+=Conjunction (";" bodies+=Conjunction)*)?
39 ".";
40
41Parameter:
42 parameterType=[Relation|QualifiedName]? name=Identifier;
43
44Conjunction:
45 literals+=Literal ("," literals+=Literal)*;
46
47Literal:
48 Atom | NegativeLiteral;
49
50NegativeLiteral:
51 "!" atom=Atom;
52
53Atom:
54 relation=[Relation|QualifiedName]
55 transitiveClosure?="+"?
56 "(" (arguments+=Argument ("," arguments+=Argument)*)? ")";
57
58Argument:
59 variableOrNode=[VariableOrNode|QualifiedName];
60
61Assertion:
62 (relation=[Relation|QualifiedName]
63 "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")"
64 ":" value=LogicValue |
65 value=ShortLogicValue?
66 relation=[Relation|QualifiedName]
67 "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")")
68 ".";
69
70enum LogicValue:
71 TRUE="true" | FALSE="false" | UNKNOWN="unknown";
72
73enum ShortLogicValue returns LogicValue:
74 FALSE="!" | UNKNOWN="?";
75
76ScopeDeclaration:
77 "scope" typeScopes+=TypeScope ("," typeScopes+=TypeScope)* ".";
78
79TypeScope:
80 targetType=[ClassDeclaration]
81 (increment?="+=" | "=")
82 multiplicity=DefiniteMultiplicity;
83
84Multiplicity:
85 UnboundedMultiplicity | DefiniteMultiplicity;
86
87DefiniteMultiplicity returns Multiplicity:
88 RangeMultiplicity | ExactMultiplicity;
89
90UnboundedMultiplicity:
91 {UnboundedMultiplicity};
92
93RangeMultiplicity:
94 lowerBound=INT ".." upperBound=UpperBound;
95
96ExactMultiplicity:
97 exactValue=INT;
98
99UpperBound returns ecore::EInt:
100 INT | "*";
101
102QuotedOrUnquotedId:
103 QUOTED_ID | Identifier;
104
105QualifiedName:
106 QUOTED_ID | Identifier (":" Identifier)* (":" QUOTED_ID)?;
107
108Identifier:
109 ID | "true" | "false";
110
111@Override
112terminal STRING:
113 '"' ('\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\' | '"'))* '"';
114
115terminal QUOTED_ID:
116 "'" ('\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\' | "'"))* "'";
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemRuntimeModule.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemRuntimeModule.java
deleted file mode 100644
index eb9ddd77..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemRuntimeModule.java
+++ /dev/null
@@ -1,80 +0,0 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language;
5
6import org.eclipse.viatra.solver.language.conversion.ProblemValueConverterService;
7import org.eclipse.viatra.solver.language.naming.ProblemQualifiedNameConverter;
8import org.eclipse.viatra.solver.language.resource.ProblemDerivedStateComputer;
9import org.eclipse.viatra.solver.language.resource.ProblemLocationInFileProvider;
10import org.eclipse.viatra.solver.language.resource.ProblemResourceDescriptionStrategy;
11import org.eclipse.viatra.solver.language.scoping.ProblemGlobalScopeProvider;
12import org.eclipse.viatra.solver.language.scoping.ProblemLocalScopeProvider;
13import org.eclipse.xtext.conversion.IValueConverterService;
14import org.eclipse.xtext.naming.IQualifiedNameConverter;
15import org.eclipse.xtext.resource.DerivedStateAwareResource;
16import org.eclipse.xtext.resource.DerivedStateAwareResourceDescriptionManager;
17import org.eclipse.xtext.resource.IDefaultResourceDescriptionStrategy;
18import org.eclipse.xtext.resource.IDerivedStateComputer;
19import org.eclipse.xtext.resource.ILocationInFileProvider;
20import org.eclipse.xtext.resource.IResourceDescription;
21import org.eclipse.xtext.resource.XtextResource;
22import org.eclipse.xtext.scoping.IGlobalScopeProvider;
23import org.eclipse.xtext.scoping.IScopeProvider;
24import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
25import org.eclipse.xtext.validation.IResourceValidator;
26import org.eclipse.xtext.xbase.annotations.validation.DerivedStateAwareResourceValidator;
27
28import com.google.inject.Binder;
29import com.google.inject.name.Names;
30
31/**
32 * Use this class to register components to be used at runtime / without the
33 * Equinox extension registry.
34 */
35public class ProblemRuntimeModule extends AbstractProblemRuntimeModule {
36 public Class<? extends IQualifiedNameConverter> bindIQualifiedNameConverter() {
37 return ProblemQualifiedNameConverter.class;
38 }
39
40 public Class<? extends IDefaultResourceDescriptionStrategy> bindIDefaultResourceDescriptionStrategy() {
41 return ProblemResourceDescriptionStrategy.class;
42 }
43
44 @Override
45 public Class<? extends IValueConverterService> bindIValueConverterService() {
46 return ProblemValueConverterService.class;
47 }
48
49 @Override
50 public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
51 return ProblemGlobalScopeProvider.class;
52 }
53
54 @Override
55 public void configureIScopeProviderDelegate(Binder binder) {
56 binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE))
57 .to(ProblemLocalScopeProvider.class);
58 }
59
60 @Override
61 public Class<? extends XtextResource> bindXtextResource() {
62 return DerivedStateAwareResource.class;
63 }
64
65 public Class<? extends IResourceDescription.Manager> bindIResourceDescription$Manager() {
66 return DerivedStateAwareResourceDescriptionManager.class;
67 }
68
69 public Class<? extends IResourceValidator> bindIResourceValidator() {
70 return DerivedStateAwareResourceValidator.class;
71 }
72
73 public Class<? extends IDerivedStateComputer> bindIDerivedStateComputer() {
74 return ProblemDerivedStateComputer.class;
75 }
76
77 public Class<? extends ILocationInFileProvider> bindILocationInFileProvider() {
78 return ProblemLocationInFileProvider.class;
79 }
80}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemStandaloneSetup.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemStandaloneSetup.java
deleted file mode 100644
index 5652f859..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemStandaloneSetup.java
+++ /dev/null
@@ -1,26 +0,0 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language;
5
6import org.eclipse.emf.ecore.EPackage;
7import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
8
9import com.google.inject.Injector;
10
11/**
12 * Initialization support for running Xtext languages without Equinox extension registry.
13 */
14public class ProblemStandaloneSetup extends ProblemStandaloneSetupGenerated {
15
16 public static void doSetup() {
17 new ProblemStandaloneSetup().createInjectorAndDoEMFRegistration();
18 }
19
20 @Override
21 public Injector createInjectorAndDoEMFRegistration() {
22 if (!EPackage.Registry.INSTANCE.containsKey(ProblemPackage.eNS_URI))
23 EPackage.Registry.INSTANCE.put(ProblemPackage.eNS_URI, ProblemPackage.eINSTANCE);
24 return super.createInjectorAndDoEMFRegistration();
25 }
26}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemUtil.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemUtil.java
deleted file mode 100644
index 09f062f5..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemUtil.java
+++ /dev/null
@@ -1,98 +0,0 @@
1package org.eclipse.viatra.solver.language;
2
3import java.util.ArrayDeque;
4import java.util.Collection;
5import java.util.Deque;
6import java.util.HashSet;
7import java.util.Optional;
8import java.util.Set;
9
10import org.eclipse.emf.ecore.EObject;
11import org.eclipse.emf.ecore.resource.Resource;
12import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
13import org.eclipse.viatra.solver.language.model.problem.Node;
14import org.eclipse.viatra.solver.language.model.problem.Problem;
15import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
16import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
17import org.eclipse.viatra.solver.language.model.problem.Relation;
18import org.eclipse.viatra.solver.language.model.problem.Variable;
19import org.eclipse.viatra.solver.language.scoping.ProblemGlobalScopeProvider;
20
21import com.google.common.collect.ImmutableList;
22import com.google.inject.Singleton;
23
24@Singleton
25public final class ProblemUtil {
26 private ProblemUtil() {
27 throw new IllegalStateException("This is a static utility class and should not be instantiated directly");
28 }
29
30 public static final String SINGLETON_VARIABLE_PREFIX = "_";
31
32 public static final String ENUM_NODE_NAME_QUOTE = "'";
33
34 public static final String NODE_CLASS_NAME = "node";
35
36 public static boolean isSingletonVariableName(String name) {
37 return name != null && name.startsWith(SINGLETON_VARIABLE_PREFIX);
38 }
39
40 public static boolean isSingletonVariable(Variable variable) {
41 return variable.eContainingFeature() == ProblemPackage.Literals.ARGUMENT__SINGLETON_VARIABLE;
42 }
43
44 public static boolean isEnumLiteral(Node node) {
45 return node.eContainingFeature() == ProblemPackage.Literals.ENUM_DECLARATION__LITERALS;
46 }
47
48 public static boolean isEnumNode(Node node) {
49 String name = node.getName();
50 boolean isNameQuoted = name != null && name.startsWith(ENUM_NODE_NAME_QUOTE)
51 && name.endsWith(ENUM_NODE_NAME_QUOTE);
52 return isNameQuoted || isEnumLiteral(node);
53 }
54
55 public static boolean isNewNode(Node node) {
56 return node.eContainingFeature() == ProblemPackage.Literals.CLASS_DECLARATION__NEW_NODE;
57 }
58
59 public static Optional<Problem> getBuiltInLibrary(EObject context) {
60 return Optional.ofNullable(context.eResource()).map(Resource::getResourceSet)
61 .map(resourceSet -> resourceSet.getResource(ProblemGlobalScopeProvider.BULTIN_LIBRARY_URI, true))
62 .map(Resource::getContents).filter(contents -> !contents.isEmpty()).map(contents -> contents.get(0))
63 .filter(Problem.class::isInstance).map(Problem.class::cast);
64 }
65
66 public static Optional<ClassDeclaration> getNodeClassDeclaration(EObject context) {
67 return getBuiltInLibrary(context).flatMap(problem -> problem.getStatements().stream()
68 .filter(ClassDeclaration.class::isInstance).map(ClassDeclaration.class::cast)
69 .filter(declaration -> NODE_CLASS_NAME.equals(declaration.getName())).findFirst());
70 }
71
72 public static Collection<ClassDeclaration> getSuperclassesAndSelf(ClassDeclaration classDeclaration) {
73 Set<ClassDeclaration> found = new HashSet<>();
74 getNodeClassDeclaration(classDeclaration).ifPresent(found::add);
75 Deque<ClassDeclaration> queue = new ArrayDeque<>();
76 queue.addLast(classDeclaration);
77 while (!queue.isEmpty()) {
78 ClassDeclaration current = queue.removeFirst();
79 if (!found.contains(current)) {
80 found.add(current);
81 for (Relation superType : current.getSuperTypes()) {
82 if (superType instanceof ClassDeclaration) {
83 queue.addLast((ClassDeclaration) superType);
84 }
85 }
86 }
87 }
88 return found;
89 }
90
91 public static Collection<ReferenceDeclaration> getAllReferenceDeclarations(ClassDeclaration classDeclaration) {
92 ImmutableList.Builder<ReferenceDeclaration> builder = ImmutableList.builder();
93 for (ClassDeclaration superclass : getSuperclassesAndSelf(classDeclaration)) {
94 builder.addAll(superclass.getReferenceDeclarations());
95 }
96 return builder.build();
97 }
98}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/conversion/ProblemValueConverterService.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/conversion/ProblemValueConverterService.java
deleted file mode 100644
index 4f5fd069..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/conversion/ProblemValueConverterService.java
+++ /dev/null
@@ -1,17 +0,0 @@
1package org.eclipse.viatra.solver.language.conversion;
2
3import org.eclipse.xtext.common.services.DefaultTerminalConverters;
4import org.eclipse.xtext.conversion.IValueConverter;
5import org.eclipse.xtext.conversion.ValueConverter;
6
7import com.google.inject.Inject;
8
9public class ProblemValueConverterService extends DefaultTerminalConverters {
10 @Inject
11 private UpperBoundValueConverter upperBoundValueConverter;
12
13 @ValueConverter(rule = "UpperBound")
14 public IValueConverter<Integer> UpperBound() {
15 return upperBoundValueConverter;
16 }
17}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/conversion/UpperBoundValueConverter.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/conversion/UpperBoundValueConverter.java
deleted file mode 100644
index 3111b69b..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/conversion/UpperBoundValueConverter.java
+++ /dev/null
@@ -1,35 +0,0 @@
1package org.eclipse.viatra.solver.language.conversion;
2
3import org.eclipse.xtext.conversion.ValueConverterException;
4import org.eclipse.xtext.conversion.impl.AbstractValueConverter;
5import org.eclipse.xtext.conversion.impl.INTValueConverter;
6import org.eclipse.xtext.nodemodel.INode;
7
8import com.google.inject.Inject;
9import com.google.inject.Singleton;
10
11@Singleton
12public class UpperBoundValueConverter extends AbstractValueConverter<Integer> {
13 public static final String INFINITY = "*";
14
15 @Inject
16 private INTValueConverter intValueConverter;
17
18 @Override
19 public Integer toValue(String string, INode node) throws ValueConverterException {
20 if (INFINITY.equals(string)) {
21 return -1;
22 } else {
23 return intValueConverter.toValue(string, node);
24 }
25 }
26
27 @Override
28 public String toString(Integer value) throws ValueConverterException {
29 if (value < 0) {
30 return INFINITY;
31 } else {
32 return intValueConverter.toString(value);
33 }
34 }
35}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/generator/ProblemGenerator.xtend b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/generator/ProblemGenerator.xtend
deleted file mode 100644
index 0930f244..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/generator/ProblemGenerator.xtend
+++ /dev/null
@@ -1,25 +0,0 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language.generator
5
6import org.eclipse.emf.ecore.resource.Resource
7import org.eclipse.xtext.generator.AbstractGenerator
8import org.eclipse.xtext.generator.IFileSystemAccess2
9import org.eclipse.xtext.generator.IGeneratorContext
10
11/**
12 * Generates code from your model files on save.
13 *
14 * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation
15 */
16class ProblemGenerator extends AbstractGenerator {
17
18 override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) {
19// fsa.generateFile('greetings.txt', 'People to greet: ' +
20// resource.allContents
21// .filter(Greeting)
22// .map[name]
23// .join(', '))
24 }
25}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/naming/ProblemQualifiedNameConverter.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/naming/ProblemQualifiedNameConverter.java
deleted file mode 100644
index 3cee31f3..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/naming/ProblemQualifiedNameConverter.java
+++ /dev/null
@@ -1,15 +0,0 @@
1package org.eclipse.viatra.solver.language.naming;
2
3import org.eclipse.xtext.naming.IQualifiedNameConverter;
4
5import com.google.inject.Singleton;
6
7@Singleton
8public class ProblemQualifiedNameConverter extends IQualifiedNameConverter.DefaultImpl {
9 public static final String DELIMITER = ":";
10
11 @Override
12 public String getDelimiter() {
13 return DELIMITER;
14 }
15}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemDerivedStateComputer.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemDerivedStateComputer.java
deleted file mode 100644
index b885ce0e..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemDerivedStateComputer.java
+++ /dev/null
@@ -1,299 +0,0 @@
1package org.eclipse.viatra.solver.language.resource;
2
3import java.util.HashSet;
4import java.util.List;
5import java.util.Set;
6import java.util.function.Predicate;
7import java.util.regex.Pattern;
8
9import org.eclipse.emf.ecore.EObject;
10import org.eclipse.emf.ecore.EStructuralFeature;
11import org.eclipse.viatra.solver.language.ProblemUtil;
12import org.eclipse.viatra.solver.language.model.problem.Argument;
13import org.eclipse.viatra.solver.language.model.problem.Assertion;
14import org.eclipse.viatra.solver.language.model.problem.Atom;
15import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
16import org.eclipse.viatra.solver.language.model.problem.Conjunction;
17import org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier;
18import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
19import org.eclipse.viatra.solver.language.model.problem.Literal;
20import org.eclipse.viatra.solver.language.model.problem.NegativeLiteral;
21import org.eclipse.viatra.solver.language.model.problem.Node;
22import org.eclipse.viatra.solver.language.model.problem.Parameter;
23import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition;
24import org.eclipse.viatra.solver.language.model.problem.Problem;
25import org.eclipse.viatra.solver.language.model.problem.ProblemFactory;
26import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
27import org.eclipse.viatra.solver.language.model.problem.Statement;
28import org.eclipse.xtext.linking.impl.LinkingHelper;
29import org.eclipse.xtext.naming.IQualifiedNameConverter;
30import org.eclipse.xtext.naming.QualifiedName;
31import org.eclipse.xtext.nodemodel.INode;
32import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
33import org.eclipse.xtext.resource.DerivedStateAwareResource;
34import org.eclipse.xtext.resource.IDerivedStateComputer;
35import org.eclipse.xtext.scoping.IScope;
36import org.eclipse.xtext.scoping.IScopeProvider;
37import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
38
39import com.google.inject.Inject;
40import com.google.inject.Singleton;
41import com.google.inject.name.Named;
42
43@Singleton
44public class ProblemDerivedStateComputer implements IDerivedStateComputer {
45 public static final String NEW_NODE = "new";
46
47 private static final Pattern ID_REGEX = Pattern.compile("[_a-zA-Z][_0-9a-zA-Z]*");
48
49 private static final Pattern QUOTED_ID_REGEX = Pattern.compile("'(\\\\.|[^\\'])*'");
50
51 @Inject
52 private LinkingHelper linkingHelper;
53
54 @Inject
55 private IQualifiedNameConverter qualifiedNameConverter;
56
57 @Inject
58 @Named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)
59 private IScopeProvider scopeProvider;
60
61 @Override
62 public void installDerivedState(DerivedStateAwareResource resource, boolean preLinkingPhase) {
63 for (EObject object : resource.getContents()) {
64 if (object instanceof Problem) {
65 installDerivedProblemState((Problem) object, preLinkingPhase);
66 }
67 }
68 }
69
70 protected void installDerivedProblemState(Problem problem, boolean preLinkingPhase) {
71 installNewNodes(problem);
72 if (!preLinkingPhase) {
73 installDerivedNodes(problem);
74 for (Statement statement : problem.getStatements()) {
75 if (statement instanceof PredicateDefinition) {
76 PredicateDefinition definition = (PredicateDefinition) statement;
77 installDerivedPredicateDefinitionState(definition);
78 }
79 }
80 }
81 }
82
83 protected void installNewNodes(Problem problem) {
84 for (Statement statement : problem.getStatements()) {
85 if (statement instanceof ClassDeclaration) {
86 ClassDeclaration declaration = (ClassDeclaration) statement;
87 if (!declaration.isAbstract()) {
88 Node newNode = createNode(NEW_NODE);
89 declaration.setNewNode(newNode);
90 }
91 }
92 }
93 }
94
95 protected void installDerivedNodes(Problem problem) {
96 IScope nodeScope = scopeProvider.getScope(problem, ProblemPackage.Literals.ASSERTION__ARGUMENTS);
97 Set<String> nodeNames = new HashSet<>();
98 for (Statement statement : problem.getStatements()) {
99 if (statement instanceof Assertion) {
100 addNodeNames(nodeNames, nodeScope, statement, ProblemPackage.Literals.ASSERTION__ARGUMENTS,
101 ProblemDerivedStateComputer::validNodeName);
102 } else if (statement instanceof PredicateDefinition) {
103 PredicateDefinition predicateDefinition = (PredicateDefinition) statement;
104 for (Conjunction body : predicateDefinition.getBodies()) {
105 for (Literal literal : body.getLiterals()) {
106 Atom atom = null;
107 if (literal instanceof Atom) {
108 atom = (Atom) literal;
109 } else if (literal instanceof NegativeLiteral) {
110 NegativeLiteral negativeLiteral = (NegativeLiteral) literal;
111 atom = negativeLiteral.getAtom();
112 }
113 if (atom == null) {
114 continue;
115 }
116 for (Argument argument : atom.getArguments()) {
117 addNodeNames(nodeNames, nodeScope, argument,
118 ProblemPackage.Literals.ARGUMENT__VARIABLE_OR_NODE,
119 ProblemDerivedStateComputer::validQuotedId);
120 }
121 }
122 }
123 }
124 }
125 List<Node> grapNodes = problem.getNodes();
126 for (String nodeName : nodeNames) {
127 Node graphNode = createNode(nodeName);
128 grapNodes.add(graphNode);
129 }
130 }
131
132 private void addNodeNames(Set<String> nodeNames, IScope nodeScope, EObject eObject, EStructuralFeature feature,
133 Predicate<String> condition) {
134 List<INode> nodes = NodeModelUtils.findNodesForFeature(eObject, feature);
135 for (INode node : nodes) {
136 String nodeName = linkingHelper.getCrossRefNodeAsString(node, true);
137 if (!condition.test(nodeName)) {
138 continue;
139 }
140 QualifiedName qualifiedName = qualifiedNameConverter.toQualifiedName(nodeName);
141 if (!nodeNames.contains(nodeName) && nodeScope.getSingleElement(qualifiedName) == null) {
142 nodeNames.add(nodeName);
143 }
144 }
145 }
146
147 protected Node createNode(String name) {
148 Node node = ProblemFactory.eINSTANCE.createNode();
149 node.setName(name);
150 return node;
151 }
152
153 protected void installDerivedPredicateDefinitionState(PredicateDefinition definition) {
154 Set<String> parameterNames = new HashSet<>();
155 for (Parameter parameter : definition.getParameters()) {
156 String name = parameter.getName();
157 if (name != null) {
158 parameterNames.add(name);
159 }
160 }
161 for (Conjunction body : definition.getBodies()) {
162 installDeriveConjunctionState(body, parameterNames);
163 }
164 }
165
166 protected void installDeriveConjunctionState(Conjunction conjunction, Set<String> knownVariables) {
167 Set<String> newVariables = new HashSet<>();
168 for (Literal literal : conjunction.getLiterals()) {
169 if (literal instanceof Atom) {
170 Atom atom = (Atom) literal;
171 createSigletonVariablesAndCollectVariables(atom, knownVariables, newVariables);
172 }
173 }
174 createVariables(conjunction, newVariables);
175 newVariables.addAll(knownVariables);
176 for (Literal literal : conjunction.getLiterals()) {
177 if (literal instanceof NegativeLiteral) {
178 NegativeLiteral negativeLiteral = (NegativeLiteral) literal;
179 installDeriveNegativeLiteralState(negativeLiteral, newVariables);
180 }
181 }
182 }
183
184 protected void installDeriveNegativeLiteralState(NegativeLiteral negativeLiteral, Set<String> knownVariables) {
185 Set<String> newVariables = new HashSet<>();
186 createSigletonVariablesAndCollectVariables(negativeLiteral.getAtom(), knownVariables, newVariables);
187 createVariables(negativeLiteral, newVariables);
188 }
189
190 protected void createSigletonVariablesAndCollectVariables(Atom atom, Set<String> knownVariables,
191 Set<String> newVariables) {
192 IScope scope = scopeProvider.getScope(atom, ProblemPackage.Literals.ARGUMENT__VARIABLE_OR_NODE);
193 List<INode> nodes = NodeModelUtils.findNodesForFeature(atom, ProblemPackage.Literals.ATOM__ARGUMENTS);
194 int nodesSize = nodes.size();
195 List<Argument> arguments = atom.getArguments();
196 int argumentsSize = arguments.size();
197 for (int i = 0; i < nodesSize; i++) {
198 INode node = nodes.get(i);
199 String variableName = linkingHelper.getCrossRefNodeAsString(node, true);
200 if (!validId(variableName)) {
201 continue;
202 }
203 QualifiedName qualifiedName = qualifiedNameConverter.toQualifiedName(variableName);
204 if (scope.getSingleElement(qualifiedName) != null) {
205 continue;
206 }
207 if (ProblemUtil.isSingletonVariableName(variableName)) {
208 if (i < argumentsSize) {
209 createSingletonVariable(arguments.get(i), variableName);
210 }
211 continue;
212 }
213 if (!knownVariables.contains(variableName)) {
214 newVariables.add(variableName);
215 }
216 }
217 }
218
219 protected void createVariables(ExistentialQuantifier quantifier, Set<String> newVariables) {
220 for (String variableName : newVariables) {
221 createVariable(quantifier, variableName);
222 }
223 }
224
225 protected void createVariable(ExistentialQuantifier quantifier, String variableName) {
226 if (validId(variableName)) {
227 ImplicitVariable variable = createNamedVariable(variableName);
228 quantifier.getImplicitVariables().add(variable);
229 }
230 }
231
232 protected void createSingletonVariable(Argument argument, String variableName) {
233 if (validId(variableName)) {
234 ImplicitVariable variable = createNamedVariable(variableName);
235 argument.setSingletonVariable(variable);
236 }
237 }
238
239 protected ImplicitVariable createNamedVariable(String variableName) {
240 ImplicitVariable variable = ProblemFactory.eINSTANCE.createImplicitVariable();
241 variable.setName(variableName);
242 return variable;
243 }
244
245 @Override
246 public void discardDerivedState(DerivedStateAwareResource resource) {
247 for (EObject object : resource.getContents()) {
248 if (object instanceof Problem) {
249 discardDerivedProblemState((Problem) object);
250 }
251 }
252 }
253
254 protected void discardDerivedProblemState(Problem problem) {
255 problem.getNodes().clear();
256 for (Statement statement : problem.getStatements()) {
257 if (statement instanceof ClassDeclaration) {
258 ClassDeclaration classDeclaration = (ClassDeclaration) statement;
259 classDeclaration.setNewNode(null);
260 } else if (statement instanceof PredicateDefinition) {
261 PredicateDefinition definition = (PredicateDefinition) statement;
262 for (Conjunction body : definition.getBodies()) {
263 body.getImplicitVariables().clear();
264 for (Literal literal : body.getLiterals()) {
265 if (literal instanceof Atom) {
266 discardDerivedAtomState((Atom) literal);
267 }
268 if (literal instanceof NegativeLiteral) {
269 NegativeLiteral negativeLiteral = (NegativeLiteral) literal;
270 negativeLiteral.getImplicitVariables().clear();
271 discardDerivedAtomState(negativeLiteral.getAtom());
272 }
273 }
274 }
275 }
276 }
277 }
278
279 protected void discardDerivedAtomState(Atom atom) {
280 if (atom == null) {
281 return;
282 }
283 for (Argument argument : atom.getArguments()) {
284 argument.setSingletonVariable(null);
285 }
286 }
287
288 protected static boolean validId(String name) {
289 return name != null && ID_REGEX.matcher(name).matches();
290 }
291
292 protected static boolean validQuotedId(String name) {
293 return name != null && QUOTED_ID_REGEX.matcher(name).matches();
294 }
295
296 protected static boolean validNodeName(String name) {
297 return validId(name) || validQuotedId(name);
298 }
299}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemLocationInFileProvider.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemLocationInFileProvider.java
deleted file mode 100644
index 94dbdfee..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemLocationInFileProvider.java
+++ /dev/null
@@ -1,32 +0,0 @@
1package org.eclipse.viatra.solver.language.resource;
2
3import org.eclipse.emf.ecore.EObject;
4import org.eclipse.viatra.solver.language.ProblemUtil;
5import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
6import org.eclipse.viatra.solver.language.model.problem.Node;
7import org.eclipse.xtext.resource.DefaultLocationInFileProvider;
8import org.eclipse.xtext.util.ITextRegion;
9
10public class ProblemLocationInFileProvider extends DefaultLocationInFileProvider {
11 @Override
12 protected ITextRegion doGetTextRegion(EObject obj, RegionDescription query) {
13 if (obj instanceof Node) {
14 return getNodeTextRegion((Node) obj, query);
15 }
16 if (obj instanceof ImplicitVariable) {
17 return ITextRegion.EMPTY_REGION;
18 }
19 return super.doGetTextRegion(obj, query);
20 }
21
22 protected ITextRegion getNodeTextRegion(Node node, RegionDescription query) {
23 if (ProblemUtil.isEnumLiteral(node)) {
24 return super.doGetTextRegion(node, query);
25 }
26 if (ProblemUtil.isNewNode(node)) {
27 EObject container = node.eContainer();
28 return doGetTextRegion(container, query);
29 }
30 return ITextRegion.EMPTY_REGION;
31 }
32}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemResourceDescriptionStrategy.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemResourceDescriptionStrategy.java
deleted file mode 100644
index edb25a1c..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemResourceDescriptionStrategy.java
+++ /dev/null
@@ -1,89 +0,0 @@
1package org.eclipse.viatra.solver.language.resource;
2
3import org.eclipse.emf.ecore.EObject;
4import org.eclipse.viatra.solver.language.ProblemUtil;
5import org.eclipse.viatra.solver.language.model.problem.NamedElement;
6import org.eclipse.viatra.solver.language.model.problem.Node;
7import org.eclipse.viatra.solver.language.model.problem.Problem;
8import org.eclipse.viatra.solver.language.model.problem.Variable;
9import org.eclipse.xtext.EcoreUtil2;
10import org.eclipse.xtext.naming.IQualifiedNameConverter;
11import org.eclipse.xtext.naming.QualifiedName;
12import org.eclipse.xtext.resource.EObjectDescription;
13import org.eclipse.xtext.resource.IEObjectDescription;
14import org.eclipse.xtext.resource.impl.DefaultResourceDescriptionStrategy;
15import org.eclipse.xtext.util.IAcceptor;
16
17import com.google.inject.Inject;
18import com.google.inject.Singleton;
19
20@Singleton
21public class ProblemResourceDescriptionStrategy extends DefaultResourceDescriptionStrategy {
22 @Inject
23 private IQualifiedNameConverter qualifiedNameConverter;
24
25 @Override
26 public boolean createEObjectDescriptions(EObject eObject, IAcceptor<IEObjectDescription> acceptor) {
27 if (eObject instanceof Variable) {
28 return false;
29 }
30 if (eObject instanceof NamedElement) {
31 NamedElement namedElement = (NamedElement) eObject;
32 String name = namedElement.getName();
33 if (name == null || name.isEmpty()) {
34 return true;
35 }
36 Problem problem = EcoreUtil2.getContainerOfType(namedElement, Problem.class);
37 QualifiedName problemQualifiedName = null;
38 if (problem != null) {
39 String problemName = problem.getName();
40 if (problemName != null && !problemName.isEmpty()) {
41 problemQualifiedName = qualifiedNameConverter.toQualifiedName(problemName);
42 }
43 }
44 QualifiedName qualifiedName = qualifiedNameConverter.toQualifiedName(namedElement.getName());
45 boolean nameExported;
46 if (shouldExportSimpleName(namedElement)) {
47 acceptEObjectDescription(namedElement, problemQualifiedName, qualifiedName, acceptor);
48 nameExported = true;
49 } else {
50 nameExported = false;
51 }
52 EObject parent = namedElement.eContainer();
53 while (parent != null && parent != problem) {
54 if (parent instanceof NamedElement) {
55 NamedElement namedParent = (NamedElement) parent;
56 String parentName = namedParent.getName();
57 if (parentName != null || !name.isEmpty()) {
58 QualifiedName parentQualifiedName = qualifiedNameConverter.toQualifiedName(parentName);
59 qualifiedName = parentQualifiedName.append(qualifiedName);
60 if (shouldExportSimpleName(parent)) {
61 acceptEObjectDescription(namedElement, problemQualifiedName, qualifiedName, acceptor);
62 nameExported = true;
63 } else {
64 nameExported = false;
65 }
66 }
67 }
68 parent = parent.eContainer();
69 }
70 if (!nameExported) {
71 acceptEObjectDescription(namedElement, problemQualifiedName, qualifiedName, acceptor);
72 }
73 }
74 return true;
75 }
76
77 protected boolean shouldExportSimpleName(EObject eObject) {
78 if (eObject instanceof Node) {
79 return !ProblemUtil.isNewNode((Node) eObject);
80 }
81 return true;
82 }
83
84 private void acceptEObjectDescription(EObject eObject, QualifiedName prefix, QualifiedName qualifiedName,
85 IAcceptor<IEObjectDescription> acceptor) {
86 QualifiedName qualifiedNameWithPrefix = prefix == null ? qualifiedName : prefix.append(qualifiedName);
87 acceptor.accept(EObjectDescription.create(qualifiedNameWithPrefix, eObject));
88 }
89}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemGlobalScopeProvider.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemGlobalScopeProvider.java
deleted file mode 100644
index 05da277a..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemGlobalScopeProvider.java
+++ /dev/null
@@ -1,25 +0,0 @@
1package org.eclipse.viatra.solver.language.scoping;
2
3import java.util.LinkedHashSet;
4
5import org.eclipse.emf.common.util.URI;
6import org.eclipse.emf.ecore.resource.Resource;
7import org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider;
8
9public class ProblemGlobalScopeProvider extends ImportUriGlobalScopeProvider {
10 public static final String BUILTIN_LIBRARY_NAME = "builtin";
11
12 public static final URI BULTIN_LIBRARY_URI = getLibraryUri(BUILTIN_LIBRARY_NAME);
13
14 @Override
15 protected LinkedHashSet<URI> getImportedUris(Resource resource) {
16 LinkedHashSet<URI> importedUris = new LinkedHashSet<>();
17 importedUris.add(BULTIN_LIBRARY_URI);
18 return importedUris;
19 }
20
21 private static URI getLibraryUri(String libraryName) {
22 return URI.createURI(ProblemGlobalScopeProvider.class.getClassLoader()
23 .getResource("org/eclipse/viatra/solver/language/" + libraryName + ".problem").toString());
24 }
25}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemLocalScopeProvider.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemLocalScopeProvider.java
deleted file mode 100644
index e832bb09..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemLocalScopeProvider.java
+++ /dev/null
@@ -1,40 +0,0 @@
1package org.eclipse.viatra.solver.language.scoping;
2
3import java.util.List;
4
5import org.eclipse.emf.ecore.EObject;
6import org.eclipse.emf.ecore.resource.Resource;
7import org.eclipse.xtext.naming.QualifiedName;
8import org.eclipse.xtext.resource.IResourceDescriptions;
9import org.eclipse.xtext.resource.IResourceDescriptionsProvider;
10import org.eclipse.xtext.resource.ISelectable;
11import org.eclipse.xtext.scoping.impl.ImportNormalizer;
12import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider;
13
14import com.google.inject.Inject;
15
16public class ProblemLocalScopeProvider extends ImportedNamespaceAwareLocalScopeProvider {
17 private static final QualifiedName BUILTIN_LIBRARY_QUALIFIED_NAME = QualifiedName
18 .create(ProblemGlobalScopeProvider.BUILTIN_LIBRARY_NAME);
19
20 @Inject
21 private IResourceDescriptionsProvider resourceDescriptionsProvider;
22
23 @Override
24 protected List<ImportNormalizer> getImplicitImports(boolean ignoreCase) {
25 return List.of(doCreateImportNormalizer(BUILTIN_LIBRARY_QUALIFIED_NAME, true, ignoreCase));
26 }
27
28 @Override
29 protected List<ImportNormalizer> getImportedNamespaceResolvers(EObject context, boolean ignoreCase) {
30 return List.of();
31 }
32
33 @Override
34 protected ISelectable internalGetAllDescriptions(Resource resource) {
35 // Force the use of ProblemResourceDescriptionStrategy to include all QualifiedNames of objects.
36 IResourceDescriptions resourceDescriptions = resourceDescriptionsProvider
37 .getResourceDescriptions(resource.getResourceSet());
38 return resourceDescriptions.getResourceDescription(resource.getURI());
39 }
40}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemScopeProvider.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemScopeProvider.java
deleted file mode 100644
index fc4034ae..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemScopeProvider.java
+++ /dev/null
@@ -1,83 +0,0 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language.scoping;
5
6import java.util.ArrayList;
7import java.util.Collection;
8import java.util.List;
9
10import org.eclipse.emf.ecore.EObject;
11import org.eclipse.emf.ecore.EReference;
12import org.eclipse.viatra.solver.language.ProblemUtil;
13import org.eclipse.viatra.solver.language.model.problem.Argument;
14import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
15import org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier;
16import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition;
17import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
18import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
19import org.eclipse.viatra.solver.language.model.problem.Relation;
20import org.eclipse.viatra.solver.language.model.problem.Variable;
21import org.eclipse.xtext.EcoreUtil2;
22import org.eclipse.xtext.scoping.IScope;
23import org.eclipse.xtext.scoping.Scopes;
24
25/**
26 * This class contains custom scoping description.
27 *
28 * See
29 * https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#scoping
30 * on how and when to use it.
31 */
32public class ProblemScopeProvider extends AbstractProblemScopeProvider {
33
34 @Override
35 public IScope getScope(EObject context, EReference reference) {
36 IScope scope = super.getScope(context, reference);
37 if (reference == ProblemPackage.Literals.ARGUMENT__VARIABLE_OR_NODE) {
38 return getVariableScope(context, scope);
39 } else if (reference == ProblemPackage.Literals.REFERENCE_DECLARATION__OPPOSITE) {
40 return getOppositeScope(context, scope);
41 }
42 return scope;
43 }
44
45 protected IScope getVariableScope(EObject context, IScope delegateScope) {
46 List<Variable> variables = new ArrayList<>();
47 EObject currentContext = context;
48 if (context instanceof Argument) {
49 Argument argument = (Argument) context;
50 Variable singletonVariable = argument.getSingletonVariable();
51 if (singletonVariable != null) {
52 variables.add(singletonVariable);
53 }
54 }
55 while (currentContext != null && !(currentContext instanceof PredicateDefinition)) {
56 if (currentContext instanceof ExistentialQuantifier) {
57 ExistentialQuantifier quantifier = (ExistentialQuantifier) currentContext;
58 variables.addAll(quantifier.getImplicitVariables());
59 }
60 currentContext = currentContext.eContainer();
61 }
62 if (currentContext instanceof PredicateDefinition) {
63 PredicateDefinition definition = (PredicateDefinition) currentContext;
64 variables.addAll(definition.getParameters());
65 }
66 return Scopes.scopeFor(variables, delegateScope);
67 }
68
69 protected IScope getOppositeScope(EObject context, IScope delegateScope) {
70 ReferenceDeclaration referenceDeclaration = EcoreUtil2.getContainerOfType(context, ReferenceDeclaration.class);
71 if (referenceDeclaration == null) {
72 return delegateScope;
73 }
74 Relation relation = referenceDeclaration.getReferenceType();
75 if (!(relation instanceof ClassDeclaration)) {
76 return delegateScope;
77 }
78 ClassDeclaration classDeclaration = (ClassDeclaration) relation;
79 Collection<ReferenceDeclaration> referenceDeclarations = ProblemUtil
80 .getAllReferenceDeclarations(classDeclaration);
81 return Scopes.scopeFor(referenceDeclarations, delegateScope);
82 }
83}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/validation/ProblemValidator.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/validation/ProblemValidator.java
deleted file mode 100644
index 2b17e222..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/validation/ProblemValidator.java
+++ /dev/null
@@ -1,25 +0,0 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language.validation;
5
6
7/**
8 * This class contains custom validation rules.
9 *
10 * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation
11 */
12public class ProblemValidator extends AbstractProblemValidator {
13
14// public static final String INVALID_NAME = "invalidName";
15//
16// @Check
17// public void checkGreetingStartsWithCapital(Greeting greeting) {
18// if (!Character.isUpperCase(greeting.getName().charAt(0))) {
19// warning("Name should start with a capital",
20// ProblemPackage.Literals.GREETING__NAME,
21// INVALID_NAME);
22// }
23// }
24
25}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/resources/org/eclipse/viatra/solver/language/builtin.problem b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/resources/org/eclipse/viatra/solver/language/builtin.problem
deleted file mode 100644
index 49b67d5a..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/resources/org/eclipse/viatra/solver/language/builtin.problem
+++ /dev/null
@@ -1,17 +0,0 @@
1problem builtin.
2
3abstract class node {
4 node[] equals opposite equals
5}
6
7pred exists(node node).
8
9enum bool {
10 true, false
11}
12
13class double.
14
15class int extends double.
16
17class string. \ No newline at end of file
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/AbstractProblemRuntimeModule.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/AbstractProblemRuntimeModule.java
deleted file mode 100644
index 642b465b..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/AbstractProblemRuntimeModule.java
+++ /dev/null
@@ -1,201 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
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.ProblemGenerator;
11import org.eclipse.viatra.solver.language.parser.antlr.ProblemAntlrTokenFileProvider;
12import org.eclipse.viatra.solver.language.parser.antlr.ProblemParser;
13import org.eclipse.viatra.solver.language.parser.antlr.internal.InternalProblemLexer;
14import org.eclipse.viatra.solver.language.scoping.ProblemScopeProvider;
15import org.eclipse.viatra.solver.language.serializer.ProblemSemanticSequencer;
16import org.eclipse.viatra.solver.language.serializer.ProblemSyntacticSequencer;
17import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess;
18import org.eclipse.viatra.solver.language.validation.ProblemConfigurableIssueCodesProvider;
19import org.eclipse.viatra.solver.language.validation.ProblemValidator;
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 ProblemRuntimeModule}.
57 */
58@SuppressWarnings("all")
59public abstract class AbstractProblemRuntimeModule 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/Problem.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.Problem");
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("problem");
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 ProblemGrammarAccess.class;
86 }
87
88 // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
89 public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
90 return ProblemSemanticSequencer.class;
91 }
92
93 // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
94 public Class<? extends ISyntacticSequencer> bindISyntacticSequencer() {
95 return ProblemSyntacticSequencer.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 ProblemParser.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 ProblemAntlrTokenFileProvider.class;
116 }
117
118 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
119 public Class<? extends Lexer> bindLexer() {
120 return InternalProblemLexer.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 InternalProblemLexer> provideInternalProblemLexer() {
130 return LexerProvider.create(InternalProblemLexer.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(InternalProblemLexer.class);
138 }
139
140 // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
141 @SingletonBinding(eager=true)
142 public Class<? extends ProblemValidator> bindProblemValidator() {
143 return ProblemValidator.class;
144 }
145
146 // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
147 public Class<? extends ConfigurableIssueCodesProvider> bindConfigurableIssueCodesProvider() {
148 return ProblemConfigurableIssueCodesProvider.class;
149 }
150
151 // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
152 public Class<? extends IScopeProvider> bindIScopeProvider() {
153 return ProblemScopeProvider.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 ProblemGenerator.class;
199 }
200
201}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/Problem.xtextbin b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/Problem.xtextbin
deleted file mode 100644
index cabf6537..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/Problem.xtextbin
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/ProblemStandaloneSetupGenerated.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/ProblemStandaloneSetupGenerated.java
deleted file mode 100644
index 0366f9cd..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/ProblemStandaloneSetupGenerated.java
+++ /dev/null
@@ -1,37 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
3 */
4package org.eclipse.viatra.solver.language;
5
6import com.google.inject.Guice;
7import com.google.inject.Injector;
8import org.eclipse.emf.ecore.resource.Resource;
9import org.eclipse.xtext.ISetup;
10import org.eclipse.xtext.common.TerminalsStandaloneSetup;
11import org.eclipse.xtext.resource.IResourceFactory;
12import org.eclipse.xtext.resource.IResourceServiceProvider;
13
14@SuppressWarnings("all")
15public class ProblemStandaloneSetupGenerated implements ISetup {
16
17 @Override
18 public Injector createInjectorAndDoEMFRegistration() {
19 TerminalsStandaloneSetup.doSetup();
20
21 Injector injector = createInjector();
22 register(injector);
23 return injector;
24 }
25
26 public Injector createInjector() {
27 return Guice.createInjector(new ProblemRuntimeModule());
28 }
29
30 public void register(Injector injector) {
31 IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class);
32 IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class);
33
34 Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("problem", resourceFactory);
35 IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("problem", serviceProvider);
36 }
37}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemAntlrTokenFileProvider.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemAntlrTokenFileProvider.java
deleted file mode 100644
index b7ecf3f6..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemAntlrTokenFileProvider.java
+++ /dev/null
@@ -1,16 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
3 */
4package org.eclipse.viatra.solver.language.parser.antlr;
5
6import java.io.InputStream;
7import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
8
9public class ProblemAntlrTokenFileProvider 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/InternalProblem.tokens");
15 }
16}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemParser.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemParser.java
deleted file mode 100644
index 3af86cab..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/ProblemParser.java
+++ /dev/null
@@ -1,40 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
3 */
4package org.eclipse.viatra.solver.language.parser.antlr;
5
6import com.google.inject.Inject;
7import org.eclipse.viatra.solver.language.parser.antlr.internal.InternalProblemParser;
8import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess;
9import org.eclipse.xtext.parser.antlr.AbstractAntlrParser;
10import org.eclipse.xtext.parser.antlr.XtextTokenStream;
11
12public class ProblemParser extends AbstractAntlrParser {
13
14 @Inject
15 private ProblemGrammarAccess 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 InternalProblemParser createParser(XtextTokenStream stream) {
25 return new InternalProblemParser(stream, getGrammarAccess());
26 }
27
28 @Override
29 protected String getDefaultRuleName() {
30 return "Problem";
31 }
32
33 public ProblemGrammarAccess getGrammarAccess() {
34 return this.grammarAccess;
35 }
36
37 public void setGrammarAccess(ProblemGrammarAccess grammarAccess) {
38 this.grammarAccess = grammarAccess;
39 }
40}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.g b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.g
deleted file mode 100644
index 64db0417..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.g
+++ /dev/null
@@ -1,1909 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
3 */
4grammar InternalProblem;
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.emf.common.util.Enumerator;
27import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
28import org.eclipse.xtext.parser.antlr.XtextTokenStream;
29import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
30import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
31import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess;
32
33}
34
35@parser::members {
36
37 private ProblemGrammarAccess grammarAccess;
38
39 public InternalProblemParser(TokenStream input, ProblemGrammarAccess grammarAccess) {
40 this(input);
41 this.grammarAccess = grammarAccess;
42 registerRules(grammarAccess.getGrammar());
43 }
44
45 @Override
46 protected String getFirstRuleName() {
47 return "Problem";
48 }
49
50 @Override
51 protected ProblemGrammarAccess getGrammarAccess() {
52 return grammarAccess;
53 }
54
55}
56
57@rulecatch {
58 catch (RecognitionException re) {
59 recover(input,re);
60 appendSkippedTokens();
61 }
62}
63
64// Entry rule entryRuleProblem
65entryRuleProblem returns [EObject current=null]:
66 { newCompositeNode(grammarAccess.getProblemRule()); }
67 iv_ruleProblem=ruleProblem
68 { $current=$iv_ruleProblem.current; }
69 EOF;
70
71// Rule Problem
72ruleProblem returns [EObject current=null]
73@init {
74 enterRule();
75}
76@after {
77 leaveRule();
78}:
79 (
80 (
81 otherlv_0='problem'
82 {
83 newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0());
84 }
85 (
86 (
87 {
88 newCompositeNode(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0());
89 }
90 lv_name_1_0=ruleIdentifier
91 {
92 if ($current==null) {
93 $current = createModelElementForParent(grammarAccess.getProblemRule());
94 }
95 set(
96 $current,
97 "name",
98 lv_name_1_0,
99 "org.eclipse.viatra.solver.language.Problem.Identifier");
100 afterParserOrEnumRuleCall();
101 }
102 )
103 )
104 otherlv_2='.'
105 {
106 newLeafNode(otherlv_2, grammarAccess.getProblemAccess().getFullStopKeyword_0_2());
107 }
108 )?
109 (
110 (
111 {
112 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0());
113 }
114 lv_statements_3_0=ruleStatement
115 {
116 if ($current==null) {
117 $current = createModelElementForParent(grammarAccess.getProblemRule());
118 }
119 add(
120 $current,
121 "statements",
122 lv_statements_3_0,
123 "org.eclipse.viatra.solver.language.Problem.Statement");
124 afterParserOrEnumRuleCall();
125 }
126 )
127 )*
128 )
129;
130
131// Entry rule entryRuleStatement
132entryRuleStatement returns [EObject current=null]:
133 { newCompositeNode(grammarAccess.getStatementRule()); }
134 iv_ruleStatement=ruleStatement
135 { $current=$iv_ruleStatement.current; }
136 EOF;
137
138// Rule Statement
139ruleStatement returns [EObject current=null]
140@init {
141 enterRule();
142}
143@after {
144 leaveRule();
145}:
146 (
147 {
148 newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0());
149 }
150 this_ClassDeclaration_0=ruleClassDeclaration
151 {
152 $current = $this_ClassDeclaration_0.current;
153 afterParserOrEnumRuleCall();
154 }
155 |
156 {
157 newCompositeNode(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1());
158 }
159 this_EnumDeclaration_1=ruleEnumDeclaration
160 {
161 $current = $this_EnumDeclaration_1.current;
162 afterParserOrEnumRuleCall();
163 }
164 |
165 {
166 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2());
167 }
168 this_PredicateDefinition_2=rulePredicateDefinition
169 {
170 $current = $this_PredicateDefinition_2.current;
171 afterParserOrEnumRuleCall();
172 }
173 |
174 {
175 newCompositeNode(grammarAccess.getStatementAccess().getAssertionParserRuleCall_3());
176 }
177 this_Assertion_3=ruleAssertion
178 {
179 $current = $this_Assertion_3.current;
180 afterParserOrEnumRuleCall();
181 }
182 |
183 {
184 newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4());
185 }
186 this_ScopeDeclaration_4=ruleScopeDeclaration
187 {
188 $current = $this_ScopeDeclaration_4.current;
189 afterParserOrEnumRuleCall();
190 }
191 )
192;
193
194// Entry rule entryRuleClassDeclaration
195entryRuleClassDeclaration returns [EObject current=null]:
196 { newCompositeNode(grammarAccess.getClassDeclarationRule()); }
197 iv_ruleClassDeclaration=ruleClassDeclaration
198 { $current=$iv_ruleClassDeclaration.current; }
199 EOF;
200
201// Rule ClassDeclaration
202ruleClassDeclaration returns [EObject current=null]
203@init {
204 enterRule();
205}
206@after {
207 leaveRule();
208}:
209 (
210 (
211 (
212 lv_abstract_0_0='abstract'
213 {
214 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
215 }
216 {
217 if ($current==null) {
218 $current = createModelElement(grammarAccess.getClassDeclarationRule());
219 }
220 setWithLastConsumed($current, "abstract", lv_abstract_0_0 != null, "abstract");
221 }
222 )
223 )?
224 otherlv_1='class'
225 {
226 newLeafNode(otherlv_1, grammarAccess.getClassDeclarationAccess().getClassKeyword_1());
227 }
228 (
229 (
230 {
231 newCompositeNode(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0());
232 }
233 lv_name_2_0=ruleIdentifier
234 {
235 if ($current==null) {
236 $current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
237 }
238 set(
239 $current,
240 "name",
241 lv_name_2_0,
242 "org.eclipse.viatra.solver.language.Problem.Identifier");
243 afterParserOrEnumRuleCall();
244 }
245 )
246 )
247 (
248 otherlv_3='extends'
249 {
250 newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
251 }
252 (
253 (
254 {
255 if ($current==null) {
256 $current = createModelElement(grammarAccess.getClassDeclarationRule());
257 }
258 }
259 {
260 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0());
261 }
262 ruleQualifiedName
263 {
264 afterParserOrEnumRuleCall();
265 }
266 )
267 )
268 (
269 otherlv_5=','
270 {
271 newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
272 }
273 (
274 (
275 {
276 if ($current==null) {
277 $current = createModelElement(grammarAccess.getClassDeclarationRule());
278 }
279 }
280 {
281 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0());
282 }
283 ruleQualifiedName
284 {
285 afterParserOrEnumRuleCall();
286 }
287 )
288 )
289 )*
290 )?
291 (
292 (
293 otherlv_7='{'
294 {
295 newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
296 }
297 (
298 (
299 (
300 {
301 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0());
302 }
303 lv_referenceDeclarations_8_0=ruleReferenceDeclaration
304 {
305 if ($current==null) {
306 $current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
307 }
308 add(
309 $current,
310 "referenceDeclarations",
311 lv_referenceDeclarations_8_0,
312 "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration");
313 afterParserOrEnumRuleCall();
314 }
315 )
316 )
317 (
318 otherlv_9=';'
319 {
320 newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1());
321 }
322 )?
323 )*
324 otherlv_10='}'
325 {
326 newLeafNode(otherlv_10, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2());
327 }
328 )
329 |
330 otherlv_11='.'
331 {
332 newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1());
333 }
334 )
335 )
336;
337
338// Entry rule entryRuleEnumDeclaration
339entryRuleEnumDeclaration returns [EObject current=null]:
340 { newCompositeNode(grammarAccess.getEnumDeclarationRule()); }
341 iv_ruleEnumDeclaration=ruleEnumDeclaration
342 { $current=$iv_ruleEnumDeclaration.current; }
343 EOF;
344
345// Rule EnumDeclaration
346ruleEnumDeclaration returns [EObject current=null]
347@init {
348 enterRule();
349}
350@after {
351 leaveRule();
352}:
353 (
354 otherlv_0='enum'
355 {
356 newLeafNode(otherlv_0, grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0());
357 }
358 (
359 (
360 {
361 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getNameIdentifierParserRuleCall_1_0());
362 }
363 lv_name_1_0=ruleIdentifier
364 {
365 if ($current==null) {
366 $current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
367 }
368 set(
369 $current,
370 "name",
371 lv_name_1_0,
372 "org.eclipse.viatra.solver.language.Problem.Identifier");
373 afterParserOrEnumRuleCall();
374 }
375 )
376 )
377 (
378 (
379 otherlv_2='{'
380 {
381 newLeafNode(otherlv_2, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0());
382 }
383 (
384 (
385 (
386 {
387 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0());
388 }
389 lv_literals_3_0=ruleEnumLiteral
390 {
391 if ($current==null) {
392 $current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
393 }
394 add(
395 $current,
396 "literals",
397 lv_literals_3_0,
398 "org.eclipse.viatra.solver.language.Problem.EnumLiteral");
399 afterParserOrEnumRuleCall();
400 }
401 )
402 )
403 (
404 otherlv_4=','
405 {
406 newLeafNode(otherlv_4, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0());
407 }
408 (
409 (
410 {
411 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0());
412 }
413 lv_literals_5_0=ruleEnumLiteral
414 {
415 if ($current==null) {
416 $current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
417 }
418 add(
419 $current,
420 "literals",
421 lv_literals_5_0,
422 "org.eclipse.viatra.solver.language.Problem.EnumLiteral");
423 afterParserOrEnumRuleCall();
424 }
425 )
426 )
427 )*
428 (
429 otherlv_6=','
430 {
431 newLeafNode(otherlv_6, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0());
432 }
433 |
434 otherlv_7=';'
435 {
436 newLeafNode(otherlv_7, grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1());
437 }
438 )?
439 )?
440 otherlv_8='}'
441 {
442 newLeafNode(otherlv_8, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2());
443 }
444 )
445 |
446 otherlv_9='.'
447 {
448 newLeafNode(otherlv_9, grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1());
449 }
450 )
451 )
452;
453
454// Entry rule entryRuleEnumLiteral
455entryRuleEnumLiteral returns [EObject current=null]:
456 { newCompositeNode(grammarAccess.getEnumLiteralRule()); }
457 iv_ruleEnumLiteral=ruleEnumLiteral
458 { $current=$iv_ruleEnumLiteral.current; }
459 EOF;
460
461// Rule EnumLiteral
462ruleEnumLiteral returns [EObject current=null]
463@init {
464 enterRule();
465}
466@after {
467 leaveRule();
468}:
469 (
470 (
471 {
472 newCompositeNode(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0());
473 }
474 lv_name_0_0=ruleQuotedOrUnquotedId
475 {
476 if ($current==null) {
477 $current = createModelElementForParent(grammarAccess.getEnumLiteralRule());
478 }
479 set(
480 $current,
481 "name",
482 lv_name_0_0,
483 "org.eclipse.viatra.solver.language.Problem.QuotedOrUnquotedId");
484 afterParserOrEnumRuleCall();
485 }
486 )
487 )
488;
489
490// Entry rule entryRuleReferenceDeclaration
491entryRuleReferenceDeclaration returns [EObject current=null]:
492 { newCompositeNode(grammarAccess.getReferenceDeclarationRule()); }
493 iv_ruleReferenceDeclaration=ruleReferenceDeclaration
494 { $current=$iv_ruleReferenceDeclaration.current; }
495 EOF;
496
497// Rule ReferenceDeclaration
498ruleReferenceDeclaration returns [EObject current=null]
499@init {
500 enterRule();
501}
502@after {
503 leaveRule();
504}:
505 (
506 (
507 (
508 (
509 lv_containment_0_0='contains'
510 {
511 newLeafNode(lv_containment_0_0, grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
512 }
513 {
514 if ($current==null) {
515 $current = createModelElement(grammarAccess.getReferenceDeclarationRule());
516 }
517 setWithLastConsumed($current, "containment", lv_containment_0_0 != null, "contains");
518 }
519 )
520 )
521 |
522 otherlv_1='refers'
523 {
524 newLeafNode(otherlv_1, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
525 }
526 )?
527 (
528 (
529 {
530 if ($current==null) {
531 $current = createModelElement(grammarAccess.getReferenceDeclarationRule());
532 }
533 }
534 {
535 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0());
536 }
537 ruleQualifiedName
538 {
539 afterParserOrEnumRuleCall();
540 }
541 )
542 )
543 (
544 otherlv_3='['
545 {
546 newLeafNode(otherlv_3, grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0());
547 }
548 (
549 (
550 {
551 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0());
552 }
553 lv_multiplicity_4_0=ruleMultiplicity
554 {
555 if ($current==null) {
556 $current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule());
557 }
558 set(
559 $current,
560 "multiplicity",
561 lv_multiplicity_4_0,
562 "org.eclipse.viatra.solver.language.Problem.Multiplicity");
563 afterParserOrEnumRuleCall();
564 }
565 )
566 )
567 otherlv_5=']'
568 {
569 newLeafNode(otherlv_5, grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2());
570 }
571 )?
572 (
573 (
574 {
575 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0());
576 }
577 lv_name_6_0=ruleIdentifier
578 {
579 if ($current==null) {
580 $current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule());
581 }
582 set(
583 $current,
584 "name",
585 lv_name_6_0,
586 "org.eclipse.viatra.solver.language.Problem.Identifier");
587 afterParserOrEnumRuleCall();
588 }
589 )
590 )
591 (
592 otherlv_7='opposite'
593 {
594 newLeafNode(otherlv_7, grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0());
595 }
596 (
597 (
598 {
599 if ($current==null) {
600 $current = createModelElement(grammarAccess.getReferenceDeclarationRule());
601 }
602 }
603 {
604 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0());
605 }
606 ruleQualifiedName
607 {
608 afterParserOrEnumRuleCall();
609 }
610 )
611 )
612 )?
613 )
614;
615
616// Entry rule entryRulePredicateDefinition
617entryRulePredicateDefinition returns [EObject current=null]:
618 { newCompositeNode(grammarAccess.getPredicateDefinitionRule()); }
619 iv_rulePredicateDefinition=rulePredicateDefinition
620 { $current=$iv_rulePredicateDefinition.current; }
621 EOF;
622
623// Rule PredicateDefinition
624rulePredicateDefinition returns [EObject current=null]
625@init {
626 enterRule();
627}
628@after {
629 leaveRule();
630}:
631 (
632 (
633 (
634 (
635 (
636 lv_error_0_0='error'
637 {
638 newLeafNode(lv_error_0_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
639 }
640 {
641 if ($current==null) {
642 $current = createModelElement(grammarAccess.getPredicateDefinitionRule());
643 }
644 setWithLastConsumed($current, "error", lv_error_0_0 != null, "error");
645 }
646 )
647 )
648 (
649 otherlv_1='pred'
650 {
651 newLeafNode(otherlv_1, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1());
652 }
653 )?
654 )
655 |
656 otherlv_2='pred'
657 {
658 newLeafNode(otherlv_2, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1());
659 }
660 )
661 (
662 (
663 {
664 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0());
665 }
666 lv_name_3_0=ruleIdentifier
667 {
668 if ($current==null) {
669 $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
670 }
671 set(
672 $current,
673 "name",
674 lv_name_3_0,
675 "org.eclipse.viatra.solver.language.Problem.Identifier");
676 afterParserOrEnumRuleCall();
677 }
678 )
679 )
680 otherlv_4='('
681 {
682 newLeafNode(otherlv_4, grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2());
683 }
684 (
685 (
686 (
687 {
688 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0());
689 }
690 lv_parameters_5_0=ruleParameter
691 {
692 if ($current==null) {
693 $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
694 }
695 add(
696 $current,
697 "parameters",
698 lv_parameters_5_0,
699 "org.eclipse.viatra.solver.language.Problem.Parameter");
700 afterParserOrEnumRuleCall();
701 }
702 )
703 )
704 (
705 otherlv_6=','
706 {
707 newLeafNode(otherlv_6, grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0());
708 }
709 (
710 (
711 {
712 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0());
713 }
714 lv_parameters_7_0=ruleParameter
715 {
716 if ($current==null) {
717 $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
718 }
719 add(
720 $current,
721 "parameters",
722 lv_parameters_7_0,
723 "org.eclipse.viatra.solver.language.Problem.Parameter");
724 afterParserOrEnumRuleCall();
725 }
726 )
727 )
728 )*
729 )?
730 otherlv_8=')'
731 {
732 newLeafNode(otherlv_8, grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4());
733 }
734 (
735 otherlv_9=':-'
736 {
737 newLeafNode(otherlv_9, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0());
738 }
739 (
740 (
741 {
742 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0());
743 }
744 lv_bodies_10_0=ruleConjunction
745 {
746 if ($current==null) {
747 $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
748 }
749 add(
750 $current,
751 "bodies",
752 lv_bodies_10_0,
753 "org.eclipse.viatra.solver.language.Problem.Conjunction");
754 afterParserOrEnumRuleCall();
755 }
756 )
757 )
758 (
759 otherlv_11=';'
760 {
761 newLeafNode(otherlv_11, grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0());
762 }
763 (
764 (
765 {
766 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0());
767 }
768 lv_bodies_12_0=ruleConjunction
769 {
770 if ($current==null) {
771 $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
772 }
773 add(
774 $current,
775 "bodies",
776 lv_bodies_12_0,
777 "org.eclipse.viatra.solver.language.Problem.Conjunction");
778 afterParserOrEnumRuleCall();
779 }
780 )
781 )
782 )*
783 )?
784 otherlv_13='.'
785 {
786 newLeafNode(otherlv_13, grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6());
787 }
788 )
789;
790
791// Entry rule entryRuleParameter
792entryRuleParameter returns [EObject current=null]:
793 { newCompositeNode(grammarAccess.getParameterRule()); }
794 iv_ruleParameter=ruleParameter
795 { $current=$iv_ruleParameter.current; }
796 EOF;
797
798// Rule Parameter
799ruleParameter returns [EObject current=null]
800@init {
801 enterRule();
802}
803@after {
804 leaveRule();
805}:
806 (
807 (
808 (
809 {
810 if ($current==null) {
811 $current = createModelElement(grammarAccess.getParameterRule());
812 }
813 }
814 {
815 newCompositeNode(grammarAccess.getParameterAccess().getParameterTypeRelationCrossReference_0_0());
816 }
817 ruleQualifiedName
818 {
819 afterParserOrEnumRuleCall();
820 }
821 )
822 )?
823 (
824 (
825 {
826 newCompositeNode(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0());
827 }
828 lv_name_1_0=ruleIdentifier
829 {
830 if ($current==null) {
831 $current = createModelElementForParent(grammarAccess.getParameterRule());
832 }
833 set(
834 $current,
835 "name",
836 lv_name_1_0,
837 "org.eclipse.viatra.solver.language.Problem.Identifier");
838 afterParserOrEnumRuleCall();
839 }
840 )
841 )
842 )
843;
844
845// Entry rule entryRuleConjunction
846entryRuleConjunction returns [EObject current=null]:
847 { newCompositeNode(grammarAccess.getConjunctionRule()); }
848 iv_ruleConjunction=ruleConjunction
849 { $current=$iv_ruleConjunction.current; }
850 EOF;
851
852// Rule Conjunction
853ruleConjunction returns [EObject current=null]
854@init {
855 enterRule();
856}
857@after {
858 leaveRule();
859}:
860 (
861 (
862 (
863 {
864 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0());
865 }
866 lv_literals_0_0=ruleLiteral
867 {
868 if ($current==null) {
869 $current = createModelElementForParent(grammarAccess.getConjunctionRule());
870 }
871 add(
872 $current,
873 "literals",
874 lv_literals_0_0,
875 "org.eclipse.viatra.solver.language.Problem.Literal");
876 afterParserOrEnumRuleCall();
877 }
878 )
879 )
880 (
881 otherlv_1=','
882 {
883 newLeafNode(otherlv_1, grammarAccess.getConjunctionAccess().getCommaKeyword_1_0());
884 }
885 (
886 (
887 {
888 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0());
889 }
890 lv_literals_2_0=ruleLiteral
891 {
892 if ($current==null) {
893 $current = createModelElementForParent(grammarAccess.getConjunctionRule());
894 }
895 add(
896 $current,
897 "literals",
898 lv_literals_2_0,
899 "org.eclipse.viatra.solver.language.Problem.Literal");
900 afterParserOrEnumRuleCall();
901 }
902 )
903 )
904 )*
905 )
906;
907
908// Entry rule entryRuleLiteral
909entryRuleLiteral returns [EObject current=null]:
910 { newCompositeNode(grammarAccess.getLiteralRule()); }
911 iv_ruleLiteral=ruleLiteral
912 { $current=$iv_ruleLiteral.current; }
913 EOF;
914
915// Rule Literal
916ruleLiteral returns [EObject current=null]
917@init {
918 enterRule();
919}
920@after {
921 leaveRule();
922}:
923 (
924 {
925 newCompositeNode(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0());
926 }
927 this_Atom_0=ruleAtom
928 {
929 $current = $this_Atom_0.current;
930 afterParserOrEnumRuleCall();
931 }
932 |
933 {
934 newCompositeNode(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1());
935 }
936 this_NegativeLiteral_1=ruleNegativeLiteral
937 {
938 $current = $this_NegativeLiteral_1.current;
939 afterParserOrEnumRuleCall();
940 }
941 )
942;
943
944// Entry rule entryRuleNegativeLiteral
945entryRuleNegativeLiteral returns [EObject current=null]:
946 { newCompositeNode(grammarAccess.getNegativeLiteralRule()); }
947 iv_ruleNegativeLiteral=ruleNegativeLiteral
948 { $current=$iv_ruleNegativeLiteral.current; }
949 EOF;
950
951// Rule NegativeLiteral
952ruleNegativeLiteral returns [EObject current=null]
953@init {
954 enterRule();
955}
956@after {
957 leaveRule();
958}:
959 (
960 otherlv_0='!'
961 {
962 newLeafNode(otherlv_0, grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0());
963 }
964 (
965 (
966 {
967 newCompositeNode(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0());
968 }
969 lv_atom_1_0=ruleAtom
970 {
971 if ($current==null) {
972 $current = createModelElementForParent(grammarAccess.getNegativeLiteralRule());
973 }
974 set(
975 $current,
976 "atom",
977 lv_atom_1_0,
978 "org.eclipse.viatra.solver.language.Problem.Atom");
979 afterParserOrEnumRuleCall();
980 }
981 )
982 )
983 )
984;
985
986// Entry rule entryRuleAtom
987entryRuleAtom returns [EObject current=null]:
988 { newCompositeNode(grammarAccess.getAtomRule()); }
989 iv_ruleAtom=ruleAtom
990 { $current=$iv_ruleAtom.current; }
991 EOF;
992
993// Rule Atom
994ruleAtom returns [EObject current=null]
995@init {
996 enterRule();
997}
998@after {
999 leaveRule();
1000}:
1001 (
1002 (
1003 (
1004 {
1005 if ($current==null) {
1006 $current = createModelElement(grammarAccess.getAtomRule());
1007 }
1008 }
1009 {
1010 newCompositeNode(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0());
1011 }
1012 ruleQualifiedName
1013 {
1014 afterParserOrEnumRuleCall();
1015 }
1016 )
1017 )
1018 (
1019 (
1020 lv_transitiveClosure_1_0='+'
1021 {
1022 newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
1023 }
1024 {
1025 if ($current==null) {
1026 $current = createModelElement(grammarAccess.getAtomRule());
1027 }
1028 setWithLastConsumed($current, "transitiveClosure", lv_transitiveClosure_1_0 != null, "+");
1029 }
1030 )
1031 )?
1032 otherlv_2='('
1033 {
1034 newLeafNode(otherlv_2, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2());
1035 }
1036 (
1037 (
1038 (
1039 {
1040 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0());
1041 }
1042 lv_arguments_3_0=ruleArgument
1043 {
1044 if ($current==null) {
1045 $current = createModelElementForParent(grammarAccess.getAtomRule());
1046 }
1047 add(
1048 $current,
1049 "arguments",
1050 lv_arguments_3_0,
1051 "org.eclipse.viatra.solver.language.Problem.Argument");
1052 afterParserOrEnumRuleCall();
1053 }
1054 )
1055 )
1056 (
1057 otherlv_4=','
1058 {
1059 newLeafNode(otherlv_4, grammarAccess.getAtomAccess().getCommaKeyword_3_1_0());
1060 }
1061 (
1062 (
1063 {
1064 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0());
1065 }
1066 lv_arguments_5_0=ruleArgument
1067 {
1068 if ($current==null) {
1069 $current = createModelElementForParent(grammarAccess.getAtomRule());
1070 }
1071 add(
1072 $current,
1073 "arguments",
1074 lv_arguments_5_0,
1075 "org.eclipse.viatra.solver.language.Problem.Argument");
1076 afterParserOrEnumRuleCall();
1077 }
1078 )
1079 )
1080 )*
1081 )?
1082 otherlv_6=')'
1083 {
1084 newLeafNode(otherlv_6, grammarAccess.getAtomAccess().getRightParenthesisKeyword_4());
1085 }
1086 )
1087;
1088
1089// Entry rule entryRuleArgument
1090entryRuleArgument returns [EObject current=null]:
1091 { newCompositeNode(grammarAccess.getArgumentRule()); }
1092 iv_ruleArgument=ruleArgument
1093 { $current=$iv_ruleArgument.current; }
1094 EOF;
1095
1096// Rule Argument
1097ruleArgument returns [EObject current=null]
1098@init {
1099 enterRule();
1100}
1101@after {
1102 leaveRule();
1103}:
1104 (
1105 (
1106 {
1107 if ($current==null) {
1108 $current = createModelElement(grammarAccess.getArgumentRule());
1109 }
1110 }
1111 {
1112 newCompositeNode(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0());
1113 }
1114 ruleQualifiedName
1115 {
1116 afterParserOrEnumRuleCall();
1117 }
1118 )
1119 )
1120;
1121
1122// Entry rule entryRuleAssertion
1123entryRuleAssertion returns [EObject current=null]:
1124 { newCompositeNode(grammarAccess.getAssertionRule()); }
1125 iv_ruleAssertion=ruleAssertion
1126 { $current=$iv_ruleAssertion.current; }
1127 EOF;
1128
1129// Rule Assertion
1130ruleAssertion returns [EObject current=null]
1131@init {
1132 enterRule();
1133}
1134@after {
1135 leaveRule();
1136}:
1137 (
1138 (
1139 (
1140 (
1141 (
1142 {
1143 if ($current==null) {
1144 $current = createModelElement(grammarAccess.getAssertionRule());
1145 }
1146 }
1147 {
1148 newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0());
1149 }
1150 ruleQualifiedName
1151 {
1152 afterParserOrEnumRuleCall();
1153 }
1154 )
1155 )
1156 otherlv_1='('
1157 {
1158 newLeafNode(otherlv_1, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1());
1159 }
1160 (
1161 (
1162 (
1163 {
1164 if ($current==null) {
1165 $current = createModelElement(grammarAccess.getAssertionRule());
1166 }
1167 }
1168 {
1169 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0());
1170 }
1171 ruleQualifiedName
1172 {
1173 afterParserOrEnumRuleCall();
1174 }
1175 )
1176 )
1177 (
1178 otherlv_3=','
1179 {
1180 newLeafNode(otherlv_3, grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0());
1181 }
1182 (
1183 (
1184 {
1185 if ($current==null) {
1186 $current = createModelElement(grammarAccess.getAssertionRule());
1187 }
1188 }
1189 {
1190 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0());
1191 }
1192 ruleQualifiedName
1193 {
1194 afterParserOrEnumRuleCall();
1195 }
1196 )
1197 )
1198 )*
1199 )?
1200 otherlv_5=')'
1201 {
1202 newLeafNode(otherlv_5, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3());
1203 }
1204 otherlv_6=':'
1205 {
1206 newLeafNode(otherlv_6, grammarAccess.getAssertionAccess().getColonKeyword_0_0_4());
1207 }
1208 (
1209 (
1210 {
1211 newCompositeNode(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0());
1212 }
1213 lv_value_7_0=ruleLogicValue
1214 {
1215 if ($current==null) {
1216 $current = createModelElementForParent(grammarAccess.getAssertionRule());
1217 }
1218 set(
1219 $current,
1220 "value",
1221 lv_value_7_0,
1222 "org.eclipse.viatra.solver.language.Problem.LogicValue");
1223 afterParserOrEnumRuleCall();
1224 }
1225 )
1226 )
1227 )
1228 |
1229 (
1230 (
1231 (
1232 {
1233 newCompositeNode(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0());
1234 }
1235 lv_value_8_0=ruleShortLogicValue
1236 {
1237 if ($current==null) {
1238 $current = createModelElementForParent(grammarAccess.getAssertionRule());
1239 }
1240 set(
1241 $current,
1242 "value",
1243 lv_value_8_0,
1244 "org.eclipse.viatra.solver.language.Problem.ShortLogicValue");
1245 afterParserOrEnumRuleCall();
1246 }
1247 )
1248 )?
1249 (
1250 (
1251 {
1252 if ($current==null) {
1253 $current = createModelElement(grammarAccess.getAssertionRule());
1254 }
1255 }
1256 {
1257 newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0());
1258 }
1259 ruleQualifiedName
1260 {
1261 afterParserOrEnumRuleCall();
1262 }
1263 )
1264 )
1265 otherlv_10='('
1266 {
1267 newLeafNode(otherlv_10, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2());
1268 }
1269 (
1270 (
1271 (
1272 {
1273 if ($current==null) {
1274 $current = createModelElement(grammarAccess.getAssertionRule());
1275 }
1276 }
1277 {
1278 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0());
1279 }
1280 ruleQualifiedName
1281 {
1282 afterParserOrEnumRuleCall();
1283 }
1284 )
1285 )
1286 (
1287 otherlv_12=','
1288 {
1289 newLeafNode(otherlv_12, grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0());
1290 }
1291 (
1292 (
1293 {
1294 if ($current==null) {
1295 $current = createModelElement(grammarAccess.getAssertionRule());
1296 }
1297 }
1298 {
1299 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0());
1300 }
1301 ruleQualifiedName
1302 {
1303 afterParserOrEnumRuleCall();
1304 }
1305 )
1306 )
1307 )*
1308 )?
1309 otherlv_14=')'
1310 {
1311 newLeafNode(otherlv_14, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4());
1312 }
1313 )
1314 )
1315 otherlv_15='.'
1316 {
1317 newLeafNode(otherlv_15, grammarAccess.getAssertionAccess().getFullStopKeyword_1());
1318 }
1319 )
1320;
1321
1322// Entry rule entryRuleScopeDeclaration
1323entryRuleScopeDeclaration returns [EObject current=null]:
1324 { newCompositeNode(grammarAccess.getScopeDeclarationRule()); }
1325 iv_ruleScopeDeclaration=ruleScopeDeclaration
1326 { $current=$iv_ruleScopeDeclaration.current; }
1327 EOF;
1328
1329// Rule ScopeDeclaration
1330ruleScopeDeclaration returns [EObject current=null]
1331@init {
1332 enterRule();
1333}
1334@after {
1335 leaveRule();
1336}:
1337 (
1338 otherlv_0='scope'
1339 {
1340 newLeafNode(otherlv_0, grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0());
1341 }
1342 (
1343 (
1344 {
1345 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0());
1346 }
1347 lv_typeScopes_1_0=ruleTypeScope
1348 {
1349 if ($current==null) {
1350 $current = createModelElementForParent(grammarAccess.getScopeDeclarationRule());
1351 }
1352 add(
1353 $current,
1354 "typeScopes",
1355 lv_typeScopes_1_0,
1356 "org.eclipse.viatra.solver.language.Problem.TypeScope");
1357 afterParserOrEnumRuleCall();
1358 }
1359 )
1360 )
1361 (
1362 otherlv_2=','
1363 {
1364 newLeafNode(otherlv_2, grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0());
1365 }
1366 (
1367 (
1368 {
1369 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0());
1370 }
1371 lv_typeScopes_3_0=ruleTypeScope
1372 {
1373 if ($current==null) {
1374 $current = createModelElementForParent(grammarAccess.getScopeDeclarationRule());
1375 }
1376 add(
1377 $current,
1378 "typeScopes",
1379 lv_typeScopes_3_0,
1380 "org.eclipse.viatra.solver.language.Problem.TypeScope");
1381 afterParserOrEnumRuleCall();
1382 }
1383 )
1384 )
1385 )*
1386 otherlv_4='.'
1387 {
1388 newLeafNode(otherlv_4, grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3());
1389 }
1390 )
1391;
1392
1393// Entry rule entryRuleTypeScope
1394entryRuleTypeScope returns [EObject current=null]:
1395 { newCompositeNode(grammarAccess.getTypeScopeRule()); }
1396 iv_ruleTypeScope=ruleTypeScope
1397 { $current=$iv_ruleTypeScope.current; }
1398 EOF;
1399
1400// Rule TypeScope
1401ruleTypeScope returns [EObject current=null]
1402@init {
1403 enterRule();
1404}
1405@after {
1406 leaveRule();
1407}:
1408 (
1409 (
1410 (
1411 {
1412 if ($current==null) {
1413 $current = createModelElement(grammarAccess.getTypeScopeRule());
1414 }
1415 }
1416 otherlv_0=RULE_ID
1417 {
1418 newLeafNode(otherlv_0, grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0());
1419 }
1420 )
1421 )
1422 (
1423 (
1424 (
1425 lv_increment_1_0='+='
1426 {
1427 newLeafNode(lv_increment_1_0, grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
1428 }
1429 {
1430 if ($current==null) {
1431 $current = createModelElement(grammarAccess.getTypeScopeRule());
1432 }
1433 setWithLastConsumed($current, "increment", lv_increment_1_0 != null, "+=");
1434 }
1435 )
1436 )
1437 |
1438 otherlv_2='='
1439 {
1440 newLeafNode(otherlv_2, grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1());
1441 }
1442 )
1443 (
1444 (
1445 {
1446 newCompositeNode(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0());
1447 }
1448 lv_multiplicity_3_0=ruleDefiniteMultiplicity
1449 {
1450 if ($current==null) {
1451 $current = createModelElementForParent(grammarAccess.getTypeScopeRule());
1452 }
1453 set(
1454 $current,
1455 "multiplicity",
1456 lv_multiplicity_3_0,
1457 "org.eclipse.viatra.solver.language.Problem.DefiniteMultiplicity");
1458 afterParserOrEnumRuleCall();
1459 }
1460 )
1461 )
1462 )
1463;
1464
1465// Entry rule entryRuleMultiplicity
1466entryRuleMultiplicity returns [EObject current=null]:
1467 { newCompositeNode(grammarAccess.getMultiplicityRule()); }
1468 iv_ruleMultiplicity=ruleMultiplicity
1469 { $current=$iv_ruleMultiplicity.current; }
1470 EOF;
1471
1472// Rule Multiplicity
1473ruleMultiplicity returns [EObject current=null]
1474@init {
1475 enterRule();
1476}
1477@after {
1478 leaveRule();
1479}:
1480 (
1481 {
1482 newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0());
1483 }
1484 this_UnboundedMultiplicity_0=ruleUnboundedMultiplicity
1485 {
1486 $current = $this_UnboundedMultiplicity_0.current;
1487 afterParserOrEnumRuleCall();
1488 }
1489 |
1490 {
1491 newCompositeNode(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1());
1492 }
1493 this_DefiniteMultiplicity_1=ruleDefiniteMultiplicity
1494 {
1495 $current = $this_DefiniteMultiplicity_1.current;
1496 afterParserOrEnumRuleCall();
1497 }
1498 )
1499;
1500
1501// Entry rule entryRuleDefiniteMultiplicity
1502entryRuleDefiniteMultiplicity returns [EObject current=null]:
1503 { newCompositeNode(grammarAccess.getDefiniteMultiplicityRule()); }
1504 iv_ruleDefiniteMultiplicity=ruleDefiniteMultiplicity
1505 { $current=$iv_ruleDefiniteMultiplicity.current; }
1506 EOF;
1507
1508// Rule DefiniteMultiplicity
1509ruleDefiniteMultiplicity returns [EObject current=null]
1510@init {
1511 enterRule();
1512}
1513@after {
1514 leaveRule();
1515}:
1516 (
1517 {
1518 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0());
1519 }
1520 this_RangeMultiplicity_0=ruleRangeMultiplicity
1521 {
1522 $current = $this_RangeMultiplicity_0.current;
1523 afterParserOrEnumRuleCall();
1524 }
1525 |
1526 {
1527 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
1528 }
1529 this_ExactMultiplicity_1=ruleExactMultiplicity
1530 {
1531 $current = $this_ExactMultiplicity_1.current;
1532 afterParserOrEnumRuleCall();
1533 }
1534 )
1535;
1536
1537// Entry rule entryRuleUnboundedMultiplicity
1538entryRuleUnboundedMultiplicity returns [EObject current=null]:
1539 { newCompositeNode(grammarAccess.getUnboundedMultiplicityRule()); }
1540 iv_ruleUnboundedMultiplicity=ruleUnboundedMultiplicity
1541 { $current=$iv_ruleUnboundedMultiplicity.current; }
1542 EOF;
1543
1544// Rule UnboundedMultiplicity
1545ruleUnboundedMultiplicity returns [EObject current=null]
1546@init {
1547 enterRule();
1548}
1549@after {
1550 leaveRule();
1551}:
1552 (
1553 {
1554 $current = forceCreateModelElement(
1555 grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction(),
1556 $current);
1557 }
1558 )
1559;
1560
1561// Entry rule entryRuleRangeMultiplicity
1562entryRuleRangeMultiplicity returns [EObject current=null]:
1563 { newCompositeNode(grammarAccess.getRangeMultiplicityRule()); }
1564 iv_ruleRangeMultiplicity=ruleRangeMultiplicity
1565 { $current=$iv_ruleRangeMultiplicity.current; }
1566 EOF;
1567
1568// Rule RangeMultiplicity
1569ruleRangeMultiplicity returns [EObject current=null]
1570@init {
1571 enterRule();
1572}
1573@after {
1574 leaveRule();
1575}:
1576 (
1577 (
1578 (
1579 lv_lowerBound_0_0=RULE_INT
1580 {
1581 newLeafNode(lv_lowerBound_0_0, grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0());
1582 }
1583 {
1584 if ($current==null) {
1585 $current = createModelElement(grammarAccess.getRangeMultiplicityRule());
1586 }
1587 setWithLastConsumed(
1588 $current,
1589 "lowerBound",
1590 lv_lowerBound_0_0,
1591 "org.eclipse.xtext.common.Terminals.INT");
1592 }
1593 )
1594 )
1595 otherlv_1='..'
1596 {
1597 newLeafNode(otherlv_1, grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1());
1598 }
1599 (
1600 (
1601 {
1602 newCompositeNode(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0());
1603 }
1604 lv_upperBound_2_0=ruleUpperBound
1605 {
1606 if ($current==null) {
1607 $current = createModelElementForParent(grammarAccess.getRangeMultiplicityRule());
1608 }
1609 set(
1610 $current,
1611 "upperBound",
1612 lv_upperBound_2_0,
1613 "org.eclipse.viatra.solver.language.Problem.UpperBound");
1614 afterParserOrEnumRuleCall();
1615 }
1616 )
1617 )
1618 )
1619;
1620
1621// Entry rule entryRuleExactMultiplicity
1622entryRuleExactMultiplicity returns [EObject current=null]:
1623 { newCompositeNode(grammarAccess.getExactMultiplicityRule()); }
1624 iv_ruleExactMultiplicity=ruleExactMultiplicity
1625 { $current=$iv_ruleExactMultiplicity.current; }
1626 EOF;
1627
1628// Rule ExactMultiplicity
1629ruleExactMultiplicity returns [EObject current=null]
1630@init {
1631 enterRule();
1632}
1633@after {
1634 leaveRule();
1635}:
1636 (
1637 (
1638 lv_exactValue_0_0=RULE_INT
1639 {
1640 newLeafNode(lv_exactValue_0_0, grammarAccess.getExactMultiplicityAccess().getExactValueINTTerminalRuleCall_0());
1641 }
1642 {
1643 if ($current==null) {
1644 $current = createModelElement(grammarAccess.getExactMultiplicityRule());
1645 }
1646 setWithLastConsumed(
1647 $current,
1648 "exactValue",
1649 lv_exactValue_0_0,
1650 "org.eclipse.xtext.common.Terminals.INT");
1651 }
1652 )
1653 )
1654;
1655
1656// Entry rule entryRuleUpperBound
1657entryRuleUpperBound returns [String current=null]:
1658 { newCompositeNode(grammarAccess.getUpperBoundRule()); }
1659 iv_ruleUpperBound=ruleUpperBound
1660 { $current=$iv_ruleUpperBound.current.getText(); }
1661 EOF;
1662
1663// Rule UpperBound
1664ruleUpperBound returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
1665@init {
1666 enterRule();
1667}
1668@after {
1669 leaveRule();
1670}:
1671 (
1672 this_INT_0=RULE_INT
1673 {
1674 $current.merge(this_INT_0);
1675 }
1676 {
1677 newLeafNode(this_INT_0, grammarAccess.getUpperBoundAccess().getINTTerminalRuleCall_0());
1678 }
1679 |
1680 kw='*'
1681 {
1682 $current.merge(kw);
1683 newLeafNode(kw, grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1());
1684 }
1685 )
1686;
1687
1688// Entry rule entryRuleQuotedOrUnquotedId
1689entryRuleQuotedOrUnquotedId returns [String current=null]:
1690 { newCompositeNode(grammarAccess.getQuotedOrUnquotedIdRule()); }
1691 iv_ruleQuotedOrUnquotedId=ruleQuotedOrUnquotedId
1692 { $current=$iv_ruleQuotedOrUnquotedId.current.getText(); }
1693 EOF;
1694
1695// Rule QuotedOrUnquotedId
1696ruleQuotedOrUnquotedId returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
1697@init {
1698 enterRule();
1699}
1700@after {
1701 leaveRule();
1702}:
1703 (
1704 this_QUOTED_ID_0=RULE_QUOTED_ID
1705 {
1706 $current.merge(this_QUOTED_ID_0);
1707 }
1708 {
1709 newLeafNode(this_QUOTED_ID_0, grammarAccess.getQuotedOrUnquotedIdAccess().getQUOTED_IDTerminalRuleCall_0());
1710 }
1711 |
1712 {
1713 newCompositeNode(grammarAccess.getQuotedOrUnquotedIdAccess().getIdentifierParserRuleCall_1());
1714 }
1715 this_Identifier_1=ruleIdentifier
1716 {
1717 $current.merge(this_Identifier_1);
1718 }
1719 {
1720 afterParserOrEnumRuleCall();
1721 }
1722 )
1723;
1724
1725// Entry rule entryRuleQualifiedName
1726entryRuleQualifiedName returns [String current=null]:
1727 { newCompositeNode(grammarAccess.getQualifiedNameRule()); }
1728 iv_ruleQualifiedName=ruleQualifiedName
1729 { $current=$iv_ruleQualifiedName.current.getText(); }
1730 EOF;
1731
1732// Rule QualifiedName
1733ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
1734@init {
1735 enterRule();
1736}
1737@after {
1738 leaveRule();
1739}:
1740 (
1741 this_QUOTED_ID_0=RULE_QUOTED_ID
1742 {
1743 $current.merge(this_QUOTED_ID_0);
1744 }
1745 {
1746 newLeafNode(this_QUOTED_ID_0, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0());
1747 }
1748 |
1749 (
1750 {
1751 newCompositeNode(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_0());
1752 }
1753 this_Identifier_1=ruleIdentifier
1754 {
1755 $current.merge(this_Identifier_1);
1756 }
1757 {
1758 afterParserOrEnumRuleCall();
1759 }
1760 (
1761 kw=':'
1762 {
1763 $current.merge(kw);
1764 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0());
1765 }
1766 {
1767 newCompositeNode(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1());
1768 }
1769 this_Identifier_3=ruleIdentifier
1770 {
1771 $current.merge(this_Identifier_3);
1772 }
1773 {
1774 afterParserOrEnumRuleCall();
1775 }
1776 )*
1777 (
1778 kw=':'
1779 {
1780 $current.merge(kw);
1781 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0());
1782 }
1783 this_QUOTED_ID_5=RULE_QUOTED_ID
1784 {
1785 $current.merge(this_QUOTED_ID_5);
1786 }
1787 {
1788 newLeafNode(this_QUOTED_ID_5, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1());
1789 }
1790 )?
1791 )
1792 )
1793;
1794
1795// Entry rule entryRuleIdentifier
1796entryRuleIdentifier returns [String current=null]:
1797 { newCompositeNode(grammarAccess.getIdentifierRule()); }
1798 iv_ruleIdentifier=ruleIdentifier
1799 { $current=$iv_ruleIdentifier.current.getText(); }
1800 EOF;
1801
1802// Rule Identifier
1803ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
1804@init {
1805 enterRule();
1806}
1807@after {
1808 leaveRule();
1809}:
1810 (
1811 this_ID_0=RULE_ID
1812 {
1813 $current.merge(this_ID_0);
1814 }
1815 {
1816 newLeafNode(this_ID_0, grammarAccess.getIdentifierAccess().getIDTerminalRuleCall_0());
1817 }
1818 |
1819 kw='true'
1820 {
1821 $current.merge(kw);
1822 newLeafNode(kw, grammarAccess.getIdentifierAccess().getTrueKeyword_1());
1823 }
1824 |
1825 kw='false'
1826 {
1827 $current.merge(kw);
1828 newLeafNode(kw, grammarAccess.getIdentifierAccess().getFalseKeyword_2());
1829 }
1830 )
1831;
1832
1833// Rule LogicValue
1834ruleLogicValue returns [Enumerator current=null]
1835@init {
1836 enterRule();
1837}
1838@after {
1839 leaveRule();
1840}:
1841 (
1842 (
1843 enumLiteral_0='true'
1844 {
1845 $current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
1846 newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
1847 }
1848 )
1849 |
1850 (
1851 enumLiteral_1='false'
1852 {
1853 $current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
1854 newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
1855 }
1856 )
1857 |
1858 (
1859 enumLiteral_2='unknown'
1860 {
1861 $current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
1862 newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
1863 }
1864 )
1865 )
1866;
1867
1868// Rule ShortLogicValue
1869ruleShortLogicValue returns [Enumerator current=null]
1870@init {
1871 enterRule();
1872}
1873@after {
1874 leaveRule();
1875}:
1876 (
1877 (
1878 enumLiteral_0='!'
1879 {
1880 $current = grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
1881 newLeafNode(enumLiteral_0, grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0());
1882 }
1883 )
1884 |
1885 (
1886 enumLiteral_1='?'
1887 {
1888 $current = grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
1889 newLeafNode(enumLiteral_1, grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1());
1890 }
1891 )
1892 )
1893;
1894
1895RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"';
1896
1897RULE_QUOTED_ID : '\'' ('\\' .|~(('\\'|'\'')))* '\'';
1898
1899RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
1900
1901RULE_INT : ('0'..'9')+;
1902
1903RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
1904
1905RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
1906
1907RULE_WS : (' '|'\t'|'\r'|'\n')+;
1908
1909RULE_ANY_OTHER : .;
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.tokens b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.tokens
deleted file mode 100644
index e968ac14..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.tokens
+++ /dev/null
@@ -1,72 +0,0 @@
1'!'=32
2'('=29
3')'=30
4'*'=39
5'+'=33
6'+='=36
7','=17
8'.'=13
9'..'=38
10':'=34
11':-'=31
12';'=19
13'='=37
14'?'=43
15'['=24
16']'=25
17'abstract'=14
18'class'=15
19'contains'=22
20'enum'=21
21'error'=27
22'extends'=16
23'false'=41
24'opposite'=26
25'pred'=28
26'problem'=12
27'refers'=23
28'scope'=35
29'true'=40
30'unknown'=42
31'{'=18
32'}'=20
33RULE_ANY_OTHER=11
34RULE_ID=4
35RULE_INT=5
36RULE_ML_COMMENT=8
37RULE_QUOTED_ID=6
38RULE_SL_COMMENT=9
39RULE_STRING=7
40RULE_WS=10
41T__12=12
42T__13=13
43T__14=14
44T__15=15
45T__16=16
46T__17=17
47T__18=18
48T__19=19
49T__20=20
50T__21=21
51T__22=22
52T__23=23
53T__24=24
54T__25=25
55T__26=26
56T__27=27
57T__28=28
58T__29=29
59T__30=30
60T__31=31
61T__32=32
62T__33=33
63T__34=34
64T__35=35
65T__36=36
66T__37=37
67T__38=38
68T__39=39
69T__40=40
70T__41=41
71T__42=42
72T__43=43
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemLexer.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemLexer.java
deleted file mode 100644
index 1fd1e166..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemLexer.java
+++ /dev/null
@@ -1,1797 +0,0 @@
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 InternalProblemLexer extends Lexer {
15 public static final int T__19=19;
16 public static final int T__15=15;
17 public static final int T__16=16;
18 public static final int T__17=17;
19 public static final int T__18=18;
20 public static final int T__12=12;
21 public static final int T__13=13;
22 public static final int T__14=14;
23 public static final int RULE_ID=4;
24 public static final int RULE_QUOTED_ID=6;
25 public static final int T__26=26;
26 public static final int T__27=27;
27 public static final int T__28=28;
28 public static final int RULE_INT=5;
29 public static final int T__29=29;
30 public static final int T__22=22;
31 public static final int RULE_ML_COMMENT=8;
32 public static final int T__23=23;
33 public static final int T__24=24;
34 public static final int T__25=25;
35 public static final int T__20=20;
36 public static final int T__21=21;
37 public static final int RULE_STRING=7;
38 public static final int RULE_SL_COMMENT=9;
39 public static final int T__37=37;
40 public static final int T__38=38;
41 public static final int T__39=39;
42 public static final int T__33=33;
43 public static final int T__34=34;
44 public static final int T__35=35;
45 public static final int T__36=36;
46 public static final int EOF=-1;
47 public static final int T__30=30;
48 public static final int T__31=31;
49 public static final int T__32=32;
50 public static final int RULE_WS=10;
51 public static final int RULE_ANY_OTHER=11;
52 public static final int T__40=40;
53 public static final int T__41=41;
54 public static final int T__42=42;
55 public static final int T__43=43;
56
57 // delegates
58 // delegators
59
60 public InternalProblemLexer() {;}
61 public InternalProblemLexer(CharStream input) {
62 this(input, new RecognizerSharedState());
63 }
64 public InternalProblemLexer(CharStream input, RecognizerSharedState state) {
65 super(input,state);
66
67 }
68 public String getGrammarFileName() { return "InternalProblem.g"; }
69
70 // $ANTLR start "T__12"
71 public final void mT__12() throws RecognitionException {
72 try {
73 int _type = T__12;
74 int _channel = DEFAULT_TOKEN_CHANNEL;
75 // InternalProblem.g:11:7: ( 'problem' )
76 // InternalProblem.g:11:9: 'problem'
77 {
78 match("problem");
79
80
81 }
82
83 state.type = _type;
84 state.channel = _channel;
85 }
86 finally {
87 }
88 }
89 // $ANTLR end "T__12"
90
91 // $ANTLR start "T__13"
92 public final void mT__13() throws RecognitionException {
93 try {
94 int _type = T__13;
95 int _channel = DEFAULT_TOKEN_CHANNEL;
96 // InternalProblem.g:12:7: ( '.' )
97 // InternalProblem.g:12:9: '.'
98 {
99 match('.');
100
101 }
102
103 state.type = _type;
104 state.channel = _channel;
105 }
106 finally {
107 }
108 }
109 // $ANTLR end "T__13"
110
111 // $ANTLR start "T__14"
112 public final void mT__14() throws RecognitionException {
113 try {
114 int _type = T__14;
115 int _channel = DEFAULT_TOKEN_CHANNEL;
116 // InternalProblem.g:13:7: ( 'abstract' )
117 // InternalProblem.g:13:9: 'abstract'
118 {
119 match("abstract");
120
121
122 }
123
124 state.type = _type;
125 state.channel = _channel;
126 }
127 finally {
128 }
129 }
130 // $ANTLR end "T__14"
131
132 // $ANTLR start "T__15"
133 public final void mT__15() throws RecognitionException {
134 try {
135 int _type = T__15;
136 int _channel = DEFAULT_TOKEN_CHANNEL;
137 // InternalProblem.g:14:7: ( 'class' )
138 // InternalProblem.g:14:9: 'class'
139 {
140 match("class");
141
142
143 }
144
145 state.type = _type;
146 state.channel = _channel;
147 }
148 finally {
149 }
150 }
151 // $ANTLR end "T__15"
152
153 // $ANTLR start "T__16"
154 public final void mT__16() throws RecognitionException {
155 try {
156 int _type = T__16;
157 int _channel = DEFAULT_TOKEN_CHANNEL;
158 // InternalProblem.g:15:7: ( 'extends' )
159 // InternalProblem.g:15:9: 'extends'
160 {
161 match("extends");
162
163
164 }
165
166 state.type = _type;
167 state.channel = _channel;
168 }
169 finally {
170 }
171 }
172 // $ANTLR end "T__16"
173
174 // $ANTLR start "T__17"
175 public final void mT__17() throws RecognitionException {
176 try {
177 int _type = T__17;
178 int _channel = DEFAULT_TOKEN_CHANNEL;
179 // InternalProblem.g:16:7: ( ',' )
180 // InternalProblem.g:16:9: ','
181 {
182 match(',');
183
184 }
185
186 state.type = _type;
187 state.channel = _channel;
188 }
189 finally {
190 }
191 }
192 // $ANTLR end "T__17"
193
194 // $ANTLR start "T__18"
195 public final void mT__18() throws RecognitionException {
196 try {
197 int _type = T__18;
198 int _channel = DEFAULT_TOKEN_CHANNEL;
199 // InternalProblem.g:17:7: ( '{' )
200 // InternalProblem.g:17:9: '{'
201 {
202 match('{');
203
204 }
205
206 state.type = _type;
207 state.channel = _channel;
208 }
209 finally {
210 }
211 }
212 // $ANTLR end "T__18"
213
214 // $ANTLR start "T__19"
215 public final void mT__19() throws RecognitionException {
216 try {
217 int _type = T__19;
218 int _channel = DEFAULT_TOKEN_CHANNEL;
219 // InternalProblem.g:18:7: ( ';' )
220 // InternalProblem.g:18:9: ';'
221 {
222 match(';');
223
224 }
225
226 state.type = _type;
227 state.channel = _channel;
228 }
229 finally {
230 }
231 }
232 // $ANTLR end "T__19"
233
234 // $ANTLR start "T__20"
235 public final void mT__20() throws RecognitionException {
236 try {
237 int _type = T__20;
238 int _channel = DEFAULT_TOKEN_CHANNEL;
239 // InternalProblem.g:19:7: ( '}' )
240 // InternalProblem.g:19:9: '}'
241 {
242 match('}');
243
244 }
245
246 state.type = _type;
247 state.channel = _channel;
248 }
249 finally {
250 }
251 }
252 // $ANTLR end "T__20"
253
254 // $ANTLR start "T__21"
255 public final void mT__21() throws RecognitionException {
256 try {
257 int _type = T__21;
258 int _channel = DEFAULT_TOKEN_CHANNEL;
259 // InternalProblem.g:20:7: ( 'enum' )
260 // InternalProblem.g:20:9: 'enum'
261 {
262 match("enum");
263
264
265 }
266
267 state.type = _type;
268 state.channel = _channel;
269 }
270 finally {
271 }
272 }
273 // $ANTLR end "T__21"
274
275 // $ANTLR start "T__22"
276 public final void mT__22() throws RecognitionException {
277 try {
278 int _type = T__22;
279 int _channel = DEFAULT_TOKEN_CHANNEL;
280 // InternalProblem.g:21:7: ( 'contains' )
281 // InternalProblem.g:21:9: 'contains'
282 {
283 match("contains");
284
285
286 }
287
288 state.type = _type;
289 state.channel = _channel;
290 }
291 finally {
292 }
293 }
294 // $ANTLR end "T__22"
295
296 // $ANTLR start "T__23"
297 public final void mT__23() throws RecognitionException {
298 try {
299 int _type = T__23;
300 int _channel = DEFAULT_TOKEN_CHANNEL;
301 // InternalProblem.g:22:7: ( 'refers' )
302 // InternalProblem.g:22:9: 'refers'
303 {
304 match("refers");
305
306
307 }
308
309 state.type = _type;
310 state.channel = _channel;
311 }
312 finally {
313 }
314 }
315 // $ANTLR end "T__23"
316
317 // $ANTLR start "T__24"
318 public final void mT__24() throws RecognitionException {
319 try {
320 int _type = T__24;
321 int _channel = DEFAULT_TOKEN_CHANNEL;
322 // InternalProblem.g:23:7: ( '[' )
323 // InternalProblem.g:23:9: '['
324 {
325 match('[');
326
327 }
328
329 state.type = _type;
330 state.channel = _channel;
331 }
332 finally {
333 }
334 }
335 // $ANTLR end "T__24"
336
337 // $ANTLR start "T__25"
338 public final void mT__25() throws RecognitionException {
339 try {
340 int _type = T__25;
341 int _channel = DEFAULT_TOKEN_CHANNEL;
342 // InternalProblem.g:24:7: ( ']' )
343 // InternalProblem.g:24:9: ']'
344 {
345 match(']');
346
347 }
348
349 state.type = _type;
350 state.channel = _channel;
351 }
352 finally {
353 }
354 }
355 // $ANTLR end "T__25"
356
357 // $ANTLR start "T__26"
358 public final void mT__26() throws RecognitionException {
359 try {
360 int _type = T__26;
361 int _channel = DEFAULT_TOKEN_CHANNEL;
362 // InternalProblem.g:25:7: ( 'opposite' )
363 // InternalProblem.g:25:9: 'opposite'
364 {
365 match("opposite");
366
367
368 }
369
370 state.type = _type;
371 state.channel = _channel;
372 }
373 finally {
374 }
375 }
376 // $ANTLR end "T__26"
377
378 // $ANTLR start "T__27"
379 public final void mT__27() throws RecognitionException {
380 try {
381 int _type = T__27;
382 int _channel = DEFAULT_TOKEN_CHANNEL;
383 // InternalProblem.g:26:7: ( 'error' )
384 // InternalProblem.g:26:9: 'error'
385 {
386 match("error");
387
388
389 }
390
391 state.type = _type;
392 state.channel = _channel;
393 }
394 finally {
395 }
396 }
397 // $ANTLR end "T__27"
398
399 // $ANTLR start "T__28"
400 public final void mT__28() throws RecognitionException {
401 try {
402 int _type = T__28;
403 int _channel = DEFAULT_TOKEN_CHANNEL;
404 // InternalProblem.g:27:7: ( 'pred' )
405 // InternalProblem.g:27:9: 'pred'
406 {
407 match("pred");
408
409
410 }
411
412 state.type = _type;
413 state.channel = _channel;
414 }
415 finally {
416 }
417 }
418 // $ANTLR end "T__28"
419
420 // $ANTLR start "T__29"
421 public final void mT__29() throws RecognitionException {
422 try {
423 int _type = T__29;
424 int _channel = DEFAULT_TOKEN_CHANNEL;
425 // InternalProblem.g:28:7: ( '(' )
426 // InternalProblem.g:28:9: '('
427 {
428 match('(');
429
430 }
431
432 state.type = _type;
433 state.channel = _channel;
434 }
435 finally {
436 }
437 }
438 // $ANTLR end "T__29"
439
440 // $ANTLR start "T__30"
441 public final void mT__30() throws RecognitionException {
442 try {
443 int _type = T__30;
444 int _channel = DEFAULT_TOKEN_CHANNEL;
445 // InternalProblem.g:29:7: ( ')' )
446 // InternalProblem.g:29:9: ')'
447 {
448 match(')');
449
450 }
451
452 state.type = _type;
453 state.channel = _channel;
454 }
455 finally {
456 }
457 }
458 // $ANTLR end "T__30"
459
460 // $ANTLR start "T__31"
461 public final void mT__31() throws RecognitionException {
462 try {
463 int _type = T__31;
464 int _channel = DEFAULT_TOKEN_CHANNEL;
465 // InternalProblem.g:30:7: ( ':-' )
466 // InternalProblem.g:30:9: ':-'
467 {
468 match(":-");
469
470
471 }
472
473 state.type = _type;
474 state.channel = _channel;
475 }
476 finally {
477 }
478 }
479 // $ANTLR end "T__31"
480
481 // $ANTLR start "T__32"
482 public final void mT__32() throws RecognitionException {
483 try {
484 int _type = T__32;
485 int _channel = DEFAULT_TOKEN_CHANNEL;
486 // InternalProblem.g:31:7: ( '!' )
487 // InternalProblem.g:31:9: '!'
488 {
489 match('!');
490
491 }
492
493 state.type = _type;
494 state.channel = _channel;
495 }
496 finally {
497 }
498 }
499 // $ANTLR end "T__32"
500
501 // $ANTLR start "T__33"
502 public final void mT__33() throws RecognitionException {
503 try {
504 int _type = T__33;
505 int _channel = DEFAULT_TOKEN_CHANNEL;
506 // InternalProblem.g:32:7: ( '+' )
507 // InternalProblem.g:32:9: '+'
508 {
509 match('+');
510
511 }
512
513 state.type = _type;
514 state.channel = _channel;
515 }
516 finally {
517 }
518 }
519 // $ANTLR end "T__33"
520
521 // $ANTLR start "T__34"
522 public final void mT__34() throws RecognitionException {
523 try {
524 int _type = T__34;
525 int _channel = DEFAULT_TOKEN_CHANNEL;
526 // InternalProblem.g:33:7: ( ':' )
527 // InternalProblem.g:33:9: ':'
528 {
529 match(':');
530
531 }
532
533 state.type = _type;
534 state.channel = _channel;
535 }
536 finally {
537 }
538 }
539 // $ANTLR end "T__34"
540
541 // $ANTLR start "T__35"
542 public final void mT__35() throws RecognitionException {
543 try {
544 int _type = T__35;
545 int _channel = DEFAULT_TOKEN_CHANNEL;
546 // InternalProblem.g:34:7: ( 'scope' )
547 // InternalProblem.g:34:9: 'scope'
548 {
549 match("scope");
550
551
552 }
553
554 state.type = _type;
555 state.channel = _channel;
556 }
557 finally {
558 }
559 }
560 // $ANTLR end "T__35"
561
562 // $ANTLR start "T__36"
563 public final void mT__36() throws RecognitionException {
564 try {
565 int _type = T__36;
566 int _channel = DEFAULT_TOKEN_CHANNEL;
567 // InternalProblem.g:35:7: ( '+=' )
568 // InternalProblem.g:35:9: '+='
569 {
570 match("+=");
571
572
573 }
574
575 state.type = _type;
576 state.channel = _channel;
577 }
578 finally {
579 }
580 }
581 // $ANTLR end "T__36"
582
583 // $ANTLR start "T__37"
584 public final void mT__37() throws RecognitionException {
585 try {
586 int _type = T__37;
587 int _channel = DEFAULT_TOKEN_CHANNEL;
588 // InternalProblem.g:36:7: ( '=' )
589 // InternalProblem.g:36:9: '='
590 {
591 match('=');
592
593 }
594
595 state.type = _type;
596 state.channel = _channel;
597 }
598 finally {
599 }
600 }
601 // $ANTLR end "T__37"
602
603 // $ANTLR start "T__38"
604 public final void mT__38() throws RecognitionException {
605 try {
606 int _type = T__38;
607 int _channel = DEFAULT_TOKEN_CHANNEL;
608 // InternalProblem.g:37:7: ( '..' )
609 // InternalProblem.g:37:9: '..'
610 {
611 match("..");
612
613
614 }
615
616 state.type = _type;
617 state.channel = _channel;
618 }
619 finally {
620 }
621 }
622 // $ANTLR end "T__38"
623
624 // $ANTLR start "T__39"
625 public final void mT__39() throws RecognitionException {
626 try {
627 int _type = T__39;
628 int _channel = DEFAULT_TOKEN_CHANNEL;
629 // InternalProblem.g:38:7: ( '*' )
630 // InternalProblem.g:38:9: '*'
631 {
632 match('*');
633
634 }
635
636 state.type = _type;
637 state.channel = _channel;
638 }
639 finally {
640 }
641 }
642 // $ANTLR end "T__39"
643
644 // $ANTLR start "T__40"
645 public final void mT__40() throws RecognitionException {
646 try {
647 int _type = T__40;
648 int _channel = DEFAULT_TOKEN_CHANNEL;
649 // InternalProblem.g:39:7: ( 'true' )
650 // InternalProblem.g:39:9: 'true'
651 {
652 match("true");
653
654
655 }
656
657 state.type = _type;
658 state.channel = _channel;
659 }
660 finally {
661 }
662 }
663 // $ANTLR end "T__40"
664
665 // $ANTLR start "T__41"
666 public final void mT__41() throws RecognitionException {
667 try {
668 int _type = T__41;
669 int _channel = DEFAULT_TOKEN_CHANNEL;
670 // InternalProblem.g:40:7: ( 'false' )
671 // InternalProblem.g:40:9: 'false'
672 {
673 match("false");
674
675
676 }
677
678 state.type = _type;
679 state.channel = _channel;
680 }
681 finally {
682 }
683 }
684 // $ANTLR end "T__41"
685
686 // $ANTLR start "T__42"
687 public final void mT__42() throws RecognitionException {
688 try {
689 int _type = T__42;
690 int _channel = DEFAULT_TOKEN_CHANNEL;
691 // InternalProblem.g:41:7: ( 'unknown' )
692 // InternalProblem.g:41:9: 'unknown'
693 {
694 match("unknown");
695
696
697 }
698
699 state.type = _type;
700 state.channel = _channel;
701 }
702 finally {
703 }
704 }
705 // $ANTLR end "T__42"
706
707 // $ANTLR start "T__43"
708 public final void mT__43() throws RecognitionException {
709 try {
710 int _type = T__43;
711 int _channel = DEFAULT_TOKEN_CHANNEL;
712 // InternalProblem.g:42:7: ( '?' )
713 // InternalProblem.g:42:9: '?'
714 {
715 match('?');
716
717 }
718
719 state.type = _type;
720 state.channel = _channel;
721 }
722 finally {
723 }
724 }
725 // $ANTLR end "T__43"
726
727 // $ANTLR start "RULE_STRING"
728 public final void mRULE_STRING() throws RecognitionException {
729 try {
730 int _type = RULE_STRING;
731 int _channel = DEFAULT_TOKEN_CHANNEL;
732 // InternalProblem.g:1895:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
733 // InternalProblem.g:1895:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
734 {
735 match('\"');
736 // InternalProblem.g:1895:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
737 loop1:
738 do {
739 int alt1=3;
740 int LA1_0 = input.LA(1);
741
742 if ( (LA1_0=='\\') ) {
743 alt1=1;
744 }
745 else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) {
746 alt1=2;
747 }
748
749
750 switch (alt1) {
751 case 1 :
752 // InternalProblem.g:1895:20: '\\\\' .
753 {
754 match('\\');
755 matchAny();
756
757 }
758 break;
759 case 2 :
760 // InternalProblem.g:1895:27: ~ ( ( '\\\\' | '\"' ) )
761 {
762 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
763 input.consume();
764
765 }
766 else {
767 MismatchedSetException mse = new MismatchedSetException(null,input);
768 recover(mse);
769 throw mse;}
770
771
772 }
773 break;
774
775 default :
776 break loop1;
777 }
778 } while (true);
779
780 match('\"');
781
782 }
783
784 state.type = _type;
785 state.channel = _channel;
786 }
787 finally {
788 }
789 }
790 // $ANTLR end "RULE_STRING"
791
792 // $ANTLR start "RULE_QUOTED_ID"
793 public final void mRULE_QUOTED_ID() throws RecognitionException {
794 try {
795 int _type = RULE_QUOTED_ID;
796 int _channel = DEFAULT_TOKEN_CHANNEL;
797 // InternalProblem.g:1897:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
798 // InternalProblem.g:1897:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
799 {
800 match('\'');
801 // InternalProblem.g:1897:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
802 loop2:
803 do {
804 int alt2=3;
805 int LA2_0 = input.LA(1);
806
807 if ( (LA2_0=='\\') ) {
808 alt2=1;
809 }
810 else if ( ((LA2_0>='\u0000' && LA2_0<='&')||(LA2_0>='(' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) {
811 alt2=2;
812 }
813
814
815 switch (alt2) {
816 case 1 :
817 // InternalProblem.g:1897:24: '\\\\' .
818 {
819 match('\\');
820 matchAny();
821
822 }
823 break;
824 case 2 :
825 // InternalProblem.g:1897:31: ~ ( ( '\\\\' | '\\'' ) )
826 {
827 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
828 input.consume();
829
830 }
831 else {
832 MismatchedSetException mse = new MismatchedSetException(null,input);
833 recover(mse);
834 throw mse;}
835
836
837 }
838 break;
839
840 default :
841 break loop2;
842 }
843 } while (true);
844
845 match('\'');
846
847 }
848
849 state.type = _type;
850 state.channel = _channel;
851 }
852 finally {
853 }
854 }
855 // $ANTLR end "RULE_QUOTED_ID"
856
857 // $ANTLR start "RULE_ID"
858 public final void mRULE_ID() throws RecognitionException {
859 try {
860 int _type = RULE_ID;
861 int _channel = DEFAULT_TOKEN_CHANNEL;
862 // InternalProblem.g:1899:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
863 // InternalProblem.g:1899:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
864 {
865 // InternalProblem.g:1899:11: ( '^' )?
866 int alt3=2;
867 int LA3_0 = input.LA(1);
868
869 if ( (LA3_0=='^') ) {
870 alt3=1;
871 }
872 switch (alt3) {
873 case 1 :
874 // InternalProblem.g:1899:11: '^'
875 {
876 match('^');
877
878 }
879 break;
880
881 }
882
883 if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
884 input.consume();
885
886 }
887 else {
888 MismatchedSetException mse = new MismatchedSetException(null,input);
889 recover(mse);
890 throw mse;}
891
892 // InternalProblem.g:1899:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
893 loop4:
894 do {
895 int alt4=2;
896 int LA4_0 = input.LA(1);
897
898 if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
899 alt4=1;
900 }
901
902
903 switch (alt4) {
904 case 1 :
905 // InternalProblem.g:
906 {
907 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') ) {
908 input.consume();
909
910 }
911 else {
912 MismatchedSetException mse = new MismatchedSetException(null,input);
913 recover(mse);
914 throw mse;}
915
916
917 }
918 break;
919
920 default :
921 break loop4;
922 }
923 } while (true);
924
925
926 }
927
928 state.type = _type;
929 state.channel = _channel;
930 }
931 finally {
932 }
933 }
934 // $ANTLR end "RULE_ID"
935
936 // $ANTLR start "RULE_INT"
937 public final void mRULE_INT() throws RecognitionException {
938 try {
939 int _type = RULE_INT;
940 int _channel = DEFAULT_TOKEN_CHANNEL;
941 // InternalProblem.g:1901:10: ( ( '0' .. '9' )+ )
942 // InternalProblem.g:1901:12: ( '0' .. '9' )+
943 {
944 // InternalProblem.g:1901:12: ( '0' .. '9' )+
945 int cnt5=0;
946 loop5:
947 do {
948 int alt5=2;
949 int LA5_0 = input.LA(1);
950
951 if ( ((LA5_0>='0' && LA5_0<='9')) ) {
952 alt5=1;
953 }
954
955
956 switch (alt5) {
957 case 1 :
958 // InternalProblem.g:1901:13: '0' .. '9'
959 {
960 matchRange('0','9');
961
962 }
963 break;
964
965 default :
966 if ( cnt5 >= 1 ) break loop5;
967 EarlyExitException eee =
968 new EarlyExitException(5, input);
969 throw eee;
970 }
971 cnt5++;
972 } while (true);
973
974
975 }
976
977 state.type = _type;
978 state.channel = _channel;
979 }
980 finally {
981 }
982 }
983 // $ANTLR end "RULE_INT"
984
985 // $ANTLR start "RULE_ML_COMMENT"
986 public final void mRULE_ML_COMMENT() throws RecognitionException {
987 try {
988 int _type = RULE_ML_COMMENT;
989 int _channel = DEFAULT_TOKEN_CHANNEL;
990 // InternalProblem.g:1903:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
991 // InternalProblem.g:1903:19: '/*' ( options {greedy=false; } : . )* '*/'
992 {
993 match("/*");
994
995 // InternalProblem.g:1903:24: ( options {greedy=false; } : . )*
996 loop6:
997 do {
998 int alt6=2;
999 int LA6_0 = input.LA(1);
1000
1001 if ( (LA6_0=='*') ) {
1002 int LA6_1 = input.LA(2);
1003
1004 if ( (LA6_1=='/') ) {
1005 alt6=2;
1006 }
1007 else if ( ((LA6_1>='\u0000' && LA6_1<='.')||(LA6_1>='0' && LA6_1<='\uFFFF')) ) {
1008 alt6=1;
1009 }
1010
1011
1012 }
1013 else if ( ((LA6_0>='\u0000' && LA6_0<=')')||(LA6_0>='+' && LA6_0<='\uFFFF')) ) {
1014 alt6=1;
1015 }
1016
1017
1018 switch (alt6) {
1019 case 1 :
1020 // InternalProblem.g:1903:52: .
1021 {
1022 matchAny();
1023
1024 }
1025 break;
1026
1027 default :
1028 break loop6;
1029 }
1030 } while (true);
1031
1032 match("*/");
1033
1034
1035 }
1036
1037 state.type = _type;
1038 state.channel = _channel;
1039 }
1040 finally {
1041 }
1042 }
1043 // $ANTLR end "RULE_ML_COMMENT"
1044
1045 // $ANTLR start "RULE_SL_COMMENT"
1046 public final void mRULE_SL_COMMENT() throws RecognitionException {
1047 try {
1048 int _type = RULE_SL_COMMENT;
1049 int _channel = DEFAULT_TOKEN_CHANNEL;
1050 // InternalProblem.g:1905:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
1051 // InternalProblem.g:1905:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
1052 {
1053 match("//");
1054
1055 // InternalProblem.g:1905:24: (~ ( ( '\\n' | '\\r' ) ) )*
1056 loop7:
1057 do {
1058 int alt7=2;
1059 int LA7_0 = input.LA(1);
1060
1061 if ( ((LA7_0>='\u0000' && LA7_0<='\t')||(LA7_0>='\u000B' && LA7_0<='\f')||(LA7_0>='\u000E' && LA7_0<='\uFFFF')) ) {
1062 alt7=1;
1063 }
1064
1065
1066 switch (alt7) {
1067 case 1 :
1068 // InternalProblem.g:1905:24: ~ ( ( '\\n' | '\\r' ) )
1069 {
1070 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') ) {
1071 input.consume();
1072
1073 }
1074 else {
1075 MismatchedSetException mse = new MismatchedSetException(null,input);
1076 recover(mse);
1077 throw mse;}
1078
1079
1080 }
1081 break;
1082
1083 default :
1084 break loop7;
1085 }
1086 } while (true);
1087
1088 // InternalProblem.g:1905:40: ( ( '\\r' )? '\\n' )?
1089 int alt9=2;
1090 int LA9_0 = input.LA(1);
1091
1092 if ( (LA9_0=='\n'||LA9_0=='\r') ) {
1093 alt9=1;
1094 }
1095 switch (alt9) {
1096 case 1 :
1097 // InternalProblem.g:1905:41: ( '\\r' )? '\\n'
1098 {
1099 // InternalProblem.g:1905:41: ( '\\r' )?
1100 int alt8=2;
1101 int LA8_0 = input.LA(1);
1102
1103 if ( (LA8_0=='\r') ) {
1104 alt8=1;
1105 }
1106 switch (alt8) {
1107 case 1 :
1108 // InternalProblem.g:1905:41: '\\r'
1109 {
1110 match('\r');
1111
1112 }
1113 break;
1114
1115 }
1116
1117 match('\n');
1118
1119 }
1120 break;
1121
1122 }
1123
1124
1125 }
1126
1127 state.type = _type;
1128 state.channel = _channel;
1129 }
1130 finally {
1131 }
1132 }
1133 // $ANTLR end "RULE_SL_COMMENT"
1134
1135 // $ANTLR start "RULE_WS"
1136 public final void mRULE_WS() throws RecognitionException {
1137 try {
1138 int _type = RULE_WS;
1139 int _channel = DEFAULT_TOKEN_CHANNEL;
1140 // InternalProblem.g:1907:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
1141 // InternalProblem.g:1907:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1142 {
1143 // InternalProblem.g:1907:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1144 int cnt10=0;
1145 loop10:
1146 do {
1147 int alt10=2;
1148 int LA10_0 = input.LA(1);
1149
1150 if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {
1151 alt10=1;
1152 }
1153
1154
1155 switch (alt10) {
1156 case 1 :
1157 // InternalProblem.g:
1158 {
1159 if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
1160 input.consume();
1161
1162 }
1163 else {
1164 MismatchedSetException mse = new MismatchedSetException(null,input);
1165 recover(mse);
1166 throw mse;}
1167
1168
1169 }
1170 break;
1171
1172 default :
1173 if ( cnt10 >= 1 ) break loop10;
1174 EarlyExitException eee =
1175 new EarlyExitException(10, input);
1176 throw eee;
1177 }
1178 cnt10++;
1179 } while (true);
1180
1181
1182 }
1183
1184 state.type = _type;
1185 state.channel = _channel;
1186 }
1187 finally {
1188 }
1189 }
1190 // $ANTLR end "RULE_WS"
1191
1192 // $ANTLR start "RULE_ANY_OTHER"
1193 public final void mRULE_ANY_OTHER() throws RecognitionException {
1194 try {
1195 int _type = RULE_ANY_OTHER;
1196 int _channel = DEFAULT_TOKEN_CHANNEL;
1197 // InternalProblem.g:1909:16: ( . )
1198 // InternalProblem.g:1909:18: .
1199 {
1200 matchAny();
1201
1202 }
1203
1204 state.type = _type;
1205 state.channel = _channel;
1206 }
1207 finally {
1208 }
1209 }
1210 // $ANTLR end "RULE_ANY_OTHER"
1211
1212 public void mTokens() throws RecognitionException {
1213 // InternalProblem.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
1214 int alt11=40;
1215 alt11 = dfa11.predict(input);
1216 switch (alt11) {
1217 case 1 :
1218 // InternalProblem.g:1:10: T__12
1219 {
1220 mT__12();
1221
1222 }
1223 break;
1224 case 2 :
1225 // InternalProblem.g:1:16: T__13
1226 {
1227 mT__13();
1228
1229 }
1230 break;
1231 case 3 :
1232 // InternalProblem.g:1:22: T__14
1233 {
1234 mT__14();
1235
1236 }
1237 break;
1238 case 4 :
1239 // InternalProblem.g:1:28: T__15
1240 {
1241 mT__15();
1242
1243 }
1244 break;
1245 case 5 :
1246 // InternalProblem.g:1:34: T__16
1247 {
1248 mT__16();
1249
1250 }
1251 break;
1252 case 6 :
1253 // InternalProblem.g:1:40: T__17
1254 {
1255 mT__17();
1256
1257 }
1258 break;
1259 case 7 :
1260 // InternalProblem.g:1:46: T__18
1261 {
1262 mT__18();
1263
1264 }
1265 break;
1266 case 8 :
1267 // InternalProblem.g:1:52: T__19
1268 {
1269 mT__19();
1270
1271 }
1272 break;
1273 case 9 :
1274 // InternalProblem.g:1:58: T__20
1275 {
1276 mT__20();
1277
1278 }
1279 break;
1280 case 10 :
1281 // InternalProblem.g:1:64: T__21
1282 {
1283 mT__21();
1284
1285 }
1286 break;
1287 case 11 :
1288 // InternalProblem.g:1:70: T__22
1289 {
1290 mT__22();
1291
1292 }
1293 break;
1294 case 12 :
1295 // InternalProblem.g:1:76: T__23
1296 {
1297 mT__23();
1298
1299 }
1300 break;
1301 case 13 :
1302 // InternalProblem.g:1:82: T__24
1303 {
1304 mT__24();
1305
1306 }
1307 break;
1308 case 14 :
1309 // InternalProblem.g:1:88: T__25
1310 {
1311 mT__25();
1312
1313 }
1314 break;
1315 case 15 :
1316 // InternalProblem.g:1:94: T__26
1317 {
1318 mT__26();
1319
1320 }
1321 break;
1322 case 16 :
1323 // InternalProblem.g:1:100: T__27
1324 {
1325 mT__27();
1326
1327 }
1328 break;
1329 case 17 :
1330 // InternalProblem.g:1:106: T__28
1331 {
1332 mT__28();
1333
1334 }
1335 break;
1336 case 18 :
1337 // InternalProblem.g:1:112: T__29
1338 {
1339 mT__29();
1340
1341 }
1342 break;
1343 case 19 :
1344 // InternalProblem.g:1:118: T__30
1345 {
1346 mT__30();
1347
1348 }
1349 break;
1350 case 20 :
1351 // InternalProblem.g:1:124: T__31
1352 {
1353 mT__31();
1354
1355 }
1356 break;
1357 case 21 :
1358 // InternalProblem.g:1:130: T__32
1359 {
1360 mT__32();
1361
1362 }
1363 break;
1364 case 22 :
1365 // InternalProblem.g:1:136: T__33
1366 {
1367 mT__33();
1368
1369 }
1370 break;
1371 case 23 :
1372 // InternalProblem.g:1:142: T__34
1373 {
1374 mT__34();
1375
1376 }
1377 break;
1378 case 24 :
1379 // InternalProblem.g:1:148: T__35
1380 {
1381 mT__35();
1382
1383 }
1384 break;
1385 case 25 :
1386 // InternalProblem.g:1:154: T__36
1387 {
1388 mT__36();
1389
1390 }
1391 break;
1392 case 26 :
1393 // InternalProblem.g:1:160: T__37
1394 {
1395 mT__37();
1396
1397 }
1398 break;
1399 case 27 :
1400 // InternalProblem.g:1:166: T__38
1401 {
1402 mT__38();
1403
1404 }
1405 break;
1406 case 28 :
1407 // InternalProblem.g:1:172: T__39
1408 {
1409 mT__39();
1410
1411 }
1412 break;
1413 case 29 :
1414 // InternalProblem.g:1:178: T__40
1415 {
1416 mT__40();
1417
1418 }
1419 break;
1420 case 30 :
1421 // InternalProblem.g:1:184: T__41
1422 {
1423 mT__41();
1424
1425 }
1426 break;
1427 case 31 :
1428 // InternalProblem.g:1:190: T__42
1429 {
1430 mT__42();
1431
1432 }
1433 break;
1434 case 32 :
1435 // InternalProblem.g:1:196: T__43
1436 {
1437 mT__43();
1438
1439 }
1440 break;
1441 case 33 :
1442 // InternalProblem.g:1:202: RULE_STRING
1443 {
1444 mRULE_STRING();
1445
1446 }
1447 break;
1448 case 34 :
1449 // InternalProblem.g:1:214: RULE_QUOTED_ID
1450 {
1451 mRULE_QUOTED_ID();
1452
1453 }
1454 break;
1455 case 35 :
1456 // InternalProblem.g:1:229: RULE_ID
1457 {
1458 mRULE_ID();
1459
1460 }
1461 break;
1462 case 36 :
1463 // InternalProblem.g:1:237: RULE_INT
1464 {
1465 mRULE_INT();
1466
1467 }
1468 break;
1469 case 37 :
1470 // InternalProblem.g:1:246: RULE_ML_COMMENT
1471 {
1472 mRULE_ML_COMMENT();
1473
1474 }
1475 break;
1476 case 38 :
1477 // InternalProblem.g:1:262: RULE_SL_COMMENT
1478 {
1479 mRULE_SL_COMMENT();
1480
1481 }
1482 break;
1483 case 39 :
1484 // InternalProblem.g:1:278: RULE_WS
1485 {
1486 mRULE_WS();
1487
1488 }
1489 break;
1490 case 40 :
1491 // InternalProblem.g:1:286: RULE_ANY_OTHER
1492 {
1493 mRULE_ANY_OTHER();
1494
1495 }
1496 break;
1497
1498 }
1499
1500 }
1501
1502
1503 protected DFA11 dfa11 = new DFA11(this);
1504 static final String DFA11_eotS =
1505 "\1\uffff\1\43\1\45\3\43\4\uffff\1\43\2\uffff\1\43\2\uffff\1\67\1\uffff\1\72\1\43\2\uffff\3\43\1\uffff\3\41\2\uffff\1\41\2\uffff\1\43\3\uffff\6\43\4\uffff\1\43\2\uffff\1\43\7\uffff\1\43\2\uffff\3\43\7\uffff\17\43\1\145\4\43\1\152\4\43\1\157\3\43\1\uffff\1\43\1\164\2\43\1\uffff\1\167\2\43\1\172\1\uffff\1\173\3\43\1\uffff\2\43\1\uffff\1\u0081\1\43\2\uffff\1\43\1\u0084\2\43\1\u0087\1\uffff\1\43\1\u0089\1\uffff\1\u008a\1\u008b\1\uffff\1\u008c\4\uffff";
1506 static final String DFA11_eofS =
1507 "\u008d\uffff";
1508 static final String DFA11_minS =
1509 "\1\0\1\162\1\56\1\142\1\154\1\156\4\uffff\1\145\2\uffff\1\160\2\uffff\1\55\1\uffff\1\75\1\143\2\uffff\1\162\1\141\1\156\1\uffff\2\0\1\101\2\uffff\1\52\2\uffff\1\145\3\uffff\1\163\1\141\1\156\1\164\1\165\1\162\4\uffff\1\146\2\uffff\1\160\7\uffff\1\157\2\uffff\1\165\1\154\1\153\7\uffff\1\142\1\144\1\164\1\163\1\164\1\145\1\155\1\157\1\145\1\157\1\160\1\145\1\163\1\156\1\154\1\60\1\162\1\163\1\141\1\156\1\60\2\162\1\163\1\145\1\60\1\145\1\157\1\145\1\uffff\1\141\1\60\1\151\1\144\1\uffff\1\60\1\163\1\151\1\60\1\uffff\1\60\1\167\1\155\1\143\1\uffff\1\156\1\163\1\uffff\1\60\1\164\2\uffff\1\156\1\60\1\164\1\163\1\60\1\uffff\1\145\1\60\1\uffff\2\60\1\uffff\1\60\4\uffff";
1510 static final String DFA11_maxS =
1511 "\1\uffff\1\162\1\56\1\142\1\157\1\170\4\uffff\1\145\2\uffff\1\160\2\uffff\1\55\1\uffff\1\75\1\143\2\uffff\1\162\1\141\1\156\1\uffff\2\uffff\1\172\2\uffff\1\57\2\uffff\1\157\3\uffff\1\163\1\141\1\156\1\164\1\165\1\162\4\uffff\1\146\2\uffff\1\160\7\uffff\1\157\2\uffff\1\165\1\154\1\153\7\uffff\1\142\1\144\1\164\1\163\1\164\1\145\1\155\1\157\1\145\1\157\1\160\1\145\1\163\1\156\1\154\1\172\1\162\1\163\1\141\1\156\1\172\2\162\1\163\1\145\1\172\1\145\1\157\1\145\1\uffff\1\141\1\172\1\151\1\144\1\uffff\1\172\1\163\1\151\1\172\1\uffff\1\172\1\167\1\155\1\143\1\uffff\1\156\1\163\1\uffff\1\172\1\164\2\uffff\1\156\1\172\1\164\1\163\1\172\1\uffff\1\145\1\172\1\uffff\2\172\1\uffff\1\172\4\uffff";
1512 static final String DFA11_acceptS =
1513 "\6\uffff\1\6\1\7\1\10\1\11\1\uffff\1\15\1\16\1\uffff\1\22\1\23\1\uffff\1\25\2\uffff\1\32\1\34\3\uffff\1\40\3\uffff\1\43\1\44\1\uffff\1\47\1\50\1\uffff\1\43\1\33\1\2\6\uffff\1\6\1\7\1\10\1\11\1\uffff\1\15\1\16\1\uffff\1\22\1\23\1\24\1\27\1\25\1\31\1\26\1\uffff\1\32\1\34\3\uffff\1\40\1\41\1\42\1\44\1\45\1\46\1\47\35\uffff\1\21\4\uffff\1\12\4\uffff\1\35\4\uffff\1\4\2\uffff\1\20\2\uffff\1\30\1\36\5\uffff\1\14\2\uffff\1\1\2\uffff\1\5\1\uffff\1\37\1\3\1\13\1\17";
1514 static final String DFA11_specialS =
1515 "\1\2\31\uffff\1\1\1\0\161\uffff}>";
1516 static final String[] DFA11_transitionS = {
1517 "\11\41\2\40\2\41\1\40\22\41\1\40\1\21\1\32\4\41\1\33\1\16\1\17\1\25\1\22\1\6\1\41\1\2\1\37\12\36\1\20\1\10\1\41\1\24\1\41\1\31\1\41\32\35\1\13\1\41\1\14\1\34\1\35\1\41\1\3\1\35\1\4\1\35\1\5\1\27\10\35\1\15\1\1\1\35\1\12\1\23\1\26\1\30\5\35\1\7\1\41\1\11\uff82\41",
1518 "\1\42",
1519 "\1\44",
1520 "\1\46",
1521 "\1\47\2\uffff\1\50",
1522 "\1\52\3\uffff\1\53\5\uffff\1\51",
1523 "",
1524 "",
1525 "",
1526 "",
1527 "\1\60",
1528 "",
1529 "",
1530 "\1\63",
1531 "",
1532 "",
1533 "\1\66",
1534 "",
1535 "\1\71",
1536 "\1\73",
1537 "",
1538 "",
1539 "\1\76",
1540 "\1\77",
1541 "\1\100",
1542 "",
1543 "\0\102",
1544 "\0\103",
1545 "\32\43\4\uffff\1\43\1\uffff\32\43",
1546 "",
1547 "",
1548 "\1\105\4\uffff\1\106",
1549 "",
1550 "",
1551 "\1\111\11\uffff\1\110",
1552 "",
1553 "",
1554 "",
1555 "\1\112",
1556 "\1\113",
1557 "\1\114",
1558 "\1\115",
1559 "\1\116",
1560 "\1\117",
1561 "",
1562 "",
1563 "",
1564 "",
1565 "\1\120",
1566 "",
1567 "",
1568 "\1\121",
1569 "",
1570 "",
1571 "",
1572 "",
1573 "",
1574 "",
1575 "",
1576 "\1\122",
1577 "",
1578 "",
1579 "\1\123",
1580 "\1\124",
1581 "\1\125",
1582 "",
1583 "",
1584 "",
1585 "",
1586 "",
1587 "",
1588 "",
1589 "\1\126",
1590 "\1\127",
1591 "\1\130",
1592 "\1\131",
1593 "\1\132",
1594 "\1\133",
1595 "\1\134",
1596 "\1\135",
1597 "\1\136",
1598 "\1\137",
1599 "\1\140",
1600 "\1\141",
1601 "\1\142",
1602 "\1\143",
1603 "\1\144",
1604 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1605 "\1\146",
1606 "\1\147",
1607 "\1\150",
1608 "\1\151",
1609 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1610 "\1\153",
1611 "\1\154",
1612 "\1\155",
1613 "\1\156",
1614 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1615 "\1\160",
1616 "\1\161",
1617 "\1\162",
1618 "",
1619 "\1\163",
1620 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1621 "\1\165",
1622 "\1\166",
1623 "",
1624 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1625 "\1\170",
1626 "\1\171",
1627 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1628 "",
1629 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1630 "\1\174",
1631 "\1\175",
1632 "\1\176",
1633 "",
1634 "\1\177",
1635 "\1\u0080",
1636 "",
1637 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1638 "\1\u0082",
1639 "",
1640 "",
1641 "\1\u0083",
1642 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1643 "\1\u0085",
1644 "\1\u0086",
1645 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1646 "",
1647 "\1\u0088",
1648 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1649 "",
1650 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1651 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1652 "",
1653 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1654 "",
1655 "",
1656 "",
1657 ""
1658 };
1659
1660 static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
1661 static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
1662 static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
1663 static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
1664 static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
1665 static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
1666 static final short[][] DFA11_transition;
1667
1668 static {
1669 int numStates = DFA11_transitionS.length;
1670 DFA11_transition = new short[numStates][];
1671 for (int i=0; i<numStates; i++) {
1672 DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
1673 }
1674 }
1675
1676 class DFA11 extends DFA {
1677
1678 public DFA11(BaseRecognizer recognizer) {
1679 this.recognizer = recognizer;
1680 this.decisionNumber = 11;
1681 this.eot = DFA11_eot;
1682 this.eof = DFA11_eof;
1683 this.min = DFA11_min;
1684 this.max = DFA11_max;
1685 this.accept = DFA11_accept;
1686 this.special = DFA11_special;
1687 this.transition = DFA11_transition;
1688 }
1689 public String getDescription() {
1690 return "1:1: Tokens : ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
1691 }
1692 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
1693 IntStream input = _input;
1694 int _s = s;
1695 switch ( s ) {
1696 case 0 :
1697 int LA11_27 = input.LA(1);
1698
1699 s = -1;
1700 if ( ((LA11_27>='\u0000' && LA11_27<='\uFFFF')) ) {s = 67;}
1701
1702 else s = 33;
1703
1704 if ( s>=0 ) return s;
1705 break;
1706 case 1 :
1707 int LA11_26 = input.LA(1);
1708
1709 s = -1;
1710 if ( ((LA11_26>='\u0000' && LA11_26<='\uFFFF')) ) {s = 66;}
1711
1712 else s = 33;
1713
1714 if ( s>=0 ) return s;
1715 break;
1716 case 2 :
1717 int LA11_0 = input.LA(1);
1718
1719 s = -1;
1720 if ( (LA11_0=='p') ) {s = 1;}
1721
1722 else if ( (LA11_0=='.') ) {s = 2;}
1723
1724 else if ( (LA11_0=='a') ) {s = 3;}
1725
1726 else if ( (LA11_0=='c') ) {s = 4;}
1727
1728 else if ( (LA11_0=='e') ) {s = 5;}
1729
1730 else if ( (LA11_0==',') ) {s = 6;}
1731
1732 else if ( (LA11_0=='{') ) {s = 7;}
1733
1734 else if ( (LA11_0==';') ) {s = 8;}
1735
1736 else if ( (LA11_0=='}') ) {s = 9;}
1737
1738 else if ( (LA11_0=='r') ) {s = 10;}
1739
1740 else if ( (LA11_0=='[') ) {s = 11;}
1741
1742 else if ( (LA11_0==']') ) {s = 12;}
1743
1744 else if ( (LA11_0=='o') ) {s = 13;}
1745
1746 else if ( (LA11_0=='(') ) {s = 14;}
1747
1748 else if ( (LA11_0==')') ) {s = 15;}
1749
1750 else if ( (LA11_0==':') ) {s = 16;}
1751
1752 else if ( (LA11_0=='!') ) {s = 17;}
1753
1754 else if ( (LA11_0=='+') ) {s = 18;}
1755
1756 else if ( (LA11_0=='s') ) {s = 19;}
1757
1758 else if ( (LA11_0=='=') ) {s = 20;}
1759
1760 else if ( (LA11_0=='*') ) {s = 21;}
1761
1762 else if ( (LA11_0=='t') ) {s = 22;}
1763
1764 else if ( (LA11_0=='f') ) {s = 23;}
1765
1766 else if ( (LA11_0=='u') ) {s = 24;}
1767
1768 else if ( (LA11_0=='?') ) {s = 25;}
1769
1770 else if ( (LA11_0=='\"') ) {s = 26;}
1771
1772 else if ( (LA11_0=='\'') ) {s = 27;}
1773
1774 else if ( (LA11_0=='^') ) {s = 28;}
1775
1776 else if ( ((LA11_0>='A' && LA11_0<='Z')||LA11_0=='_'||LA11_0=='b'||LA11_0=='d'||(LA11_0>='g' && LA11_0<='n')||LA11_0=='q'||(LA11_0>='v' && LA11_0<='z')) ) {s = 29;}
1777
1778 else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 30;}
1779
1780 else if ( (LA11_0=='/') ) {s = 31;}
1781
1782 else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 32;}
1783
1784 else if ( ((LA11_0>='\u0000' && LA11_0<='\b')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\u001F')||(LA11_0>='#' && LA11_0<='&')||LA11_0=='-'||LA11_0=='<'||LA11_0=='>'||LA11_0=='@'||LA11_0=='\\'||LA11_0=='`'||LA11_0=='|'||(LA11_0>='~' && LA11_0<='\uFFFF')) ) {s = 33;}
1785
1786 if ( s>=0 ) return s;
1787 break;
1788 }
1789 NoViableAltException nvae =
1790 new NoViableAltException(getDescription(), 11, _s, input);
1791 error(nvae);
1792 throw nvae;
1793 }
1794 }
1795
1796
1797} \ No newline at end of file
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java
deleted file mode 100644
index 28b54551..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java
+++ /dev/null
@@ -1,5296 +0,0 @@
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.emf.common.util.Enumerator;
9import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
10import org.eclipse.xtext.parser.antlr.XtextTokenStream;
11import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
12import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
13import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess;
14
15
16
17import org.antlr.runtime.*;
18import java.util.Stack;
19import java.util.List;
20import java.util.ArrayList;
21
22@SuppressWarnings("all")
23public class InternalProblemParser extends AbstractInternalAntlrParser {
24 public static final String[] tokenNames = new String[] {
25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_QUOTED_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'problem'", "'.'", "'abstract'", "'class'", "'extends'", "','", "'{'", "';'", "'}'", "'enum'", "'contains'", "'refers'", "'['", "']'", "'opposite'", "'error'", "'pred'", "'('", "')'", "':-'", "'!'", "'+'", "':'", "'scope'", "'+='", "'='", "'..'", "'*'", "'true'", "'false'", "'unknown'", "'?'"
26 };
27 public static final int T__19=19;
28 public static final int T__15=15;
29 public static final int T__16=16;
30 public static final int T__17=17;
31 public static final int T__18=18;
32 public static final int T__12=12;
33 public static final int T__13=13;
34 public static final int T__14=14;
35 public static final int RULE_ID=4;
36 public static final int RULE_QUOTED_ID=6;
37 public static final int T__26=26;
38 public static final int T__27=27;
39 public static final int T__28=28;
40 public static final int RULE_INT=5;
41 public static final int T__29=29;
42 public static final int T__22=22;
43 public static final int RULE_ML_COMMENT=8;
44 public static final int T__23=23;
45 public static final int T__24=24;
46 public static final int T__25=25;
47 public static final int T__20=20;
48 public static final int T__21=21;
49 public static final int RULE_STRING=7;
50 public static final int RULE_SL_COMMENT=9;
51 public static final int T__37=37;
52 public static final int T__38=38;
53 public static final int T__39=39;
54 public static final int T__33=33;
55 public static final int T__34=34;
56 public static final int T__35=35;
57 public static final int T__36=36;
58 public static final int EOF=-1;
59 public static final int T__30=30;
60 public static final int T__31=31;
61 public static final int T__32=32;
62 public static final int RULE_WS=10;
63 public static final int RULE_ANY_OTHER=11;
64 public static final int T__40=40;
65 public static final int T__41=41;
66 public static final int T__42=42;
67 public static final int T__43=43;
68
69 // delegates
70 // delegators
71
72
73 public InternalProblemParser(TokenStream input) {
74 this(input, new RecognizerSharedState());
75 }
76 public InternalProblemParser(TokenStream input, RecognizerSharedState state) {
77 super(input, state);
78
79 }
80
81
82 public String[] getTokenNames() { return InternalProblemParser.tokenNames; }
83 public String getGrammarFileName() { return "InternalProblem.g"; }
84
85
86
87 private ProblemGrammarAccess grammarAccess;
88
89 public InternalProblemParser(TokenStream input, ProblemGrammarAccess grammarAccess) {
90 this(input);
91 this.grammarAccess = grammarAccess;
92 registerRules(grammarAccess.getGrammar());
93 }
94
95 @Override
96 protected String getFirstRuleName() {
97 return "Problem";
98 }
99
100 @Override
101 protected ProblemGrammarAccess getGrammarAccess() {
102 return grammarAccess;
103 }
104
105
106
107
108 // $ANTLR start "entryRuleProblem"
109 // InternalProblem.g:65:1: entryRuleProblem returns [EObject current=null] : iv_ruleProblem= ruleProblem EOF ;
110 public final EObject entryRuleProblem() throws RecognitionException {
111 EObject current = null;
112
113 EObject iv_ruleProblem = null;
114
115
116 try {
117 // InternalProblem.g:65:48: (iv_ruleProblem= ruleProblem EOF )
118 // InternalProblem.g:66:2: iv_ruleProblem= ruleProblem EOF
119 {
120 newCompositeNode(grammarAccess.getProblemRule());
121 pushFollow(FOLLOW_1);
122 iv_ruleProblem=ruleProblem();
123
124 state._fsp--;
125
126 current =iv_ruleProblem;
127 match(input,EOF,FOLLOW_2);
128
129 }
130
131 }
132
133 catch (RecognitionException re) {
134 recover(input,re);
135 appendSkippedTokens();
136 }
137 finally {
138 }
139 return current;
140 }
141 // $ANTLR end "entryRuleProblem"
142
143
144 // $ANTLR start "ruleProblem"
145 // InternalProblem.g:72:1: ruleProblem returns [EObject current=null] : ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) ;
146 public final EObject ruleProblem() throws RecognitionException {
147 EObject current = null;
148
149 Token otherlv_0=null;
150 Token otherlv_2=null;
151 AntlrDatatypeRuleToken lv_name_1_0 = null;
152
153 EObject lv_statements_3_0 = null;
154
155
156
157 enterRule();
158
159 try {
160 // InternalProblem.g:78:2: ( ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) )
161 // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* )
162 {
163 // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* )
164 // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )*
165 {
166 // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )?
167 int alt1=2;
168 int LA1_0 = input.LA(1);
169
170 if ( (LA1_0==12) ) {
171 alt1=1;
172 }
173 switch (alt1) {
174 case 1 :
175 // InternalProblem.g:81:4: otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.'
176 {
177 otherlv_0=(Token)match(input,12,FOLLOW_3);
178
179 newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0());
180
181 // InternalProblem.g:85:4: ( (lv_name_1_0= ruleIdentifier ) )
182 // InternalProblem.g:86:5: (lv_name_1_0= ruleIdentifier )
183 {
184 // InternalProblem.g:86:5: (lv_name_1_0= ruleIdentifier )
185 // InternalProblem.g:87:6: lv_name_1_0= ruleIdentifier
186 {
187
188 newCompositeNode(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0());
189
190 pushFollow(FOLLOW_4);
191 lv_name_1_0=ruleIdentifier();
192
193 state._fsp--;
194
195
196 if (current==null) {
197 current = createModelElementForParent(grammarAccess.getProblemRule());
198 }
199 set(
200 current,
201 "name",
202 lv_name_1_0,
203 "org.eclipse.viatra.solver.language.Problem.Identifier");
204 afterParserOrEnumRuleCall();
205
206
207 }
208
209
210 }
211
212 otherlv_2=(Token)match(input,13,FOLLOW_5);
213
214 newLeafNode(otherlv_2, grammarAccess.getProblemAccess().getFullStopKeyword_0_2());
215
216
217 }
218 break;
219
220 }
221
222 // InternalProblem.g:109:3: ( (lv_statements_3_0= ruleStatement ) )*
223 loop2:
224 do {
225 int alt2=2;
226 int LA2_0 = input.LA(1);
227
228 if ( (LA2_0==RULE_ID||LA2_0==RULE_QUOTED_ID||(LA2_0>=14 && LA2_0<=15)||LA2_0==21||(LA2_0>=27 && LA2_0<=28)||LA2_0==32||LA2_0==35||(LA2_0>=40 && LA2_0<=41)||LA2_0==43) ) {
229 alt2=1;
230 }
231
232
233 switch (alt2) {
234 case 1 :
235 // InternalProblem.g:110:4: (lv_statements_3_0= ruleStatement )
236 {
237 // InternalProblem.g:110:4: (lv_statements_3_0= ruleStatement )
238 // InternalProblem.g:111:5: lv_statements_3_0= ruleStatement
239 {
240
241 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0());
242
243 pushFollow(FOLLOW_5);
244 lv_statements_3_0=ruleStatement();
245
246 state._fsp--;
247
248
249 if (current==null) {
250 current = createModelElementForParent(grammarAccess.getProblemRule());
251 }
252 add(
253 current,
254 "statements",
255 lv_statements_3_0,
256 "org.eclipse.viatra.solver.language.Problem.Statement");
257 afterParserOrEnumRuleCall();
258
259
260 }
261
262
263 }
264 break;
265
266 default :
267 break loop2;
268 }
269 } while (true);
270
271
272 }
273
274
275 }
276
277
278 leaveRule();
279
280 }
281
282 catch (RecognitionException re) {
283 recover(input,re);
284 appendSkippedTokens();
285 }
286 finally {
287 }
288 return current;
289 }
290 // $ANTLR end "ruleProblem"
291
292
293 // $ANTLR start "entryRuleStatement"
294 // InternalProblem.g:132:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ;
295 public final EObject entryRuleStatement() throws RecognitionException {
296 EObject current = null;
297
298 EObject iv_ruleStatement = null;
299
300
301 try {
302 // InternalProblem.g:132:50: (iv_ruleStatement= ruleStatement EOF )
303 // InternalProblem.g:133:2: iv_ruleStatement= ruleStatement EOF
304 {
305 newCompositeNode(grammarAccess.getStatementRule());
306 pushFollow(FOLLOW_1);
307 iv_ruleStatement=ruleStatement();
308
309 state._fsp--;
310
311 current =iv_ruleStatement;
312 match(input,EOF,FOLLOW_2);
313
314 }
315
316 }
317
318 catch (RecognitionException re) {
319 recover(input,re);
320 appendSkippedTokens();
321 }
322 finally {
323 }
324 return current;
325 }
326 // $ANTLR end "entryRuleStatement"
327
328
329 // $ANTLR start "ruleStatement"
330 // InternalProblem.g:139:1: ruleStatement returns [EObject current=null] : (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration ) ;
331 public final EObject ruleStatement() throws RecognitionException {
332 EObject current = null;
333
334 EObject this_ClassDeclaration_0 = null;
335
336 EObject this_EnumDeclaration_1 = null;
337
338 EObject this_PredicateDefinition_2 = null;
339
340 EObject this_Assertion_3 = null;
341
342 EObject this_ScopeDeclaration_4 = null;
343
344
345
346 enterRule();
347
348 try {
349 // InternalProblem.g:145:2: ( (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration ) )
350 // InternalProblem.g:146:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration )
351 {
352 // InternalProblem.g:146:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration )
353 int alt3=5;
354 switch ( input.LA(1) ) {
355 case 14:
356 case 15:
357 {
358 alt3=1;
359 }
360 break;
361 case 21:
362 {
363 alt3=2;
364 }
365 break;
366 case 27:
367 case 28:
368 {
369 alt3=3;
370 }
371 break;
372 case RULE_ID:
373 case RULE_QUOTED_ID:
374 case 32:
375 case 40:
376 case 41:
377 case 43:
378 {
379 alt3=4;
380 }
381 break;
382 case 35:
383 {
384 alt3=5;
385 }
386 break;
387 default:
388 NoViableAltException nvae =
389 new NoViableAltException("", 3, 0, input);
390
391 throw nvae;
392 }
393
394 switch (alt3) {
395 case 1 :
396 // InternalProblem.g:147:3: this_ClassDeclaration_0= ruleClassDeclaration
397 {
398
399 newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0());
400
401 pushFollow(FOLLOW_2);
402 this_ClassDeclaration_0=ruleClassDeclaration();
403
404 state._fsp--;
405
406
407 current = this_ClassDeclaration_0;
408 afterParserOrEnumRuleCall();
409
410
411 }
412 break;
413 case 2 :
414 // InternalProblem.g:156:3: this_EnumDeclaration_1= ruleEnumDeclaration
415 {
416
417 newCompositeNode(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1());
418
419 pushFollow(FOLLOW_2);
420 this_EnumDeclaration_1=ruleEnumDeclaration();
421
422 state._fsp--;
423
424
425 current = this_EnumDeclaration_1;
426 afterParserOrEnumRuleCall();
427
428
429 }
430 break;
431 case 3 :
432 // InternalProblem.g:165:3: this_PredicateDefinition_2= rulePredicateDefinition
433 {
434
435 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2());
436
437 pushFollow(FOLLOW_2);
438 this_PredicateDefinition_2=rulePredicateDefinition();
439
440 state._fsp--;
441
442
443 current = this_PredicateDefinition_2;
444 afterParserOrEnumRuleCall();
445
446
447 }
448 break;
449 case 4 :
450 // InternalProblem.g:174:3: this_Assertion_3= ruleAssertion
451 {
452
453 newCompositeNode(grammarAccess.getStatementAccess().getAssertionParserRuleCall_3());
454
455 pushFollow(FOLLOW_2);
456 this_Assertion_3=ruleAssertion();
457
458 state._fsp--;
459
460
461 current = this_Assertion_3;
462 afterParserOrEnumRuleCall();
463
464
465 }
466 break;
467 case 5 :
468 // InternalProblem.g:183:3: this_ScopeDeclaration_4= ruleScopeDeclaration
469 {
470
471 newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4());
472
473 pushFollow(FOLLOW_2);
474 this_ScopeDeclaration_4=ruleScopeDeclaration();
475
476 state._fsp--;
477
478
479 current = this_ScopeDeclaration_4;
480 afterParserOrEnumRuleCall();
481
482
483 }
484 break;
485
486 }
487
488
489 }
490
491
492 leaveRule();
493
494 }
495
496 catch (RecognitionException re) {
497 recover(input,re);
498 appendSkippedTokens();
499 }
500 finally {
501 }
502 return current;
503 }
504 // $ANTLR end "ruleStatement"
505
506
507 // $ANTLR start "entryRuleClassDeclaration"
508 // InternalProblem.g:195:1: entryRuleClassDeclaration returns [EObject current=null] : iv_ruleClassDeclaration= ruleClassDeclaration EOF ;
509 public final EObject entryRuleClassDeclaration() throws RecognitionException {
510 EObject current = null;
511
512 EObject iv_ruleClassDeclaration = null;
513
514
515 try {
516 // InternalProblem.g:195:57: (iv_ruleClassDeclaration= ruleClassDeclaration EOF )
517 // InternalProblem.g:196:2: iv_ruleClassDeclaration= ruleClassDeclaration EOF
518 {
519 newCompositeNode(grammarAccess.getClassDeclarationRule());
520 pushFollow(FOLLOW_1);
521 iv_ruleClassDeclaration=ruleClassDeclaration();
522
523 state._fsp--;
524
525 current =iv_ruleClassDeclaration;
526 match(input,EOF,FOLLOW_2);
527
528 }
529
530 }
531
532 catch (RecognitionException re) {
533 recover(input,re);
534 appendSkippedTokens();
535 }
536 finally {
537 }
538 return current;
539 }
540 // $ANTLR end "entryRuleClassDeclaration"
541
542
543 // $ANTLR start "ruleClassDeclaration"
544 // InternalProblem.g:202:1: ruleClassDeclaration returns [EObject current=null] : ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) ;
545 public final EObject ruleClassDeclaration() throws RecognitionException {
546 EObject current = null;
547
548 Token lv_abstract_0_0=null;
549 Token otherlv_1=null;
550 Token otherlv_3=null;
551 Token otherlv_5=null;
552 Token otherlv_7=null;
553 Token otherlv_9=null;
554 Token otherlv_10=null;
555 Token otherlv_11=null;
556 AntlrDatatypeRuleToken lv_name_2_0 = null;
557
558 EObject lv_referenceDeclarations_8_0 = null;
559
560
561
562 enterRule();
563
564 try {
565 // InternalProblem.g:208:2: ( ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) )
566 // InternalProblem.g:209:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) )
567 {
568 // InternalProblem.g:209:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) )
569 // InternalProblem.g:210:3: ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' )
570 {
571 // InternalProblem.g:210:3: ( (lv_abstract_0_0= 'abstract' ) )?
572 int alt4=2;
573 int LA4_0 = input.LA(1);
574
575 if ( (LA4_0==14) ) {
576 alt4=1;
577 }
578 switch (alt4) {
579 case 1 :
580 // InternalProblem.g:211:4: (lv_abstract_0_0= 'abstract' )
581 {
582 // InternalProblem.g:211:4: (lv_abstract_0_0= 'abstract' )
583 // InternalProblem.g:212:5: lv_abstract_0_0= 'abstract'
584 {
585 lv_abstract_0_0=(Token)match(input,14,FOLLOW_6);
586
587 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
588
589
590 if (current==null) {
591 current = createModelElement(grammarAccess.getClassDeclarationRule());
592 }
593 setWithLastConsumed(current, "abstract", lv_abstract_0_0 != null, "abstract");
594
595
596 }
597
598
599 }
600 break;
601
602 }
603
604 otherlv_1=(Token)match(input,15,FOLLOW_3);
605
606 newLeafNode(otherlv_1, grammarAccess.getClassDeclarationAccess().getClassKeyword_1());
607
608 // InternalProblem.g:228:3: ( (lv_name_2_0= ruleIdentifier ) )
609 // InternalProblem.g:229:4: (lv_name_2_0= ruleIdentifier )
610 {
611 // InternalProblem.g:229:4: (lv_name_2_0= ruleIdentifier )
612 // InternalProblem.g:230:5: lv_name_2_0= ruleIdentifier
613 {
614
615 newCompositeNode(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0());
616
617 pushFollow(FOLLOW_7);
618 lv_name_2_0=ruleIdentifier();
619
620 state._fsp--;
621
622
623 if (current==null) {
624 current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
625 }
626 set(
627 current,
628 "name",
629 lv_name_2_0,
630 "org.eclipse.viatra.solver.language.Problem.Identifier");
631 afterParserOrEnumRuleCall();
632
633
634 }
635
636
637 }
638
639 // InternalProblem.g:247:3: (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )?
640 int alt6=2;
641 int LA6_0 = input.LA(1);
642
643 if ( (LA6_0==16) ) {
644 alt6=1;
645 }
646 switch (alt6) {
647 case 1 :
648 // InternalProblem.g:248:4: otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
649 {
650 otherlv_3=(Token)match(input,16,FOLLOW_8);
651
652 newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
653
654 // InternalProblem.g:252:4: ( ( ruleQualifiedName ) )
655 // InternalProblem.g:253:5: ( ruleQualifiedName )
656 {
657 // InternalProblem.g:253:5: ( ruleQualifiedName )
658 // InternalProblem.g:254:6: ruleQualifiedName
659 {
660
661 if (current==null) {
662 current = createModelElement(grammarAccess.getClassDeclarationRule());
663 }
664
665
666 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0());
667
668 pushFollow(FOLLOW_9);
669 ruleQualifiedName();
670
671 state._fsp--;
672
673
674 afterParserOrEnumRuleCall();
675
676
677 }
678
679
680 }
681
682 // InternalProblem.g:268:4: (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
683 loop5:
684 do {
685 int alt5=2;
686 int LA5_0 = input.LA(1);
687
688 if ( (LA5_0==17) ) {
689 alt5=1;
690 }
691
692
693 switch (alt5) {
694 case 1 :
695 // InternalProblem.g:269:5: otherlv_5= ',' ( ( ruleQualifiedName ) )
696 {
697 otherlv_5=(Token)match(input,17,FOLLOW_8);
698
699 newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
700
701 // InternalProblem.g:273:5: ( ( ruleQualifiedName ) )
702 // InternalProblem.g:274:6: ( ruleQualifiedName )
703 {
704 // InternalProblem.g:274:6: ( ruleQualifiedName )
705 // InternalProblem.g:275:7: ruleQualifiedName
706 {
707
708 if (current==null) {
709 current = createModelElement(grammarAccess.getClassDeclarationRule());
710 }
711
712
713 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0());
714
715 pushFollow(FOLLOW_9);
716 ruleQualifiedName();
717
718 state._fsp--;
719
720
721 afterParserOrEnumRuleCall();
722
723
724 }
725
726
727 }
728
729
730 }
731 break;
732
733 default :
734 break loop5;
735 }
736 } while (true);
737
738
739 }
740 break;
741
742 }
743
744 // InternalProblem.g:291:3: ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' )
745 int alt9=2;
746 int LA9_0 = input.LA(1);
747
748 if ( (LA9_0==18) ) {
749 alt9=1;
750 }
751 else if ( (LA9_0==13) ) {
752 alt9=2;
753 }
754 else {
755 NoViableAltException nvae =
756 new NoViableAltException("", 9, 0, input);
757
758 throw nvae;
759 }
760 switch (alt9) {
761 case 1 :
762 // InternalProblem.g:292:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' )
763 {
764 // InternalProblem.g:292:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' )
765 // InternalProblem.g:293:5: otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}'
766 {
767 otherlv_7=(Token)match(input,18,FOLLOW_10);
768
769 newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
770
771 // InternalProblem.g:297:5: ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )*
772 loop8:
773 do {
774 int alt8=2;
775 int LA8_0 = input.LA(1);
776
777 if ( (LA8_0==RULE_ID||LA8_0==RULE_QUOTED_ID||(LA8_0>=22 && LA8_0<=23)||(LA8_0>=40 && LA8_0<=41)) ) {
778 alt8=1;
779 }
780
781
782 switch (alt8) {
783 case 1 :
784 // InternalProblem.g:298:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )?
785 {
786 // InternalProblem.g:298:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) )
787 // InternalProblem.g:299:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration )
788 {
789 // InternalProblem.g:299:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration )
790 // InternalProblem.g:300:8: lv_referenceDeclarations_8_0= ruleReferenceDeclaration
791 {
792
793 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0());
794
795 pushFollow(FOLLOW_11);
796 lv_referenceDeclarations_8_0=ruleReferenceDeclaration();
797
798 state._fsp--;
799
800
801 if (current==null) {
802 current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
803 }
804 add(
805 current,
806 "referenceDeclarations",
807 lv_referenceDeclarations_8_0,
808 "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration");
809 afterParserOrEnumRuleCall();
810
811
812 }
813
814
815 }
816
817 // InternalProblem.g:317:6: (otherlv_9= ';' )?
818 int alt7=2;
819 int LA7_0 = input.LA(1);
820
821 if ( (LA7_0==19) ) {
822 alt7=1;
823 }
824 switch (alt7) {
825 case 1 :
826 // InternalProblem.g:318:7: otherlv_9= ';'
827 {
828 otherlv_9=(Token)match(input,19,FOLLOW_10);
829
830 newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1());
831
832
833 }
834 break;
835
836 }
837
838
839 }
840 break;
841
842 default :
843 break loop8;
844 }
845 } while (true);
846
847 otherlv_10=(Token)match(input,20,FOLLOW_2);
848
849 newLeafNode(otherlv_10, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2());
850
851
852 }
853
854
855 }
856 break;
857 case 2 :
858 // InternalProblem.g:330:4: otherlv_11= '.'
859 {
860 otherlv_11=(Token)match(input,13,FOLLOW_2);
861
862 newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1());
863
864
865 }
866 break;
867
868 }
869
870
871 }
872
873
874 }
875
876
877 leaveRule();
878
879 }
880
881 catch (RecognitionException re) {
882 recover(input,re);
883 appendSkippedTokens();
884 }
885 finally {
886 }
887 return current;
888 }
889 // $ANTLR end "ruleClassDeclaration"
890
891
892 // $ANTLR start "entryRuleEnumDeclaration"
893 // InternalProblem.g:339:1: entryRuleEnumDeclaration returns [EObject current=null] : iv_ruleEnumDeclaration= ruleEnumDeclaration EOF ;
894 public final EObject entryRuleEnumDeclaration() throws RecognitionException {
895 EObject current = null;
896
897 EObject iv_ruleEnumDeclaration = null;
898
899
900 try {
901 // InternalProblem.g:339:56: (iv_ruleEnumDeclaration= ruleEnumDeclaration EOF )
902 // InternalProblem.g:340:2: iv_ruleEnumDeclaration= ruleEnumDeclaration EOF
903 {
904 newCompositeNode(grammarAccess.getEnumDeclarationRule());
905 pushFollow(FOLLOW_1);
906 iv_ruleEnumDeclaration=ruleEnumDeclaration();
907
908 state._fsp--;
909
910 current =iv_ruleEnumDeclaration;
911 match(input,EOF,FOLLOW_2);
912
913 }
914
915 }
916
917 catch (RecognitionException re) {
918 recover(input,re);
919 appendSkippedTokens();
920 }
921 finally {
922 }
923 return current;
924 }
925 // $ANTLR end "entryRuleEnumDeclaration"
926
927
928 // $ANTLR start "ruleEnumDeclaration"
929 // InternalProblem.g:346:1: ruleEnumDeclaration returns [EObject current=null] : (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) ) ;
930 public final EObject ruleEnumDeclaration() throws RecognitionException {
931 EObject current = null;
932
933 Token otherlv_0=null;
934 Token otherlv_2=null;
935 Token otherlv_4=null;
936 Token otherlv_6=null;
937 Token otherlv_7=null;
938 Token otherlv_8=null;
939 Token otherlv_9=null;
940 AntlrDatatypeRuleToken lv_name_1_0 = null;
941
942 EObject lv_literals_3_0 = null;
943
944 EObject lv_literals_5_0 = null;
945
946
947
948 enterRule();
949
950 try {
951 // InternalProblem.g:352:2: ( (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) ) )
952 // InternalProblem.g:353:2: (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) )
953 {
954 // InternalProblem.g:353:2: (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) )
955 // InternalProblem.g:354:3: otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' )
956 {
957 otherlv_0=(Token)match(input,21,FOLLOW_3);
958
959 newLeafNode(otherlv_0, grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0());
960
961 // InternalProblem.g:358:3: ( (lv_name_1_0= ruleIdentifier ) )
962 // InternalProblem.g:359:4: (lv_name_1_0= ruleIdentifier )
963 {
964 // InternalProblem.g:359:4: (lv_name_1_0= ruleIdentifier )
965 // InternalProblem.g:360:5: lv_name_1_0= ruleIdentifier
966 {
967
968 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getNameIdentifierParserRuleCall_1_0());
969
970 pushFollow(FOLLOW_12);
971 lv_name_1_0=ruleIdentifier();
972
973 state._fsp--;
974
975
976 if (current==null) {
977 current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
978 }
979 set(
980 current,
981 "name",
982 lv_name_1_0,
983 "org.eclipse.viatra.solver.language.Problem.Identifier");
984 afterParserOrEnumRuleCall();
985
986
987 }
988
989
990 }
991
992 // InternalProblem.g:377:3: ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' )
993 int alt13=2;
994 int LA13_0 = input.LA(1);
995
996 if ( (LA13_0==18) ) {
997 alt13=1;
998 }
999 else if ( (LA13_0==13) ) {
1000 alt13=2;
1001 }
1002 else {
1003 NoViableAltException nvae =
1004 new NoViableAltException("", 13, 0, input);
1005
1006 throw nvae;
1007 }
1008 switch (alt13) {
1009 case 1 :
1010 // InternalProblem.g:378:4: (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' )
1011 {
1012 // InternalProblem.g:378:4: (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' )
1013 // InternalProblem.g:379:5: otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}'
1014 {
1015 otherlv_2=(Token)match(input,18,FOLLOW_13);
1016
1017 newLeafNode(otherlv_2, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0());
1018
1019 // InternalProblem.g:383:5: ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )?
1020 int alt12=2;
1021 int LA12_0 = input.LA(1);
1022
1023 if ( (LA12_0==RULE_ID||LA12_0==RULE_QUOTED_ID||(LA12_0>=40 && LA12_0<=41)) ) {
1024 alt12=1;
1025 }
1026 switch (alt12) {
1027 case 1 :
1028 // InternalProblem.g:384:6: ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )?
1029 {
1030 // InternalProblem.g:384:6: ( (lv_literals_3_0= ruleEnumLiteral ) )
1031 // InternalProblem.g:385:7: (lv_literals_3_0= ruleEnumLiteral )
1032 {
1033 // InternalProblem.g:385:7: (lv_literals_3_0= ruleEnumLiteral )
1034 // InternalProblem.g:386:8: lv_literals_3_0= ruleEnumLiteral
1035 {
1036
1037 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0());
1038
1039 pushFollow(FOLLOW_14);
1040 lv_literals_3_0=ruleEnumLiteral();
1041
1042 state._fsp--;
1043
1044
1045 if (current==null) {
1046 current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
1047 }
1048 add(
1049 current,
1050 "literals",
1051 lv_literals_3_0,
1052 "org.eclipse.viatra.solver.language.Problem.EnumLiteral");
1053 afterParserOrEnumRuleCall();
1054
1055
1056 }
1057
1058
1059 }
1060
1061 // InternalProblem.g:403:6: (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )*
1062 loop10:
1063 do {
1064 int alt10=2;
1065 int LA10_0 = input.LA(1);
1066
1067 if ( (LA10_0==17) ) {
1068 int LA10_1 = input.LA(2);
1069
1070 if ( (LA10_1==RULE_ID||LA10_1==RULE_QUOTED_ID||(LA10_1>=40 && LA10_1<=41)) ) {
1071 alt10=1;
1072 }
1073
1074
1075 }
1076
1077
1078 switch (alt10) {
1079 case 1 :
1080 // InternalProblem.g:404:7: otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) )
1081 {
1082 otherlv_4=(Token)match(input,17,FOLLOW_8);
1083
1084 newLeafNode(otherlv_4, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0());
1085
1086 // InternalProblem.g:408:7: ( (lv_literals_5_0= ruleEnumLiteral ) )
1087 // InternalProblem.g:409:8: (lv_literals_5_0= ruleEnumLiteral )
1088 {
1089 // InternalProblem.g:409:8: (lv_literals_5_0= ruleEnumLiteral )
1090 // InternalProblem.g:410:9: lv_literals_5_0= ruleEnumLiteral
1091 {
1092
1093 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0());
1094
1095 pushFollow(FOLLOW_14);
1096 lv_literals_5_0=ruleEnumLiteral();
1097
1098 state._fsp--;
1099
1100
1101 if (current==null) {
1102 current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
1103 }
1104 add(
1105 current,
1106 "literals",
1107 lv_literals_5_0,
1108 "org.eclipse.viatra.solver.language.Problem.EnumLiteral");
1109 afterParserOrEnumRuleCall();
1110
1111
1112 }
1113
1114
1115 }
1116
1117
1118 }
1119 break;
1120
1121 default :
1122 break loop10;
1123 }
1124 } while (true);
1125
1126 // InternalProblem.g:428:6: (otherlv_6= ',' | otherlv_7= ';' )?
1127 int alt11=3;
1128 int LA11_0 = input.LA(1);
1129
1130 if ( (LA11_0==17) ) {
1131 alt11=1;
1132 }
1133 else if ( (LA11_0==19) ) {
1134 alt11=2;
1135 }
1136 switch (alt11) {
1137 case 1 :
1138 // InternalProblem.g:429:7: otherlv_6= ','
1139 {
1140 otherlv_6=(Token)match(input,17,FOLLOW_15);
1141
1142 newLeafNode(otherlv_6, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0());
1143
1144
1145 }
1146 break;
1147 case 2 :
1148 // InternalProblem.g:434:7: otherlv_7= ';'
1149 {
1150 otherlv_7=(Token)match(input,19,FOLLOW_15);
1151
1152 newLeafNode(otherlv_7, grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1());
1153
1154
1155 }
1156 break;
1157
1158 }
1159
1160
1161 }
1162 break;
1163
1164 }
1165
1166 otherlv_8=(Token)match(input,20,FOLLOW_2);
1167
1168 newLeafNode(otherlv_8, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2());
1169
1170
1171 }
1172
1173
1174 }
1175 break;
1176 case 2 :
1177 // InternalProblem.g:446:4: otherlv_9= '.'
1178 {
1179 otherlv_9=(Token)match(input,13,FOLLOW_2);
1180
1181 newLeafNode(otherlv_9, grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1());
1182
1183
1184 }
1185 break;
1186
1187 }
1188
1189
1190 }
1191
1192
1193 }
1194
1195
1196 leaveRule();
1197
1198 }
1199
1200 catch (RecognitionException re) {
1201 recover(input,re);
1202 appendSkippedTokens();
1203 }
1204 finally {
1205 }
1206 return current;
1207 }
1208 // $ANTLR end "ruleEnumDeclaration"
1209
1210
1211 // $ANTLR start "entryRuleEnumLiteral"
1212 // InternalProblem.g:455:1: entryRuleEnumLiteral returns [EObject current=null] : iv_ruleEnumLiteral= ruleEnumLiteral EOF ;
1213 public final EObject entryRuleEnumLiteral() throws RecognitionException {
1214 EObject current = null;
1215
1216 EObject iv_ruleEnumLiteral = null;
1217
1218
1219 try {
1220 // InternalProblem.g:455:52: (iv_ruleEnumLiteral= ruleEnumLiteral EOF )
1221 // InternalProblem.g:456:2: iv_ruleEnumLiteral= ruleEnumLiteral EOF
1222 {
1223 newCompositeNode(grammarAccess.getEnumLiteralRule());
1224 pushFollow(FOLLOW_1);
1225 iv_ruleEnumLiteral=ruleEnumLiteral();
1226
1227 state._fsp--;
1228
1229 current =iv_ruleEnumLiteral;
1230 match(input,EOF,FOLLOW_2);
1231
1232 }
1233
1234 }
1235
1236 catch (RecognitionException re) {
1237 recover(input,re);
1238 appendSkippedTokens();
1239 }
1240 finally {
1241 }
1242 return current;
1243 }
1244 // $ANTLR end "entryRuleEnumLiteral"
1245
1246
1247 // $ANTLR start "ruleEnumLiteral"
1248 // InternalProblem.g:462:1: ruleEnumLiteral returns [EObject current=null] : ( (lv_name_0_0= ruleQuotedOrUnquotedId ) ) ;
1249 public final EObject ruleEnumLiteral() throws RecognitionException {
1250 EObject current = null;
1251
1252 AntlrDatatypeRuleToken lv_name_0_0 = null;
1253
1254
1255
1256 enterRule();
1257
1258 try {
1259 // InternalProblem.g:468:2: ( ( (lv_name_0_0= ruleQuotedOrUnquotedId ) ) )
1260 // InternalProblem.g:469:2: ( (lv_name_0_0= ruleQuotedOrUnquotedId ) )
1261 {
1262 // InternalProblem.g:469:2: ( (lv_name_0_0= ruleQuotedOrUnquotedId ) )
1263 // InternalProblem.g:470:3: (lv_name_0_0= ruleQuotedOrUnquotedId )
1264 {
1265 // InternalProblem.g:470:3: (lv_name_0_0= ruleQuotedOrUnquotedId )
1266 // InternalProblem.g:471:4: lv_name_0_0= ruleQuotedOrUnquotedId
1267 {
1268
1269 newCompositeNode(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0());
1270
1271 pushFollow(FOLLOW_2);
1272 lv_name_0_0=ruleQuotedOrUnquotedId();
1273
1274 state._fsp--;
1275
1276
1277 if (current==null) {
1278 current = createModelElementForParent(grammarAccess.getEnumLiteralRule());
1279 }
1280 set(
1281 current,
1282 "name",
1283 lv_name_0_0,
1284 "org.eclipse.viatra.solver.language.Problem.QuotedOrUnquotedId");
1285 afterParserOrEnumRuleCall();
1286
1287
1288 }
1289
1290
1291 }
1292
1293
1294 }
1295
1296
1297 leaveRule();
1298
1299 }
1300
1301 catch (RecognitionException re) {
1302 recover(input,re);
1303 appendSkippedTokens();
1304 }
1305 finally {
1306 }
1307 return current;
1308 }
1309 // $ANTLR end "ruleEnumLiteral"
1310
1311
1312 // $ANTLR start "entryRuleReferenceDeclaration"
1313 // InternalProblem.g:491:1: entryRuleReferenceDeclaration returns [EObject current=null] : iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ;
1314 public final EObject entryRuleReferenceDeclaration() throws RecognitionException {
1315 EObject current = null;
1316
1317 EObject iv_ruleReferenceDeclaration = null;
1318
1319
1320 try {
1321 // InternalProblem.g:491:61: (iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF )
1322 // InternalProblem.g:492:2: iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF
1323 {
1324 newCompositeNode(grammarAccess.getReferenceDeclarationRule());
1325 pushFollow(FOLLOW_1);
1326 iv_ruleReferenceDeclaration=ruleReferenceDeclaration();
1327
1328 state._fsp--;
1329
1330 current =iv_ruleReferenceDeclaration;
1331 match(input,EOF,FOLLOW_2);
1332
1333 }
1334
1335 }
1336
1337 catch (RecognitionException re) {
1338 recover(input,re);
1339 appendSkippedTokens();
1340 }
1341 finally {
1342 }
1343 return current;
1344 }
1345 // $ANTLR end "entryRuleReferenceDeclaration"
1346
1347
1348 // $ANTLR start "ruleReferenceDeclaration"
1349 // InternalProblem.g:498:1: ruleReferenceDeclaration returns [EObject current=null] : ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) ;
1350 public final EObject ruleReferenceDeclaration() throws RecognitionException {
1351 EObject current = null;
1352
1353 Token lv_containment_0_0=null;
1354 Token otherlv_1=null;
1355 Token otherlv_3=null;
1356 Token otherlv_5=null;
1357 Token otherlv_7=null;
1358 EObject lv_multiplicity_4_0 = null;
1359
1360 AntlrDatatypeRuleToken lv_name_6_0 = null;
1361
1362
1363
1364 enterRule();
1365
1366 try {
1367 // InternalProblem.g:504:2: ( ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) )
1368 // InternalProblem.g:505:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? )
1369 {
1370 // InternalProblem.g:505:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? )
1371 // InternalProblem.g:506:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )?
1372 {
1373 // InternalProblem.g:506:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )?
1374 int alt14=3;
1375 int LA14_0 = input.LA(1);
1376
1377 if ( (LA14_0==22) ) {
1378 alt14=1;
1379 }
1380 else if ( (LA14_0==23) ) {
1381 alt14=2;
1382 }
1383 switch (alt14) {
1384 case 1 :
1385 // InternalProblem.g:507:4: ( (lv_containment_0_0= 'contains' ) )
1386 {
1387 // InternalProblem.g:507:4: ( (lv_containment_0_0= 'contains' ) )
1388 // InternalProblem.g:508:5: (lv_containment_0_0= 'contains' )
1389 {
1390 // InternalProblem.g:508:5: (lv_containment_0_0= 'contains' )
1391 // InternalProblem.g:509:6: lv_containment_0_0= 'contains'
1392 {
1393 lv_containment_0_0=(Token)match(input,22,FOLLOW_8);
1394
1395 newLeafNode(lv_containment_0_0, grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
1396
1397
1398 if (current==null) {
1399 current = createModelElement(grammarAccess.getReferenceDeclarationRule());
1400 }
1401 setWithLastConsumed(current, "containment", lv_containment_0_0 != null, "contains");
1402
1403
1404 }
1405
1406
1407 }
1408
1409
1410 }
1411 break;
1412 case 2 :
1413 // InternalProblem.g:522:4: otherlv_1= 'refers'
1414 {
1415 otherlv_1=(Token)match(input,23,FOLLOW_8);
1416
1417 newLeafNode(otherlv_1, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
1418
1419
1420 }
1421 break;
1422
1423 }
1424
1425 // InternalProblem.g:527:3: ( ( ruleQualifiedName ) )
1426 // InternalProblem.g:528:4: ( ruleQualifiedName )
1427 {
1428 // InternalProblem.g:528:4: ( ruleQualifiedName )
1429 // InternalProblem.g:529:5: ruleQualifiedName
1430 {
1431
1432 if (current==null) {
1433 current = createModelElement(grammarAccess.getReferenceDeclarationRule());
1434 }
1435
1436
1437 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0());
1438
1439 pushFollow(FOLLOW_16);
1440 ruleQualifiedName();
1441
1442 state._fsp--;
1443
1444
1445 afterParserOrEnumRuleCall();
1446
1447
1448 }
1449
1450
1451 }
1452
1453 // InternalProblem.g:543:3: (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )?
1454 int alt15=2;
1455 int LA15_0 = input.LA(1);
1456
1457 if ( (LA15_0==24) ) {
1458 alt15=1;
1459 }
1460 switch (alt15) {
1461 case 1 :
1462 // InternalProblem.g:544:4: otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']'
1463 {
1464 otherlv_3=(Token)match(input,24,FOLLOW_17);
1465
1466 newLeafNode(otherlv_3, grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0());
1467
1468 // InternalProblem.g:548:4: ( (lv_multiplicity_4_0= ruleMultiplicity ) )
1469 // InternalProblem.g:549:5: (lv_multiplicity_4_0= ruleMultiplicity )
1470 {
1471 // InternalProblem.g:549:5: (lv_multiplicity_4_0= ruleMultiplicity )
1472 // InternalProblem.g:550:6: lv_multiplicity_4_0= ruleMultiplicity
1473 {
1474
1475 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0());
1476
1477 pushFollow(FOLLOW_18);
1478 lv_multiplicity_4_0=ruleMultiplicity();
1479
1480 state._fsp--;
1481
1482
1483 if (current==null) {
1484 current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule());
1485 }
1486 set(
1487 current,
1488 "multiplicity",
1489 lv_multiplicity_4_0,
1490 "org.eclipse.viatra.solver.language.Problem.Multiplicity");
1491 afterParserOrEnumRuleCall();
1492
1493
1494 }
1495
1496
1497 }
1498
1499 otherlv_5=(Token)match(input,25,FOLLOW_3);
1500
1501 newLeafNode(otherlv_5, grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2());
1502
1503
1504 }
1505 break;
1506
1507 }
1508
1509 // InternalProblem.g:572:3: ( (lv_name_6_0= ruleIdentifier ) )
1510 // InternalProblem.g:573:4: (lv_name_6_0= ruleIdentifier )
1511 {
1512 // InternalProblem.g:573:4: (lv_name_6_0= ruleIdentifier )
1513 // InternalProblem.g:574:5: lv_name_6_0= ruleIdentifier
1514 {
1515
1516 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0());
1517
1518 pushFollow(FOLLOW_19);
1519 lv_name_6_0=ruleIdentifier();
1520
1521 state._fsp--;
1522
1523
1524 if (current==null) {
1525 current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule());
1526 }
1527 set(
1528 current,
1529 "name",
1530 lv_name_6_0,
1531 "org.eclipse.viatra.solver.language.Problem.Identifier");
1532 afterParserOrEnumRuleCall();
1533
1534
1535 }
1536
1537
1538 }
1539
1540 // InternalProblem.g:591:3: (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )?
1541 int alt16=2;
1542 int LA16_0 = input.LA(1);
1543
1544 if ( (LA16_0==26) ) {
1545 alt16=1;
1546 }
1547 switch (alt16) {
1548 case 1 :
1549 // InternalProblem.g:592:4: otherlv_7= 'opposite' ( ( ruleQualifiedName ) )
1550 {
1551 otherlv_7=(Token)match(input,26,FOLLOW_8);
1552
1553 newLeafNode(otherlv_7, grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0());
1554
1555 // InternalProblem.g:596:4: ( ( ruleQualifiedName ) )
1556 // InternalProblem.g:597:5: ( ruleQualifiedName )
1557 {
1558 // InternalProblem.g:597:5: ( ruleQualifiedName )
1559 // InternalProblem.g:598:6: ruleQualifiedName
1560 {
1561
1562 if (current==null) {
1563 current = createModelElement(grammarAccess.getReferenceDeclarationRule());
1564 }
1565
1566
1567 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0());
1568
1569 pushFollow(FOLLOW_2);
1570 ruleQualifiedName();
1571
1572 state._fsp--;
1573
1574
1575 afterParserOrEnumRuleCall();
1576
1577
1578 }
1579
1580
1581 }
1582
1583
1584 }
1585 break;
1586
1587 }
1588
1589
1590 }
1591
1592
1593 }
1594
1595
1596 leaveRule();
1597
1598 }
1599
1600 catch (RecognitionException re) {
1601 recover(input,re);
1602 appendSkippedTokens();
1603 }
1604 finally {
1605 }
1606 return current;
1607 }
1608 // $ANTLR end "ruleReferenceDeclaration"
1609
1610
1611 // $ANTLR start "entryRulePredicateDefinition"
1612 // InternalProblem.g:617:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ;
1613 public final EObject entryRulePredicateDefinition() throws RecognitionException {
1614 EObject current = null;
1615
1616 EObject iv_rulePredicateDefinition = null;
1617
1618
1619 try {
1620 // InternalProblem.g:617:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF )
1621 // InternalProblem.g:618:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF
1622 {
1623 newCompositeNode(grammarAccess.getPredicateDefinitionRule());
1624 pushFollow(FOLLOW_1);
1625 iv_rulePredicateDefinition=rulePredicateDefinition();
1626
1627 state._fsp--;
1628
1629 current =iv_rulePredicateDefinition;
1630 match(input,EOF,FOLLOW_2);
1631
1632 }
1633
1634 }
1635
1636 catch (RecognitionException re) {
1637 recover(input,re);
1638 appendSkippedTokens();
1639 }
1640 finally {
1641 }
1642 return current;
1643 }
1644 // $ANTLR end "entryRulePredicateDefinition"
1645
1646
1647 // $ANTLR start "rulePredicateDefinition"
1648 // InternalProblem.g:624:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) ;
1649 public final EObject rulePredicateDefinition() throws RecognitionException {
1650 EObject current = null;
1651
1652 Token lv_error_0_0=null;
1653 Token otherlv_1=null;
1654 Token otherlv_2=null;
1655 Token otherlv_4=null;
1656 Token otherlv_6=null;
1657 Token otherlv_8=null;
1658 Token otherlv_9=null;
1659 Token otherlv_11=null;
1660 Token otherlv_13=null;
1661 AntlrDatatypeRuleToken lv_name_3_0 = null;
1662
1663 EObject lv_parameters_5_0 = null;
1664
1665 EObject lv_parameters_7_0 = null;
1666
1667 EObject lv_bodies_10_0 = null;
1668
1669 EObject lv_bodies_12_0 = null;
1670
1671
1672
1673 enterRule();
1674
1675 try {
1676 // InternalProblem.g:630:2: ( ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) )
1677 // InternalProblem.g:631:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' )
1678 {
1679 // InternalProblem.g:631:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' )
1680 // InternalProblem.g:632:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.'
1681 {
1682 // InternalProblem.g:632:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' )
1683 int alt18=2;
1684 int LA18_0 = input.LA(1);
1685
1686 if ( (LA18_0==27) ) {
1687 alt18=1;
1688 }
1689 else if ( (LA18_0==28) ) {
1690 alt18=2;
1691 }
1692 else {
1693 NoViableAltException nvae =
1694 new NoViableAltException("", 18, 0, input);
1695
1696 throw nvae;
1697 }
1698 switch (alt18) {
1699 case 1 :
1700 // InternalProblem.g:633:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? )
1701 {
1702 // InternalProblem.g:633:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? )
1703 // InternalProblem.g:634:5: ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )?
1704 {
1705 // InternalProblem.g:634:5: ( (lv_error_0_0= 'error' ) )
1706 // InternalProblem.g:635:6: (lv_error_0_0= 'error' )
1707 {
1708 // InternalProblem.g:635:6: (lv_error_0_0= 'error' )
1709 // InternalProblem.g:636:7: lv_error_0_0= 'error'
1710 {
1711 lv_error_0_0=(Token)match(input,27,FOLLOW_20);
1712
1713 newLeafNode(lv_error_0_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
1714
1715
1716 if (current==null) {
1717 current = createModelElement(grammarAccess.getPredicateDefinitionRule());
1718 }
1719 setWithLastConsumed(current, "error", lv_error_0_0 != null, "error");
1720
1721
1722 }
1723
1724
1725 }
1726
1727 // InternalProblem.g:648:5: (otherlv_1= 'pred' )?
1728 int alt17=2;
1729 int LA17_0 = input.LA(1);
1730
1731 if ( (LA17_0==28) ) {
1732 alt17=1;
1733 }
1734 switch (alt17) {
1735 case 1 :
1736 // InternalProblem.g:649:6: otherlv_1= 'pred'
1737 {
1738 otherlv_1=(Token)match(input,28,FOLLOW_3);
1739
1740 newLeafNode(otherlv_1, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1());
1741
1742
1743 }
1744 break;
1745
1746 }
1747
1748
1749 }
1750
1751
1752 }
1753 break;
1754 case 2 :
1755 // InternalProblem.g:656:4: otherlv_2= 'pred'
1756 {
1757 otherlv_2=(Token)match(input,28,FOLLOW_3);
1758
1759 newLeafNode(otherlv_2, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1());
1760
1761
1762 }
1763 break;
1764
1765 }
1766
1767 // InternalProblem.g:661:3: ( (lv_name_3_0= ruleIdentifier ) )
1768 // InternalProblem.g:662:4: (lv_name_3_0= ruleIdentifier )
1769 {
1770 // InternalProblem.g:662:4: (lv_name_3_0= ruleIdentifier )
1771 // InternalProblem.g:663:5: lv_name_3_0= ruleIdentifier
1772 {
1773
1774 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0());
1775
1776 pushFollow(FOLLOW_21);
1777 lv_name_3_0=ruleIdentifier();
1778
1779 state._fsp--;
1780
1781
1782 if (current==null) {
1783 current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
1784 }
1785 set(
1786 current,
1787 "name",
1788 lv_name_3_0,
1789 "org.eclipse.viatra.solver.language.Problem.Identifier");
1790 afterParserOrEnumRuleCall();
1791
1792
1793 }
1794
1795
1796 }
1797
1798 otherlv_4=(Token)match(input,29,FOLLOW_22);
1799
1800 newLeafNode(otherlv_4, grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2());
1801
1802 // InternalProblem.g:684:3: ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )?
1803 int alt20=2;
1804 int LA20_0 = input.LA(1);
1805
1806 if ( (LA20_0==RULE_ID||LA20_0==RULE_QUOTED_ID||(LA20_0>=40 && LA20_0<=41)) ) {
1807 alt20=1;
1808 }
1809 switch (alt20) {
1810 case 1 :
1811 // InternalProblem.g:685:4: ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )*
1812 {
1813 // InternalProblem.g:685:4: ( (lv_parameters_5_0= ruleParameter ) )
1814 // InternalProblem.g:686:5: (lv_parameters_5_0= ruleParameter )
1815 {
1816 // InternalProblem.g:686:5: (lv_parameters_5_0= ruleParameter )
1817 // InternalProblem.g:687:6: lv_parameters_5_0= ruleParameter
1818 {
1819
1820 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0());
1821
1822 pushFollow(FOLLOW_23);
1823 lv_parameters_5_0=ruleParameter();
1824
1825 state._fsp--;
1826
1827
1828 if (current==null) {
1829 current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
1830 }
1831 add(
1832 current,
1833 "parameters",
1834 lv_parameters_5_0,
1835 "org.eclipse.viatra.solver.language.Problem.Parameter");
1836 afterParserOrEnumRuleCall();
1837
1838
1839 }
1840
1841
1842 }
1843
1844 // InternalProblem.g:704:4: (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )*
1845 loop19:
1846 do {
1847 int alt19=2;
1848 int LA19_0 = input.LA(1);
1849
1850 if ( (LA19_0==17) ) {
1851 alt19=1;
1852 }
1853
1854
1855 switch (alt19) {
1856 case 1 :
1857 // InternalProblem.g:705:5: otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) )
1858 {
1859 otherlv_6=(Token)match(input,17,FOLLOW_8);
1860
1861 newLeafNode(otherlv_6, grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0());
1862
1863 // InternalProblem.g:709:5: ( (lv_parameters_7_0= ruleParameter ) )
1864 // InternalProblem.g:710:6: (lv_parameters_7_0= ruleParameter )
1865 {
1866 // InternalProblem.g:710:6: (lv_parameters_7_0= ruleParameter )
1867 // InternalProblem.g:711:7: lv_parameters_7_0= ruleParameter
1868 {
1869
1870 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0());
1871
1872 pushFollow(FOLLOW_23);
1873 lv_parameters_7_0=ruleParameter();
1874
1875 state._fsp--;
1876
1877
1878 if (current==null) {
1879 current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
1880 }
1881 add(
1882 current,
1883 "parameters",
1884 lv_parameters_7_0,
1885 "org.eclipse.viatra.solver.language.Problem.Parameter");
1886 afterParserOrEnumRuleCall();
1887
1888
1889 }
1890
1891
1892 }
1893
1894
1895 }
1896 break;
1897
1898 default :
1899 break loop19;
1900 }
1901 } while (true);
1902
1903
1904 }
1905 break;
1906
1907 }
1908
1909 otherlv_8=(Token)match(input,30,FOLLOW_24);
1910
1911 newLeafNode(otherlv_8, grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4());
1912
1913 // InternalProblem.g:734:3: (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )?
1914 int alt22=2;
1915 int LA22_0 = input.LA(1);
1916
1917 if ( (LA22_0==31) ) {
1918 alt22=1;
1919 }
1920 switch (alt22) {
1921 case 1 :
1922 // InternalProblem.g:735:4: otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )*
1923 {
1924 otherlv_9=(Token)match(input,31,FOLLOW_25);
1925
1926 newLeafNode(otherlv_9, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0());
1927
1928 // InternalProblem.g:739:4: ( (lv_bodies_10_0= ruleConjunction ) )
1929 // InternalProblem.g:740:5: (lv_bodies_10_0= ruleConjunction )
1930 {
1931 // InternalProblem.g:740:5: (lv_bodies_10_0= ruleConjunction )
1932 // InternalProblem.g:741:6: lv_bodies_10_0= ruleConjunction
1933 {
1934
1935 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0());
1936
1937 pushFollow(FOLLOW_26);
1938 lv_bodies_10_0=ruleConjunction();
1939
1940 state._fsp--;
1941
1942
1943 if (current==null) {
1944 current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
1945 }
1946 add(
1947 current,
1948 "bodies",
1949 lv_bodies_10_0,
1950 "org.eclipse.viatra.solver.language.Problem.Conjunction");
1951 afterParserOrEnumRuleCall();
1952
1953
1954 }
1955
1956
1957 }
1958
1959 // InternalProblem.g:758:4: (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )*
1960 loop21:
1961 do {
1962 int alt21=2;
1963 int LA21_0 = input.LA(1);
1964
1965 if ( (LA21_0==19) ) {
1966 alt21=1;
1967 }
1968
1969
1970 switch (alt21) {
1971 case 1 :
1972 // InternalProblem.g:759:5: otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) )
1973 {
1974 otherlv_11=(Token)match(input,19,FOLLOW_25);
1975
1976 newLeafNode(otherlv_11, grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0());
1977
1978 // InternalProblem.g:763:5: ( (lv_bodies_12_0= ruleConjunction ) )
1979 // InternalProblem.g:764:6: (lv_bodies_12_0= ruleConjunction )
1980 {
1981 // InternalProblem.g:764:6: (lv_bodies_12_0= ruleConjunction )
1982 // InternalProblem.g:765:7: lv_bodies_12_0= ruleConjunction
1983 {
1984
1985 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0());
1986
1987 pushFollow(FOLLOW_26);
1988 lv_bodies_12_0=ruleConjunction();
1989
1990 state._fsp--;
1991
1992
1993 if (current==null) {
1994 current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
1995 }
1996 add(
1997 current,
1998 "bodies",
1999 lv_bodies_12_0,
2000 "org.eclipse.viatra.solver.language.Problem.Conjunction");
2001 afterParserOrEnumRuleCall();
2002
2003
2004 }
2005
2006
2007 }
2008
2009
2010 }
2011 break;
2012
2013 default :
2014 break loop21;
2015 }
2016 } while (true);
2017
2018
2019 }
2020 break;
2021
2022 }
2023
2024 otherlv_13=(Token)match(input,13,FOLLOW_2);
2025
2026 newLeafNode(otherlv_13, grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6());
2027
2028
2029 }
2030
2031
2032 }
2033
2034
2035 leaveRule();
2036
2037 }
2038
2039 catch (RecognitionException re) {
2040 recover(input,re);
2041 appendSkippedTokens();
2042 }
2043 finally {
2044 }
2045 return current;
2046 }
2047 // $ANTLR end "rulePredicateDefinition"
2048
2049
2050 // $ANTLR start "entryRuleParameter"
2051 // InternalProblem.g:792:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
2052 public final EObject entryRuleParameter() throws RecognitionException {
2053 EObject current = null;
2054
2055 EObject iv_ruleParameter = null;
2056
2057
2058 try {
2059 // InternalProblem.g:792:50: (iv_ruleParameter= ruleParameter EOF )
2060 // InternalProblem.g:793:2: iv_ruleParameter= ruleParameter EOF
2061 {
2062 newCompositeNode(grammarAccess.getParameterRule());
2063 pushFollow(FOLLOW_1);
2064 iv_ruleParameter=ruleParameter();
2065
2066 state._fsp--;
2067
2068 current =iv_ruleParameter;
2069 match(input,EOF,FOLLOW_2);
2070
2071 }
2072
2073 }
2074
2075 catch (RecognitionException re) {
2076 recover(input,re);
2077 appendSkippedTokens();
2078 }
2079 finally {
2080 }
2081 return current;
2082 }
2083 // $ANTLR end "entryRuleParameter"
2084
2085
2086 // $ANTLR start "ruleParameter"
2087 // InternalProblem.g:799:1: ruleParameter returns [EObject current=null] : ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) ) ;
2088 public final EObject ruleParameter() throws RecognitionException {
2089 EObject current = null;
2090
2091 AntlrDatatypeRuleToken lv_name_1_0 = null;
2092
2093
2094
2095 enterRule();
2096
2097 try {
2098 // InternalProblem.g:805:2: ( ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) ) )
2099 // InternalProblem.g:806:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) )
2100 {
2101 // InternalProblem.g:806:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) )
2102 // InternalProblem.g:807:3: ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) )
2103 {
2104 // InternalProblem.g:807:3: ( ( ruleQualifiedName ) )?
2105 int alt23=2;
2106 switch ( input.LA(1) ) {
2107 case RULE_QUOTED_ID:
2108 {
2109 alt23=1;
2110 }
2111 break;
2112 case RULE_ID:
2113 {
2114 int LA23_2 = input.LA(2);
2115
2116 if ( (LA23_2==RULE_ID||LA23_2==34||(LA23_2>=40 && LA23_2<=41)) ) {
2117 alt23=1;
2118 }
2119 }
2120 break;
2121 case 40:
2122 {
2123 int LA23_3 = input.LA(2);
2124
2125 if ( (LA23_3==RULE_ID||LA23_3==34||(LA23_3>=40 && LA23_3<=41)) ) {
2126 alt23=1;
2127 }
2128 }
2129 break;
2130 case 41:
2131 {
2132 int LA23_4 = input.LA(2);
2133
2134 if ( (LA23_4==RULE_ID||LA23_4==34||(LA23_4>=40 && LA23_4<=41)) ) {
2135 alt23=1;
2136 }
2137 }
2138 break;
2139 }
2140
2141 switch (alt23) {
2142 case 1 :
2143 // InternalProblem.g:808:4: ( ruleQualifiedName )
2144 {
2145 // InternalProblem.g:808:4: ( ruleQualifiedName )
2146 // InternalProblem.g:809:5: ruleQualifiedName
2147 {
2148
2149 if (current==null) {
2150 current = createModelElement(grammarAccess.getParameterRule());
2151 }
2152
2153
2154 newCompositeNode(grammarAccess.getParameterAccess().getParameterTypeRelationCrossReference_0_0());
2155
2156 pushFollow(FOLLOW_3);
2157 ruleQualifiedName();
2158
2159 state._fsp--;
2160
2161
2162 afterParserOrEnumRuleCall();
2163
2164
2165 }
2166
2167
2168 }
2169 break;
2170
2171 }
2172
2173 // InternalProblem.g:823:3: ( (lv_name_1_0= ruleIdentifier ) )
2174 // InternalProblem.g:824:4: (lv_name_1_0= ruleIdentifier )
2175 {
2176 // InternalProblem.g:824:4: (lv_name_1_0= ruleIdentifier )
2177 // InternalProblem.g:825:5: lv_name_1_0= ruleIdentifier
2178 {
2179
2180 newCompositeNode(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0());
2181
2182 pushFollow(FOLLOW_2);
2183 lv_name_1_0=ruleIdentifier();
2184
2185 state._fsp--;
2186
2187
2188 if (current==null) {
2189 current = createModelElementForParent(grammarAccess.getParameterRule());
2190 }
2191 set(
2192 current,
2193 "name",
2194 lv_name_1_0,
2195 "org.eclipse.viatra.solver.language.Problem.Identifier");
2196 afterParserOrEnumRuleCall();
2197
2198
2199 }
2200
2201
2202 }
2203
2204
2205 }
2206
2207
2208 }
2209
2210
2211 leaveRule();
2212
2213 }
2214
2215 catch (RecognitionException re) {
2216 recover(input,re);
2217 appendSkippedTokens();
2218 }
2219 finally {
2220 }
2221 return current;
2222 }
2223 // $ANTLR end "ruleParameter"
2224
2225
2226 // $ANTLR start "entryRuleConjunction"
2227 // InternalProblem.g:846:1: entryRuleConjunction returns [EObject current=null] : iv_ruleConjunction= ruleConjunction EOF ;
2228 public final EObject entryRuleConjunction() throws RecognitionException {
2229 EObject current = null;
2230
2231 EObject iv_ruleConjunction = null;
2232
2233
2234 try {
2235 // InternalProblem.g:846:52: (iv_ruleConjunction= ruleConjunction EOF )
2236 // InternalProblem.g:847:2: iv_ruleConjunction= ruleConjunction EOF
2237 {
2238 newCompositeNode(grammarAccess.getConjunctionRule());
2239 pushFollow(FOLLOW_1);
2240 iv_ruleConjunction=ruleConjunction();
2241
2242 state._fsp--;
2243
2244 current =iv_ruleConjunction;
2245 match(input,EOF,FOLLOW_2);
2246
2247 }
2248
2249 }
2250
2251 catch (RecognitionException re) {
2252 recover(input,re);
2253 appendSkippedTokens();
2254 }
2255 finally {
2256 }
2257 return current;
2258 }
2259 // $ANTLR end "entryRuleConjunction"
2260
2261
2262 // $ANTLR start "ruleConjunction"
2263 // InternalProblem.g:853:1: ruleConjunction returns [EObject current=null] : ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ;
2264 public final EObject ruleConjunction() throws RecognitionException {
2265 EObject current = null;
2266
2267 Token otherlv_1=null;
2268 EObject lv_literals_0_0 = null;
2269
2270 EObject lv_literals_2_0 = null;
2271
2272
2273
2274 enterRule();
2275
2276 try {
2277 // InternalProblem.g:859:2: ( ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) )
2278 // InternalProblem.g:860:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* )
2279 {
2280 // InternalProblem.g:860:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* )
2281 // InternalProblem.g:861:3: ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )*
2282 {
2283 // InternalProblem.g:861:3: ( (lv_literals_0_0= ruleLiteral ) )
2284 // InternalProblem.g:862:4: (lv_literals_0_0= ruleLiteral )
2285 {
2286 // InternalProblem.g:862:4: (lv_literals_0_0= ruleLiteral )
2287 // InternalProblem.g:863:5: lv_literals_0_0= ruleLiteral
2288 {
2289
2290 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0());
2291
2292 pushFollow(FOLLOW_27);
2293 lv_literals_0_0=ruleLiteral();
2294
2295 state._fsp--;
2296
2297
2298 if (current==null) {
2299 current = createModelElementForParent(grammarAccess.getConjunctionRule());
2300 }
2301 add(
2302 current,
2303 "literals",
2304 lv_literals_0_0,
2305 "org.eclipse.viatra.solver.language.Problem.Literal");
2306 afterParserOrEnumRuleCall();
2307
2308
2309 }
2310
2311
2312 }
2313
2314 // InternalProblem.g:880:3: (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )*
2315 loop24:
2316 do {
2317 int alt24=2;
2318 int LA24_0 = input.LA(1);
2319
2320 if ( (LA24_0==17) ) {
2321 alt24=1;
2322 }
2323
2324
2325 switch (alt24) {
2326 case 1 :
2327 // InternalProblem.g:881:4: otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) )
2328 {
2329 otherlv_1=(Token)match(input,17,FOLLOW_25);
2330
2331 newLeafNode(otherlv_1, grammarAccess.getConjunctionAccess().getCommaKeyword_1_0());
2332
2333 // InternalProblem.g:885:4: ( (lv_literals_2_0= ruleLiteral ) )
2334 // InternalProblem.g:886:5: (lv_literals_2_0= ruleLiteral )
2335 {
2336 // InternalProblem.g:886:5: (lv_literals_2_0= ruleLiteral )
2337 // InternalProblem.g:887:6: lv_literals_2_0= ruleLiteral
2338 {
2339
2340 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0());
2341
2342 pushFollow(FOLLOW_27);
2343 lv_literals_2_0=ruleLiteral();
2344
2345 state._fsp--;
2346
2347
2348 if (current==null) {
2349 current = createModelElementForParent(grammarAccess.getConjunctionRule());
2350 }
2351 add(
2352 current,
2353 "literals",
2354 lv_literals_2_0,
2355 "org.eclipse.viatra.solver.language.Problem.Literal");
2356 afterParserOrEnumRuleCall();
2357
2358
2359 }
2360
2361
2362 }
2363
2364
2365 }
2366 break;
2367
2368 default :
2369 break loop24;
2370 }
2371 } while (true);
2372
2373
2374 }
2375
2376
2377 }
2378
2379
2380 leaveRule();
2381
2382 }
2383
2384 catch (RecognitionException re) {
2385 recover(input,re);
2386 appendSkippedTokens();
2387 }
2388 finally {
2389 }
2390 return current;
2391 }
2392 // $ANTLR end "ruleConjunction"
2393
2394
2395 // $ANTLR start "entryRuleLiteral"
2396 // InternalProblem.g:909:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
2397 public final EObject entryRuleLiteral() throws RecognitionException {
2398 EObject current = null;
2399
2400 EObject iv_ruleLiteral = null;
2401
2402
2403 try {
2404 // InternalProblem.g:909:48: (iv_ruleLiteral= ruleLiteral EOF )
2405 // InternalProblem.g:910:2: iv_ruleLiteral= ruleLiteral EOF
2406 {
2407 newCompositeNode(grammarAccess.getLiteralRule());
2408 pushFollow(FOLLOW_1);
2409 iv_ruleLiteral=ruleLiteral();
2410
2411 state._fsp--;
2412
2413 current =iv_ruleLiteral;
2414 match(input,EOF,FOLLOW_2);
2415
2416 }
2417
2418 }
2419
2420 catch (RecognitionException re) {
2421 recover(input,re);
2422 appendSkippedTokens();
2423 }
2424 finally {
2425 }
2426 return current;
2427 }
2428 // $ANTLR end "entryRuleLiteral"
2429
2430
2431 // $ANTLR start "ruleLiteral"
2432 // InternalProblem.g:916:1: ruleLiteral returns [EObject current=null] : (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ;
2433 public final EObject ruleLiteral() throws RecognitionException {
2434 EObject current = null;
2435
2436 EObject this_Atom_0 = null;
2437
2438 EObject this_NegativeLiteral_1 = null;
2439
2440
2441
2442 enterRule();
2443
2444 try {
2445 // InternalProblem.g:922:2: ( (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) )
2446 // InternalProblem.g:923:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral )
2447 {
2448 // InternalProblem.g:923:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral )
2449 int alt25=2;
2450 int LA25_0 = input.LA(1);
2451
2452 if ( (LA25_0==RULE_ID||LA25_0==RULE_QUOTED_ID||(LA25_0>=40 && LA25_0<=41)) ) {
2453 alt25=1;
2454 }
2455 else if ( (LA25_0==32) ) {
2456 alt25=2;
2457 }
2458 else {
2459 NoViableAltException nvae =
2460 new NoViableAltException("", 25, 0, input);
2461
2462 throw nvae;
2463 }
2464 switch (alt25) {
2465 case 1 :
2466 // InternalProblem.g:924:3: this_Atom_0= ruleAtom
2467 {
2468
2469 newCompositeNode(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0());
2470
2471 pushFollow(FOLLOW_2);
2472 this_Atom_0=ruleAtom();
2473
2474 state._fsp--;
2475
2476
2477 current = this_Atom_0;
2478 afterParserOrEnumRuleCall();
2479
2480
2481 }
2482 break;
2483 case 2 :
2484 // InternalProblem.g:933:3: this_NegativeLiteral_1= ruleNegativeLiteral
2485 {
2486
2487 newCompositeNode(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1());
2488
2489 pushFollow(FOLLOW_2);
2490 this_NegativeLiteral_1=ruleNegativeLiteral();
2491
2492 state._fsp--;
2493
2494
2495 current = this_NegativeLiteral_1;
2496 afterParserOrEnumRuleCall();
2497
2498
2499 }
2500 break;
2501
2502 }
2503
2504
2505 }
2506
2507
2508 leaveRule();
2509
2510 }
2511
2512 catch (RecognitionException re) {
2513 recover(input,re);
2514 appendSkippedTokens();
2515 }
2516 finally {
2517 }
2518 return current;
2519 }
2520 // $ANTLR end "ruleLiteral"
2521
2522
2523 // $ANTLR start "entryRuleNegativeLiteral"
2524 // InternalProblem.g:945:1: entryRuleNegativeLiteral returns [EObject current=null] : iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ;
2525 public final EObject entryRuleNegativeLiteral() throws RecognitionException {
2526 EObject current = null;
2527
2528 EObject iv_ruleNegativeLiteral = null;
2529
2530
2531 try {
2532 // InternalProblem.g:945:56: (iv_ruleNegativeLiteral= ruleNegativeLiteral EOF )
2533 // InternalProblem.g:946:2: iv_ruleNegativeLiteral= ruleNegativeLiteral EOF
2534 {
2535 newCompositeNode(grammarAccess.getNegativeLiteralRule());
2536 pushFollow(FOLLOW_1);
2537 iv_ruleNegativeLiteral=ruleNegativeLiteral();
2538
2539 state._fsp--;
2540
2541 current =iv_ruleNegativeLiteral;
2542 match(input,EOF,FOLLOW_2);
2543
2544 }
2545
2546 }
2547
2548 catch (RecognitionException re) {
2549 recover(input,re);
2550 appendSkippedTokens();
2551 }
2552 finally {
2553 }
2554 return current;
2555 }
2556 // $ANTLR end "entryRuleNegativeLiteral"
2557
2558
2559 // $ANTLR start "ruleNegativeLiteral"
2560 // InternalProblem.g:952:1: ruleNegativeLiteral returns [EObject current=null] : (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ;
2561 public final EObject ruleNegativeLiteral() throws RecognitionException {
2562 EObject current = null;
2563
2564 Token otherlv_0=null;
2565 EObject lv_atom_1_0 = null;
2566
2567
2568
2569 enterRule();
2570
2571 try {
2572 // InternalProblem.g:958:2: ( (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) )
2573 // InternalProblem.g:959:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) )
2574 {
2575 // InternalProblem.g:959:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) )
2576 // InternalProblem.g:960:3: otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) )
2577 {
2578 otherlv_0=(Token)match(input,32,FOLLOW_8);
2579
2580 newLeafNode(otherlv_0, grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0());
2581
2582 // InternalProblem.g:964:3: ( (lv_atom_1_0= ruleAtom ) )
2583 // InternalProblem.g:965:4: (lv_atom_1_0= ruleAtom )
2584 {
2585 // InternalProblem.g:965:4: (lv_atom_1_0= ruleAtom )
2586 // InternalProblem.g:966:5: lv_atom_1_0= ruleAtom
2587 {
2588
2589 newCompositeNode(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0());
2590
2591 pushFollow(FOLLOW_2);
2592 lv_atom_1_0=ruleAtom();
2593
2594 state._fsp--;
2595
2596
2597 if (current==null) {
2598 current = createModelElementForParent(grammarAccess.getNegativeLiteralRule());
2599 }
2600 set(
2601 current,
2602 "atom",
2603 lv_atom_1_0,
2604 "org.eclipse.viatra.solver.language.Problem.Atom");
2605 afterParserOrEnumRuleCall();
2606
2607
2608 }
2609
2610
2611 }
2612
2613
2614 }
2615
2616
2617 }
2618
2619
2620 leaveRule();
2621
2622 }
2623
2624 catch (RecognitionException re) {
2625 recover(input,re);
2626 appendSkippedTokens();
2627 }
2628 finally {
2629 }
2630 return current;
2631 }
2632 // $ANTLR end "ruleNegativeLiteral"
2633
2634
2635 // $ANTLR start "entryRuleAtom"
2636 // InternalProblem.g:987:1: entryRuleAtom returns [EObject current=null] : iv_ruleAtom= ruleAtom EOF ;
2637 public final EObject entryRuleAtom() throws RecognitionException {
2638 EObject current = null;
2639
2640 EObject iv_ruleAtom = null;
2641
2642
2643 try {
2644 // InternalProblem.g:987:45: (iv_ruleAtom= ruleAtom EOF )
2645 // InternalProblem.g:988:2: iv_ruleAtom= ruleAtom EOF
2646 {
2647 newCompositeNode(grammarAccess.getAtomRule());
2648 pushFollow(FOLLOW_1);
2649 iv_ruleAtom=ruleAtom();
2650
2651 state._fsp--;
2652
2653 current =iv_ruleAtom;
2654 match(input,EOF,FOLLOW_2);
2655
2656 }
2657
2658 }
2659
2660 catch (RecognitionException re) {
2661 recover(input,re);
2662 appendSkippedTokens();
2663 }
2664 finally {
2665 }
2666 return current;
2667 }
2668 // $ANTLR end "entryRuleAtom"
2669
2670
2671 // $ANTLR start "ruleAtom"
2672 // InternalProblem.g:994:1: ruleAtom returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) ;
2673 public final EObject ruleAtom() throws RecognitionException {
2674 EObject current = null;
2675
2676 Token lv_transitiveClosure_1_0=null;
2677 Token otherlv_2=null;
2678 Token otherlv_4=null;
2679 Token otherlv_6=null;
2680 EObject lv_arguments_3_0 = null;
2681
2682 EObject lv_arguments_5_0 = null;
2683
2684
2685
2686 enterRule();
2687
2688 try {
2689 // InternalProblem.g:1000:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) )
2690 // InternalProblem.g:1001:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' )
2691 {
2692 // InternalProblem.g:1001:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' )
2693 // InternalProblem.g:1002:3: ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')'
2694 {
2695 // InternalProblem.g:1002:3: ( ( ruleQualifiedName ) )
2696 // InternalProblem.g:1003:4: ( ruleQualifiedName )
2697 {
2698 // InternalProblem.g:1003:4: ( ruleQualifiedName )
2699 // InternalProblem.g:1004:5: ruleQualifiedName
2700 {
2701
2702 if (current==null) {
2703 current = createModelElement(grammarAccess.getAtomRule());
2704 }
2705
2706
2707 newCompositeNode(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0());
2708
2709 pushFollow(FOLLOW_28);
2710 ruleQualifiedName();
2711
2712 state._fsp--;
2713
2714
2715 afterParserOrEnumRuleCall();
2716
2717
2718 }
2719
2720
2721 }
2722
2723 // InternalProblem.g:1018:3: ( (lv_transitiveClosure_1_0= '+' ) )?
2724 int alt26=2;
2725 int LA26_0 = input.LA(1);
2726
2727 if ( (LA26_0==33) ) {
2728 alt26=1;
2729 }
2730 switch (alt26) {
2731 case 1 :
2732 // InternalProblem.g:1019:4: (lv_transitiveClosure_1_0= '+' )
2733 {
2734 // InternalProblem.g:1019:4: (lv_transitiveClosure_1_0= '+' )
2735 // InternalProblem.g:1020:5: lv_transitiveClosure_1_0= '+'
2736 {
2737 lv_transitiveClosure_1_0=(Token)match(input,33,FOLLOW_21);
2738
2739 newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
2740
2741
2742 if (current==null) {
2743 current = createModelElement(grammarAccess.getAtomRule());
2744 }
2745 setWithLastConsumed(current, "transitiveClosure", lv_transitiveClosure_1_0 != null, "+");
2746
2747
2748 }
2749
2750
2751 }
2752 break;
2753
2754 }
2755
2756 otherlv_2=(Token)match(input,29,FOLLOW_22);
2757
2758 newLeafNode(otherlv_2, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2());
2759
2760 // InternalProblem.g:1036:3: ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )?
2761 int alt28=2;
2762 int LA28_0 = input.LA(1);
2763
2764 if ( (LA28_0==RULE_ID||LA28_0==RULE_QUOTED_ID||(LA28_0>=40 && LA28_0<=41)) ) {
2765 alt28=1;
2766 }
2767 switch (alt28) {
2768 case 1 :
2769 // InternalProblem.g:1037:4: ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )*
2770 {
2771 // InternalProblem.g:1037:4: ( (lv_arguments_3_0= ruleArgument ) )
2772 // InternalProblem.g:1038:5: (lv_arguments_3_0= ruleArgument )
2773 {
2774 // InternalProblem.g:1038:5: (lv_arguments_3_0= ruleArgument )
2775 // InternalProblem.g:1039:6: lv_arguments_3_0= ruleArgument
2776 {
2777
2778 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0());
2779
2780 pushFollow(FOLLOW_23);
2781 lv_arguments_3_0=ruleArgument();
2782
2783 state._fsp--;
2784
2785
2786 if (current==null) {
2787 current = createModelElementForParent(grammarAccess.getAtomRule());
2788 }
2789 add(
2790 current,
2791 "arguments",
2792 lv_arguments_3_0,
2793 "org.eclipse.viatra.solver.language.Problem.Argument");
2794 afterParserOrEnumRuleCall();
2795
2796
2797 }
2798
2799
2800 }
2801
2802 // InternalProblem.g:1056:4: (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )*
2803 loop27:
2804 do {
2805 int alt27=2;
2806 int LA27_0 = input.LA(1);
2807
2808 if ( (LA27_0==17) ) {
2809 alt27=1;
2810 }
2811
2812
2813 switch (alt27) {
2814 case 1 :
2815 // InternalProblem.g:1057:5: otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) )
2816 {
2817 otherlv_4=(Token)match(input,17,FOLLOW_8);
2818
2819 newLeafNode(otherlv_4, grammarAccess.getAtomAccess().getCommaKeyword_3_1_0());
2820
2821 // InternalProblem.g:1061:5: ( (lv_arguments_5_0= ruleArgument ) )
2822 // InternalProblem.g:1062:6: (lv_arguments_5_0= ruleArgument )
2823 {
2824 // InternalProblem.g:1062:6: (lv_arguments_5_0= ruleArgument )
2825 // InternalProblem.g:1063:7: lv_arguments_5_0= ruleArgument
2826 {
2827
2828 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0());
2829
2830 pushFollow(FOLLOW_23);
2831 lv_arguments_5_0=ruleArgument();
2832
2833 state._fsp--;
2834
2835
2836 if (current==null) {
2837 current = createModelElementForParent(grammarAccess.getAtomRule());
2838 }
2839 add(
2840 current,
2841 "arguments",
2842 lv_arguments_5_0,
2843 "org.eclipse.viatra.solver.language.Problem.Argument");
2844 afterParserOrEnumRuleCall();
2845
2846
2847 }
2848
2849
2850 }
2851
2852
2853 }
2854 break;
2855
2856 default :
2857 break loop27;
2858 }
2859 } while (true);
2860
2861
2862 }
2863 break;
2864
2865 }
2866
2867 otherlv_6=(Token)match(input,30,FOLLOW_2);
2868
2869 newLeafNode(otherlv_6, grammarAccess.getAtomAccess().getRightParenthesisKeyword_4());
2870
2871
2872 }
2873
2874
2875 }
2876
2877
2878 leaveRule();
2879
2880 }
2881
2882 catch (RecognitionException re) {
2883 recover(input,re);
2884 appendSkippedTokens();
2885 }
2886 finally {
2887 }
2888 return current;
2889 }
2890 // $ANTLR end "ruleAtom"
2891
2892
2893 // $ANTLR start "entryRuleArgument"
2894 // InternalProblem.g:1090:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ;
2895 public final EObject entryRuleArgument() throws RecognitionException {
2896 EObject current = null;
2897
2898 EObject iv_ruleArgument = null;
2899
2900
2901 try {
2902 // InternalProblem.g:1090:49: (iv_ruleArgument= ruleArgument EOF )
2903 // InternalProblem.g:1091:2: iv_ruleArgument= ruleArgument EOF
2904 {
2905 newCompositeNode(grammarAccess.getArgumentRule());
2906 pushFollow(FOLLOW_1);
2907 iv_ruleArgument=ruleArgument();
2908
2909 state._fsp--;
2910
2911 current =iv_ruleArgument;
2912 match(input,EOF,FOLLOW_2);
2913
2914 }
2915
2916 }
2917
2918 catch (RecognitionException re) {
2919 recover(input,re);
2920 appendSkippedTokens();
2921 }
2922 finally {
2923 }
2924 return current;
2925 }
2926 // $ANTLR end "entryRuleArgument"
2927
2928
2929 // $ANTLR start "ruleArgument"
2930 // InternalProblem.g:1097:1: ruleArgument returns [EObject current=null] : ( ( ruleQualifiedName ) ) ;
2931 public final EObject ruleArgument() throws RecognitionException {
2932 EObject current = null;
2933
2934
2935 enterRule();
2936
2937 try {
2938 // InternalProblem.g:1103:2: ( ( ( ruleQualifiedName ) ) )
2939 // InternalProblem.g:1104:2: ( ( ruleQualifiedName ) )
2940 {
2941 // InternalProblem.g:1104:2: ( ( ruleQualifiedName ) )
2942 // InternalProblem.g:1105:3: ( ruleQualifiedName )
2943 {
2944 // InternalProblem.g:1105:3: ( ruleQualifiedName )
2945 // InternalProblem.g:1106:4: ruleQualifiedName
2946 {
2947
2948 if (current==null) {
2949 current = createModelElement(grammarAccess.getArgumentRule());
2950 }
2951
2952
2953 newCompositeNode(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0());
2954
2955 pushFollow(FOLLOW_2);
2956 ruleQualifiedName();
2957
2958 state._fsp--;
2959
2960
2961 afterParserOrEnumRuleCall();
2962
2963
2964 }
2965
2966
2967 }
2968
2969
2970 }
2971
2972
2973 leaveRule();
2974
2975 }
2976
2977 catch (RecognitionException re) {
2978 recover(input,re);
2979 appendSkippedTokens();
2980 }
2981 finally {
2982 }
2983 return current;
2984 }
2985 // $ANTLR end "ruleArgument"
2986
2987
2988 // $ANTLR start "entryRuleAssertion"
2989 // InternalProblem.g:1123:1: entryRuleAssertion returns [EObject current=null] : iv_ruleAssertion= ruleAssertion EOF ;
2990 public final EObject entryRuleAssertion() throws RecognitionException {
2991 EObject current = null;
2992
2993 EObject iv_ruleAssertion = null;
2994
2995
2996 try {
2997 // InternalProblem.g:1123:50: (iv_ruleAssertion= ruleAssertion EOF )
2998 // InternalProblem.g:1124:2: iv_ruleAssertion= ruleAssertion EOF
2999 {
3000 newCompositeNode(grammarAccess.getAssertionRule());
3001 pushFollow(FOLLOW_1);
3002 iv_ruleAssertion=ruleAssertion();
3003
3004 state._fsp--;
3005
3006 current =iv_ruleAssertion;
3007 match(input,EOF,FOLLOW_2);
3008
3009 }
3010
3011 }
3012
3013 catch (RecognitionException re) {
3014 recover(input,re);
3015 appendSkippedTokens();
3016 }
3017 finally {
3018 }
3019 return current;
3020 }
3021 // $ANTLR end "entryRuleAssertion"
3022
3023
3024 // $ANTLR start "ruleAssertion"
3025 // InternalProblem.g:1130:1: ruleAssertion returns [EObject current=null] : ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) ;
3026 public final EObject ruleAssertion() throws RecognitionException {
3027 EObject current = null;
3028
3029 Token otherlv_1=null;
3030 Token otherlv_3=null;
3031 Token otherlv_5=null;
3032 Token otherlv_6=null;
3033 Token otherlv_10=null;
3034 Token otherlv_12=null;
3035 Token otherlv_14=null;
3036 Token otherlv_15=null;
3037 Enumerator lv_value_7_0 = null;
3038
3039 Enumerator lv_value_8_0 = null;
3040
3041
3042
3043 enterRule();
3044
3045 try {
3046 // InternalProblem.g:1136:2: ( ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) )
3047 // InternalProblem.g:1137:2: ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' )
3048 {
3049 // InternalProblem.g:1137:2: ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' )
3050 // InternalProblem.g:1138:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.'
3051 {
3052 // InternalProblem.g:1138:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) )
3053 int alt34=2;
3054 alt34 = dfa34.predict(input);
3055 switch (alt34) {
3056 case 1 :
3057 // InternalProblem.g:1139:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) )
3058 {
3059 // InternalProblem.g:1139:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) )
3060 // InternalProblem.g:1140:5: ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) )
3061 {
3062 // InternalProblem.g:1140:5: ( ( ruleQualifiedName ) )
3063 // InternalProblem.g:1141:6: ( ruleQualifiedName )
3064 {
3065 // InternalProblem.g:1141:6: ( ruleQualifiedName )
3066 // InternalProblem.g:1142:7: ruleQualifiedName
3067 {
3068
3069 if (current==null) {
3070 current = createModelElement(grammarAccess.getAssertionRule());
3071 }
3072
3073
3074 newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0());
3075
3076 pushFollow(FOLLOW_21);
3077 ruleQualifiedName();
3078
3079 state._fsp--;
3080
3081
3082 afterParserOrEnumRuleCall();
3083
3084
3085 }
3086
3087
3088 }
3089
3090 otherlv_1=(Token)match(input,29,FOLLOW_22);
3091
3092 newLeafNode(otherlv_1, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1());
3093
3094 // InternalProblem.g:1160:5: ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )?
3095 int alt30=2;
3096 int LA30_0 = input.LA(1);
3097
3098 if ( (LA30_0==RULE_ID||LA30_0==RULE_QUOTED_ID||(LA30_0>=40 && LA30_0<=41)) ) {
3099 alt30=1;
3100 }
3101 switch (alt30) {
3102 case 1 :
3103 // InternalProblem.g:1161:6: ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )*
3104 {
3105 // InternalProblem.g:1161:6: ( ( ruleQualifiedName ) )
3106 // InternalProblem.g:1162:7: ( ruleQualifiedName )
3107 {
3108 // InternalProblem.g:1162:7: ( ruleQualifiedName )
3109 // InternalProblem.g:1163:8: ruleQualifiedName
3110 {
3111
3112 if (current==null) {
3113 current = createModelElement(grammarAccess.getAssertionRule());
3114 }
3115
3116
3117 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0());
3118
3119 pushFollow(FOLLOW_23);
3120 ruleQualifiedName();
3121
3122 state._fsp--;
3123
3124
3125 afterParserOrEnumRuleCall();
3126
3127
3128 }
3129
3130
3131 }
3132
3133 // InternalProblem.g:1177:6: (otherlv_3= ',' ( ( ruleQualifiedName ) ) )*
3134 loop29:
3135 do {
3136 int alt29=2;
3137 int LA29_0 = input.LA(1);
3138
3139 if ( (LA29_0==17) ) {
3140 alt29=1;
3141 }
3142
3143
3144 switch (alt29) {
3145 case 1 :
3146 // InternalProblem.g:1178:7: otherlv_3= ',' ( ( ruleQualifiedName ) )
3147 {
3148 otherlv_3=(Token)match(input,17,FOLLOW_8);
3149
3150 newLeafNode(otherlv_3, grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0());
3151
3152 // InternalProblem.g:1182:7: ( ( ruleQualifiedName ) )
3153 // InternalProblem.g:1183:8: ( ruleQualifiedName )
3154 {
3155 // InternalProblem.g:1183:8: ( ruleQualifiedName )
3156 // InternalProblem.g:1184:9: ruleQualifiedName
3157 {
3158
3159 if (current==null) {
3160 current = createModelElement(grammarAccess.getAssertionRule());
3161 }
3162
3163
3164 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0());
3165
3166 pushFollow(FOLLOW_23);
3167 ruleQualifiedName();
3168
3169 state._fsp--;
3170
3171
3172 afterParserOrEnumRuleCall();
3173
3174
3175 }
3176
3177
3178 }
3179
3180
3181 }
3182 break;
3183
3184 default :
3185 break loop29;
3186 }
3187 } while (true);
3188
3189
3190 }
3191 break;
3192
3193 }
3194
3195 otherlv_5=(Token)match(input,30,FOLLOW_29);
3196
3197 newLeafNode(otherlv_5, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3());
3198
3199 otherlv_6=(Token)match(input,34,FOLLOW_30);
3200
3201 newLeafNode(otherlv_6, grammarAccess.getAssertionAccess().getColonKeyword_0_0_4());
3202
3203 // InternalProblem.g:1208:5: ( (lv_value_7_0= ruleLogicValue ) )
3204 // InternalProblem.g:1209:6: (lv_value_7_0= ruleLogicValue )
3205 {
3206 // InternalProblem.g:1209:6: (lv_value_7_0= ruleLogicValue )
3207 // InternalProblem.g:1210:7: lv_value_7_0= ruleLogicValue
3208 {
3209
3210 newCompositeNode(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0());
3211
3212 pushFollow(FOLLOW_4);
3213 lv_value_7_0=ruleLogicValue();
3214
3215 state._fsp--;
3216
3217
3218 if (current==null) {
3219 current = createModelElementForParent(grammarAccess.getAssertionRule());
3220 }
3221 set(
3222 current,
3223 "value",
3224 lv_value_7_0,
3225 "org.eclipse.viatra.solver.language.Problem.LogicValue");
3226 afterParserOrEnumRuleCall();
3227
3228
3229 }
3230
3231
3232 }
3233
3234
3235 }
3236
3237
3238 }
3239 break;
3240 case 2 :
3241 // InternalProblem.g:1229:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' )
3242 {
3243 // InternalProblem.g:1229:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' )
3244 // InternalProblem.g:1230:5: ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')'
3245 {
3246 // InternalProblem.g:1230:5: ( (lv_value_8_0= ruleShortLogicValue ) )?
3247 int alt31=2;
3248 int LA31_0 = input.LA(1);
3249
3250 if ( (LA31_0==32||LA31_0==43) ) {
3251 alt31=1;
3252 }
3253 switch (alt31) {
3254 case 1 :
3255 // InternalProblem.g:1231:6: (lv_value_8_0= ruleShortLogicValue )
3256 {
3257 // InternalProblem.g:1231:6: (lv_value_8_0= ruleShortLogicValue )
3258 // InternalProblem.g:1232:7: lv_value_8_0= ruleShortLogicValue
3259 {
3260
3261 newCompositeNode(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0());
3262
3263 pushFollow(FOLLOW_8);
3264 lv_value_8_0=ruleShortLogicValue();
3265
3266 state._fsp--;
3267
3268
3269 if (current==null) {
3270 current = createModelElementForParent(grammarAccess.getAssertionRule());
3271 }
3272 set(
3273 current,
3274 "value",
3275 lv_value_8_0,
3276 "org.eclipse.viatra.solver.language.Problem.ShortLogicValue");
3277 afterParserOrEnumRuleCall();
3278
3279
3280 }
3281
3282
3283 }
3284 break;
3285
3286 }
3287
3288 // InternalProblem.g:1249:5: ( ( ruleQualifiedName ) )
3289 // InternalProblem.g:1250:6: ( ruleQualifiedName )
3290 {
3291 // InternalProblem.g:1250:6: ( ruleQualifiedName )
3292 // InternalProblem.g:1251:7: ruleQualifiedName
3293 {
3294
3295 if (current==null) {
3296 current = createModelElement(grammarAccess.getAssertionRule());
3297 }
3298
3299
3300 newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0());
3301
3302 pushFollow(FOLLOW_21);
3303 ruleQualifiedName();
3304
3305 state._fsp--;
3306
3307
3308 afterParserOrEnumRuleCall();
3309
3310
3311 }
3312
3313
3314 }
3315
3316 otherlv_10=(Token)match(input,29,FOLLOW_22);
3317
3318 newLeafNode(otherlv_10, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2());
3319
3320 // InternalProblem.g:1269:5: ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )?
3321 int alt33=2;
3322 int LA33_0 = input.LA(1);
3323
3324 if ( (LA33_0==RULE_ID||LA33_0==RULE_QUOTED_ID||(LA33_0>=40 && LA33_0<=41)) ) {
3325 alt33=1;
3326 }
3327 switch (alt33) {
3328 case 1 :
3329 // InternalProblem.g:1270:6: ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )*
3330 {
3331 // InternalProblem.g:1270:6: ( ( ruleQualifiedName ) )
3332 // InternalProblem.g:1271:7: ( ruleQualifiedName )
3333 {
3334 // InternalProblem.g:1271:7: ( ruleQualifiedName )
3335 // InternalProblem.g:1272:8: ruleQualifiedName
3336 {
3337
3338 if (current==null) {
3339 current = createModelElement(grammarAccess.getAssertionRule());
3340 }
3341
3342
3343 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0());
3344
3345 pushFollow(FOLLOW_23);
3346 ruleQualifiedName();
3347
3348 state._fsp--;
3349
3350
3351 afterParserOrEnumRuleCall();
3352
3353
3354 }
3355
3356
3357 }
3358
3359 // InternalProblem.g:1286:6: (otherlv_12= ',' ( ( ruleQualifiedName ) ) )*
3360 loop32:
3361 do {
3362 int alt32=2;
3363 int LA32_0 = input.LA(1);
3364
3365 if ( (LA32_0==17) ) {
3366 alt32=1;
3367 }
3368
3369
3370 switch (alt32) {
3371 case 1 :
3372 // InternalProblem.g:1287:7: otherlv_12= ',' ( ( ruleQualifiedName ) )
3373 {
3374 otherlv_12=(Token)match(input,17,FOLLOW_8);
3375
3376 newLeafNode(otherlv_12, grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0());
3377
3378 // InternalProblem.g:1291:7: ( ( ruleQualifiedName ) )
3379 // InternalProblem.g:1292:8: ( ruleQualifiedName )
3380 {
3381 // InternalProblem.g:1292:8: ( ruleQualifiedName )
3382 // InternalProblem.g:1293:9: ruleQualifiedName
3383 {
3384
3385 if (current==null) {
3386 current = createModelElement(grammarAccess.getAssertionRule());
3387 }
3388
3389
3390 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0());
3391
3392 pushFollow(FOLLOW_23);
3393 ruleQualifiedName();
3394
3395 state._fsp--;
3396
3397
3398 afterParserOrEnumRuleCall();
3399
3400
3401 }
3402
3403
3404 }
3405
3406
3407 }
3408 break;
3409
3410 default :
3411 break loop32;
3412 }
3413 } while (true);
3414
3415
3416 }
3417 break;
3418
3419 }
3420
3421 otherlv_14=(Token)match(input,30,FOLLOW_4);
3422
3423 newLeafNode(otherlv_14, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4());
3424
3425
3426 }
3427
3428
3429 }
3430 break;
3431
3432 }
3433
3434 otherlv_15=(Token)match(input,13,FOLLOW_2);
3435
3436 newLeafNode(otherlv_15, grammarAccess.getAssertionAccess().getFullStopKeyword_1());
3437
3438
3439 }
3440
3441
3442 }
3443
3444
3445 leaveRule();
3446
3447 }
3448
3449 catch (RecognitionException re) {
3450 recover(input,re);
3451 appendSkippedTokens();
3452 }
3453 finally {
3454 }
3455 return current;
3456 }
3457 // $ANTLR end "ruleAssertion"
3458
3459
3460 // $ANTLR start "entryRuleScopeDeclaration"
3461 // InternalProblem.g:1323:1: entryRuleScopeDeclaration returns [EObject current=null] : iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ;
3462 public final EObject entryRuleScopeDeclaration() throws RecognitionException {
3463 EObject current = null;
3464
3465 EObject iv_ruleScopeDeclaration = null;
3466
3467
3468 try {
3469 // InternalProblem.g:1323:57: (iv_ruleScopeDeclaration= ruleScopeDeclaration EOF )
3470 // InternalProblem.g:1324:2: iv_ruleScopeDeclaration= ruleScopeDeclaration EOF
3471 {
3472 newCompositeNode(grammarAccess.getScopeDeclarationRule());
3473 pushFollow(FOLLOW_1);
3474 iv_ruleScopeDeclaration=ruleScopeDeclaration();
3475
3476 state._fsp--;
3477
3478 current =iv_ruleScopeDeclaration;
3479 match(input,EOF,FOLLOW_2);
3480
3481 }
3482
3483 }
3484
3485 catch (RecognitionException re) {
3486 recover(input,re);
3487 appendSkippedTokens();
3488 }
3489 finally {
3490 }
3491 return current;
3492 }
3493 // $ANTLR end "entryRuleScopeDeclaration"
3494
3495
3496 // $ANTLR start "ruleScopeDeclaration"
3497 // InternalProblem.g:1330:1: ruleScopeDeclaration returns [EObject current=null] : (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) ;
3498 public final EObject ruleScopeDeclaration() throws RecognitionException {
3499 EObject current = null;
3500
3501 Token otherlv_0=null;
3502 Token otherlv_2=null;
3503 Token otherlv_4=null;
3504 EObject lv_typeScopes_1_0 = null;
3505
3506 EObject lv_typeScopes_3_0 = null;
3507
3508
3509
3510 enterRule();
3511
3512 try {
3513 // InternalProblem.g:1336:2: ( (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) )
3514 // InternalProblem.g:1337:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' )
3515 {
3516 // InternalProblem.g:1337:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' )
3517 // InternalProblem.g:1338:3: otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.'
3518 {
3519 otherlv_0=(Token)match(input,35,FOLLOW_31);
3520
3521 newLeafNode(otherlv_0, grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0());
3522
3523 // InternalProblem.g:1342:3: ( (lv_typeScopes_1_0= ruleTypeScope ) )
3524 // InternalProblem.g:1343:4: (lv_typeScopes_1_0= ruleTypeScope )
3525 {
3526 // InternalProblem.g:1343:4: (lv_typeScopes_1_0= ruleTypeScope )
3527 // InternalProblem.g:1344:5: lv_typeScopes_1_0= ruleTypeScope
3528 {
3529
3530 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0());
3531
3532 pushFollow(FOLLOW_32);
3533 lv_typeScopes_1_0=ruleTypeScope();
3534
3535 state._fsp--;
3536
3537
3538 if (current==null) {
3539 current = createModelElementForParent(grammarAccess.getScopeDeclarationRule());
3540 }
3541 add(
3542 current,
3543 "typeScopes",
3544 lv_typeScopes_1_0,
3545 "org.eclipse.viatra.solver.language.Problem.TypeScope");
3546 afterParserOrEnumRuleCall();
3547
3548
3549 }
3550
3551
3552 }
3553
3554 // InternalProblem.g:1361:3: (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )*
3555 loop35:
3556 do {
3557 int alt35=2;
3558 int LA35_0 = input.LA(1);
3559
3560 if ( (LA35_0==17) ) {
3561 alt35=1;
3562 }
3563
3564
3565 switch (alt35) {
3566 case 1 :
3567 // InternalProblem.g:1362:4: otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) )
3568 {
3569 otherlv_2=(Token)match(input,17,FOLLOW_31);
3570
3571 newLeafNode(otherlv_2, grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0());
3572
3573 // InternalProblem.g:1366:4: ( (lv_typeScopes_3_0= ruleTypeScope ) )
3574 // InternalProblem.g:1367:5: (lv_typeScopes_3_0= ruleTypeScope )
3575 {
3576 // InternalProblem.g:1367:5: (lv_typeScopes_3_0= ruleTypeScope )
3577 // InternalProblem.g:1368:6: lv_typeScopes_3_0= ruleTypeScope
3578 {
3579
3580 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0());
3581
3582 pushFollow(FOLLOW_32);
3583 lv_typeScopes_3_0=ruleTypeScope();
3584
3585 state._fsp--;
3586
3587
3588 if (current==null) {
3589 current = createModelElementForParent(grammarAccess.getScopeDeclarationRule());
3590 }
3591 add(
3592 current,
3593 "typeScopes",
3594 lv_typeScopes_3_0,
3595 "org.eclipse.viatra.solver.language.Problem.TypeScope");
3596 afterParserOrEnumRuleCall();
3597
3598
3599 }
3600
3601
3602 }
3603
3604
3605 }
3606 break;
3607
3608 default :
3609 break loop35;
3610 }
3611 } while (true);
3612
3613 otherlv_4=(Token)match(input,13,FOLLOW_2);
3614
3615 newLeafNode(otherlv_4, grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3());
3616
3617
3618 }
3619
3620
3621 }
3622
3623
3624 leaveRule();
3625
3626 }
3627
3628 catch (RecognitionException re) {
3629 recover(input,re);
3630 appendSkippedTokens();
3631 }
3632 finally {
3633 }
3634 return current;
3635 }
3636 // $ANTLR end "ruleScopeDeclaration"
3637
3638
3639 // $ANTLR start "entryRuleTypeScope"
3640 // InternalProblem.g:1394:1: entryRuleTypeScope returns [EObject current=null] : iv_ruleTypeScope= ruleTypeScope EOF ;
3641 public final EObject entryRuleTypeScope() throws RecognitionException {
3642 EObject current = null;
3643
3644 EObject iv_ruleTypeScope = null;
3645
3646
3647 try {
3648 // InternalProblem.g:1394:50: (iv_ruleTypeScope= ruleTypeScope EOF )
3649 // InternalProblem.g:1395:2: iv_ruleTypeScope= ruleTypeScope EOF
3650 {
3651 newCompositeNode(grammarAccess.getTypeScopeRule());
3652 pushFollow(FOLLOW_1);
3653 iv_ruleTypeScope=ruleTypeScope();
3654
3655 state._fsp--;
3656
3657 current =iv_ruleTypeScope;
3658 match(input,EOF,FOLLOW_2);
3659
3660 }
3661
3662 }
3663
3664 catch (RecognitionException re) {
3665 recover(input,re);
3666 appendSkippedTokens();
3667 }
3668 finally {
3669 }
3670 return current;
3671 }
3672 // $ANTLR end "entryRuleTypeScope"
3673
3674
3675 // $ANTLR start "ruleTypeScope"
3676 // InternalProblem.g:1401:1: ruleTypeScope returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) ;
3677 public final EObject ruleTypeScope() throws RecognitionException {
3678 EObject current = null;
3679
3680 Token otherlv_0=null;
3681 Token lv_increment_1_0=null;
3682 Token otherlv_2=null;
3683 EObject lv_multiplicity_3_0 = null;
3684
3685
3686
3687 enterRule();
3688
3689 try {
3690 // InternalProblem.g:1407:2: ( ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) )
3691 // InternalProblem.g:1408:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) )
3692 {
3693 // InternalProblem.g:1408:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) )
3694 // InternalProblem.g:1409:3: ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) )
3695 {
3696 // InternalProblem.g:1409:3: ( (otherlv_0= RULE_ID ) )
3697 // InternalProblem.g:1410:4: (otherlv_0= RULE_ID )
3698 {
3699 // InternalProblem.g:1410:4: (otherlv_0= RULE_ID )
3700 // InternalProblem.g:1411:5: otherlv_0= RULE_ID
3701 {
3702
3703 if (current==null) {
3704 current = createModelElement(grammarAccess.getTypeScopeRule());
3705 }
3706
3707 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_33);
3708
3709 newLeafNode(otherlv_0, grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0());
3710
3711
3712 }
3713
3714
3715 }
3716
3717 // InternalProblem.g:1422:3: ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' )
3718 int alt36=2;
3719 int LA36_0 = input.LA(1);
3720
3721 if ( (LA36_0==36) ) {
3722 alt36=1;
3723 }
3724 else if ( (LA36_0==37) ) {
3725 alt36=2;
3726 }
3727 else {
3728 NoViableAltException nvae =
3729 new NoViableAltException("", 36, 0, input);
3730
3731 throw nvae;
3732 }
3733 switch (alt36) {
3734 case 1 :
3735 // InternalProblem.g:1423:4: ( (lv_increment_1_0= '+=' ) )
3736 {
3737 // InternalProblem.g:1423:4: ( (lv_increment_1_0= '+=' ) )
3738 // InternalProblem.g:1424:5: (lv_increment_1_0= '+=' )
3739 {
3740 // InternalProblem.g:1424:5: (lv_increment_1_0= '+=' )
3741 // InternalProblem.g:1425:6: lv_increment_1_0= '+='
3742 {
3743 lv_increment_1_0=(Token)match(input,36,FOLLOW_17);
3744
3745 newLeafNode(lv_increment_1_0, grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
3746
3747
3748 if (current==null) {
3749 current = createModelElement(grammarAccess.getTypeScopeRule());
3750 }
3751 setWithLastConsumed(current, "increment", lv_increment_1_0 != null, "+=");
3752
3753
3754 }
3755
3756
3757 }
3758
3759
3760 }
3761 break;
3762 case 2 :
3763 // InternalProblem.g:1438:4: otherlv_2= '='
3764 {
3765 otherlv_2=(Token)match(input,37,FOLLOW_17);
3766
3767 newLeafNode(otherlv_2, grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1());
3768
3769
3770 }
3771 break;
3772
3773 }
3774
3775 // InternalProblem.g:1443:3: ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) )
3776 // InternalProblem.g:1444:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity )
3777 {
3778 // InternalProblem.g:1444:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity )
3779 // InternalProblem.g:1445:5: lv_multiplicity_3_0= ruleDefiniteMultiplicity
3780 {
3781
3782 newCompositeNode(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0());
3783
3784 pushFollow(FOLLOW_2);
3785 lv_multiplicity_3_0=ruleDefiniteMultiplicity();
3786
3787 state._fsp--;
3788
3789
3790 if (current==null) {
3791 current = createModelElementForParent(grammarAccess.getTypeScopeRule());
3792 }
3793 set(
3794 current,
3795 "multiplicity",
3796 lv_multiplicity_3_0,
3797 "org.eclipse.viatra.solver.language.Problem.DefiniteMultiplicity");
3798 afterParserOrEnumRuleCall();
3799
3800
3801 }
3802
3803
3804 }
3805
3806
3807 }
3808
3809
3810 }
3811
3812
3813 leaveRule();
3814
3815 }
3816
3817 catch (RecognitionException re) {
3818 recover(input,re);
3819 appendSkippedTokens();
3820 }
3821 finally {
3822 }
3823 return current;
3824 }
3825 // $ANTLR end "ruleTypeScope"
3826
3827
3828 // $ANTLR start "entryRuleMultiplicity"
3829 // InternalProblem.g:1466:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ;
3830 public final EObject entryRuleMultiplicity() throws RecognitionException {
3831 EObject current = null;
3832
3833 EObject iv_ruleMultiplicity = null;
3834
3835
3836 try {
3837 // InternalProblem.g:1466:53: (iv_ruleMultiplicity= ruleMultiplicity EOF )
3838 // InternalProblem.g:1467:2: iv_ruleMultiplicity= ruleMultiplicity EOF
3839 {
3840 newCompositeNode(grammarAccess.getMultiplicityRule());
3841 pushFollow(FOLLOW_1);
3842 iv_ruleMultiplicity=ruleMultiplicity();
3843
3844 state._fsp--;
3845
3846 current =iv_ruleMultiplicity;
3847 match(input,EOF,FOLLOW_2);
3848
3849 }
3850
3851 }
3852
3853 catch (RecognitionException re) {
3854 recover(input,re);
3855 appendSkippedTokens();
3856 }
3857 finally {
3858 }
3859 return current;
3860 }
3861 // $ANTLR end "entryRuleMultiplicity"
3862
3863
3864 // $ANTLR start "ruleMultiplicity"
3865 // InternalProblem.g:1473:1: ruleMultiplicity returns [EObject current=null] : (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) ;
3866 public final EObject ruleMultiplicity() throws RecognitionException {
3867 EObject current = null;
3868
3869 EObject this_UnboundedMultiplicity_0 = null;
3870
3871 EObject this_DefiniteMultiplicity_1 = null;
3872
3873
3874
3875 enterRule();
3876
3877 try {
3878 // InternalProblem.g:1479:2: ( (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) )
3879 // InternalProblem.g:1480:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity )
3880 {
3881 // InternalProblem.g:1480:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity )
3882 int alt37=2;
3883 int LA37_0 = input.LA(1);
3884
3885 if ( (LA37_0==EOF||LA37_0==25) ) {
3886 alt37=1;
3887 }
3888 else if ( (LA37_0==RULE_INT) ) {
3889 alt37=2;
3890 }
3891 else {
3892 NoViableAltException nvae =
3893 new NoViableAltException("", 37, 0, input);
3894
3895 throw nvae;
3896 }
3897 switch (alt37) {
3898 case 1 :
3899 // InternalProblem.g:1481:3: this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity
3900 {
3901
3902 newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0());
3903
3904 pushFollow(FOLLOW_2);
3905 this_UnboundedMultiplicity_0=ruleUnboundedMultiplicity();
3906
3907 state._fsp--;
3908
3909
3910 current = this_UnboundedMultiplicity_0;
3911 afterParserOrEnumRuleCall();
3912
3913
3914 }
3915 break;
3916 case 2 :
3917 // InternalProblem.g:1490:3: this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity
3918 {
3919
3920 newCompositeNode(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1());
3921
3922 pushFollow(FOLLOW_2);
3923 this_DefiniteMultiplicity_1=ruleDefiniteMultiplicity();
3924
3925 state._fsp--;
3926
3927
3928 current = this_DefiniteMultiplicity_1;
3929 afterParserOrEnumRuleCall();
3930
3931
3932 }
3933 break;
3934
3935 }
3936
3937
3938 }
3939
3940
3941 leaveRule();
3942
3943 }
3944
3945 catch (RecognitionException re) {
3946 recover(input,re);
3947 appendSkippedTokens();
3948 }
3949 finally {
3950 }
3951 return current;
3952 }
3953 // $ANTLR end "ruleMultiplicity"
3954
3955
3956 // $ANTLR start "entryRuleDefiniteMultiplicity"
3957 // InternalProblem.g:1502:1: entryRuleDefiniteMultiplicity returns [EObject current=null] : iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF ;
3958 public final EObject entryRuleDefiniteMultiplicity() throws RecognitionException {
3959 EObject current = null;
3960
3961 EObject iv_ruleDefiniteMultiplicity = null;
3962
3963
3964 try {
3965 // InternalProblem.g:1502:61: (iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF )
3966 // InternalProblem.g:1503:2: iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF
3967 {
3968 newCompositeNode(grammarAccess.getDefiniteMultiplicityRule());
3969 pushFollow(FOLLOW_1);
3970 iv_ruleDefiniteMultiplicity=ruleDefiniteMultiplicity();
3971
3972 state._fsp--;
3973
3974 current =iv_ruleDefiniteMultiplicity;
3975 match(input,EOF,FOLLOW_2);
3976
3977 }
3978
3979 }
3980
3981 catch (RecognitionException re) {
3982 recover(input,re);
3983 appendSkippedTokens();
3984 }
3985 finally {
3986 }
3987 return current;
3988 }
3989 // $ANTLR end "entryRuleDefiniteMultiplicity"
3990
3991
3992 // $ANTLR start "ruleDefiniteMultiplicity"
3993 // InternalProblem.g:1509:1: ruleDefiniteMultiplicity returns [EObject current=null] : (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ;
3994 public final EObject ruleDefiniteMultiplicity() throws RecognitionException {
3995 EObject current = null;
3996
3997 EObject this_RangeMultiplicity_0 = null;
3998
3999 EObject this_ExactMultiplicity_1 = null;
4000
4001
4002
4003 enterRule();
4004
4005 try {
4006 // InternalProblem.g:1515:2: ( (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) )
4007 // InternalProblem.g:1516:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity )
4008 {
4009 // InternalProblem.g:1516:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity )
4010 int alt38=2;
4011 int LA38_0 = input.LA(1);
4012
4013 if ( (LA38_0==RULE_INT) ) {
4014 int LA38_1 = input.LA(2);
4015
4016 if ( (LA38_1==38) ) {
4017 alt38=1;
4018 }
4019 else if ( (LA38_1==EOF||LA38_1==13||LA38_1==17||LA38_1==25) ) {
4020 alt38=2;
4021 }
4022 else {
4023 NoViableAltException nvae =
4024 new NoViableAltException("", 38, 1, input);
4025
4026 throw nvae;
4027 }
4028 }
4029 else {
4030 NoViableAltException nvae =
4031 new NoViableAltException("", 38, 0, input);
4032
4033 throw nvae;
4034 }
4035 switch (alt38) {
4036 case 1 :
4037 // InternalProblem.g:1517:3: this_RangeMultiplicity_0= ruleRangeMultiplicity
4038 {
4039
4040 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0());
4041
4042 pushFollow(FOLLOW_2);
4043 this_RangeMultiplicity_0=ruleRangeMultiplicity();
4044
4045 state._fsp--;
4046
4047
4048 current = this_RangeMultiplicity_0;
4049 afterParserOrEnumRuleCall();
4050
4051
4052 }
4053 break;
4054 case 2 :
4055 // InternalProblem.g:1526:3: this_ExactMultiplicity_1= ruleExactMultiplicity
4056 {
4057
4058 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
4059
4060 pushFollow(FOLLOW_2);
4061 this_ExactMultiplicity_1=ruleExactMultiplicity();
4062
4063 state._fsp--;
4064
4065
4066 current = this_ExactMultiplicity_1;
4067 afterParserOrEnumRuleCall();
4068
4069
4070 }
4071 break;
4072
4073 }
4074
4075
4076 }
4077
4078
4079 leaveRule();
4080
4081 }
4082
4083 catch (RecognitionException re) {
4084 recover(input,re);
4085 appendSkippedTokens();
4086 }
4087 finally {
4088 }
4089 return current;
4090 }
4091 // $ANTLR end "ruleDefiniteMultiplicity"
4092
4093
4094 // $ANTLR start "entryRuleUnboundedMultiplicity"
4095 // InternalProblem.g:1538:1: entryRuleUnboundedMultiplicity returns [EObject current=null] : iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF ;
4096 public final EObject entryRuleUnboundedMultiplicity() throws RecognitionException {
4097 EObject current = null;
4098
4099 EObject iv_ruleUnboundedMultiplicity = null;
4100
4101
4102 try {
4103 // InternalProblem.g:1538:62: (iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF )
4104 // InternalProblem.g:1539:2: iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF
4105 {
4106 newCompositeNode(grammarAccess.getUnboundedMultiplicityRule());
4107 pushFollow(FOLLOW_1);
4108 iv_ruleUnboundedMultiplicity=ruleUnboundedMultiplicity();
4109
4110 state._fsp--;
4111
4112 current =iv_ruleUnboundedMultiplicity;
4113 match(input,EOF,FOLLOW_2);
4114
4115 }
4116
4117 }
4118
4119 catch (RecognitionException re) {
4120 recover(input,re);
4121 appendSkippedTokens();
4122 }
4123 finally {
4124 }
4125 return current;
4126 }
4127 // $ANTLR end "entryRuleUnboundedMultiplicity"
4128
4129
4130 // $ANTLR start "ruleUnboundedMultiplicity"
4131 // InternalProblem.g:1545:1: ruleUnboundedMultiplicity returns [EObject current=null] : () ;
4132 public final EObject ruleUnboundedMultiplicity() throws RecognitionException {
4133 EObject current = null;
4134
4135
4136 enterRule();
4137
4138 try {
4139 // InternalProblem.g:1551:2: ( () )
4140 // InternalProblem.g:1552:2: ()
4141 {
4142 // InternalProblem.g:1552:2: ()
4143 // InternalProblem.g:1553:3:
4144 {
4145
4146 current = forceCreateModelElement(
4147 grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction(),
4148 current);
4149
4150
4151 }
4152
4153
4154 }
4155
4156
4157 leaveRule();
4158
4159 }
4160 finally {
4161 }
4162 return current;
4163 }
4164 // $ANTLR end "ruleUnboundedMultiplicity"
4165
4166
4167 // $ANTLR start "entryRuleRangeMultiplicity"
4168 // InternalProblem.g:1562:1: entryRuleRangeMultiplicity returns [EObject current=null] : iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ;
4169 public final EObject entryRuleRangeMultiplicity() throws RecognitionException {
4170 EObject current = null;
4171
4172 EObject iv_ruleRangeMultiplicity = null;
4173
4174
4175 try {
4176 // InternalProblem.g:1562:58: (iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF )
4177 // InternalProblem.g:1563:2: iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF
4178 {
4179 newCompositeNode(grammarAccess.getRangeMultiplicityRule());
4180 pushFollow(FOLLOW_1);
4181 iv_ruleRangeMultiplicity=ruleRangeMultiplicity();
4182
4183 state._fsp--;
4184
4185 current =iv_ruleRangeMultiplicity;
4186 match(input,EOF,FOLLOW_2);
4187
4188 }
4189
4190 }
4191
4192 catch (RecognitionException re) {
4193 recover(input,re);
4194 appendSkippedTokens();
4195 }
4196 finally {
4197 }
4198 return current;
4199 }
4200 // $ANTLR end "entryRuleRangeMultiplicity"
4201
4202
4203 // $ANTLR start "ruleRangeMultiplicity"
4204 // InternalProblem.g:1569:1: ruleRangeMultiplicity returns [EObject current=null] : ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ;
4205 public final EObject ruleRangeMultiplicity() throws RecognitionException {
4206 EObject current = null;
4207
4208 Token lv_lowerBound_0_0=null;
4209 Token otherlv_1=null;
4210 AntlrDatatypeRuleToken lv_upperBound_2_0 = null;
4211
4212
4213
4214 enterRule();
4215
4216 try {
4217 // InternalProblem.g:1575:2: ( ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) )
4218 // InternalProblem.g:1576:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) )
4219 {
4220 // InternalProblem.g:1576:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) )
4221 // InternalProblem.g:1577:3: ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) )
4222 {
4223 // InternalProblem.g:1577:3: ( (lv_lowerBound_0_0= RULE_INT ) )
4224 // InternalProblem.g:1578:4: (lv_lowerBound_0_0= RULE_INT )
4225 {
4226 // InternalProblem.g:1578:4: (lv_lowerBound_0_0= RULE_INT )
4227 // InternalProblem.g:1579:5: lv_lowerBound_0_0= RULE_INT
4228 {
4229 lv_lowerBound_0_0=(Token)match(input,RULE_INT,FOLLOW_34);
4230
4231 newLeafNode(lv_lowerBound_0_0, grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0());
4232
4233
4234 if (current==null) {
4235 current = createModelElement(grammarAccess.getRangeMultiplicityRule());
4236 }
4237 setWithLastConsumed(
4238 current,
4239 "lowerBound",
4240 lv_lowerBound_0_0,
4241 "org.eclipse.xtext.common.Terminals.INT");
4242
4243
4244 }
4245
4246
4247 }
4248
4249 otherlv_1=(Token)match(input,38,FOLLOW_35);
4250
4251 newLeafNode(otherlv_1, grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1());
4252
4253 // InternalProblem.g:1599:3: ( (lv_upperBound_2_0= ruleUpperBound ) )
4254 // InternalProblem.g:1600:4: (lv_upperBound_2_0= ruleUpperBound )
4255 {
4256 // InternalProblem.g:1600:4: (lv_upperBound_2_0= ruleUpperBound )
4257 // InternalProblem.g:1601:5: lv_upperBound_2_0= ruleUpperBound
4258 {
4259
4260 newCompositeNode(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0());
4261
4262 pushFollow(FOLLOW_2);
4263 lv_upperBound_2_0=ruleUpperBound();
4264
4265 state._fsp--;
4266
4267
4268 if (current==null) {
4269 current = createModelElementForParent(grammarAccess.getRangeMultiplicityRule());
4270 }
4271 set(
4272 current,
4273 "upperBound",
4274 lv_upperBound_2_0,
4275 "org.eclipse.viatra.solver.language.Problem.UpperBound");
4276 afterParserOrEnumRuleCall();
4277
4278
4279 }
4280
4281
4282 }
4283
4284
4285 }
4286
4287
4288 }
4289
4290
4291 leaveRule();
4292
4293 }
4294
4295 catch (RecognitionException re) {
4296 recover(input,re);
4297 appendSkippedTokens();
4298 }
4299 finally {
4300 }
4301 return current;
4302 }
4303 // $ANTLR end "ruleRangeMultiplicity"
4304
4305
4306 // $ANTLR start "entryRuleExactMultiplicity"
4307 // InternalProblem.g:1622:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ;
4308 public final EObject entryRuleExactMultiplicity() throws RecognitionException {
4309 EObject current = null;
4310
4311 EObject iv_ruleExactMultiplicity = null;
4312
4313
4314 try {
4315 // InternalProblem.g:1622:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF )
4316 // InternalProblem.g:1623:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF
4317 {
4318 newCompositeNode(grammarAccess.getExactMultiplicityRule());
4319 pushFollow(FOLLOW_1);
4320 iv_ruleExactMultiplicity=ruleExactMultiplicity();
4321
4322 state._fsp--;
4323
4324 current =iv_ruleExactMultiplicity;
4325 match(input,EOF,FOLLOW_2);
4326
4327 }
4328
4329 }
4330
4331 catch (RecognitionException re) {
4332 recover(input,re);
4333 appendSkippedTokens();
4334 }
4335 finally {
4336 }
4337 return current;
4338 }
4339 // $ANTLR end "entryRuleExactMultiplicity"
4340
4341
4342 // $ANTLR start "ruleExactMultiplicity"
4343 // InternalProblem.g:1629:1: ruleExactMultiplicity returns [EObject current=null] : ( (lv_exactValue_0_0= RULE_INT ) ) ;
4344 public final EObject ruleExactMultiplicity() throws RecognitionException {
4345 EObject current = null;
4346
4347 Token lv_exactValue_0_0=null;
4348
4349
4350 enterRule();
4351
4352 try {
4353 // InternalProblem.g:1635:2: ( ( (lv_exactValue_0_0= RULE_INT ) ) )
4354 // InternalProblem.g:1636:2: ( (lv_exactValue_0_0= RULE_INT ) )
4355 {
4356 // InternalProblem.g:1636:2: ( (lv_exactValue_0_0= RULE_INT ) )
4357 // InternalProblem.g:1637:3: (lv_exactValue_0_0= RULE_INT )
4358 {
4359 // InternalProblem.g:1637:3: (lv_exactValue_0_0= RULE_INT )
4360 // InternalProblem.g:1638:4: lv_exactValue_0_0= RULE_INT
4361 {
4362 lv_exactValue_0_0=(Token)match(input,RULE_INT,FOLLOW_2);
4363
4364 newLeafNode(lv_exactValue_0_0, grammarAccess.getExactMultiplicityAccess().getExactValueINTTerminalRuleCall_0());
4365
4366
4367 if (current==null) {
4368 current = createModelElement(grammarAccess.getExactMultiplicityRule());
4369 }
4370 setWithLastConsumed(
4371 current,
4372 "exactValue",
4373 lv_exactValue_0_0,
4374 "org.eclipse.xtext.common.Terminals.INT");
4375
4376
4377 }
4378
4379
4380 }
4381
4382
4383 }
4384
4385
4386 leaveRule();
4387
4388 }
4389
4390 catch (RecognitionException re) {
4391 recover(input,re);
4392 appendSkippedTokens();
4393 }
4394 finally {
4395 }
4396 return current;
4397 }
4398 // $ANTLR end "ruleExactMultiplicity"
4399
4400
4401 // $ANTLR start "entryRuleUpperBound"
4402 // InternalProblem.g:1657:1: entryRuleUpperBound returns [String current=null] : iv_ruleUpperBound= ruleUpperBound EOF ;
4403 public final String entryRuleUpperBound() throws RecognitionException {
4404 String current = null;
4405
4406 AntlrDatatypeRuleToken iv_ruleUpperBound = null;
4407
4408
4409 try {
4410 // InternalProblem.g:1657:50: (iv_ruleUpperBound= ruleUpperBound EOF )
4411 // InternalProblem.g:1658:2: iv_ruleUpperBound= ruleUpperBound EOF
4412 {
4413 newCompositeNode(grammarAccess.getUpperBoundRule());
4414 pushFollow(FOLLOW_1);
4415 iv_ruleUpperBound=ruleUpperBound();
4416
4417 state._fsp--;
4418
4419 current =iv_ruleUpperBound.getText();
4420 match(input,EOF,FOLLOW_2);
4421
4422 }
4423
4424 }
4425
4426 catch (RecognitionException re) {
4427 recover(input,re);
4428 appendSkippedTokens();
4429 }
4430 finally {
4431 }
4432 return current;
4433 }
4434 // $ANTLR end "entryRuleUpperBound"
4435
4436
4437 // $ANTLR start "ruleUpperBound"
4438 // InternalProblem.g:1664:1: ruleUpperBound returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ;
4439 public final AntlrDatatypeRuleToken ruleUpperBound() throws RecognitionException {
4440 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
4441
4442 Token this_INT_0=null;
4443 Token kw=null;
4444
4445
4446 enterRule();
4447
4448 try {
4449 // InternalProblem.g:1670:2: ( (this_INT_0= RULE_INT | kw= '*' ) )
4450 // InternalProblem.g:1671:2: (this_INT_0= RULE_INT | kw= '*' )
4451 {
4452 // InternalProblem.g:1671:2: (this_INT_0= RULE_INT | kw= '*' )
4453 int alt39=2;
4454 int LA39_0 = input.LA(1);
4455
4456 if ( (LA39_0==RULE_INT) ) {
4457 alt39=1;
4458 }
4459 else if ( (LA39_0==39) ) {
4460 alt39=2;
4461 }
4462 else {
4463 NoViableAltException nvae =
4464 new NoViableAltException("", 39, 0, input);
4465
4466 throw nvae;
4467 }
4468 switch (alt39) {
4469 case 1 :
4470 // InternalProblem.g:1672:3: this_INT_0= RULE_INT
4471 {
4472 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2);
4473
4474 current.merge(this_INT_0);
4475
4476
4477 newLeafNode(this_INT_0, grammarAccess.getUpperBoundAccess().getINTTerminalRuleCall_0());
4478
4479
4480 }
4481 break;
4482 case 2 :
4483 // InternalProblem.g:1680:3: kw= '*'
4484 {
4485 kw=(Token)match(input,39,FOLLOW_2);
4486
4487 current.merge(kw);
4488 newLeafNode(kw, grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1());
4489
4490
4491 }
4492 break;
4493
4494 }
4495
4496
4497 }
4498
4499
4500 leaveRule();
4501
4502 }
4503
4504 catch (RecognitionException re) {
4505 recover(input,re);
4506 appendSkippedTokens();
4507 }
4508 finally {
4509 }
4510 return current;
4511 }
4512 // $ANTLR end "ruleUpperBound"
4513
4514
4515 // $ANTLR start "entryRuleQuotedOrUnquotedId"
4516 // InternalProblem.g:1689:1: entryRuleQuotedOrUnquotedId returns [String current=null] : iv_ruleQuotedOrUnquotedId= ruleQuotedOrUnquotedId EOF ;
4517 public final String entryRuleQuotedOrUnquotedId() throws RecognitionException {
4518 String current = null;
4519
4520 AntlrDatatypeRuleToken iv_ruleQuotedOrUnquotedId = null;
4521
4522
4523 try {
4524 // InternalProblem.g:1689:58: (iv_ruleQuotedOrUnquotedId= ruleQuotedOrUnquotedId EOF )
4525 // InternalProblem.g:1690:2: iv_ruleQuotedOrUnquotedId= ruleQuotedOrUnquotedId EOF
4526 {
4527 newCompositeNode(grammarAccess.getQuotedOrUnquotedIdRule());
4528 pushFollow(FOLLOW_1);
4529 iv_ruleQuotedOrUnquotedId=ruleQuotedOrUnquotedId();
4530
4531 state._fsp--;
4532
4533 current =iv_ruleQuotedOrUnquotedId.getText();
4534 match(input,EOF,FOLLOW_2);
4535
4536 }
4537
4538 }
4539
4540 catch (RecognitionException re) {
4541 recover(input,re);
4542 appendSkippedTokens();
4543 }
4544 finally {
4545 }
4546 return current;
4547 }
4548 // $ANTLR end "entryRuleQuotedOrUnquotedId"
4549
4550
4551 // $ANTLR start "ruleQuotedOrUnquotedId"
4552 // InternalProblem.g:1696:1: ruleQuotedOrUnquotedId returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier ) ;
4553 public final AntlrDatatypeRuleToken ruleQuotedOrUnquotedId() throws RecognitionException {
4554 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
4555
4556 Token this_QUOTED_ID_0=null;
4557 AntlrDatatypeRuleToken this_Identifier_1 = null;
4558
4559
4560
4561 enterRule();
4562
4563 try {
4564 // InternalProblem.g:1702:2: ( (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier ) )
4565 // InternalProblem.g:1703:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier )
4566 {
4567 // InternalProblem.g:1703:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier )
4568 int alt40=2;
4569 int LA40_0 = input.LA(1);
4570
4571 if ( (LA40_0==RULE_QUOTED_ID) ) {
4572 alt40=1;
4573 }
4574 else if ( (LA40_0==RULE_ID||(LA40_0>=40 && LA40_0<=41)) ) {
4575 alt40=2;
4576 }
4577 else {
4578 NoViableAltException nvae =
4579 new NoViableAltException("", 40, 0, input);
4580
4581 throw nvae;
4582 }
4583 switch (alt40) {
4584 case 1 :
4585 // InternalProblem.g:1704:3: this_QUOTED_ID_0= RULE_QUOTED_ID
4586 {
4587 this_QUOTED_ID_0=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
4588
4589 current.merge(this_QUOTED_ID_0);
4590
4591
4592 newLeafNode(this_QUOTED_ID_0, grammarAccess.getQuotedOrUnquotedIdAccess().getQUOTED_IDTerminalRuleCall_0());
4593
4594
4595 }
4596 break;
4597 case 2 :
4598 // InternalProblem.g:1712:3: this_Identifier_1= ruleIdentifier
4599 {
4600
4601 newCompositeNode(grammarAccess.getQuotedOrUnquotedIdAccess().getIdentifierParserRuleCall_1());
4602
4603 pushFollow(FOLLOW_2);
4604 this_Identifier_1=ruleIdentifier();
4605
4606 state._fsp--;
4607
4608
4609 current.merge(this_Identifier_1);
4610
4611
4612 afterParserOrEnumRuleCall();
4613
4614
4615 }
4616 break;
4617
4618 }
4619
4620
4621 }
4622
4623
4624 leaveRule();
4625
4626 }
4627
4628 catch (RecognitionException re) {
4629 recover(input,re);
4630 appendSkippedTokens();
4631 }
4632 finally {
4633 }
4634 return current;
4635 }
4636 // $ANTLR end "ruleQuotedOrUnquotedId"
4637
4638
4639 // $ANTLR start "entryRuleQualifiedName"
4640 // InternalProblem.g:1726:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
4641 public final String entryRuleQualifiedName() throws RecognitionException {
4642 String current = null;
4643
4644 AntlrDatatypeRuleToken iv_ruleQualifiedName = null;
4645
4646
4647 try {
4648 // InternalProblem.g:1726:53: (iv_ruleQualifiedName= ruleQualifiedName EOF )
4649 // InternalProblem.g:1727:2: iv_ruleQualifiedName= ruleQualifiedName EOF
4650 {
4651 newCompositeNode(grammarAccess.getQualifiedNameRule());
4652 pushFollow(FOLLOW_1);
4653 iv_ruleQualifiedName=ruleQualifiedName();
4654
4655 state._fsp--;
4656
4657 current =iv_ruleQualifiedName.getText();
4658 match(input,EOF,FOLLOW_2);
4659
4660 }
4661
4662 }
4663
4664 catch (RecognitionException re) {
4665 recover(input,re);
4666 appendSkippedTokens();
4667 }
4668 finally {
4669 }
4670 return current;
4671 }
4672 // $ANTLR end "entryRuleQualifiedName"
4673
4674
4675 // $ANTLR start "ruleQualifiedName"
4676 // InternalProblem.g:1733:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) ;
4677 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
4678 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
4679
4680 Token this_QUOTED_ID_0=null;
4681 Token kw=null;
4682 Token this_QUOTED_ID_5=null;
4683 AntlrDatatypeRuleToken this_Identifier_1 = null;
4684
4685 AntlrDatatypeRuleToken this_Identifier_3 = null;
4686
4687
4688
4689 enterRule();
4690
4691 try {
4692 // InternalProblem.g:1739:2: ( (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) )
4693 // InternalProblem.g:1740:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) )
4694 {
4695 // InternalProblem.g:1740:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) )
4696 int alt43=2;
4697 int LA43_0 = input.LA(1);
4698
4699 if ( (LA43_0==RULE_QUOTED_ID) ) {
4700 alt43=1;
4701 }
4702 else if ( (LA43_0==RULE_ID||(LA43_0>=40 && LA43_0<=41)) ) {
4703 alt43=2;
4704 }
4705 else {
4706 NoViableAltException nvae =
4707 new NoViableAltException("", 43, 0, input);
4708
4709 throw nvae;
4710 }
4711 switch (alt43) {
4712 case 1 :
4713 // InternalProblem.g:1741:3: this_QUOTED_ID_0= RULE_QUOTED_ID
4714 {
4715 this_QUOTED_ID_0=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
4716
4717 current.merge(this_QUOTED_ID_0);
4718
4719
4720 newLeafNode(this_QUOTED_ID_0, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0());
4721
4722
4723 }
4724 break;
4725 case 2 :
4726 // InternalProblem.g:1749:3: (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? )
4727 {
4728 // InternalProblem.g:1749:3: (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? )
4729 // InternalProblem.g:1750:4: this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )?
4730 {
4731
4732 newCompositeNode(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_0());
4733
4734 pushFollow(FOLLOW_36);
4735 this_Identifier_1=ruleIdentifier();
4736
4737 state._fsp--;
4738
4739
4740 current.merge(this_Identifier_1);
4741
4742
4743 afterParserOrEnumRuleCall();
4744
4745 // InternalProblem.g:1760:4: (kw= ':' this_Identifier_3= ruleIdentifier )*
4746 loop41:
4747 do {
4748 int alt41=2;
4749 int LA41_0 = input.LA(1);
4750
4751 if ( (LA41_0==34) ) {
4752 int LA41_1 = input.LA(2);
4753
4754 if ( (LA41_1==RULE_ID||(LA41_1>=40 && LA41_1<=41)) ) {
4755 alt41=1;
4756 }
4757
4758
4759 }
4760
4761
4762 switch (alt41) {
4763 case 1 :
4764 // InternalProblem.g:1761:5: kw= ':' this_Identifier_3= ruleIdentifier
4765 {
4766 kw=(Token)match(input,34,FOLLOW_3);
4767
4768 current.merge(kw);
4769 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0());
4770
4771
4772 newCompositeNode(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1());
4773
4774 pushFollow(FOLLOW_36);
4775 this_Identifier_3=ruleIdentifier();
4776
4777 state._fsp--;
4778
4779
4780 current.merge(this_Identifier_3);
4781
4782
4783 afterParserOrEnumRuleCall();
4784
4785
4786 }
4787 break;
4788
4789 default :
4790 break loop41;
4791 }
4792 } while (true);
4793
4794 // InternalProblem.g:1777:4: (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )?
4795 int alt42=2;
4796 int LA42_0 = input.LA(1);
4797
4798 if ( (LA42_0==34) ) {
4799 alt42=1;
4800 }
4801 switch (alt42) {
4802 case 1 :
4803 // InternalProblem.g:1778:5: kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID
4804 {
4805 kw=(Token)match(input,34,FOLLOW_37);
4806
4807 current.merge(kw);
4808 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0());
4809
4810 this_QUOTED_ID_5=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
4811
4812 current.merge(this_QUOTED_ID_5);
4813
4814
4815 newLeafNode(this_QUOTED_ID_5, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1());
4816
4817
4818 }
4819 break;
4820
4821 }
4822
4823
4824 }
4825
4826
4827 }
4828 break;
4829
4830 }
4831
4832
4833 }
4834
4835
4836 leaveRule();
4837
4838 }
4839
4840 catch (RecognitionException re) {
4841 recover(input,re);
4842 appendSkippedTokens();
4843 }
4844 finally {
4845 }
4846 return current;
4847 }
4848 // $ANTLR end "ruleQualifiedName"
4849
4850
4851 // $ANTLR start "entryRuleIdentifier"
4852 // InternalProblem.g:1796:1: entryRuleIdentifier returns [String current=null] : iv_ruleIdentifier= ruleIdentifier EOF ;
4853 public final String entryRuleIdentifier() throws RecognitionException {
4854 String current = null;
4855
4856 AntlrDatatypeRuleToken iv_ruleIdentifier = null;
4857
4858
4859 try {
4860 // InternalProblem.g:1796:50: (iv_ruleIdentifier= ruleIdentifier EOF )
4861 // InternalProblem.g:1797:2: iv_ruleIdentifier= ruleIdentifier EOF
4862 {
4863 newCompositeNode(grammarAccess.getIdentifierRule());
4864 pushFollow(FOLLOW_1);
4865 iv_ruleIdentifier=ruleIdentifier();
4866
4867 state._fsp--;
4868
4869 current =iv_ruleIdentifier.getText();
4870 match(input,EOF,FOLLOW_2);
4871
4872 }
4873
4874 }
4875
4876 catch (RecognitionException re) {
4877 recover(input,re);
4878 appendSkippedTokens();
4879 }
4880 finally {
4881 }
4882 return current;
4883 }
4884 // $ANTLR end "entryRuleIdentifier"
4885
4886
4887 // $ANTLR start "ruleIdentifier"
4888 // InternalProblem.g:1803:1: ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' ) ;
4889 public final AntlrDatatypeRuleToken ruleIdentifier() throws RecognitionException {
4890 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
4891
4892 Token this_ID_0=null;
4893 Token kw=null;
4894
4895
4896 enterRule();
4897
4898 try {
4899 // InternalProblem.g:1809:2: ( (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' ) )
4900 // InternalProblem.g:1810:2: (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' )
4901 {
4902 // InternalProblem.g:1810:2: (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' )
4903 int alt44=3;
4904 switch ( input.LA(1) ) {
4905 case RULE_ID:
4906 {
4907 alt44=1;
4908 }
4909 break;
4910 case 40:
4911 {
4912 alt44=2;
4913 }
4914 break;
4915 case 41:
4916 {
4917 alt44=3;
4918 }
4919 break;
4920 default:
4921 NoViableAltException nvae =
4922 new NoViableAltException("", 44, 0, input);
4923
4924 throw nvae;
4925 }
4926
4927 switch (alt44) {
4928 case 1 :
4929 // InternalProblem.g:1811:3: this_ID_0= RULE_ID
4930 {
4931 this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2);
4932
4933 current.merge(this_ID_0);
4934
4935
4936 newLeafNode(this_ID_0, grammarAccess.getIdentifierAccess().getIDTerminalRuleCall_0());
4937
4938
4939 }
4940 break;
4941 case 2 :
4942 // InternalProblem.g:1819:3: kw= 'true'
4943 {
4944 kw=(Token)match(input,40,FOLLOW_2);
4945
4946 current.merge(kw);
4947 newLeafNode(kw, grammarAccess.getIdentifierAccess().getTrueKeyword_1());
4948
4949
4950 }
4951 break;
4952 case 3 :
4953 // InternalProblem.g:1825:3: kw= 'false'
4954 {
4955 kw=(Token)match(input,41,FOLLOW_2);
4956
4957 current.merge(kw);
4958 newLeafNode(kw, grammarAccess.getIdentifierAccess().getFalseKeyword_2());
4959
4960
4961 }
4962 break;
4963
4964 }
4965
4966
4967 }
4968
4969
4970 leaveRule();
4971
4972 }
4973
4974 catch (RecognitionException re) {
4975 recover(input,re);
4976 appendSkippedTokens();
4977 }
4978 finally {
4979 }
4980 return current;
4981 }
4982 // $ANTLR end "ruleIdentifier"
4983
4984
4985 // $ANTLR start "ruleLogicValue"
4986 // InternalProblem.g:1834:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ;
4987 public final Enumerator ruleLogicValue() throws RecognitionException {
4988 Enumerator current = null;
4989
4990 Token enumLiteral_0=null;
4991 Token enumLiteral_1=null;
4992 Token enumLiteral_2=null;
4993
4994
4995 enterRule();
4996
4997 try {
4998 // InternalProblem.g:1840:2: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) )
4999 // InternalProblem.g:1841:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) )
5000 {
5001 // InternalProblem.g:1841:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) )
5002 int alt45=3;
5003 switch ( input.LA(1) ) {
5004 case 40:
5005 {
5006 alt45=1;
5007 }
5008 break;
5009 case 41:
5010 {
5011 alt45=2;
5012 }
5013 break;
5014 case 42:
5015 {
5016 alt45=3;
5017 }
5018 break;
5019 default:
5020 NoViableAltException nvae =
5021 new NoViableAltException("", 45, 0, input);
5022
5023 throw nvae;
5024 }
5025
5026 switch (alt45) {
5027 case 1 :
5028 // InternalProblem.g:1842:3: (enumLiteral_0= 'true' )
5029 {
5030 // InternalProblem.g:1842:3: (enumLiteral_0= 'true' )
5031 // InternalProblem.g:1843:4: enumLiteral_0= 'true'
5032 {
5033 enumLiteral_0=(Token)match(input,40,FOLLOW_2);
5034
5035 current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
5036 newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
5037
5038
5039 }
5040
5041
5042 }
5043 break;
5044 case 2 :
5045 // InternalProblem.g:1850:3: (enumLiteral_1= 'false' )
5046 {
5047 // InternalProblem.g:1850:3: (enumLiteral_1= 'false' )
5048 // InternalProblem.g:1851:4: enumLiteral_1= 'false'
5049 {
5050 enumLiteral_1=(Token)match(input,41,FOLLOW_2);
5051
5052 current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
5053 newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
5054
5055
5056 }
5057
5058
5059 }
5060 break;
5061 case 3 :
5062 // InternalProblem.g:1858:3: (enumLiteral_2= 'unknown' )
5063 {
5064 // InternalProblem.g:1858:3: (enumLiteral_2= 'unknown' )
5065 // InternalProblem.g:1859:4: enumLiteral_2= 'unknown'
5066 {
5067 enumLiteral_2=(Token)match(input,42,FOLLOW_2);
5068
5069 current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
5070 newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
5071
5072
5073 }
5074
5075
5076 }
5077 break;
5078
5079 }
5080
5081
5082 }
5083
5084
5085 leaveRule();
5086
5087 }
5088
5089 catch (RecognitionException re) {
5090 recover(input,re);
5091 appendSkippedTokens();
5092 }
5093 finally {
5094 }
5095 return current;
5096 }
5097 // $ANTLR end "ruleLogicValue"
5098
5099
5100 // $ANTLR start "ruleShortLogicValue"
5101 // InternalProblem.g:1869:1: ruleShortLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ;
5102 public final Enumerator ruleShortLogicValue() throws RecognitionException {
5103 Enumerator current = null;
5104
5105 Token enumLiteral_0=null;
5106 Token enumLiteral_1=null;
5107
5108
5109 enterRule();
5110
5111 try {
5112 // InternalProblem.g:1875:2: ( ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) )
5113 // InternalProblem.g:1876:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) )
5114 {
5115 // InternalProblem.g:1876:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) )
5116 int alt46=2;
5117 int LA46_0 = input.LA(1);
5118
5119 if ( (LA46_0==32) ) {
5120 alt46=1;
5121 }
5122 else if ( (LA46_0==43) ) {
5123 alt46=2;
5124 }
5125 else {
5126 NoViableAltException nvae =
5127 new NoViableAltException("", 46, 0, input);
5128
5129 throw nvae;
5130 }
5131 switch (alt46) {
5132 case 1 :
5133 // InternalProblem.g:1877:3: (enumLiteral_0= '!' )
5134 {
5135 // InternalProblem.g:1877:3: (enumLiteral_0= '!' )
5136 // InternalProblem.g:1878:4: enumLiteral_0= '!'
5137 {
5138 enumLiteral_0=(Token)match(input,32,FOLLOW_2);
5139
5140 current = grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
5141 newLeafNode(enumLiteral_0, grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0());
5142
5143
5144 }
5145
5146
5147 }
5148 break;
5149 case 2 :
5150 // InternalProblem.g:1885:3: (enumLiteral_1= '?' )
5151 {
5152 // InternalProblem.g:1885:3: (enumLiteral_1= '?' )
5153 // InternalProblem.g:1886:4: enumLiteral_1= '?'
5154 {
5155 enumLiteral_1=(Token)match(input,43,FOLLOW_2);
5156
5157 current = grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
5158 newLeafNode(enumLiteral_1, grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1());
5159
5160
5161 }
5162
5163
5164 }
5165 break;
5166
5167 }
5168
5169
5170 }
5171
5172
5173 leaveRule();
5174
5175 }
5176
5177 catch (RecognitionException re) {
5178 recover(input,re);
5179 appendSkippedTokens();
5180 }
5181 finally {
5182 }
5183 return current;
5184 }
5185 // $ANTLR end "ruleShortLogicValue"
5186
5187 // Delegated rules
5188
5189
5190 protected DFA34 dfa34 = new DFA34(this);
5191 static final String dfa_1s = "\41\uffff";
5192 static final String dfa_2s = "\1\4\4\35\1\uffff\2\4\4\21\1\15\4\35\2\4\1\uffff\10\21\1\4\4\21";
5193 static final String dfa_3s = "\1\53\1\35\3\42\1\uffff\2\51\1\36\7\42\1\35\2\51\1\uffff\1\36\6\42\1\36\1\51\3\42\1\36";
5194 static final String dfa_4s = "\5\uffff\1\2\15\uffff\1\1\15\uffff";
5195 static final String dfa_5s = "\41\uffff}>";
5196 static final String[] dfa_6s = {
5197 "\1\2\1\uffff\1\1\31\uffff\1\5\7\uffff\1\3\1\4\1\uffff\1\5",
5198 "\1\6",
5199 "\1\6\4\uffff\1\7",
5200 "\1\6\4\uffff\1\7",
5201 "\1\6\4\uffff\1\7",
5202 "",
5203 "\1\11\1\uffff\1\10\27\uffff\1\14\11\uffff\1\12\1\13",
5204 "\1\15\1\uffff\1\20\41\uffff\1\16\1\17",
5205 "\1\21\14\uffff\1\14",
5206 "\1\21\14\uffff\1\14\3\uffff\1\22",
5207 "\1\21\14\uffff\1\14\3\uffff\1\22",
5208 "\1\21\14\uffff\1\14\3\uffff\1\22",
5209 "\1\5\24\uffff\1\23",
5210 "\1\6\4\uffff\1\7",
5211 "\1\6\4\uffff\1\7",
5212 "\1\6\4\uffff\1\7",
5213 "\1\6",
5214 "\1\25\1\uffff\1\24\41\uffff\1\26\1\27",
5215 "\1\30\1\uffff\1\33\41\uffff\1\31\1\32",
5216 "",
5217 "\1\21\14\uffff\1\14",
5218 "\1\21\14\uffff\1\14\3\uffff\1\34",
5219 "\1\21\14\uffff\1\14\3\uffff\1\34",
5220 "\1\21\14\uffff\1\14\3\uffff\1\34",
5221 "\1\21\14\uffff\1\14\3\uffff\1\22",
5222 "\1\21\14\uffff\1\14\3\uffff\1\22",
5223 "\1\21\14\uffff\1\14\3\uffff\1\22",
5224 "\1\21\14\uffff\1\14",
5225 "\1\35\1\uffff\1\40\41\uffff\1\36\1\37",
5226 "\1\21\14\uffff\1\14\3\uffff\1\34",
5227 "\1\21\14\uffff\1\14\3\uffff\1\34",
5228 "\1\21\14\uffff\1\14\3\uffff\1\34",
5229 "\1\21\14\uffff\1\14"
5230 };
5231
5232 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
5233 static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s);
5234 static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s);
5235 static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s);
5236 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
5237 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
5238
5239 class DFA34 extends DFA {
5240
5241 public DFA34(BaseRecognizer recognizer) {
5242 this.recognizer = recognizer;
5243 this.decisionNumber = 34;
5244 this.eot = dfa_1;
5245 this.eof = dfa_1;
5246 this.min = dfa_2;
5247 this.max = dfa_3;
5248 this.accept = dfa_4;
5249 this.special = dfa_5;
5250 this.transition = dfa_6;
5251 }
5252 public String getDescription() {
5253 return "1138:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) )";
5254 }
5255 }
5256
5257
5258 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
5259 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
5260 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000030000000010L});
5261 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000002000L});
5262 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x00000B091820C052L});
5263 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000008000L});
5264 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000052000L});
5265 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000030000000050L});
5266 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000062000L});
5267 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000030000D00050L});
5268 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000030000D80050L});
5269 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000042000L});
5270 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000030000100050L});
5271 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x00000000001A0000L});
5272 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000100000L});
5273 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000030001000010L});
5274 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000020L});
5275 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000002000000L});
5276 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000004000002L});
5277 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000030010000010L});
5278 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000020000000L});
5279 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000030040000050L});
5280 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000040020000L});
5281 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000080002000L});
5282 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000030100000050L});
5283 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000082000L});
5284 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000020002L});
5285 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000220000000L});
5286 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000400000000L});
5287 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000070000000000L});
5288 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000010L});
5289 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000022000L});
5290 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000003000000000L});
5291 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000004000000000L});
5292 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000008000000020L});
5293 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000400000002L});
5294 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000000040L});
5295
5296} \ No newline at end of file
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/scoping/AbstractProblemScopeProvider.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/scoping/AbstractProblemScopeProvider.java
deleted file mode 100644
index 5b024d47..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/scoping/AbstractProblemScopeProvider.java
+++ /dev/null
@@ -1,9 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
3 */
4package org.eclipse.viatra.solver.language.scoping;
5
6import org.eclipse.xtext.scoping.impl.DelegatingScopeProvider;
7
8public abstract class AbstractProblemScopeProvider extends DelegatingScopeProvider {
9}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSemanticSequencer.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSemanticSequencer.java
deleted file mode 100644
index cb44c31f..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSemanticSequencer.java
+++ /dev/null
@@ -1,369 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
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.model.problem.Argument;
11import org.eclipse.viatra.solver.language.model.problem.Assertion;
12import org.eclipse.viatra.solver.language.model.problem.Atom;
13import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
14import org.eclipse.viatra.solver.language.model.problem.Conjunction;
15import org.eclipse.viatra.solver.language.model.problem.EnumDeclaration;
16import org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity;
17import org.eclipse.viatra.solver.language.model.problem.NegativeLiteral;
18import org.eclipse.viatra.solver.language.model.problem.Node;
19import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition;
20import org.eclipse.viatra.solver.language.model.problem.Problem;
21import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
22import org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity;
23import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
24import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration;
25import org.eclipse.viatra.solver.language.model.problem.TypeScope;
26import org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity;
27import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess;
28import org.eclipse.xtext.Action;
29import org.eclipse.xtext.Parameter;
30import org.eclipse.xtext.ParserRule;
31import org.eclipse.xtext.serializer.ISerializationContext;
32import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
33import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
34import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
35
36@SuppressWarnings("all")
37public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequencer {
38
39 @Inject
40 private ProblemGrammarAccess grammarAccess;
41
42 @Override
43 public void sequence(ISerializationContext context, EObject semanticObject) {
44 EPackage epackage = semanticObject.eClass().getEPackage();
45 ParserRule rule = context.getParserRule();
46 Action action = context.getAssignedAction();
47 Set<Parameter> parameters = context.getEnabledBooleanParameters();
48 if (epackage == ProblemPackage.eINSTANCE)
49 switch (semanticObject.eClass().getClassifierID()) {
50 case ProblemPackage.ARGUMENT:
51 sequence_Argument(context, (Argument) semanticObject);
52 return;
53 case ProblemPackage.ASSERTION:
54 sequence_Assertion(context, (Assertion) semanticObject);
55 return;
56 case ProblemPackage.ATOM:
57 sequence_Atom(context, (Atom) semanticObject);
58 return;
59 case ProblemPackage.CLASS_DECLARATION:
60 sequence_ClassDeclaration(context, (ClassDeclaration) semanticObject);
61 return;
62 case ProblemPackage.CONJUNCTION:
63 sequence_Conjunction(context, (Conjunction) semanticObject);
64 return;
65 case ProblemPackage.ENUM_DECLARATION:
66 sequence_EnumDeclaration(context, (EnumDeclaration) semanticObject);
67 return;
68 case ProblemPackage.EXACT_MULTIPLICITY:
69 sequence_ExactMultiplicity(context, (ExactMultiplicity) semanticObject);
70 return;
71 case ProblemPackage.NEGATIVE_LITERAL:
72 sequence_NegativeLiteral(context, (NegativeLiteral) semanticObject);
73 return;
74 case ProblemPackage.NODE:
75 sequence_EnumLiteral(context, (Node) semanticObject);
76 return;
77 case ProblemPackage.PARAMETER:
78 sequence_Parameter(context, (org.eclipse.viatra.solver.language.model.problem.Parameter) semanticObject);
79 return;
80 case ProblemPackage.PREDICATE_DEFINITION:
81 sequence_PredicateDefinition(context, (PredicateDefinition) semanticObject);
82 return;
83 case ProblemPackage.PROBLEM:
84 sequence_Problem(context, (Problem) semanticObject);
85 return;
86 case ProblemPackage.RANGE_MULTIPLICITY:
87 sequence_RangeMultiplicity(context, (RangeMultiplicity) semanticObject);
88 return;
89 case ProblemPackage.REFERENCE_DECLARATION:
90 sequence_ReferenceDeclaration(context, (ReferenceDeclaration) semanticObject);
91 return;
92 case ProblemPackage.SCOPE_DECLARATION:
93 sequence_ScopeDeclaration(context, (ScopeDeclaration) semanticObject);
94 return;
95 case ProblemPackage.TYPE_SCOPE:
96 sequence_TypeScope(context, (TypeScope) semanticObject);
97 return;
98 case ProblemPackage.UNBOUNDED_MULTIPLICITY:
99 sequence_UnboundedMultiplicity(context, (UnboundedMultiplicity) semanticObject);
100 return;
101 }
102 if (errorAcceptor != null)
103 errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
104 }
105
106 /**
107 * Contexts:
108 * Argument returns Argument
109 *
110 * Constraint:
111 * variableOrNode=[VariableOrNode|QualifiedName]
112 */
113 protected void sequence_Argument(ISerializationContext context, Argument semanticObject) {
114 if (errorAcceptor != null) {
115 if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.ARGUMENT__VARIABLE_OR_NODE) == ValueTransient.YES)
116 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.ARGUMENT__VARIABLE_OR_NODE));
117 }
118 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
119 feeder.accept(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1(), semanticObject.eGet(ProblemPackage.Literals.ARGUMENT__VARIABLE_OR_NODE, false));
120 feeder.finish();
121 }
122
123
124 /**
125 * Contexts:
126 * Statement returns Assertion
127 * Assertion returns Assertion
128 *
129 * Constraint:
130 * (
131 * (relation=[Relation|QualifiedName] (arguments+=[Node|QualifiedName] arguments+=[Node|QualifiedName]*)? value=LogicValue) |
132 * (value=ShortLogicValue? relation=[Relation|QualifiedName] (arguments+=[Node|QualifiedName] arguments+=[Node|QualifiedName]*)?)
133 * )
134 */
135 protected void sequence_Assertion(ISerializationContext context, Assertion semanticObject) {
136 genericSequencer.createSequence(context, semanticObject);
137 }
138
139
140 /**
141 * Contexts:
142 * Literal returns Atom
143 * Atom returns Atom
144 *
145 * Constraint:
146 * (relation=[Relation|QualifiedName] transitiveClosure?='+'? (arguments+=Argument arguments+=Argument*)?)
147 */
148 protected void sequence_Atom(ISerializationContext context, Atom semanticObject) {
149 genericSequencer.createSequence(context, semanticObject);
150 }
151
152
153 /**
154 * Contexts:
155 * Statement returns ClassDeclaration
156 * ClassDeclaration returns ClassDeclaration
157 *
158 * Constraint:
159 * (
160 * abstract?='abstract'?
161 * name=Identifier
162 * (superTypes+=[Relation|QualifiedName] superTypes+=[Relation|QualifiedName]*)?
163 * referenceDeclarations+=ReferenceDeclaration*
164 * )
165 */
166 protected void sequence_ClassDeclaration(ISerializationContext context, ClassDeclaration semanticObject) {
167 genericSequencer.createSequence(context, semanticObject);
168 }
169
170
171 /**
172 * Contexts:
173 * Conjunction returns Conjunction
174 *
175 * Constraint:
176 * (literals+=Literal literals+=Literal*)
177 */
178 protected void sequence_Conjunction(ISerializationContext context, Conjunction semanticObject) {
179 genericSequencer.createSequence(context, semanticObject);
180 }
181
182
183 /**
184 * Contexts:
185 * Statement returns EnumDeclaration
186 * EnumDeclaration returns EnumDeclaration
187 *
188 * Constraint:
189 * (name=Identifier (literals+=EnumLiteral literals+=EnumLiteral*)?)
190 */
191 protected void sequence_EnumDeclaration(ISerializationContext context, EnumDeclaration semanticObject) {
192 genericSequencer.createSequence(context, semanticObject);
193 }
194
195
196 /**
197 * Contexts:
198 * EnumLiteral returns Node
199 *
200 * Constraint:
201 * name=QuotedOrUnquotedId
202 */
203 protected void sequence_EnumLiteral(ISerializationContext context, Node semanticObject) {
204 if (errorAcceptor != null) {
205 if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.NAMED_ELEMENT__NAME) == ValueTransient.YES)
206 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.NAMED_ELEMENT__NAME));
207 }
208 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
209 feeder.accept(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0(), semanticObject.getName());
210 feeder.finish();
211 }
212
213
214 /**
215 * Contexts:
216 * Multiplicity returns ExactMultiplicity
217 * DefiniteMultiplicity returns ExactMultiplicity
218 * ExactMultiplicity returns ExactMultiplicity
219 *
220 * Constraint:
221 * exactValue=INT
222 */
223 protected void sequence_ExactMultiplicity(ISerializationContext context, ExactMultiplicity semanticObject) {
224 if (errorAcceptor != null) {
225 if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.EXACT_MULTIPLICITY__EXACT_VALUE) == ValueTransient.YES)
226 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.EXACT_MULTIPLICITY__EXACT_VALUE));
227 }
228 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
229 feeder.accept(grammarAccess.getExactMultiplicityAccess().getExactValueINTTerminalRuleCall_0(), semanticObject.getExactValue());
230 feeder.finish();
231 }
232
233
234 /**
235 * Contexts:
236 * Literal returns NegativeLiteral
237 * NegativeLiteral returns NegativeLiteral
238 *
239 * Constraint:
240 * atom=Atom
241 */
242 protected void sequence_NegativeLiteral(ISerializationContext context, NegativeLiteral semanticObject) {
243 if (errorAcceptor != null) {
244 if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.NEGATIVE_LITERAL__ATOM) == ValueTransient.YES)
245 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.NEGATIVE_LITERAL__ATOM));
246 }
247 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
248 feeder.accept(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0(), semanticObject.getAtom());
249 feeder.finish();
250 }
251
252
253 /**
254 * Contexts:
255 * Parameter returns Parameter
256 *
257 * Constraint:
258 * (parameterType=[Relation|QualifiedName]? name=Identifier)
259 */
260 protected void sequence_Parameter(ISerializationContext context, org.eclipse.viatra.solver.language.model.problem.Parameter semanticObject) {
261 genericSequencer.createSequence(context, semanticObject);
262 }
263
264
265 /**
266 * Contexts:
267 * Statement returns PredicateDefinition
268 * PredicateDefinition returns PredicateDefinition
269 *
270 * Constraint:
271 * (error?='error'? name=Identifier (parameters+=Parameter parameters+=Parameter*)? (bodies+=Conjunction bodies+=Conjunction*)?)
272 */
273 protected void sequence_PredicateDefinition(ISerializationContext context, PredicateDefinition semanticObject) {
274 genericSequencer.createSequence(context, semanticObject);
275 }
276
277
278 /**
279 * Contexts:
280 * Problem returns Problem
281 *
282 * Constraint:
283 * ((name=Identifier statements+=Statement+) | statements+=Statement+)?
284 */
285 protected void sequence_Problem(ISerializationContext context, Problem semanticObject) {
286 genericSequencer.createSequence(context, semanticObject);
287 }
288
289
290 /**
291 * Contexts:
292 * Multiplicity returns RangeMultiplicity
293 * DefiniteMultiplicity returns RangeMultiplicity
294 * RangeMultiplicity returns RangeMultiplicity
295 *
296 * Constraint:
297 * (lowerBound=INT upperBound=UpperBound)
298 */
299 protected void sequence_RangeMultiplicity(ISerializationContext context, RangeMultiplicity semanticObject) {
300 if (errorAcceptor != null) {
301 if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.RANGE_MULTIPLICITY__LOWER_BOUND) == ValueTransient.YES)
302 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.RANGE_MULTIPLICITY__LOWER_BOUND));
303 if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.RANGE_MULTIPLICITY__UPPER_BOUND) == ValueTransient.YES)
304 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.RANGE_MULTIPLICITY__UPPER_BOUND));
305 }
306 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
307 feeder.accept(grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0(), semanticObject.getLowerBound());
308 feeder.accept(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0(), semanticObject.getUpperBound());
309 feeder.finish();
310 }
311
312
313 /**
314 * Contexts:
315 * ReferenceDeclaration returns ReferenceDeclaration
316 *
317 * Constraint:
318 * (
319 * containment?='contains'?
320 * referenceType=[Relation|QualifiedName]
321 * multiplicity=Multiplicity?
322 * name=Identifier
323 * opposite=[ReferenceDeclaration|QualifiedName]?
324 * )
325 */
326 protected void sequence_ReferenceDeclaration(ISerializationContext context, ReferenceDeclaration semanticObject) {
327 genericSequencer.createSequence(context, semanticObject);
328 }
329
330
331 /**
332 * Contexts:
333 * Statement returns ScopeDeclaration
334 * ScopeDeclaration returns ScopeDeclaration
335 *
336 * Constraint:
337 * (typeScopes+=TypeScope typeScopes+=TypeScope*)
338 */
339 protected void sequence_ScopeDeclaration(ISerializationContext context, ScopeDeclaration semanticObject) {
340 genericSequencer.createSequence(context, semanticObject);
341 }
342
343
344 /**
345 * Contexts:
346 * TypeScope returns TypeScope
347 *
348 * Constraint:
349 * (targetType=[ClassDeclaration|ID] increment?='+='? multiplicity=DefiniteMultiplicity)
350 */
351 protected void sequence_TypeScope(ISerializationContext context, TypeScope semanticObject) {
352 genericSequencer.createSequence(context, semanticObject);
353 }
354
355
356 /**
357 * Contexts:
358 * Multiplicity returns UnboundedMultiplicity
359 * UnboundedMultiplicity returns UnboundedMultiplicity
360 *
361 * Constraint:
362 * {UnboundedMultiplicity}
363 */
364 protected void sequence_UnboundedMultiplicity(ISerializationContext context, UnboundedMultiplicity semanticObject) {
365 genericSequencer.createSequence(context, semanticObject);
366 }
367
368
369}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSyntacticSequencer.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSyntacticSequencer.java
deleted file mode 100644
index 3f0a3f05..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSyntacticSequencer.java
+++ /dev/null
@@ -1,139 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
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.ProblemGrammarAccess;
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.AlternativeAlias;
15import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias;
16import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
17import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
18import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
19import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
20
21@SuppressWarnings("all")
22public class ProblemSyntacticSequencer extends AbstractSyntacticSequencer {
23
24 protected ProblemGrammarAccess grammarAccess;
25 protected AbstractElementAlias match_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__;
26 protected AbstractElementAlias match_ClassDeclaration_SemicolonKeyword_4_0_1_1_q;
27 protected AbstractElementAlias match_EnumDeclaration_FullStopKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__;
28 protected AbstractElementAlias match_EnumDeclaration___CommaKeyword_2_0_1_2_0_or_SemicolonKeyword_2_0_1_2_1__q;
29 protected AbstractElementAlias match_PredicateDefinition_PredKeyword_0_0_1_q;
30 protected AbstractElementAlias match_ReferenceDeclaration_RefersKeyword_0_1_q;
31
32 @Inject
33 protected void init(IGrammarAccess access) {
34 grammarAccess = (ProblemGrammarAccess) access;
35 match_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()), new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2())), new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1()));
36 match_ClassDeclaration_SemicolonKeyword_4_0_1_1_q = new TokenAlias(false, true, grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1());
37 match_EnumDeclaration_FullStopKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0()), new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2())), new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1()));
38 match_EnumDeclaration___CommaKeyword_2_0_1_2_0_or_SemicolonKeyword_2_0_1_2_1__q = new AlternativeAlias(false, true, new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0()), new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1()));
39 match_PredicateDefinition_PredKeyword_0_0_1_q = new TokenAlias(false, true, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1());
40 match_ReferenceDeclaration_RefersKeyword_0_1_q = new TokenAlias(false, true, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
41 }
42
43 @Override
44 protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
45 return "";
46 }
47
48
49 @Override
50 protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
51 if (transition.getAmbiguousSyntaxes().isEmpty()) return;
52 List<INode> transitionNodes = collectNodes(fromNode, toNode);
53 for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
54 List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
55 if (match_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__.equals(syntax))
56 emit_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__(semanticObject, getLastNavigableState(), syntaxNodes);
57 else if (match_ClassDeclaration_SemicolonKeyword_4_0_1_1_q.equals(syntax))
58 emit_ClassDeclaration_SemicolonKeyword_4_0_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
59 else if (match_EnumDeclaration_FullStopKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__.equals(syntax))
60 emit_EnumDeclaration_FullStopKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__(semanticObject, getLastNavigableState(), syntaxNodes);
61 else if (match_EnumDeclaration___CommaKeyword_2_0_1_2_0_or_SemicolonKeyword_2_0_1_2_1__q.equals(syntax))
62 emit_EnumDeclaration___CommaKeyword_2_0_1_2_0_or_SemicolonKeyword_2_0_1_2_1__q(semanticObject, getLastNavigableState(), syntaxNodes);
63 else if (match_PredicateDefinition_PredKeyword_0_0_1_q.equals(syntax))
64 emit_PredicateDefinition_PredKeyword_0_0_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
65 else if (match_ReferenceDeclaration_RefersKeyword_0_1_q.equals(syntax))
66 emit_ReferenceDeclaration_RefersKeyword_0_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
67 else acceptNodes(getLastNavigableState(), syntaxNodes);
68 }
69 }
70
71 /**
72 * Ambiguous syntax:
73 * ('{' '}') | '.'
74 *
75 * This ambiguous syntax occurs at:
76 * name=Identifier (ambiguity) (rule end)
77 * superTypes+=[Relation|QualifiedName] (ambiguity) (rule end)
78 */
79 protected void emit_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
80 acceptNodes(transition, nodes);
81 }
82
83 /**
84 * Ambiguous syntax:
85 * ';'?
86 *
87 * This ambiguous syntax occurs at:
88 * referenceDeclarations+=ReferenceDeclaration (ambiguity) '}' (rule end)
89 * referenceDeclarations+=ReferenceDeclaration (ambiguity) referenceDeclarations+=ReferenceDeclaration
90 */
91 protected void emit_ClassDeclaration_SemicolonKeyword_4_0_1_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
92 acceptNodes(transition, nodes);
93 }
94
95 /**
96 * Ambiguous syntax:
97 * ('{' '}') | '.'
98 *
99 * This ambiguous syntax occurs at:
100 * name=Identifier (ambiguity) (rule end)
101 */
102 protected void emit_EnumDeclaration_FullStopKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
103 acceptNodes(transition, nodes);
104 }
105
106 /**
107 * Ambiguous syntax:
108 * (',' | ';')?
109 *
110 * This ambiguous syntax occurs at:
111 * literals+=EnumLiteral (ambiguity) '}' (rule end)
112 */
113 protected void emit_EnumDeclaration___CommaKeyword_2_0_1_2_0_or_SemicolonKeyword_2_0_1_2_1__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
114 acceptNodes(transition, nodes);
115 }
116
117 /**
118 * Ambiguous syntax:
119 * 'pred'?
120 *
121 * This ambiguous syntax occurs at:
122 * error?='error' (ambiguity) name=Identifier
123 */
124 protected void emit_PredicateDefinition_PredKeyword_0_0_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
125 acceptNodes(transition, nodes);
126 }
127
128 /**
129 * Ambiguous syntax:
130 * 'refers'?
131 *
132 * This ambiguous syntax occurs at:
133 * (rule start) (ambiguity) referenceType=[Relation|QualifiedName]
134 */
135 protected void emit_ReferenceDeclaration_RefersKeyword_0_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
136 acceptNodes(transition, nodes);
137 }
138
139}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java
deleted file mode 100644
index 4368036b..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java
+++ /dev/null
@@ -1,1706 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
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.CrossReference;
13import org.eclipse.xtext.EnumLiteralDeclaration;
14import org.eclipse.xtext.EnumRule;
15import org.eclipse.xtext.Grammar;
16import org.eclipse.xtext.GrammarUtil;
17import org.eclipse.xtext.Group;
18import org.eclipse.xtext.Keyword;
19import org.eclipse.xtext.ParserRule;
20import org.eclipse.xtext.RuleCall;
21import org.eclipse.xtext.TerminalRule;
22import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
23import org.eclipse.xtext.service.AbstractElementFinder;
24import org.eclipse.xtext.service.GrammarProvider;
25
26@Singleton
27public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarElementFinder {
28
29 public class ProblemElements extends AbstractParserRuleElementFinder {
30 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Problem");
31 private final Group cGroup = (Group)rule.eContents().get(1);
32 private final Group cGroup_0 = (Group)cGroup.eContents().get(0);
33 private final Keyword cProblemKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
34 private final Assignment cNameAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
35 private final RuleCall cNameIdentifierParserRuleCall_0_1_0 = (RuleCall)cNameAssignment_0_1.eContents().get(0);
36 private final Keyword cFullStopKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2);
37 private final Assignment cStatementsAssignment_1 = (Assignment)cGroup.eContents().get(1);
38 private final RuleCall cStatementsStatementParserRuleCall_1_0 = (RuleCall)cStatementsAssignment_1.eContents().get(0);
39
40 //Problem:
41 // ("problem" name=Identifier ".")?
42 // statements+=Statement*;
43 @Override public ParserRule getRule() { return rule; }
44
45 //("problem" name=Identifier ".")?
46 //statements+=Statement*
47 public Group getGroup() { return cGroup; }
48
49 //("problem" name=Identifier ".")?
50 public Group getGroup_0() { return cGroup_0; }
51
52 //"problem"
53 public Keyword getProblemKeyword_0_0() { return cProblemKeyword_0_0; }
54
55 //name=Identifier
56 public Assignment getNameAssignment_0_1() { return cNameAssignment_0_1; }
57
58 //Identifier
59 public RuleCall getNameIdentifierParserRuleCall_0_1_0() { return cNameIdentifierParserRuleCall_0_1_0; }
60
61 //"."
62 public Keyword getFullStopKeyword_0_2() { return cFullStopKeyword_0_2; }
63
64 //statements+=Statement*
65 public Assignment getStatementsAssignment_1() { return cStatementsAssignment_1; }
66
67 //Statement
68 public RuleCall getStatementsStatementParserRuleCall_1_0() { return cStatementsStatementParserRuleCall_1_0; }
69 }
70 public class StatementElements extends AbstractParserRuleElementFinder {
71 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Statement");
72 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
73 private final RuleCall cClassDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
74 private final RuleCall cEnumDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
75 private final RuleCall cPredicateDefinitionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
76 private final RuleCall cAssertionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
77 private final RuleCall cScopeDeclarationParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
78
79 //Statement:
80 // ClassDeclaration | EnumDeclaration | PredicateDefinition | Assertion | ScopeDeclaration;
81 @Override public ParserRule getRule() { return rule; }
82
83 //ClassDeclaration | EnumDeclaration | PredicateDefinition | Assertion | ScopeDeclaration
84 public Alternatives getAlternatives() { return cAlternatives; }
85
86 //ClassDeclaration
87 public RuleCall getClassDeclarationParserRuleCall_0() { return cClassDeclarationParserRuleCall_0; }
88
89 //EnumDeclaration
90 public RuleCall getEnumDeclarationParserRuleCall_1() { return cEnumDeclarationParserRuleCall_1; }
91
92 //PredicateDefinition
93 public RuleCall getPredicateDefinitionParserRuleCall_2() { return cPredicateDefinitionParserRuleCall_2; }
94
95 //Assertion
96 public RuleCall getAssertionParserRuleCall_3() { return cAssertionParserRuleCall_3; }
97
98 //ScopeDeclaration
99 public RuleCall getScopeDeclarationParserRuleCall_4() { return cScopeDeclarationParserRuleCall_4; }
100 }
101 public class ClassDeclarationElements extends AbstractParserRuleElementFinder {
102 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ClassDeclaration");
103 private final Group cGroup = (Group)rule.eContents().get(1);
104 private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0);
105 private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0);
106 private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1);
107 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
108 private final RuleCall cNameIdentifierParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
109 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
110 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
111 private final Assignment cSuperTypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
112 private final CrossReference cSuperTypesRelationCrossReference_3_1_0 = (CrossReference)cSuperTypesAssignment_3_1.eContents().get(0);
113 private final RuleCall cSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSuperTypesRelationCrossReference_3_1_0.eContents().get(1);
114 private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2);
115 private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
116 private final Assignment cSuperTypesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1);
117 private final CrossReference cSuperTypesRelationCrossReference_3_2_1_0 = (CrossReference)cSuperTypesAssignment_3_2_1.eContents().get(0);
118 private final RuleCall cSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSuperTypesRelationCrossReference_3_2_1_0.eContents().get(1);
119 private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4);
120 private final Group cGroup_4_0 = (Group)cAlternatives_4.eContents().get(0);
121 private final Keyword cLeftCurlyBracketKeyword_4_0_0 = (Keyword)cGroup_4_0.eContents().get(0);
122 private final Group cGroup_4_0_1 = (Group)cGroup_4_0.eContents().get(1);
123 private final Assignment cReferenceDeclarationsAssignment_4_0_1_0 = (Assignment)cGroup_4_0_1.eContents().get(0);
124 private final RuleCall cReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0 = (RuleCall)cReferenceDeclarationsAssignment_4_0_1_0.eContents().get(0);
125 private final Keyword cSemicolonKeyword_4_0_1_1 = (Keyword)cGroup_4_0_1.eContents().get(1);
126 private final Keyword cRightCurlyBracketKeyword_4_0_2 = (Keyword)cGroup_4_0.eContents().get(2);
127 private final Keyword cFullStopKeyword_4_1 = (Keyword)cAlternatives_4.eContents().get(1);
128
129 //ClassDeclaration:
130 // abstract?="abstract"? "class"
131 // name=Identifier
132 // ("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)?
133 // ("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".");
134 @Override public ParserRule getRule() { return rule; }
135
136 //abstract?="abstract"? "class"
137 //name=Identifier
138 //("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)?
139 //("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".")
140 public Group getGroup() { return cGroup; }
141
142 //abstract?="abstract"?
143 public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; }
144
145 //"abstract"
146 public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; }
147
148 //"class"
149 public Keyword getClassKeyword_1() { return cClassKeyword_1; }
150
151 //name=Identifier
152 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
153
154 //Identifier
155 public RuleCall getNameIdentifierParserRuleCall_2_0() { return cNameIdentifierParserRuleCall_2_0; }
156
157 //("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)?
158 public Group getGroup_3() { return cGroup_3; }
159
160 //"extends"
161 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; }
162
163 //superTypes+=[Relation|QualifiedName]
164 public Assignment getSuperTypesAssignment_3_1() { return cSuperTypesAssignment_3_1; }
165
166 //[Relation|QualifiedName]
167 public CrossReference getSuperTypesRelationCrossReference_3_1_0() { return cSuperTypesRelationCrossReference_3_1_0; }
168
169 //QualifiedName
170 public RuleCall getSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1() { return cSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1; }
171
172 //("," superTypes+=[Relation|QualifiedName])*
173 public Group getGroup_3_2() { return cGroup_3_2; }
174
175 //","
176 public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; }
177
178 //superTypes+=[Relation|QualifiedName]
179 public Assignment getSuperTypesAssignment_3_2_1() { return cSuperTypesAssignment_3_2_1; }
180
181 //[Relation|QualifiedName]
182 public CrossReference getSuperTypesRelationCrossReference_3_2_1_0() { return cSuperTypesRelationCrossReference_3_2_1_0; }
183
184 //QualifiedName
185 public RuleCall getSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1() { return cSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1; }
186
187 //("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".")
188 public Alternatives getAlternatives_4() { return cAlternatives_4; }
189
190 //"{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}"
191 public Group getGroup_4_0() { return cGroup_4_0; }
192
193 //"{"
194 public Keyword getLeftCurlyBracketKeyword_4_0_0() { return cLeftCurlyBracketKeyword_4_0_0; }
195
196 //(referenceDeclarations+=ReferenceDeclaration ";"?)*
197 public Group getGroup_4_0_1() { return cGroup_4_0_1; }
198
199 //referenceDeclarations+=ReferenceDeclaration
200 public Assignment getReferenceDeclarationsAssignment_4_0_1_0() { return cReferenceDeclarationsAssignment_4_0_1_0; }
201
202 //ReferenceDeclaration
203 public RuleCall getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0() { return cReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0; }
204
205 //";"?
206 public Keyword getSemicolonKeyword_4_0_1_1() { return cSemicolonKeyword_4_0_1_1; }
207
208 //"}"
209 public Keyword getRightCurlyBracketKeyword_4_0_2() { return cRightCurlyBracketKeyword_4_0_2; }
210
211 //"."
212 public Keyword getFullStopKeyword_4_1() { return cFullStopKeyword_4_1; }
213 }
214 public class EnumDeclarationElements extends AbstractParserRuleElementFinder {
215 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.EnumDeclaration");
216 private final Group cGroup = (Group)rule.eContents().get(1);
217 private final Keyword cEnumKeyword_0 = (Keyword)cGroup.eContents().get(0);
218 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
219 private final RuleCall cNameIdentifierParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
220 private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
221 private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0);
222 private final Keyword cLeftCurlyBracketKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0);
223 private final Group cGroup_2_0_1 = (Group)cGroup_2_0.eContents().get(1);
224 private final Assignment cLiteralsAssignment_2_0_1_0 = (Assignment)cGroup_2_0_1.eContents().get(0);
225 private final RuleCall cLiteralsEnumLiteralParserRuleCall_2_0_1_0_0 = (RuleCall)cLiteralsAssignment_2_0_1_0.eContents().get(0);
226 private final Group cGroup_2_0_1_1 = (Group)cGroup_2_0_1.eContents().get(1);
227 private final Keyword cCommaKeyword_2_0_1_1_0 = (Keyword)cGroup_2_0_1_1.eContents().get(0);
228 private final Assignment cLiteralsAssignment_2_0_1_1_1 = (Assignment)cGroup_2_0_1_1.eContents().get(1);
229 private final RuleCall cLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0 = (RuleCall)cLiteralsAssignment_2_0_1_1_1.eContents().get(0);
230 private final Alternatives cAlternatives_2_0_1_2 = (Alternatives)cGroup_2_0_1.eContents().get(2);
231 private final Keyword cCommaKeyword_2_0_1_2_0 = (Keyword)cAlternatives_2_0_1_2.eContents().get(0);
232 private final Keyword cSemicolonKeyword_2_0_1_2_1 = (Keyword)cAlternatives_2_0_1_2.eContents().get(1);
233 private final Keyword cRightCurlyBracketKeyword_2_0_2 = (Keyword)cGroup_2_0.eContents().get(2);
234 private final Keyword cFullStopKeyword_2_1 = (Keyword)cAlternatives_2.eContents().get(1);
235
236 //EnumDeclaration:
237 // "enum"
238 // name=Identifier
239 // ("{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}" | ".");
240 @Override public ParserRule getRule() { return rule; }
241
242 //"enum"
243 //name=Identifier
244 //("{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}" | ".")
245 public Group getGroup() { return cGroup; }
246
247 //"enum"
248 public Keyword getEnumKeyword_0() { return cEnumKeyword_0; }
249
250 //name=Identifier
251 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
252
253 //Identifier
254 public RuleCall getNameIdentifierParserRuleCall_1_0() { return cNameIdentifierParserRuleCall_1_0; }
255
256 //("{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}" | ".")
257 public Alternatives getAlternatives_2() { return cAlternatives_2; }
258
259 //"{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}"
260 public Group getGroup_2_0() { return cGroup_2_0; }
261
262 //"{"
263 public Keyword getLeftCurlyBracketKeyword_2_0_0() { return cLeftCurlyBracketKeyword_2_0_0; }
264
265 //(literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)?
266 public Group getGroup_2_0_1() { return cGroup_2_0_1; }
267
268 //literals+=EnumLiteral
269 public Assignment getLiteralsAssignment_2_0_1_0() { return cLiteralsAssignment_2_0_1_0; }
270
271 //EnumLiteral
272 public RuleCall getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0() { return cLiteralsEnumLiteralParserRuleCall_2_0_1_0_0; }
273
274 //("," literals+=EnumLiteral)*
275 public Group getGroup_2_0_1_1() { return cGroup_2_0_1_1; }
276
277 //","
278 public Keyword getCommaKeyword_2_0_1_1_0() { return cCommaKeyword_2_0_1_1_0; }
279
280 //literals+=EnumLiteral
281 public Assignment getLiteralsAssignment_2_0_1_1_1() { return cLiteralsAssignment_2_0_1_1_1; }
282
283 //EnumLiteral
284 public RuleCall getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0() { return cLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0; }
285
286 //("," | ";")?
287 public Alternatives getAlternatives_2_0_1_2() { return cAlternatives_2_0_1_2; }
288
289 //","
290 public Keyword getCommaKeyword_2_0_1_2_0() { return cCommaKeyword_2_0_1_2_0; }
291
292 //";"
293 public Keyword getSemicolonKeyword_2_0_1_2_1() { return cSemicolonKeyword_2_0_1_2_1; }
294
295 //"}"
296 public Keyword getRightCurlyBracketKeyword_2_0_2() { return cRightCurlyBracketKeyword_2_0_2; }
297
298 //"."
299 public Keyword getFullStopKeyword_2_1() { return cFullStopKeyword_2_1; }
300 }
301 public class EnumLiteralElements extends AbstractParserRuleElementFinder {
302 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.EnumLiteral");
303 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
304 private final RuleCall cNameQuotedOrUnquotedIdParserRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
305
306 //EnumLiteral returns Node:
307 // name=QuotedOrUnquotedId;
308 @Override public ParserRule getRule() { return rule; }
309
310 //name=QuotedOrUnquotedId
311 public Assignment getNameAssignment() { return cNameAssignment; }
312
313 //QuotedOrUnquotedId
314 public RuleCall getNameQuotedOrUnquotedIdParserRuleCall_0() { return cNameQuotedOrUnquotedIdParserRuleCall_0; }
315 }
316 public class ReferenceDeclarationElements extends AbstractParserRuleElementFinder {
317 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration");
318 private final Group cGroup = (Group)rule.eContents().get(1);
319 private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
320 private final Assignment cContainmentAssignment_0_0 = (Assignment)cAlternatives_0.eContents().get(0);
321 private final Keyword cContainmentContainsKeyword_0_0_0 = (Keyword)cContainmentAssignment_0_0.eContents().get(0);
322 private final Keyword cRefersKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
323 private final Assignment cReferenceTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
324 private final CrossReference cReferenceTypeRelationCrossReference_1_0 = (CrossReference)cReferenceTypeAssignment_1.eContents().get(0);
325 private final RuleCall cReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cReferenceTypeRelationCrossReference_1_0.eContents().get(1);
326 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
327 private final Keyword cLeftSquareBracketKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
328 private final Assignment cMultiplicityAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
329 private final RuleCall cMultiplicityMultiplicityParserRuleCall_2_1_0 = (RuleCall)cMultiplicityAssignment_2_1.eContents().get(0);
330 private final Keyword cRightSquareBracketKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2);
331 private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3);
332 private final RuleCall cNameIdentifierParserRuleCall_3_0 = (RuleCall)cNameAssignment_3.eContents().get(0);
333 private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
334 private final Keyword cOppositeKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
335 private final Assignment cOppositeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
336 private final CrossReference cOppositeReferenceDeclarationCrossReference_4_1_0 = (CrossReference)cOppositeAssignment_4_1.eContents().get(0);
337 private final RuleCall cOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1 = (RuleCall)cOppositeReferenceDeclarationCrossReference_4_1_0.eContents().get(1);
338
339 //ReferenceDeclaration:
340 // (containment?="contains" | "refers")?
341 // referenceType=[Relation|QualifiedName]
342 // ("[" multiplicity=Multiplicity "]")?
343 // name=Identifier
344 // ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?;
345 @Override public ParserRule getRule() { return rule; }
346
347 //(containment?="contains" | "refers")?
348 //referenceType=[Relation|QualifiedName]
349 //("[" multiplicity=Multiplicity "]")?
350 //name=Identifier
351 //("opposite" opposite=[ReferenceDeclaration|QualifiedName])?
352 public Group getGroup() { return cGroup; }
353
354 //(containment?="contains" | "refers")?
355 public Alternatives getAlternatives_0() { return cAlternatives_0; }
356
357 //containment?="contains"
358 public Assignment getContainmentAssignment_0_0() { return cContainmentAssignment_0_0; }
359
360 //"contains"
361 public Keyword getContainmentContainsKeyword_0_0_0() { return cContainmentContainsKeyword_0_0_0; }
362
363 //"refers"
364 public Keyword getRefersKeyword_0_1() { return cRefersKeyword_0_1; }
365
366 //referenceType=[Relation|QualifiedName]
367 public Assignment getReferenceTypeAssignment_1() { return cReferenceTypeAssignment_1; }
368
369 //[Relation|QualifiedName]
370 public CrossReference getReferenceTypeRelationCrossReference_1_0() { return cReferenceTypeRelationCrossReference_1_0; }
371
372 //QualifiedName
373 public RuleCall getReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1() { return cReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1; }
374
375 //("[" multiplicity=Multiplicity "]")?
376 public Group getGroup_2() { return cGroup_2; }
377
378 //"["
379 public Keyword getLeftSquareBracketKeyword_2_0() { return cLeftSquareBracketKeyword_2_0; }
380
381 //multiplicity=Multiplicity
382 public Assignment getMultiplicityAssignment_2_1() { return cMultiplicityAssignment_2_1; }
383
384 //Multiplicity
385 public RuleCall getMultiplicityMultiplicityParserRuleCall_2_1_0() { return cMultiplicityMultiplicityParserRuleCall_2_1_0; }
386
387 //"]"
388 public Keyword getRightSquareBracketKeyword_2_2() { return cRightSquareBracketKeyword_2_2; }
389
390 //name=Identifier
391 public Assignment getNameAssignment_3() { return cNameAssignment_3; }
392
393 //Identifier
394 public RuleCall getNameIdentifierParserRuleCall_3_0() { return cNameIdentifierParserRuleCall_3_0; }
395
396 //("opposite" opposite=[ReferenceDeclaration|QualifiedName])?
397 public Group getGroup_4() { return cGroup_4; }
398
399 //"opposite"
400 public Keyword getOppositeKeyword_4_0() { return cOppositeKeyword_4_0; }
401
402 //opposite=[ReferenceDeclaration|QualifiedName]
403 public Assignment getOppositeAssignment_4_1() { return cOppositeAssignment_4_1; }
404
405 //[ReferenceDeclaration|QualifiedName]
406 public CrossReference getOppositeReferenceDeclarationCrossReference_4_1_0() { return cOppositeReferenceDeclarationCrossReference_4_1_0; }
407
408 //QualifiedName
409 public RuleCall getOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1() { return cOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1; }
410 }
411 public class PredicateDefinitionElements extends AbstractParserRuleElementFinder {
412 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.PredicateDefinition");
413 private final Group cGroup = (Group)rule.eContents().get(1);
414 private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
415 private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0);
416 private final Assignment cErrorAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0);
417 private final Keyword cErrorErrorKeyword_0_0_0_0 = (Keyword)cErrorAssignment_0_0_0.eContents().get(0);
418 private final Keyword cPredKeyword_0_0_1 = (Keyword)cGroup_0_0.eContents().get(1);
419 private final Keyword cPredKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
420 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
421 private final RuleCall cNameIdentifierParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
422 private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
423 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
424 private final Assignment cParametersAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
425 private final RuleCall cParametersParameterParserRuleCall_3_0_0 = (RuleCall)cParametersAssignment_3_0.eContents().get(0);
426 private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1);
427 private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0);
428 private final Assignment cParametersAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1);
429 private final RuleCall cParametersParameterParserRuleCall_3_1_1_0 = (RuleCall)cParametersAssignment_3_1_1.eContents().get(0);
430 private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
431 private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
432 private final Keyword cColonHyphenMinusKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
433 private final Assignment cBodiesAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
434 private final RuleCall cBodiesConjunctionParserRuleCall_5_1_0 = (RuleCall)cBodiesAssignment_5_1.eContents().get(0);
435 private final Group cGroup_5_2 = (Group)cGroup_5.eContents().get(2);
436 private final Keyword cSemicolonKeyword_5_2_0 = (Keyword)cGroup_5_2.eContents().get(0);
437 private final Assignment cBodiesAssignment_5_2_1 = (Assignment)cGroup_5_2.eContents().get(1);
438 private final RuleCall cBodiesConjunctionParserRuleCall_5_2_1_0 = (RuleCall)cBodiesAssignment_5_2_1.eContents().get(0);
439 private final Keyword cFullStopKeyword_6 = (Keyword)cGroup.eContents().get(6);
440
441 //PredicateDefinition:
442 // (error?="error" "pred"? | "pred")
443 // name=Identifier
444 // "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
445 // (":-" bodies+=Conjunction (";" bodies+=Conjunction)*)?
446 // ".";
447 @Override public ParserRule getRule() { return rule; }
448
449 //(error?="error" "pred"? | "pred")
450 //name=Identifier
451 //"(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
452 //(":-" bodies+=Conjunction (";" bodies+=Conjunction)*)?
453 //"."
454 public Group getGroup() { return cGroup; }
455
456 //(error?="error" "pred"? | "pred")
457 public Alternatives getAlternatives_0() { return cAlternatives_0; }
458
459 //error?="error" "pred"?
460 public Group getGroup_0_0() { return cGroup_0_0; }
461
462 //error?="error"
463 public Assignment getErrorAssignment_0_0_0() { return cErrorAssignment_0_0_0; }
464
465 //"error"
466 public Keyword getErrorErrorKeyword_0_0_0_0() { return cErrorErrorKeyword_0_0_0_0; }
467
468 //"pred"?
469 public Keyword getPredKeyword_0_0_1() { return cPredKeyword_0_0_1; }
470
471 //"pred"
472 public Keyword getPredKeyword_0_1() { return cPredKeyword_0_1; }
473
474 //name=Identifier
475 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
476
477 //Identifier
478 public RuleCall getNameIdentifierParserRuleCall_1_0() { return cNameIdentifierParserRuleCall_1_0; }
479
480 //"("
481 public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
482
483 //(parameters+=Parameter ("," parameters+=Parameter)*)?
484 public Group getGroup_3() { return cGroup_3; }
485
486 //parameters+=Parameter
487 public Assignment getParametersAssignment_3_0() { return cParametersAssignment_3_0; }
488
489 //Parameter
490 public RuleCall getParametersParameterParserRuleCall_3_0_0() { return cParametersParameterParserRuleCall_3_0_0; }
491
492 //("," parameters+=Parameter)*
493 public Group getGroup_3_1() { return cGroup_3_1; }
494
495 //","
496 public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; }
497
498 //parameters+=Parameter
499 public Assignment getParametersAssignment_3_1_1() { return cParametersAssignment_3_1_1; }
500
501 //Parameter
502 public RuleCall getParametersParameterParserRuleCall_3_1_1_0() { return cParametersParameterParserRuleCall_3_1_1_0; }
503
504 //")"
505 public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
506
507 //(":-" bodies+=Conjunction (";" bodies+=Conjunction)*)?
508 public Group getGroup_5() { return cGroup_5; }
509
510 //":-"
511 public Keyword getColonHyphenMinusKeyword_5_0() { return cColonHyphenMinusKeyword_5_0; }
512
513 //bodies+=Conjunction
514 public Assignment getBodiesAssignment_5_1() { return cBodiesAssignment_5_1; }
515
516 //Conjunction
517 public RuleCall getBodiesConjunctionParserRuleCall_5_1_0() { return cBodiesConjunctionParserRuleCall_5_1_0; }
518
519 //(";" bodies+=Conjunction)*
520 public Group getGroup_5_2() { return cGroup_5_2; }
521
522 //";"
523 public Keyword getSemicolonKeyword_5_2_0() { return cSemicolonKeyword_5_2_0; }
524
525 //bodies+=Conjunction
526 public Assignment getBodiesAssignment_5_2_1() { return cBodiesAssignment_5_2_1; }
527
528 //Conjunction
529 public RuleCall getBodiesConjunctionParserRuleCall_5_2_1_0() { return cBodiesConjunctionParserRuleCall_5_2_1_0; }
530
531 //"."
532 public Keyword getFullStopKeyword_6() { return cFullStopKeyword_6; }
533 }
534 public class ParameterElements extends AbstractParserRuleElementFinder {
535 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Parameter");
536 private final Group cGroup = (Group)rule.eContents().get(1);
537 private final Assignment cParameterTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
538 private final CrossReference cParameterTypeRelationCrossReference_0_0 = (CrossReference)cParameterTypeAssignment_0.eContents().get(0);
539 private final RuleCall cParameterTypeRelationQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cParameterTypeRelationCrossReference_0_0.eContents().get(1);
540 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
541 private final RuleCall cNameIdentifierParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
542
543 //Parameter:
544 // parameterType=[Relation|QualifiedName]? name=Identifier;
545 @Override public ParserRule getRule() { return rule; }
546
547 //parameterType=[Relation|QualifiedName]? name=Identifier
548 public Group getGroup() { return cGroup; }
549
550 //parameterType=[Relation|QualifiedName]?
551 public Assignment getParameterTypeAssignment_0() { return cParameterTypeAssignment_0; }
552
553 //[Relation|QualifiedName]
554 public CrossReference getParameterTypeRelationCrossReference_0_0() { return cParameterTypeRelationCrossReference_0_0; }
555
556 //QualifiedName
557 public RuleCall getParameterTypeRelationQualifiedNameParserRuleCall_0_0_1() { return cParameterTypeRelationQualifiedNameParserRuleCall_0_0_1; }
558
559 //name=Identifier
560 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
561
562 //Identifier
563 public RuleCall getNameIdentifierParserRuleCall_1_0() { return cNameIdentifierParserRuleCall_1_0; }
564 }
565 public class ConjunctionElements extends AbstractParserRuleElementFinder {
566 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Conjunction");
567 private final Group cGroup = (Group)rule.eContents().get(1);
568 private final Assignment cLiteralsAssignment_0 = (Assignment)cGroup.eContents().get(0);
569 private final RuleCall cLiteralsLiteralParserRuleCall_0_0 = (RuleCall)cLiteralsAssignment_0.eContents().get(0);
570 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
571 private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
572 private final Assignment cLiteralsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
573 private final RuleCall cLiteralsLiteralParserRuleCall_1_1_0 = (RuleCall)cLiteralsAssignment_1_1.eContents().get(0);
574
575 //Conjunction:
576 // literals+=Literal ("," literals+=Literal)*;
577 @Override public ParserRule getRule() { return rule; }
578
579 //literals+=Literal ("," literals+=Literal)*
580 public Group getGroup() { return cGroup; }
581
582 //literals+=Literal
583 public Assignment getLiteralsAssignment_0() { return cLiteralsAssignment_0; }
584
585 //Literal
586 public RuleCall getLiteralsLiteralParserRuleCall_0_0() { return cLiteralsLiteralParserRuleCall_0_0; }
587
588 //("," literals+=Literal)*
589 public Group getGroup_1() { return cGroup_1; }
590
591 //","
592 public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; }
593
594 //literals+=Literal
595 public Assignment getLiteralsAssignment_1_1() { return cLiteralsAssignment_1_1; }
596
597 //Literal
598 public RuleCall getLiteralsLiteralParserRuleCall_1_1_0() { return cLiteralsLiteralParserRuleCall_1_1_0; }
599 }
600 public class LiteralElements extends AbstractParserRuleElementFinder {
601 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Literal");
602 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
603 private final RuleCall cAtomParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
604 private final RuleCall cNegativeLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
605
606 //Literal:
607 // Atom | NegativeLiteral;
608 @Override public ParserRule getRule() { return rule; }
609
610 //Atom | NegativeLiteral
611 public Alternatives getAlternatives() { return cAlternatives; }
612
613 //Atom
614 public RuleCall getAtomParserRuleCall_0() { return cAtomParserRuleCall_0; }
615
616 //NegativeLiteral
617 public RuleCall getNegativeLiteralParserRuleCall_1() { return cNegativeLiteralParserRuleCall_1; }
618 }
619 public class NegativeLiteralElements extends AbstractParserRuleElementFinder {
620 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.NegativeLiteral");
621 private final Group cGroup = (Group)rule.eContents().get(1);
622 private final Keyword cExclamationMarkKeyword_0 = (Keyword)cGroup.eContents().get(0);
623 private final Assignment cAtomAssignment_1 = (Assignment)cGroup.eContents().get(1);
624 private final RuleCall cAtomAtomParserRuleCall_1_0 = (RuleCall)cAtomAssignment_1.eContents().get(0);
625
626 //NegativeLiteral:
627 // "!" atom=Atom;
628 @Override public ParserRule getRule() { return rule; }
629
630 //"!" atom=Atom
631 public Group getGroup() { return cGroup; }
632
633 //"!"
634 public Keyword getExclamationMarkKeyword_0() { return cExclamationMarkKeyword_0; }
635
636 //atom=Atom
637 public Assignment getAtomAssignment_1() { return cAtomAssignment_1; }
638
639 //Atom
640 public RuleCall getAtomAtomParserRuleCall_1_0() { return cAtomAtomParserRuleCall_1_0; }
641 }
642 public class AtomElements extends AbstractParserRuleElementFinder {
643 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Atom");
644 private final Group cGroup = (Group)rule.eContents().get(1);
645 private final Assignment cRelationAssignment_0 = (Assignment)cGroup.eContents().get(0);
646 private final CrossReference cRelationRelationCrossReference_0_0 = (CrossReference)cRelationAssignment_0.eContents().get(0);
647 private final RuleCall cRelationRelationQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cRelationRelationCrossReference_0_0.eContents().get(1);
648 private final Assignment cTransitiveClosureAssignment_1 = (Assignment)cGroup.eContents().get(1);
649 private final Keyword cTransitiveClosurePlusSignKeyword_1_0 = (Keyword)cTransitiveClosureAssignment_1.eContents().get(0);
650 private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
651 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
652 private final Assignment cArgumentsAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
653 private final RuleCall cArgumentsArgumentParserRuleCall_3_0_0 = (RuleCall)cArgumentsAssignment_3_0.eContents().get(0);
654 private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1);
655 private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0);
656 private final Assignment cArgumentsAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1);
657 private final RuleCall cArgumentsArgumentParserRuleCall_3_1_1_0 = (RuleCall)cArgumentsAssignment_3_1_1.eContents().get(0);
658 private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
659
660 //Atom:
661 // relation=[Relation|QualifiedName]
662 // transitiveClosure?="+"?
663 // "(" (arguments+=Argument ("," arguments+=Argument)*)? ")";
664 @Override public ParserRule getRule() { return rule; }
665
666 //relation=[Relation|QualifiedName]
667 //transitiveClosure?="+"?
668 //"(" (arguments+=Argument ("," arguments+=Argument)*)? ")"
669 public Group getGroup() { return cGroup; }
670
671 //relation=[Relation|QualifiedName]
672 public Assignment getRelationAssignment_0() { return cRelationAssignment_0; }
673
674 //[Relation|QualifiedName]
675 public CrossReference getRelationRelationCrossReference_0_0() { return cRelationRelationCrossReference_0_0; }
676
677 //QualifiedName
678 public RuleCall getRelationRelationQualifiedNameParserRuleCall_0_0_1() { return cRelationRelationQualifiedNameParserRuleCall_0_0_1; }
679
680 //transitiveClosure?="+"?
681 public Assignment getTransitiveClosureAssignment_1() { return cTransitiveClosureAssignment_1; }
682
683 //"+"
684 public Keyword getTransitiveClosurePlusSignKeyword_1_0() { return cTransitiveClosurePlusSignKeyword_1_0; }
685
686 //"("
687 public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
688
689 //(arguments+=Argument ("," arguments+=Argument)*)?
690 public Group getGroup_3() { return cGroup_3; }
691
692 //arguments+=Argument
693 public Assignment getArgumentsAssignment_3_0() { return cArgumentsAssignment_3_0; }
694
695 //Argument
696 public RuleCall getArgumentsArgumentParserRuleCall_3_0_0() { return cArgumentsArgumentParserRuleCall_3_0_0; }
697
698 //("," arguments+=Argument)*
699 public Group getGroup_3_1() { return cGroup_3_1; }
700
701 //","
702 public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; }
703
704 //arguments+=Argument
705 public Assignment getArgumentsAssignment_3_1_1() { return cArgumentsAssignment_3_1_1; }
706
707 //Argument
708 public RuleCall getArgumentsArgumentParserRuleCall_3_1_1_0() { return cArgumentsArgumentParserRuleCall_3_1_1_0; }
709
710 //")"
711 public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
712 }
713 public class ArgumentElements extends AbstractParserRuleElementFinder {
714 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Argument");
715 private final Assignment cVariableOrNodeAssignment = (Assignment)rule.eContents().get(1);
716 private final CrossReference cVariableOrNodeVariableOrNodeCrossReference_0 = (CrossReference)cVariableOrNodeAssignment.eContents().get(0);
717 private final RuleCall cVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1 = (RuleCall)cVariableOrNodeVariableOrNodeCrossReference_0.eContents().get(1);
718
719 //Argument:
720 // variableOrNode=[VariableOrNode|QualifiedName];
721 @Override public ParserRule getRule() { return rule; }
722
723 //variableOrNode=[VariableOrNode|QualifiedName]
724 public Assignment getVariableOrNodeAssignment() { return cVariableOrNodeAssignment; }
725
726 //[VariableOrNode|QualifiedName]
727 public CrossReference getVariableOrNodeVariableOrNodeCrossReference_0() { return cVariableOrNodeVariableOrNodeCrossReference_0; }
728
729 //QualifiedName
730 public RuleCall getVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1() { return cVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1; }
731 }
732 public class AssertionElements extends AbstractParserRuleElementFinder {
733 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Assertion");
734 private final Group cGroup = (Group)rule.eContents().get(1);
735 private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
736 private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0);
737 private final Assignment cRelationAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0);
738 private final CrossReference cRelationRelationCrossReference_0_0_0_0 = (CrossReference)cRelationAssignment_0_0_0.eContents().get(0);
739 private final RuleCall cRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1 = (RuleCall)cRelationRelationCrossReference_0_0_0_0.eContents().get(1);
740 private final Keyword cLeftParenthesisKeyword_0_0_1 = (Keyword)cGroup_0_0.eContents().get(1);
741 private final Group cGroup_0_0_2 = (Group)cGroup_0_0.eContents().get(2);
742 private final Assignment cArgumentsAssignment_0_0_2_0 = (Assignment)cGroup_0_0_2.eContents().get(0);
743 private final CrossReference cArgumentsNodeCrossReference_0_0_2_0_0 = (CrossReference)cArgumentsAssignment_0_0_2_0.eContents().get(0);
744 private final RuleCall cArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1 = (RuleCall)cArgumentsNodeCrossReference_0_0_2_0_0.eContents().get(1);
745 private final Group cGroup_0_0_2_1 = (Group)cGroup_0_0_2.eContents().get(1);
746 private final Keyword cCommaKeyword_0_0_2_1_0 = (Keyword)cGroup_0_0_2_1.eContents().get(0);
747 private final Assignment cArgumentsAssignment_0_0_2_1_1 = (Assignment)cGroup_0_0_2_1.eContents().get(1);
748 private final CrossReference cArgumentsNodeCrossReference_0_0_2_1_1_0 = (CrossReference)cArgumentsAssignment_0_0_2_1_1.eContents().get(0);
749 private final RuleCall cArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1 = (RuleCall)cArgumentsNodeCrossReference_0_0_2_1_1_0.eContents().get(1);
750 private final Keyword cRightParenthesisKeyword_0_0_3 = (Keyword)cGroup_0_0.eContents().get(3);
751 private final Keyword cColonKeyword_0_0_4 = (Keyword)cGroup_0_0.eContents().get(4);
752 private final Assignment cValueAssignment_0_0_5 = (Assignment)cGroup_0_0.eContents().get(5);
753 private final RuleCall cValueLogicValueEnumRuleCall_0_0_5_0 = (RuleCall)cValueAssignment_0_0_5.eContents().get(0);
754 private final Group cGroup_0_1 = (Group)cAlternatives_0.eContents().get(1);
755 private final Assignment cValueAssignment_0_1_0 = (Assignment)cGroup_0_1.eContents().get(0);
756 private final RuleCall cValueShortLogicValueEnumRuleCall_0_1_0_0 = (RuleCall)cValueAssignment_0_1_0.eContents().get(0);
757 private final Assignment cRelationAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1);
758 private final CrossReference cRelationRelationCrossReference_0_1_1_0 = (CrossReference)cRelationAssignment_0_1_1.eContents().get(0);
759 private final RuleCall cRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1 = (RuleCall)cRelationRelationCrossReference_0_1_1_0.eContents().get(1);
760 private final Keyword cLeftParenthesisKeyword_0_1_2 = (Keyword)cGroup_0_1.eContents().get(2);
761 private final Group cGroup_0_1_3 = (Group)cGroup_0_1.eContents().get(3);
762 private final Assignment cArgumentsAssignment_0_1_3_0 = (Assignment)cGroup_0_1_3.eContents().get(0);
763 private final CrossReference cArgumentsNodeCrossReference_0_1_3_0_0 = (CrossReference)cArgumentsAssignment_0_1_3_0.eContents().get(0);
764 private final RuleCall cArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1 = (RuleCall)cArgumentsNodeCrossReference_0_1_3_0_0.eContents().get(1);
765 private final Group cGroup_0_1_3_1 = (Group)cGroup_0_1_3.eContents().get(1);
766 private final Keyword cCommaKeyword_0_1_3_1_0 = (Keyword)cGroup_0_1_3_1.eContents().get(0);
767 private final Assignment cArgumentsAssignment_0_1_3_1_1 = (Assignment)cGroup_0_1_3_1.eContents().get(1);
768 private final CrossReference cArgumentsNodeCrossReference_0_1_3_1_1_0 = (CrossReference)cArgumentsAssignment_0_1_3_1_1.eContents().get(0);
769 private final RuleCall cArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1 = (RuleCall)cArgumentsNodeCrossReference_0_1_3_1_1_0.eContents().get(1);
770 private final Keyword cRightParenthesisKeyword_0_1_4 = (Keyword)cGroup_0_1.eContents().get(4);
771 private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1);
772
773 //Assertion:
774 // (relation=[Relation|QualifiedName]
775 // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")"
776 // ":" value=LogicValue |
777 // value=ShortLogicValue?
778 // relation=[Relation|QualifiedName]
779 // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")")
780 // ".";
781 @Override public ParserRule getRule() { return rule; }
782
783 //(relation=[Relation|QualifiedName]
784 //"(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")"
785 //":" value=LogicValue |
786 //value=ShortLogicValue?
787 //relation=[Relation|QualifiedName]
788 //"(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")")
789 //"."
790 public Group getGroup() { return cGroup; }
791
792 //(relation=[Relation|QualifiedName]
793 //"(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")"
794 //":" value=LogicValue |
795 //value=ShortLogicValue?
796 //relation=[Relation|QualifiedName]
797 //"(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")")
798 public Alternatives getAlternatives_0() { return cAlternatives_0; }
799
800 //relation=[Relation|QualifiedName]
801 // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")"
802 // ":" value=LogicValue
803 public Group getGroup_0_0() { return cGroup_0_0; }
804
805 //relation=[Relation|QualifiedName]
806 public Assignment getRelationAssignment_0_0_0() { return cRelationAssignment_0_0_0; }
807
808 //[Relation|QualifiedName]
809 public CrossReference getRelationRelationCrossReference_0_0_0_0() { return cRelationRelationCrossReference_0_0_0_0; }
810
811 //QualifiedName
812 public RuleCall getRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1() { return cRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1; }
813
814 //"("
815 public Keyword getLeftParenthesisKeyword_0_0_1() { return cLeftParenthesisKeyword_0_0_1; }
816
817 //(arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)?
818 public Group getGroup_0_0_2() { return cGroup_0_0_2; }
819
820 //arguments+=[Node|QualifiedName]
821 public Assignment getArgumentsAssignment_0_0_2_0() { return cArgumentsAssignment_0_0_2_0; }
822
823 //[Node|QualifiedName]
824 public CrossReference getArgumentsNodeCrossReference_0_0_2_0_0() { return cArgumentsNodeCrossReference_0_0_2_0_0; }
825
826 //QualifiedName
827 public RuleCall getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1() { return cArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1; }
828
829 //("," arguments+=[Node|QualifiedName])*
830 public Group getGroup_0_0_2_1() { return cGroup_0_0_2_1; }
831
832 //","
833 public Keyword getCommaKeyword_0_0_2_1_0() { return cCommaKeyword_0_0_2_1_0; }
834
835 //arguments+=[Node|QualifiedName]
836 public Assignment getArgumentsAssignment_0_0_2_1_1() { return cArgumentsAssignment_0_0_2_1_1; }
837
838 //[Node|QualifiedName]
839 public CrossReference getArgumentsNodeCrossReference_0_0_2_1_1_0() { return cArgumentsNodeCrossReference_0_0_2_1_1_0; }
840
841 //QualifiedName
842 public RuleCall getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1() { return cArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1; }
843
844 //")"
845 public Keyword getRightParenthesisKeyword_0_0_3() { return cRightParenthesisKeyword_0_0_3; }
846
847 //":"
848 public Keyword getColonKeyword_0_0_4() { return cColonKeyword_0_0_4; }
849
850 //value=LogicValue
851 public Assignment getValueAssignment_0_0_5() { return cValueAssignment_0_0_5; }
852
853 //LogicValue
854 public RuleCall getValueLogicValueEnumRuleCall_0_0_5_0() { return cValueLogicValueEnumRuleCall_0_0_5_0; }
855
856 //value=ShortLogicValue?
857 //relation=[Relation|QualifiedName]
858 //"(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")"
859 public Group getGroup_0_1() { return cGroup_0_1; }
860
861 //value=ShortLogicValue?
862 public Assignment getValueAssignment_0_1_0() { return cValueAssignment_0_1_0; }
863
864 //ShortLogicValue
865 public RuleCall getValueShortLogicValueEnumRuleCall_0_1_0_0() { return cValueShortLogicValueEnumRuleCall_0_1_0_0; }
866
867 //relation=[Relation|QualifiedName]
868 public Assignment getRelationAssignment_0_1_1() { return cRelationAssignment_0_1_1; }
869
870 //[Relation|QualifiedName]
871 public CrossReference getRelationRelationCrossReference_0_1_1_0() { return cRelationRelationCrossReference_0_1_1_0; }
872
873 //QualifiedName
874 public RuleCall getRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1() { return cRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1; }
875
876 //"("
877 public Keyword getLeftParenthesisKeyword_0_1_2() { return cLeftParenthesisKeyword_0_1_2; }
878
879 //(arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)?
880 public Group getGroup_0_1_3() { return cGroup_0_1_3; }
881
882 //arguments+=[Node|QualifiedName]
883 public Assignment getArgumentsAssignment_0_1_3_0() { return cArgumentsAssignment_0_1_3_0; }
884
885 //[Node|QualifiedName]
886 public CrossReference getArgumentsNodeCrossReference_0_1_3_0_0() { return cArgumentsNodeCrossReference_0_1_3_0_0; }
887
888 //QualifiedName
889 public RuleCall getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1() { return cArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1; }
890
891 //("," arguments+=[Node|QualifiedName])*
892 public Group getGroup_0_1_3_1() { return cGroup_0_1_3_1; }
893
894 //","
895 public Keyword getCommaKeyword_0_1_3_1_0() { return cCommaKeyword_0_1_3_1_0; }
896
897 //arguments+=[Node|QualifiedName]
898 public Assignment getArgumentsAssignment_0_1_3_1_1() { return cArgumentsAssignment_0_1_3_1_1; }
899
900 //[Node|QualifiedName]
901 public CrossReference getArgumentsNodeCrossReference_0_1_3_1_1_0() { return cArgumentsNodeCrossReference_0_1_3_1_1_0; }
902
903 //QualifiedName
904 public RuleCall getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1() { return cArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1; }
905
906 //")"
907 public Keyword getRightParenthesisKeyword_0_1_4() { return cRightParenthesisKeyword_0_1_4; }
908
909 //"."
910 public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; }
911 }
912 public class ScopeDeclarationElements extends AbstractParserRuleElementFinder {
913 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ScopeDeclaration");
914 private final Group cGroup = (Group)rule.eContents().get(1);
915 private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0);
916 private final Assignment cTypeScopesAssignment_1 = (Assignment)cGroup.eContents().get(1);
917 private final RuleCall cTypeScopesTypeScopeParserRuleCall_1_0 = (RuleCall)cTypeScopesAssignment_1.eContents().get(0);
918 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
919 private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
920 private final Assignment cTypeScopesAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
921 private final RuleCall cTypeScopesTypeScopeParserRuleCall_2_1_0 = (RuleCall)cTypeScopesAssignment_2_1.eContents().get(0);
922 private final Keyword cFullStopKeyword_3 = (Keyword)cGroup.eContents().get(3);
923
924 //ScopeDeclaration:
925 // "scope" typeScopes+=TypeScope ("," typeScopes+=TypeScope)* ".";
926 @Override public ParserRule getRule() { return rule; }
927
928 //"scope" typeScopes+=TypeScope ("," typeScopes+=TypeScope)* "."
929 public Group getGroup() { return cGroup; }
930
931 //"scope"
932 public Keyword getScopeKeyword_0() { return cScopeKeyword_0; }
933
934 //typeScopes+=TypeScope
935 public Assignment getTypeScopesAssignment_1() { return cTypeScopesAssignment_1; }
936
937 //TypeScope
938 public RuleCall getTypeScopesTypeScopeParserRuleCall_1_0() { return cTypeScopesTypeScopeParserRuleCall_1_0; }
939
940 //("," typeScopes+=TypeScope)*
941 public Group getGroup_2() { return cGroup_2; }
942
943 //","
944 public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; }
945
946 //typeScopes+=TypeScope
947 public Assignment getTypeScopesAssignment_2_1() { return cTypeScopesAssignment_2_1; }
948
949 //TypeScope
950 public RuleCall getTypeScopesTypeScopeParserRuleCall_2_1_0() { return cTypeScopesTypeScopeParserRuleCall_2_1_0; }
951
952 //"."
953 public Keyword getFullStopKeyword_3() { return cFullStopKeyword_3; }
954 }
955 public class TypeScopeElements extends AbstractParserRuleElementFinder {
956 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.TypeScope");
957 private final Group cGroup = (Group)rule.eContents().get(1);
958 private final Assignment cTargetTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
959 private final CrossReference cTargetTypeClassDeclarationCrossReference_0_0 = (CrossReference)cTargetTypeAssignment_0.eContents().get(0);
960 private final RuleCall cTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1 = (RuleCall)cTargetTypeClassDeclarationCrossReference_0_0.eContents().get(1);
961 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
962 private final Assignment cIncrementAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0);
963 private final Keyword cIncrementPlusSignEqualsSignKeyword_1_0_0 = (Keyword)cIncrementAssignment_1_0.eContents().get(0);
964 private final Keyword cEqualsSignKeyword_1_1 = (Keyword)cAlternatives_1.eContents().get(1);
965 private final Assignment cMultiplicityAssignment_2 = (Assignment)cGroup.eContents().get(2);
966 private final RuleCall cMultiplicityDefiniteMultiplicityParserRuleCall_2_0 = (RuleCall)cMultiplicityAssignment_2.eContents().get(0);
967
968 //TypeScope:
969 // targetType=[ClassDeclaration]
970 // (increment?="+=" | "=")
971 // multiplicity=DefiniteMultiplicity;
972 @Override public ParserRule getRule() { return rule; }
973
974 //targetType=[ClassDeclaration]
975 //(increment?="+=" | "=")
976 //multiplicity=DefiniteMultiplicity
977 public Group getGroup() { return cGroup; }
978
979 //targetType=[ClassDeclaration]
980 public Assignment getTargetTypeAssignment_0() { return cTargetTypeAssignment_0; }
981
982 //[ClassDeclaration]
983 public CrossReference getTargetTypeClassDeclarationCrossReference_0_0() { return cTargetTypeClassDeclarationCrossReference_0_0; }
984
985 //ID
986 public RuleCall getTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1() { return cTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1; }
987
988 //(increment?="+=" | "=")
989 public Alternatives getAlternatives_1() { return cAlternatives_1; }
990
991 //increment?="+="
992 public Assignment getIncrementAssignment_1_0() { return cIncrementAssignment_1_0; }
993
994 //"+="
995 public Keyword getIncrementPlusSignEqualsSignKeyword_1_0_0() { return cIncrementPlusSignEqualsSignKeyword_1_0_0; }
996
997 //"="
998 public Keyword getEqualsSignKeyword_1_1() { return cEqualsSignKeyword_1_1; }
999
1000 //multiplicity=DefiniteMultiplicity
1001 public Assignment getMultiplicityAssignment_2() { return cMultiplicityAssignment_2; }
1002
1003 //DefiniteMultiplicity
1004 public RuleCall getMultiplicityDefiniteMultiplicityParserRuleCall_2_0() { return cMultiplicityDefiniteMultiplicityParserRuleCall_2_0; }
1005 }
1006 public class MultiplicityElements extends AbstractParserRuleElementFinder {
1007 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Multiplicity");
1008 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1009 private final RuleCall cUnboundedMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1010 private final RuleCall cDefiniteMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1011
1012 //Multiplicity:
1013 // UnboundedMultiplicity | DefiniteMultiplicity;
1014 @Override public ParserRule getRule() { return rule; }
1015
1016 //UnboundedMultiplicity | DefiniteMultiplicity
1017 public Alternatives getAlternatives() { return cAlternatives; }
1018
1019 //UnboundedMultiplicity
1020 public RuleCall getUnboundedMultiplicityParserRuleCall_0() { return cUnboundedMultiplicityParserRuleCall_0; }
1021
1022 //DefiniteMultiplicity
1023 public RuleCall getDefiniteMultiplicityParserRuleCall_1() { return cDefiniteMultiplicityParserRuleCall_1; }
1024 }
1025 public class DefiniteMultiplicityElements extends AbstractParserRuleElementFinder {
1026 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.DefiniteMultiplicity");
1027 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1028 private final RuleCall cRangeMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1029 private final RuleCall cExactMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1030
1031 //DefiniteMultiplicity returns Multiplicity:
1032 // RangeMultiplicity | ExactMultiplicity;
1033 @Override public ParserRule getRule() { return rule; }
1034
1035 //RangeMultiplicity | ExactMultiplicity
1036 public Alternatives getAlternatives() { return cAlternatives; }
1037
1038 //RangeMultiplicity
1039 public RuleCall getRangeMultiplicityParserRuleCall_0() { return cRangeMultiplicityParserRuleCall_0; }
1040
1041 //ExactMultiplicity
1042 public RuleCall getExactMultiplicityParserRuleCall_1() { return cExactMultiplicityParserRuleCall_1; }
1043 }
1044 public class UnboundedMultiplicityElements extends AbstractParserRuleElementFinder {
1045 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.UnboundedMultiplicity");
1046 private final Action cUnboundedMultiplicityAction = (Action)rule.eContents().get(1);
1047
1048 //UnboundedMultiplicity:
1049 // {UnboundedMultiplicity};
1050 @Override public ParserRule getRule() { return rule; }
1051
1052 //{UnboundedMultiplicity}
1053 public Action getUnboundedMultiplicityAction() { return cUnboundedMultiplicityAction; }
1054 }
1055 public class RangeMultiplicityElements extends AbstractParserRuleElementFinder {
1056 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.RangeMultiplicity");
1057 private final Group cGroup = (Group)rule.eContents().get(1);
1058 private final Assignment cLowerBoundAssignment_0 = (Assignment)cGroup.eContents().get(0);
1059 private final RuleCall cLowerBoundINTTerminalRuleCall_0_0 = (RuleCall)cLowerBoundAssignment_0.eContents().get(0);
1060 private final Keyword cFullStopFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1);
1061 private final Assignment cUpperBoundAssignment_2 = (Assignment)cGroup.eContents().get(2);
1062 private final RuleCall cUpperBoundUpperBoundParserRuleCall_2_0 = (RuleCall)cUpperBoundAssignment_2.eContents().get(0);
1063
1064 //RangeMultiplicity:
1065 // lowerBound=INT ".." upperBound=UpperBound;
1066 @Override public ParserRule getRule() { return rule; }
1067
1068 //lowerBound=INT ".." upperBound=UpperBound
1069 public Group getGroup() { return cGroup; }
1070
1071 //lowerBound=INT
1072 public Assignment getLowerBoundAssignment_0() { return cLowerBoundAssignment_0; }
1073
1074 //INT
1075 public RuleCall getLowerBoundINTTerminalRuleCall_0_0() { return cLowerBoundINTTerminalRuleCall_0_0; }
1076
1077 //".."
1078 public Keyword getFullStopFullStopKeyword_1() { return cFullStopFullStopKeyword_1; }
1079
1080 //upperBound=UpperBound
1081 public Assignment getUpperBoundAssignment_2() { return cUpperBoundAssignment_2; }
1082
1083 //UpperBound
1084 public RuleCall getUpperBoundUpperBoundParserRuleCall_2_0() { return cUpperBoundUpperBoundParserRuleCall_2_0; }
1085 }
1086 public class ExactMultiplicityElements extends AbstractParserRuleElementFinder {
1087 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ExactMultiplicity");
1088 private final Assignment cExactValueAssignment = (Assignment)rule.eContents().get(1);
1089 private final RuleCall cExactValueINTTerminalRuleCall_0 = (RuleCall)cExactValueAssignment.eContents().get(0);
1090
1091 //ExactMultiplicity:
1092 // exactValue=INT;
1093 @Override public ParserRule getRule() { return rule; }
1094
1095 //exactValue=INT
1096 public Assignment getExactValueAssignment() { return cExactValueAssignment; }
1097
1098 //INT
1099 public RuleCall getExactValueINTTerminalRuleCall_0() { return cExactValueINTTerminalRuleCall_0; }
1100 }
1101 public class UpperBoundElements extends AbstractParserRuleElementFinder {
1102 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.UpperBound");
1103 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1104 private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1105 private final Keyword cAsteriskKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
1106
1107 //UpperBound returns ecore::EInt:
1108 // INT | "*";
1109 @Override public ParserRule getRule() { return rule; }
1110
1111 //INT | "*"
1112 public Alternatives getAlternatives() { return cAlternatives; }
1113
1114 //INT
1115 public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
1116
1117 //"*"
1118 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; }
1119 }
1120 public class QuotedOrUnquotedIdElements extends AbstractParserRuleElementFinder {
1121 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.QuotedOrUnquotedId");
1122 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1123 private final RuleCall cQUOTED_IDTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1124 private final RuleCall cIdentifierParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1125
1126 //QuotedOrUnquotedId:
1127 // QUOTED_ID | Identifier;
1128 @Override public ParserRule getRule() { return rule; }
1129
1130 //QUOTED_ID | Identifier
1131 public Alternatives getAlternatives() { return cAlternatives; }
1132
1133 //QUOTED_ID
1134 public RuleCall getQUOTED_IDTerminalRuleCall_0() { return cQUOTED_IDTerminalRuleCall_0; }
1135
1136 //Identifier
1137 public RuleCall getIdentifierParserRuleCall_1() { return cIdentifierParserRuleCall_1; }
1138 }
1139 public class QualifiedNameElements extends AbstractParserRuleElementFinder {
1140 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.QualifiedName");
1141 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1142 private final RuleCall cQUOTED_IDTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1143 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
1144 private final RuleCall cIdentifierParserRuleCall_1_0 = (RuleCall)cGroup_1.eContents().get(0);
1145 private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1);
1146 private final Keyword cColonKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
1147 private final RuleCall cIdentifierParserRuleCall_1_1_1 = (RuleCall)cGroup_1_1.eContents().get(1);
1148 private final Group cGroup_1_2 = (Group)cGroup_1.eContents().get(2);
1149 private final Keyword cColonKeyword_1_2_0 = (Keyword)cGroup_1_2.eContents().get(0);
1150 private final RuleCall cQUOTED_IDTerminalRuleCall_1_2_1 = (RuleCall)cGroup_1_2.eContents().get(1);
1151
1152 //QualifiedName:
1153 // QUOTED_ID | Identifier (":" Identifier)* (":" QUOTED_ID)?;
1154 @Override public ParserRule getRule() { return rule; }
1155
1156 //QUOTED_ID | Identifier (":" Identifier)* (":" QUOTED_ID)?
1157 public Alternatives getAlternatives() { return cAlternatives; }
1158
1159 //QUOTED_ID
1160 public RuleCall getQUOTED_IDTerminalRuleCall_0() { return cQUOTED_IDTerminalRuleCall_0; }
1161
1162 //Identifier (":" Identifier)* (":" QUOTED_ID)?
1163 public Group getGroup_1() { return cGroup_1; }
1164
1165 //Identifier
1166 public RuleCall getIdentifierParserRuleCall_1_0() { return cIdentifierParserRuleCall_1_0; }
1167
1168 //(":" Identifier)*
1169 public Group getGroup_1_1() { return cGroup_1_1; }
1170
1171 //":"
1172 public Keyword getColonKeyword_1_1_0() { return cColonKeyword_1_1_0; }
1173
1174 //Identifier
1175 public RuleCall getIdentifierParserRuleCall_1_1_1() { return cIdentifierParserRuleCall_1_1_1; }
1176
1177 //(":" QUOTED_ID)?
1178 public Group getGroup_1_2() { return cGroup_1_2; }
1179
1180 //":"
1181 public Keyword getColonKeyword_1_2_0() { return cColonKeyword_1_2_0; }
1182
1183 //QUOTED_ID
1184 public RuleCall getQUOTED_IDTerminalRuleCall_1_2_1() { return cQUOTED_IDTerminalRuleCall_1_2_1; }
1185 }
1186 public class IdentifierElements extends AbstractParserRuleElementFinder {
1187 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Identifier");
1188 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1189 private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1190 private final Keyword cTrueKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
1191 private final Keyword cFalseKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
1192
1193 //Identifier:
1194 // ID | "true" | "false";
1195 @Override public ParserRule getRule() { return rule; }
1196
1197 //ID | "true" | "false"
1198 public Alternatives getAlternatives() { return cAlternatives; }
1199
1200 //ID
1201 public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; }
1202
1203 //"true"
1204 public Keyword getTrueKeyword_1() { return cTrueKeyword_1; }
1205
1206 //"false"
1207 public Keyword getFalseKeyword_2() { return cFalseKeyword_2; }
1208 }
1209
1210 public class LogicValueElements extends AbstractElementFinder.AbstractEnumRuleElementFinder {
1211 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.LogicValue");
1212 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1213 private final EnumLiteralDeclaration cTRUEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
1214 private final Keyword cTRUETrueKeyword_0_0 = (Keyword)cTRUEEnumLiteralDeclaration_0.eContents().get(0);
1215 private final EnumLiteralDeclaration cFALSEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
1216 private final Keyword cFALSEFalseKeyword_1_0 = (Keyword)cFALSEEnumLiteralDeclaration_1.eContents().get(0);
1217 private final EnumLiteralDeclaration cUNKNOWNEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
1218 private final Keyword cUNKNOWNUnknownKeyword_2_0 = (Keyword)cUNKNOWNEnumLiteralDeclaration_2.eContents().get(0);
1219
1220 //enum LogicValue:
1221 // TRUE="true" | FALSE="false" | UNKNOWN="unknown";
1222 public EnumRule getRule() { return rule; }
1223
1224 //TRUE="true" | FALSE="false" | UNKNOWN="unknown"
1225 public Alternatives getAlternatives() { return cAlternatives; }
1226
1227 //TRUE="true"
1228 public EnumLiteralDeclaration getTRUEEnumLiteralDeclaration_0() { return cTRUEEnumLiteralDeclaration_0; }
1229
1230 //"true"
1231 public Keyword getTRUETrueKeyword_0_0() { return cTRUETrueKeyword_0_0; }
1232
1233 //FALSE="false"
1234 public EnumLiteralDeclaration getFALSEEnumLiteralDeclaration_1() { return cFALSEEnumLiteralDeclaration_1; }
1235
1236 //"false"
1237 public Keyword getFALSEFalseKeyword_1_0() { return cFALSEFalseKeyword_1_0; }
1238
1239 //UNKNOWN="unknown"
1240 public EnumLiteralDeclaration getUNKNOWNEnumLiteralDeclaration_2() { return cUNKNOWNEnumLiteralDeclaration_2; }
1241
1242 //"unknown"
1243 public Keyword getUNKNOWNUnknownKeyword_2_0() { return cUNKNOWNUnknownKeyword_2_0; }
1244 }
1245 public class ShortLogicValueElements extends AbstractElementFinder.AbstractEnumRuleElementFinder {
1246 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ShortLogicValue");
1247 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1248 private final EnumLiteralDeclaration cFALSEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
1249 private final Keyword cFALSEExclamationMarkKeyword_0_0 = (Keyword)cFALSEEnumLiteralDeclaration_0.eContents().get(0);
1250 private final EnumLiteralDeclaration cUNKNOWNEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
1251 private final Keyword cUNKNOWNQuestionMarkKeyword_1_0 = (Keyword)cUNKNOWNEnumLiteralDeclaration_1.eContents().get(0);
1252
1253 //enum ShortLogicValue returns LogicValue:
1254 // FALSE="!" | UNKNOWN="?";
1255 public EnumRule getRule() { return rule; }
1256
1257 //FALSE="!" | UNKNOWN="?"
1258 public Alternatives getAlternatives() { return cAlternatives; }
1259
1260 //FALSE="!"
1261 public EnumLiteralDeclaration getFALSEEnumLiteralDeclaration_0() { return cFALSEEnumLiteralDeclaration_0; }
1262
1263 //"!"
1264 public Keyword getFALSEExclamationMarkKeyword_0_0() { return cFALSEExclamationMarkKeyword_0_0; }
1265
1266 //UNKNOWN="?"
1267 public EnumLiteralDeclaration getUNKNOWNEnumLiteralDeclaration_1() { return cUNKNOWNEnumLiteralDeclaration_1; }
1268
1269 //"?"
1270 public Keyword getUNKNOWNQuestionMarkKeyword_1_0() { return cUNKNOWNQuestionMarkKeyword_1_0; }
1271 }
1272
1273 private final ProblemElements pProblem;
1274 private final StatementElements pStatement;
1275 private final ClassDeclarationElements pClassDeclaration;
1276 private final EnumDeclarationElements pEnumDeclaration;
1277 private final EnumLiteralElements pEnumLiteral;
1278 private final ReferenceDeclarationElements pReferenceDeclaration;
1279 private final PredicateDefinitionElements pPredicateDefinition;
1280 private final ParameterElements pParameter;
1281 private final ConjunctionElements pConjunction;
1282 private final LiteralElements pLiteral;
1283 private final NegativeLiteralElements pNegativeLiteral;
1284 private final AtomElements pAtom;
1285 private final ArgumentElements pArgument;
1286 private final AssertionElements pAssertion;
1287 private final LogicValueElements eLogicValue;
1288 private final ShortLogicValueElements eShortLogicValue;
1289 private final ScopeDeclarationElements pScopeDeclaration;
1290 private final TypeScopeElements pTypeScope;
1291 private final MultiplicityElements pMultiplicity;
1292 private final DefiniteMultiplicityElements pDefiniteMultiplicity;
1293 private final UnboundedMultiplicityElements pUnboundedMultiplicity;
1294 private final RangeMultiplicityElements pRangeMultiplicity;
1295 private final ExactMultiplicityElements pExactMultiplicity;
1296 private final UpperBoundElements pUpperBound;
1297 private final QuotedOrUnquotedIdElements pQuotedOrUnquotedId;
1298 private final QualifiedNameElements pQualifiedName;
1299 private final IdentifierElements pIdentifier;
1300 private final TerminalRule tSTRING;
1301 private final TerminalRule tQUOTED_ID;
1302
1303 private final Grammar grammar;
1304
1305 private final TerminalsGrammarAccess gaTerminals;
1306
1307 @Inject
1308 public ProblemGrammarAccess(GrammarProvider grammarProvider,
1309 TerminalsGrammarAccess gaTerminals) {
1310 this.grammar = internalFindGrammar(grammarProvider);
1311 this.gaTerminals = gaTerminals;
1312 this.pProblem = new ProblemElements();
1313 this.pStatement = new StatementElements();
1314 this.pClassDeclaration = new ClassDeclarationElements();
1315 this.pEnumDeclaration = new EnumDeclarationElements();
1316 this.pEnumLiteral = new EnumLiteralElements();
1317 this.pReferenceDeclaration = new ReferenceDeclarationElements();
1318 this.pPredicateDefinition = new PredicateDefinitionElements();
1319 this.pParameter = new ParameterElements();
1320 this.pConjunction = new ConjunctionElements();
1321 this.pLiteral = new LiteralElements();
1322 this.pNegativeLiteral = new NegativeLiteralElements();
1323 this.pAtom = new AtomElements();
1324 this.pArgument = new ArgumentElements();
1325 this.pAssertion = new AssertionElements();
1326 this.eLogicValue = new LogicValueElements();
1327 this.eShortLogicValue = new ShortLogicValueElements();
1328 this.pScopeDeclaration = new ScopeDeclarationElements();
1329 this.pTypeScope = new TypeScopeElements();
1330 this.pMultiplicity = new MultiplicityElements();
1331 this.pDefiniteMultiplicity = new DefiniteMultiplicityElements();
1332 this.pUnboundedMultiplicity = new UnboundedMultiplicityElements();
1333 this.pRangeMultiplicity = new RangeMultiplicityElements();
1334 this.pExactMultiplicity = new ExactMultiplicityElements();
1335 this.pUpperBound = new UpperBoundElements();
1336 this.pQuotedOrUnquotedId = new QuotedOrUnquotedIdElements();
1337 this.pQualifiedName = new QualifiedNameElements();
1338 this.pIdentifier = new IdentifierElements();
1339 this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.STRING");
1340 this.tQUOTED_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.QUOTED_ID");
1341 }
1342
1343 protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
1344 Grammar grammar = grammarProvider.getGrammar(this);
1345 while (grammar != null) {
1346 if ("org.eclipse.viatra.solver.language.Problem".equals(grammar.getName())) {
1347 return grammar;
1348 }
1349 List<Grammar> grammars = grammar.getUsedGrammars();
1350 if (!grammars.isEmpty()) {
1351 grammar = grammars.iterator().next();
1352 } else {
1353 return null;
1354 }
1355 }
1356 return grammar;
1357 }
1358
1359 @Override
1360 public Grammar getGrammar() {
1361 return grammar;
1362 }
1363
1364
1365 public TerminalsGrammarAccess getTerminalsGrammarAccess() {
1366 return gaTerminals;
1367 }
1368
1369
1370 //Problem:
1371 // ("problem" name=Identifier ".")?
1372 // statements+=Statement*;
1373 public ProblemElements getProblemAccess() {
1374 return pProblem;
1375 }
1376
1377 public ParserRule getProblemRule() {
1378 return getProblemAccess().getRule();
1379 }
1380
1381 //Statement:
1382 // ClassDeclaration | EnumDeclaration | PredicateDefinition | Assertion | ScopeDeclaration;
1383 public StatementElements getStatementAccess() {
1384 return pStatement;
1385 }
1386
1387 public ParserRule getStatementRule() {
1388 return getStatementAccess().getRule();
1389 }
1390
1391 //ClassDeclaration:
1392 // abstract?="abstract"? "class"
1393 // name=Identifier
1394 // ("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)?
1395 // ("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".");
1396 public ClassDeclarationElements getClassDeclarationAccess() {
1397 return pClassDeclaration;
1398 }
1399
1400 public ParserRule getClassDeclarationRule() {
1401 return getClassDeclarationAccess().getRule();
1402 }
1403
1404 //EnumDeclaration:
1405 // "enum"
1406 // name=Identifier
1407 // ("{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}" | ".");
1408 public EnumDeclarationElements getEnumDeclarationAccess() {
1409 return pEnumDeclaration;
1410 }
1411
1412 public ParserRule getEnumDeclarationRule() {
1413 return getEnumDeclarationAccess().getRule();
1414 }
1415
1416 //EnumLiteral returns Node:
1417 // name=QuotedOrUnquotedId;
1418 public EnumLiteralElements getEnumLiteralAccess() {
1419 return pEnumLiteral;
1420 }
1421
1422 public ParserRule getEnumLiteralRule() {
1423 return getEnumLiteralAccess().getRule();
1424 }
1425
1426 //ReferenceDeclaration:
1427 // (containment?="contains" | "refers")?
1428 // referenceType=[Relation|QualifiedName]
1429 // ("[" multiplicity=Multiplicity "]")?
1430 // name=Identifier
1431 // ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?;
1432 public ReferenceDeclarationElements getReferenceDeclarationAccess() {
1433 return pReferenceDeclaration;
1434 }
1435
1436 public ParserRule getReferenceDeclarationRule() {
1437 return getReferenceDeclarationAccess().getRule();
1438 }
1439
1440 //PredicateDefinition:
1441 // (error?="error" "pred"? | "pred")
1442 // name=Identifier
1443 // "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
1444 // (":-" bodies+=Conjunction (";" bodies+=Conjunction)*)?
1445 // ".";
1446 public PredicateDefinitionElements getPredicateDefinitionAccess() {
1447 return pPredicateDefinition;
1448 }
1449
1450 public ParserRule getPredicateDefinitionRule() {
1451 return getPredicateDefinitionAccess().getRule();
1452 }
1453
1454 //Parameter:
1455 // parameterType=[Relation|QualifiedName]? name=Identifier;
1456 public ParameterElements getParameterAccess() {
1457 return pParameter;
1458 }
1459
1460 public ParserRule getParameterRule() {
1461 return getParameterAccess().getRule();
1462 }
1463
1464 //Conjunction:
1465 // literals+=Literal ("," literals+=Literal)*;
1466 public ConjunctionElements getConjunctionAccess() {
1467 return pConjunction;
1468 }
1469
1470 public ParserRule getConjunctionRule() {
1471 return getConjunctionAccess().getRule();
1472 }
1473
1474 //Literal:
1475 // Atom | NegativeLiteral;
1476 public LiteralElements getLiteralAccess() {
1477 return pLiteral;
1478 }
1479
1480 public ParserRule getLiteralRule() {
1481 return getLiteralAccess().getRule();
1482 }
1483
1484 //NegativeLiteral:
1485 // "!" atom=Atom;
1486 public NegativeLiteralElements getNegativeLiteralAccess() {
1487 return pNegativeLiteral;
1488 }
1489
1490 public ParserRule getNegativeLiteralRule() {
1491 return getNegativeLiteralAccess().getRule();
1492 }
1493
1494 //Atom:
1495 // relation=[Relation|QualifiedName]
1496 // transitiveClosure?="+"?
1497 // "(" (arguments+=Argument ("," arguments+=Argument)*)? ")";
1498 public AtomElements getAtomAccess() {
1499 return pAtom;
1500 }
1501
1502 public ParserRule getAtomRule() {
1503 return getAtomAccess().getRule();
1504 }
1505
1506 //Argument:
1507 // variableOrNode=[VariableOrNode|QualifiedName];
1508 public ArgumentElements getArgumentAccess() {
1509 return pArgument;
1510 }
1511
1512 public ParserRule getArgumentRule() {
1513 return getArgumentAccess().getRule();
1514 }
1515
1516 //Assertion:
1517 // (relation=[Relation|QualifiedName]
1518 // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")"
1519 // ":" value=LogicValue |
1520 // value=ShortLogicValue?
1521 // relation=[Relation|QualifiedName]
1522 // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")")
1523 // ".";
1524 public AssertionElements getAssertionAccess() {
1525 return pAssertion;
1526 }
1527
1528 public ParserRule getAssertionRule() {
1529 return getAssertionAccess().getRule();
1530 }
1531
1532 //enum LogicValue:
1533 // TRUE="true" | FALSE="false" | UNKNOWN="unknown";
1534 public LogicValueElements getLogicValueAccess() {
1535 return eLogicValue;
1536 }
1537
1538 public EnumRule getLogicValueRule() {
1539 return getLogicValueAccess().getRule();
1540 }
1541
1542 //enum ShortLogicValue returns LogicValue:
1543 // FALSE="!" | UNKNOWN="?";
1544 public ShortLogicValueElements getShortLogicValueAccess() {
1545 return eShortLogicValue;
1546 }
1547
1548 public EnumRule getShortLogicValueRule() {
1549 return getShortLogicValueAccess().getRule();
1550 }
1551
1552 //ScopeDeclaration:
1553 // "scope" typeScopes+=TypeScope ("," typeScopes+=TypeScope)* ".";
1554 public ScopeDeclarationElements getScopeDeclarationAccess() {
1555 return pScopeDeclaration;
1556 }
1557
1558 public ParserRule getScopeDeclarationRule() {
1559 return getScopeDeclarationAccess().getRule();
1560 }
1561
1562 //TypeScope:
1563 // targetType=[ClassDeclaration]
1564 // (increment?="+=" | "=")
1565 // multiplicity=DefiniteMultiplicity;
1566 public TypeScopeElements getTypeScopeAccess() {
1567 return pTypeScope;
1568 }
1569
1570 public ParserRule getTypeScopeRule() {
1571 return getTypeScopeAccess().getRule();
1572 }
1573
1574 //Multiplicity:
1575 // UnboundedMultiplicity | DefiniteMultiplicity;
1576 public MultiplicityElements getMultiplicityAccess() {
1577 return pMultiplicity;
1578 }
1579
1580 public ParserRule getMultiplicityRule() {
1581 return getMultiplicityAccess().getRule();
1582 }
1583
1584 //DefiniteMultiplicity returns Multiplicity:
1585 // RangeMultiplicity | ExactMultiplicity;
1586 public DefiniteMultiplicityElements getDefiniteMultiplicityAccess() {
1587 return pDefiniteMultiplicity;
1588 }
1589
1590 public ParserRule getDefiniteMultiplicityRule() {
1591 return getDefiniteMultiplicityAccess().getRule();
1592 }
1593
1594 //UnboundedMultiplicity:
1595 // {UnboundedMultiplicity};
1596 public UnboundedMultiplicityElements getUnboundedMultiplicityAccess() {
1597 return pUnboundedMultiplicity;
1598 }
1599
1600 public ParserRule getUnboundedMultiplicityRule() {
1601 return getUnboundedMultiplicityAccess().getRule();
1602 }
1603
1604 //RangeMultiplicity:
1605 // lowerBound=INT ".." upperBound=UpperBound;
1606 public RangeMultiplicityElements getRangeMultiplicityAccess() {
1607 return pRangeMultiplicity;
1608 }
1609
1610 public ParserRule getRangeMultiplicityRule() {
1611 return getRangeMultiplicityAccess().getRule();
1612 }
1613
1614 //ExactMultiplicity:
1615 // exactValue=INT;
1616 public ExactMultiplicityElements getExactMultiplicityAccess() {
1617 return pExactMultiplicity;
1618 }
1619
1620 public ParserRule getExactMultiplicityRule() {
1621 return getExactMultiplicityAccess().getRule();
1622 }
1623
1624 //UpperBound returns ecore::EInt:
1625 // INT | "*";
1626 public UpperBoundElements getUpperBoundAccess() {
1627 return pUpperBound;
1628 }
1629
1630 public ParserRule getUpperBoundRule() {
1631 return getUpperBoundAccess().getRule();
1632 }
1633
1634 //QuotedOrUnquotedId:
1635 // QUOTED_ID | Identifier;
1636 public QuotedOrUnquotedIdElements getQuotedOrUnquotedIdAccess() {
1637 return pQuotedOrUnquotedId;
1638 }
1639
1640 public ParserRule getQuotedOrUnquotedIdRule() {
1641 return getQuotedOrUnquotedIdAccess().getRule();
1642 }
1643
1644 //QualifiedName:
1645 // QUOTED_ID | Identifier (":" Identifier)* (":" QUOTED_ID)?;
1646 public QualifiedNameElements getQualifiedNameAccess() {
1647 return pQualifiedName;
1648 }
1649
1650 public ParserRule getQualifiedNameRule() {
1651 return getQualifiedNameAccess().getRule();
1652 }
1653
1654 //Identifier:
1655 // ID | "true" | "false";
1656 public IdentifierElements getIdentifierAccess() {
1657 return pIdentifier;
1658 }
1659
1660 public ParserRule getIdentifierRule() {
1661 return getIdentifierAccess().getRule();
1662 }
1663
1664 //@Override
1665 //terminal STRING:
1666 // '"' ('\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\' | '"'))* '"';
1667 public TerminalRule getSTRINGRule() {
1668 return tSTRING;
1669 }
1670
1671 //terminal QUOTED_ID:
1672 // "'" ('\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\' | "'"))* "'";
1673 public TerminalRule getQUOTED_IDRule() {
1674 return tQUOTED_ID;
1675 }
1676
1677 //terminal ID: '^'?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
1678 public TerminalRule getIDRule() {
1679 return gaTerminals.getIDRule();
1680 }
1681
1682 //terminal INT returns ecore::EInt: ('0'..'9')+;
1683 public TerminalRule getINTRule() {
1684 return gaTerminals.getINTRule();
1685 }
1686
1687 //terminal ML_COMMENT : '/*' -> '*/';
1688 public TerminalRule getML_COMMENTRule() {
1689 return gaTerminals.getML_COMMENTRule();
1690 }
1691
1692 //terminal SL_COMMENT : '//' !('\n'|'\r')* ('\r'? '\n')?;
1693 public TerminalRule getSL_COMMENTRule() {
1694 return gaTerminals.getSL_COMMENTRule();
1695 }
1696
1697 //terminal WS : (' '|'\t'|'\r'|'\n')+;
1698 public TerminalRule getWSRule() {
1699 return gaTerminals.getWSRule();
1700 }
1701
1702 //terminal ANY_OTHER: .;
1703 public TerminalRule getANY_OTHERRule() {
1704 return gaTerminals.getANY_OTHERRule();
1705 }
1706}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/validation/AbstractProblemValidator.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/validation/AbstractProblemValidator.java
deleted file mode 100644
index 9cd73e1e..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/validation/AbstractProblemValidator.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
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 AbstractProblemValidator extends AbstractDeclarativeValidator {
12
13 @Override
14 protected List<EPackage> getEPackages() {
15 List<EPackage> result = new ArrayList<EPackage>();
16 result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/viatra/solver/language/model/Problem"));
17 return result;
18 }
19}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/validation/ProblemConfigurableIssueCodesProvider.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/validation/ProblemConfigurableIssueCodesProvider.java
deleted file mode 100644
index f5a0d87d..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/validation/ProblemConfigurableIssueCodesProvider.java
+++ /dev/null
@@ -1,22 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
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 ProblemConfigurableIssueCodesProvider 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}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/test/java/org/eclipse/viatra/solver/language/tests/ProblemParsingTest.xtend b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/test/java/org/eclipse/viatra/solver/language/tests/ProblemParsingTest.xtend
deleted file mode 100644
index b007cf8b..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/test/java/org/eclipse/viatra/solver/language/tests/ProblemParsingTest.xtend
+++ /dev/null
@@ -1,30 +0,0 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language.tests
5
6import com.google.inject.Inject
7import org.eclipse.viatra.solver.language.model.problem.Problem
8import org.eclipse.xtext.testing.InjectWith
9import org.eclipse.xtext.testing.extensions.InjectionExtension
10import org.eclipse.xtext.testing.util.ParseHelper
11import org.junit.jupiter.api.Assertions
12import org.junit.jupiter.api.Test
13import org.junit.jupiter.api.^extension.ExtendWith
14
15@ExtendWith(InjectionExtension)
16@InjectWith(ProblemInjectorProvider)
17class ProblemParsingTest {
18 @Inject
19 ParseHelper<Problem> parseHelper
20
21 @Test
22 def void loadModel() {
23 val result = parseHelper.parse('''
24 Hello Xtext!
25 ''')
26 Assertions.assertNotNull(result)
27 val errors = result.eResource.errors
28 Assertions.assertTrue(errors.isEmpty, '''Unexpected errors: «errors.join(", ")»''')
29 }
30}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/test/xtext-gen/org/eclipse/viatra/solver/language/tests/ProblemInjectorProvider.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/test/xtext-gen/org/eclipse/viatra/solver/language/tests/ProblemInjectorProvider.java
deleted file mode 100644
index 7d0ef1bb..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/test/xtext-gen/org/eclipse/viatra/solver/language/tests/ProblemInjectorProvider.java
+++ /dev/null
@@ -1,69 +0,0 @@
1/*
2 * generated by Xtext 2.26.0.M1
3 */
4package org.eclipse.viatra.solver.language.tests;
5
6import com.google.inject.Guice;
7import com.google.inject.Injector;
8import org.eclipse.viatra.solver.language.ProblemRuntimeModule;
9import org.eclipse.viatra.solver.language.ProblemStandaloneSetup;
10import org.eclipse.xtext.testing.GlobalRegistries;
11import org.eclipse.xtext.testing.GlobalRegistries.GlobalStateMemento;
12import org.eclipse.xtext.testing.IInjectorProvider;
13import org.eclipse.xtext.testing.IRegistryConfigurator;
14
15public class ProblemInjectorProvider implements IInjectorProvider, IRegistryConfigurator {
16
17 protected GlobalStateMemento stateBeforeInjectorCreation;
18 protected GlobalStateMemento stateAfterInjectorCreation;
19 protected Injector injector;
20
21 static {
22 GlobalRegistries.initializeDefaults();
23 }
24
25 @Override
26 public Injector getInjector() {
27 if (injector == null) {
28 this.injector = internalCreateInjector();
29 stateAfterInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
30 }
31 return injector;
32 }
33
34 protected Injector internalCreateInjector() {
35 return new ProblemStandaloneSetup() {
36 @Override
37 public Injector createInjector() {
38 return Guice.createInjector(createRuntimeModule());
39 }
40 }.createInjectorAndDoEMFRegistration();
41 }
42
43 protected ProblemRuntimeModule createRuntimeModule() {
44 // make it work also with Maven/Tycho and OSGI
45 // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=493672
46 return new ProblemRuntimeModule() {
47 @Override
48 public ClassLoader bindClassLoaderToInstance() {
49 return ProblemInjectorProvider.class
50 .getClassLoader();
51 }
52 };
53 }
54
55 @Override
56 public void restoreRegistry() {
57 stateBeforeInjectorCreation.restoreGlobalState();
58 stateBeforeInjectorCreation = null;
59 }
60
61 @Override
62 public void setupRegistry() {
63 stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
64 if (injector == null) {
65 getInjector();
66 }
67 stateAfterInjectorCreation.restoreGlobalState();
68 }
69}
diff --git a/org.eclipse.viatra.solver.language.parent/settings.gradle b/org.eclipse.viatra.solver.language.parent/settings.gradle
deleted file mode 100644
index 5ddc5fc4..00000000
--- a/org.eclipse.viatra.solver.language.parent/settings.gradle
+++ /dev/null
@@ -1,4 +0,0 @@
1include 'org.eclipse.viatra.solver.language'
2include 'org.eclipse.viatra.solver.language.ide'
3include 'org.eclipse.viatra.solver.language.model'
4include 'org.eclipse.viatra.solver.language.web'