From 7e50434905cbb7f5d03636033b698e17a9075e9d Mon Sep 17 00:00:00 2001
From: OszkarSemerath
Date: Sat, 13 Jan 2018 19:33:26 +0100
Subject: Initial commit of the configuration language and application
---
.../.classpath | 9 +
.../.gitignore | 1 +
.../.project | 34 +
.../.settings/org.eclipse.core.resources.prefs | 2 +
.../.settings/org.eclipse.jdt.core.prefs | 7 +
.../META-INF/MANIFEST.MF | 14 +
.../build.properties | 5 +
.../antlr/ApplicationConfigurationParser.java | 97 +
...pplicationConfigurationContentAssistParser.java | 34 +
.../internal/InternalApplicationConfiguration.g | 1577 +++++++
.../InternalApplicationConfiguration.tokens | 29 +
.../InternalApplicationConfigurationLexer.java | 1108 +++++
.../InternalApplicationConfigurationParser.java | 4611 ++++++++++++++++++++
.../.classpath | 9 +
.../.gitignore | 1 +
.../.project | 34 +
.../.settings/org.eclipse.core.resources.prefs | 2 +
.../.settings/org.eclipse.jdt.core.prefs | 7 +
.../META-INF/MANIFEST.MF | 26 +
.../build.properties | 6 +
.../plugin.xml | 430 ++
.../plugin.xml_gen | 410 ++
.../AbstractApplicationConfigurationUiModule.java | 280 ++
...ionConfigurationExecutableExtensionFactory.java | 27 +
...ctApplicationConfigurationProposalProvider.java | 100 +
.../ui/internal/ApplicationActivator.java | 93 +
.../ui/ApplicationConfigurationUiModule.xtend | 13 +
.../ApplicationConfigurationProposalProvider.xtend | 12 +
.../ui/execute/ExecuteScriptHandler.java | 16 +
...tionConfigurationDescriptionLabelProvider.xtend | 24 +
.../ApplicationConfigurationLabelProvider.xtend | 31 +
...plicationConfigurationOutlineTreeProvider.xtend | 15 +
.../ApplicationConfigurationQuickfixProvider.xtend | 24 +
.../mit/inf/dslreasoner/application/ui/.gitignore | 3 +
.../application/ui/contentassist/.gitignore | 3 +
.../dslreasoner/application/ui/labeling/.gitignore | 6 +
.../dslreasoner/application/ui/outline/.gitignore | 3 +
.../dslreasoner/application/ui/quickfix/.gitignore | 3 +
.../.classpath | 9 +
.../.gitignore | 1 +
.../.project | 34 +
.../.settings/org.eclipse.core.resources.prefs | 2 +
.../.settings/org.eclipse.jdt.core.prefs | 7 +
.../META-INF/MANIFEST.MF | 44 +
.../build.properties | 18 +
.../model/generated/ApplicationConfiguration.ecore | 44 +
.../generated/ApplicationConfiguration.genmodel | 44 +
.../plugin.xml | 10 +
.../plugin.xml_gen | 10 +
...tractApplicationConfigurationRuntimeModule.java | 194 +
.../application/ApplicationConfiguration.xtextbin | Bin 0 -> 3428 bytes
...ationConfigurationStandaloneSetupGenerated.java | 42 +
.../applicationConfiguration/AllPackageEntry.java | 42 +
.../ApplicationConfigurationFactory.java | 152 +
.../ApplicationConfigurationPackage.java | 947 ++++
.../applicationConfiguration/Command.java | 20 +
.../ConfigurationScript.java | 61 +
.../applicationConfiguration/Declaration.java | 19 +
.../applicationConfiguration/EPackageImport.java | 52 +
.../applicationConfiguration/Import.java | 20 +
.../applicationConfiguration/Metamodel.java | 20 +
.../MetamodelDeclaration.java | 78 +
.../applicationConfiguration/MetamodelElement.java | 80 +
.../applicationConfiguration/MetamodelEntry.java | 53 +
.../MetamodelReference.java | 51 +
.../MetamodelSpecification.java | 42 +
.../applicationConfiguration/ViatraImport.java | 52 +
.../impl/AllPackageEntryImpl.java | 166 +
.../impl/ApplicationConfigurationFactoryImpl.java | 251 ++
.../impl/ApplicationConfigurationPackageImpl.java | 602 +++
.../applicationConfiguration/impl/CommandImpl.java | 43 +
.../impl/ConfigurationScriptImpl.java | 207 +
.../impl/DeclarationImpl.java | 41 +
.../impl/EPackageImportImpl.java | 173 +
.../applicationConfiguration/impl/ImportImpl.java | 43 +
.../impl/MetamodelDeclarationImpl.java | 265 ++
.../impl/MetamodelElementImpl.java | 239 +
.../impl/MetamodelEntryImpl.java | 174 +
.../impl/MetamodelImpl.java | 43 +
.../impl/MetamodelReferenceImpl.java | 173 +
.../impl/MetamodelSpecificationImpl.java | 166 +
.../impl/ViatraImportImpl.java | 174 +
.../ApplicationConfigurationAdapterFactory.java | 373 ++
.../util/ApplicationConfigurationSwitch.java | 405 ++
...icationConfigurationAntlrTokenFileProvider.java | 16 +
.../antlr/ApplicationConfigurationParser.java | 40 +
.../internal/InternalApplicationConfiguration.g | 659 +++
.../InternalApplicationConfiguration.tokens | 29 +
.../InternalApplicationConfigurationLexer.java | 1108 +++++
.../InternalApplicationConfigurationParser.java | 1746 ++++++++
...tractApplicationConfigurationScopeProvider.java | 9 +
.../ApplicationConfigurationSemanticSequencer.java | 202 +
...ApplicationConfigurationSyntacticSequencer.java | 43 +
.../ApplicationConfigurationGrammarAccess.java | 703 +++
.../AbstractApplicationConfigurationValidator.java | 20 +
.../application/ApplicationConfiguration.xtext | 127 +
.../ApplicationConfigurationRuntimeModule.xtend | 43 +
.../ApplicationConfigurationStandaloneSetup.xtend | 15 +
.../GenerateApplicationConfiguration.mwe2 | 43 +
.../application/execution/Context.xtend | 18 +
.../application/execution/ExecuteScript.xtend | 25 +
.../application/execution/Executor.xtend | 95 +
.../application/execution/MetamodelLoader.xtend | 178 +
.../application/execution/ModelLoader.xtend | 11 +
.../application/execution/QueryLoader.xtend | 28 +
.../application/execution/util/VQLParser.xtend | 99 +
.../ApplicationConfigurationGenerator.xtend | 25 +
.../ApplicationConfigurationLinkingService.xtend | 56 +
.../ApplicationConfigurationScopeProvider.xtend | 94 +
.../ApplicationConfigurationValidator.xtend | 25 +
.../bme/mit/inf/dslreasoner/application/.gitignore | 6 +
.../dslreasoner/application/execution/.gitignore | 21 +
.../application/execution/util/.gitignore | 5 +
.../dslreasoner/application/generator/.gitignore | 3 +
.../inf/dslreasoner/application/linking/.gitignore | 3 +
.../inf/dslreasoner/application/scoping/.gitignore | 3 +
.../dslreasoner/application/validation/.gitignore | 3 +
.../formulacanonization/CanonisedFormulae.xtend | 17 +
.../formulacanonization/FormulaCanoniser.xtend | 21 +
.../formulacanonization/FormulaRewriter.xtend | 36 +
120 files changed, 20367 insertions(+)
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ide/.classpath
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ide/.gitignore
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ide/.project
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ide/.settings/org.eclipse.core.resources.prefs
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ide/.settings/org.eclipse.jdt.core.prefs
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ide/META-INF/MANIFEST.MF
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ide/build.properties
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/ApplicationConfigurationParser.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/PartialApplicationConfigurationContentAssistParser.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfiguration.g
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfiguration.tokens
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfigurationLexer.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfigurationParser.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/.classpath
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/.gitignore
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/.project
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/.settings/org.eclipse.core.resources.prefs
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/.settings/org.eclipse.jdt.core.prefs
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/META-INF/MANIFEST.MF
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/build.properties
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml_gen
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/AbstractApplicationConfigurationUiModule.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/ApplicationConfigurationExecutableExtensionFactory.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/AbstractApplicationConfigurationProposalProvider.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/internal/ApplicationActivator.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/ApplicationConfigurationUiModule.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/ApplicationConfigurationProposalProvider.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/execute/ExecuteScriptHandler.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/labeling/ApplicationConfigurationDescriptionLabelProvider.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/labeling/ApplicationConfigurationLabelProvider.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/outline/ApplicationConfigurationOutlineTreeProvider.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/quickfix/ApplicationConfigurationQuickfixProvider.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/.gitignore
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/.gitignore
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/labeling/.gitignore
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/outline/.gitignore
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/quickfix/.gitignore
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/.classpath
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/.gitignore
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/.project
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/.settings/org.eclipse.core.resources.prefs
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/.settings/org.eclipse.jdt.core.prefs
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/META-INF/MANIFEST.MF
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/build.properties
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/model/generated/ApplicationConfiguration.ecore
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/model/generated/ApplicationConfiguration.genmodel
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/plugin.xml
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/plugin.xml_gen
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/AbstractApplicationConfigurationRuntimeModule.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtextbin
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationStandaloneSetupGenerated.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/AllPackageEntry.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ApplicationConfigurationFactory.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ApplicationConfigurationPackage.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Command.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ConfigurationScript.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Declaration.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/EPackageImport.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Import.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Metamodel.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelDeclaration.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelElement.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelEntry.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelReference.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelSpecification.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ViatraImport.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/AllPackageEntryImpl.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ApplicationConfigurationFactoryImpl.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ApplicationConfigurationPackageImpl.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/CommandImpl.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ConfigurationScriptImpl.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/DeclarationImpl.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/EPackageImportImpl.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ImportImpl.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelDeclarationImpl.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelElementImpl.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelEntryImpl.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelImpl.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelReferenceImpl.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelSpecificationImpl.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ViatraImportImpl.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/util/ApplicationConfigurationAdapterFactory.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/util/ApplicationConfigurationSwitch.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/ApplicationConfigurationAntlrTokenFileProvider.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/ApplicationConfigurationParser.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.g
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.tokens
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationLexer.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationParser.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/scoping/AbstractApplicationConfigurationScopeProvider.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/serializer/ApplicationConfigurationSemanticSequencer.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/serializer/ApplicationConfigurationSyntacticSequencer.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/services/ApplicationConfigurationGrammarAccess.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/validation/AbstractApplicationConfigurationValidator.java
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationRuntimeModule.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationStandaloneSetup.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/GenerateApplicationConfiguration.mwe2
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/Context.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ExecuteScript.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/Executor.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/MetamodelLoader.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ModelLoader.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/util/VQLParser.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/generator/ApplicationConfigurationGenerator.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/linking/ApplicationConfigurationLinkingService.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/validation/ApplicationConfigurationValidator.xtend
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/.gitignore
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/.gitignore
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/util/.gitignore
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/generator/.gitignore
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/linking/.gitignore
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/scoping/.gitignore
create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/validation/.gitignore
create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/CanonisedFormulae.xtend
create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaCanoniser.xtend
create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaRewriter.xtend
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/.classpath b/Application/hu.bme.mit.inf.dslreasoner.application.ide/.classpath
new file mode 100644
index 00000000..1287f96c
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/.classpath
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application.ide/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/.project b/Application/hu.bme.mit.inf.dslreasoner.application.ide/.project
new file mode 100644
index 00000000..9d62c5a9
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/.project
@@ -0,0 +1,34 @@
+
+
+ hu.bme.mit.inf.dslreasoner.application.ide
+
+
+
+
+
+ org.eclipse.xtext.ui.shared.xtextBuilder
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.xtext.ui.shared.xtextNature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.pde.PluginNature
+
+
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/.settings/org.eclipse.core.resources.prefs b/Application/hu.bme.mit.inf.dslreasoner.application.ide/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..4824b802
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/.settings/org.eclipse.jdt.core.prefs b/Application/hu.bme.mit.inf.dslreasoner.application.ide/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/META-INF/MANIFEST.MF b/Application/hu.bme.mit.inf.dslreasoner.application.ide/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..ea887458
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: hu.bme.mit.inf.dslreasoner.application.ide
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.application.ide; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: hu.bme.mit.inf.dslreasoner.application,
+ org.eclipse.xtext.ide,
+ org.eclipse.xtext.xbase.ide
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: hu.bme.mit.inf.dslreasoner.application.ide.contentassist.antlr.internal,
+ hu.bme.mit.inf.dslreasoner.application.ide.contentassist.antlr
+
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/build.properties b/Application/hu.bme.mit.inf.dslreasoner.application.ide/build.properties
new file mode 100644
index 00000000..914b09cc
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/build.properties
@@ -0,0 +1,5 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/ApplicationConfigurationParser.java b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/ApplicationConfigurationParser.java
new file mode 100644
index 00000000..40c2fd48
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/ApplicationConfigurationParser.java
@@ -0,0 +1,97 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.ide.contentassist.antlr;
+
+import com.google.inject.Inject;
+import hu.bme.mit.inf.dslreasoner.application.ide.contentassist.antlr.internal.InternalApplicationConfigurationParser;
+import hu.bme.mit.inf.dslreasoner.application.services.ApplicationConfigurationGrammarAccess;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import org.antlr.runtime.RecognitionException;
+import org.eclipse.xtext.AbstractElement;
+import org.eclipse.xtext.ide.editor.contentassist.antlr.AbstractContentAssistParser;
+import org.eclipse.xtext.ide.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+
+public class ApplicationConfigurationParser extends AbstractContentAssistParser {
+
+ @Inject
+ private ApplicationConfigurationGrammarAccess grammarAccess;
+
+ private Map nameMappings;
+
+ @Override
+ protected InternalApplicationConfigurationParser createParser() {
+ InternalApplicationConfigurationParser result = new InternalApplicationConfigurationParser(null);
+ result.setGrammarAccess(grammarAccess);
+ return result;
+ }
+
+ @Override
+ protected String getRuleName(AbstractElement element) {
+ if (nameMappings == null) {
+ nameMappings = new HashMap() {
+ private static final long serialVersionUID = 1L;
+ {
+ put(grammarAccess.getImportAccess().getAlternatives(), "rule__Import__Alternatives");
+ put(grammarAccess.getMetamodelEntryAccess().getAlternatives(), "rule__MetamodelEntry__Alternatives");
+ put(grammarAccess.getMetamodelAccess().getAlternatives(), "rule__Metamodel__Alternatives");
+ put(grammarAccess.getConfigurationScriptAccess().getGroup(), "rule__ConfigurationScript__Group__0");
+ put(grammarAccess.getEPackageImportAccess().getGroup(), "rule__EPackageImport__Group__0");
+ put(grammarAccess.getViatraImportAccess().getGroup(), "rule__ViatraImport__Group__0");
+ put(grammarAccess.getMetamodelSpecificationAccess().getGroup(), "rule__MetamodelSpecification__Group__0");
+ put(grammarAccess.getMetamodelSpecificationAccess().getGroup_2(), "rule__MetamodelSpecification__Group_2__0");
+ put(grammarAccess.getAllPackageEntryAccess().getGroup(), "rule__AllPackageEntry__Group__0");
+ put(grammarAccess.getAllPackageEntryAccess().getGroup_2(), "rule__AllPackageEntry__Group_2__0");
+ put(grammarAccess.getAllPackageEntryAccess().getGroup_2_3(), "rule__AllPackageEntry__Group_2_3__0");
+ put(grammarAccess.getMetamodelElementAccess().getGroup(), "rule__MetamodelElement__Group__0");
+ put(grammarAccess.getMetamodelElementAccess().getGroup_0(), "rule__MetamodelElement__Group_0__0");
+ put(grammarAccess.getMetamodelElementAccess().getGroup_2(), "rule__MetamodelElement__Group_2__0");
+ put(grammarAccess.getMetamodelDeclarationAccess().getGroup(), "rule__MetamodelDeclaration__Group__0");
+ put(grammarAccess.getConfigurationScriptAccess().getImportsAssignment_0(), "rule__ConfigurationScript__ImportsAssignment_0");
+ put(grammarAccess.getConfigurationScriptAccess().getCommandsAssignment_1(), "rule__ConfigurationScript__CommandsAssignment_1");
+ put(grammarAccess.getEPackageImportAccess().getImportedPackageAssignment_2(), "rule__EPackageImport__ImportedPackageAssignment_2");
+ put(grammarAccess.getViatraImportAccess().getImportedViatraAssignment_2(), "rule__ViatraImport__ImportedViatraAssignment_2");
+ put(grammarAccess.getMetamodelSpecificationAccess().getEntriesAssignment_1(), "rule__MetamodelSpecification__EntriesAssignment_1");
+ put(grammarAccess.getMetamodelSpecificationAccess().getEntriesAssignment_2_1(), "rule__MetamodelSpecification__EntriesAssignment_2_1");
+ put(grammarAccess.getAllPackageEntryAccess().getPackageAssignment_1(), "rule__AllPackageEntry__PackageAssignment_1");
+ put(grammarAccess.getAllPackageEntryAccess().getExclusionAssignment_2_2(), "rule__AllPackageEntry__ExclusionAssignment_2_2");
+ put(grammarAccess.getAllPackageEntryAccess().getExclusionAssignment_2_3_1(), "rule__AllPackageEntry__ExclusionAssignment_2_3_1");
+ put(grammarAccess.getMetamodelElementAccess().getPackageAssignment_0_0(), "rule__MetamodelElement__PackageAssignment_0_0");
+ put(grammarAccess.getMetamodelElementAccess().getClassifierAssignment_1(), "rule__MetamodelElement__ClassifierAssignment_1");
+ put(grammarAccess.getMetamodelElementAccess().getFeatureAssignment_2_1(), "rule__MetamodelElement__FeatureAssignment_2_1");
+ put(grammarAccess.getMetamodelDeclarationAccess().getNameAssignment_1(), "rule__MetamodelDeclaration__NameAssignment_1");
+ put(grammarAccess.getMetamodelDeclarationAccess().getSpecificationAssignment_2(), "rule__MetamodelDeclaration__SpecificationAssignment_2");
+ put(grammarAccess.getMetamodelReferenceAccess().getReferredAssignment(), "rule__MetamodelReference__ReferredAssignment");
+ }
+ };
+ }
+ return nameMappings.get(element);
+ }
+
+ @Override
+ protected Collection getFollowElements(AbstractInternalContentAssistParser parser) {
+ try {
+ InternalApplicationConfigurationParser typedParser = (InternalApplicationConfigurationParser) parser;
+ typedParser.entryRuleConfigurationScript();
+ return typedParser.getFollowElements();
+ } catch(RecognitionException ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ @Override
+ protected String[] getInitialHiddenTokens() {
+ return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
+ }
+
+ public ApplicationConfigurationGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(ApplicationConfigurationGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/PartialApplicationConfigurationContentAssistParser.java b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/PartialApplicationConfigurationContentAssistParser.java
new file mode 100644
index 00000000..a418e063
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/PartialApplicationConfigurationContentAssistParser.java
@@ -0,0 +1,34 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.ide.contentassist.antlr;
+
+import java.util.Collection;
+import java.util.Collections;
+import org.eclipse.xtext.AbstractRule;
+import org.eclipse.xtext.ide.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ide.editor.partialEditing.IPartialEditingContentAssistParser;
+import org.eclipse.xtext.util.PolymorphicDispatcher;
+
+public class PartialApplicationConfigurationContentAssistParser extends ApplicationConfigurationParser implements IPartialEditingContentAssistParser {
+
+ private AbstractRule rule;
+
+ @Override
+ public void initializeFor(AbstractRule rule) {
+ this.rule = rule;
+ }
+
+ @Override
+ protected Collection getFollowElements(AbstractInternalContentAssistParser parser) {
+ if (rule == null || rule.eIsProxy())
+ return Collections.emptyList();
+ String methodName = "entryRule" + rule.getName();
+ PolymorphicDispatcher> dispatcher =
+ new PolymorphicDispatcher>(methodName, 0, 0, Collections.singletonList(parser));
+ dispatcher.invoke();
+ return parser.getFollowElements();
+ }
+
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfiguration.g b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfiguration.g
new file mode 100644
index 00000000..08fa0536
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfiguration.g
@@ -0,0 +1,1577 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+grammar InternalApplicationConfiguration;
+
+options {
+ superClass=AbstractInternalContentAssistParser;
+}
+
+@lexer::header {
+package hu.bme.mit.inf.dslreasoner.application.ide.contentassist.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
+}
+
+@parser::header {
+package hu.bme.mit.inf.dslreasoner.application.ide.contentassist.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA;
+import hu.bme.mit.inf.dslreasoner.application.services.ApplicationConfigurationGrammarAccess;
+
+}
+@parser::members {
+ private ApplicationConfigurationGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(ApplicationConfigurationGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+}
+
+// Entry rule entryRuleConfigurationScript
+entryRuleConfigurationScript
+:
+{ before(grammarAccess.getConfigurationScriptRule()); }
+ ruleConfigurationScript
+{ after(grammarAccess.getConfigurationScriptRule()); }
+ EOF
+;
+
+// Rule ConfigurationScript
+ruleConfigurationScript
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+ (
+ { before(grammarAccess.getConfigurationScriptAccess().getGroup()); }
+ (rule__ConfigurationScript__Group__0)
+ { after(grammarAccess.getConfigurationScriptAccess().getGroup()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+// Entry rule entryRuleCommand
+entryRuleCommand
+:
+{ before(grammarAccess.getCommandRule()); }
+ ruleCommand
+{ after(grammarAccess.getCommandRule()); }
+ EOF
+;
+
+// Rule Command
+ruleCommand
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+ (
+ { before(grammarAccess.getCommandAccess().getDeclarationParserRuleCall()); }
+ ruleDeclaration
+ { after(grammarAccess.getCommandAccess().getDeclarationParserRuleCall()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+// Entry rule entryRuleDeclaration
+entryRuleDeclaration
+:
+{ before(grammarAccess.getDeclarationRule()); }
+ ruleDeclaration
+{ after(grammarAccess.getDeclarationRule()); }
+ EOF
+;
+
+// Rule Declaration
+ruleDeclaration
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+ (
+ { before(grammarAccess.getDeclarationAccess().getMetamodelDeclarationParserRuleCall()); }
+ ruleMetamodelDeclaration
+ { after(grammarAccess.getDeclarationAccess().getMetamodelDeclarationParserRuleCall()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+// Entry rule entryRuleImport
+entryRuleImport
+:
+{ before(grammarAccess.getImportRule()); }
+ ruleImport
+{ after(grammarAccess.getImportRule()); }
+ EOF
+;
+
+// Rule Import
+ruleImport
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+ (
+ { before(grammarAccess.getImportAccess().getAlternatives()); }
+ (rule__Import__Alternatives)
+ { after(grammarAccess.getImportAccess().getAlternatives()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+// Entry rule entryRuleEPackageImport
+entryRuleEPackageImport
+:
+{ before(grammarAccess.getEPackageImportRule()); }
+ ruleEPackageImport
+{ after(grammarAccess.getEPackageImportRule()); }
+ EOF
+;
+
+// Rule EPackageImport
+ruleEPackageImport
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+ (
+ { before(grammarAccess.getEPackageImportAccess().getGroup()); }
+ (rule__EPackageImport__Group__0)
+ { after(grammarAccess.getEPackageImportAccess().getGroup()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+// Entry rule entryRuleViatraImport
+entryRuleViatraImport
+:
+{ before(grammarAccess.getViatraImportRule()); }
+ ruleViatraImport
+{ after(grammarAccess.getViatraImportRule()); }
+ EOF
+;
+
+// Rule ViatraImport
+ruleViatraImport
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+ (
+ { before(grammarAccess.getViatraImportAccess().getGroup()); }
+ (rule__ViatraImport__Group__0)
+ { after(grammarAccess.getViatraImportAccess().getGroup()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+// Entry rule entryRuleMetamodelSpecification
+entryRuleMetamodelSpecification
+:
+{ before(grammarAccess.getMetamodelSpecificationRule()); }
+ ruleMetamodelSpecification
+{ after(grammarAccess.getMetamodelSpecificationRule()); }
+ EOF
+;
+
+// Rule MetamodelSpecification
+ruleMetamodelSpecification
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+ (
+ { before(grammarAccess.getMetamodelSpecificationAccess().getGroup()); }
+ (rule__MetamodelSpecification__Group__0)
+ { after(grammarAccess.getMetamodelSpecificationAccess().getGroup()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+// Entry rule entryRuleMetamodelEntry
+entryRuleMetamodelEntry
+:
+{ before(grammarAccess.getMetamodelEntryRule()); }
+ ruleMetamodelEntry
+{ after(grammarAccess.getMetamodelEntryRule()); }
+ EOF
+;
+
+// Rule MetamodelEntry
+ruleMetamodelEntry
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+ (
+ { before(grammarAccess.getMetamodelEntryAccess().getAlternatives()); }
+ (rule__MetamodelEntry__Alternatives)
+ { after(grammarAccess.getMetamodelEntryAccess().getAlternatives()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+// Entry rule entryRuleAllPackageEntry
+entryRuleAllPackageEntry
+:
+{ before(grammarAccess.getAllPackageEntryRule()); }
+ ruleAllPackageEntry
+{ after(grammarAccess.getAllPackageEntryRule()); }
+ EOF
+;
+
+// Rule AllPackageEntry
+ruleAllPackageEntry
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+ (
+ { before(grammarAccess.getAllPackageEntryAccess().getGroup()); }
+ (rule__AllPackageEntry__Group__0)
+ { after(grammarAccess.getAllPackageEntryAccess().getGroup()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+// Entry rule entryRuleMetamodelElement
+entryRuleMetamodelElement
+:
+{ before(grammarAccess.getMetamodelElementRule()); }
+ ruleMetamodelElement
+{ after(grammarAccess.getMetamodelElementRule()); }
+ EOF
+;
+
+// Rule MetamodelElement
+ruleMetamodelElement
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+ (
+ { before(grammarAccess.getMetamodelElementAccess().getGroup()); }
+ (rule__MetamodelElement__Group__0)
+ { after(grammarAccess.getMetamodelElementAccess().getGroup()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+// Entry rule entryRuleMetamodelDeclaration
+entryRuleMetamodelDeclaration
+:
+{ before(grammarAccess.getMetamodelDeclarationRule()); }
+ ruleMetamodelDeclaration
+{ after(grammarAccess.getMetamodelDeclarationRule()); }
+ EOF
+;
+
+// Rule MetamodelDeclaration
+ruleMetamodelDeclaration
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+ (
+ { before(grammarAccess.getMetamodelDeclarationAccess().getGroup()); }
+ (rule__MetamodelDeclaration__Group__0)
+ { after(grammarAccess.getMetamodelDeclarationAccess().getGroup()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+// Entry rule entryRuleMetamodelReference
+entryRuleMetamodelReference
+:
+{ before(grammarAccess.getMetamodelReferenceRule()); }
+ ruleMetamodelReference
+{ after(grammarAccess.getMetamodelReferenceRule()); }
+ EOF
+;
+
+// Rule MetamodelReference
+ruleMetamodelReference
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+ (
+ { before(grammarAccess.getMetamodelReferenceAccess().getReferredAssignment()); }
+ (rule__MetamodelReference__ReferredAssignment)
+ { after(grammarAccess.getMetamodelReferenceAccess().getReferredAssignment()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Import__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getImportAccess().getEPackageImportParserRuleCall_0()); }
+ ruleEPackageImport
+ { after(grammarAccess.getImportAccess().getEPackageImportParserRuleCall_0()); }
+ )
+ |
+ (
+ { before(grammarAccess.getImportAccess().getViatraImportParserRuleCall_1()); }
+ ruleViatraImport
+ { after(grammarAccess.getImportAccess().getViatraImportParserRuleCall_1()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelEntry__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getMetamodelEntryAccess().getMetamodelElementParserRuleCall_0()); }
+ ruleMetamodelElement
+ { after(grammarAccess.getMetamodelEntryAccess().getMetamodelElementParserRuleCall_0()); }
+ )
+ |
+ (
+ { before(grammarAccess.getMetamodelEntryAccess().getAllPackageEntryParserRuleCall_1()); }
+ ruleAllPackageEntry
+ { after(grammarAccess.getMetamodelEntryAccess().getAllPackageEntryParserRuleCall_1()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ConfigurationScript__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ConfigurationScript__Group__0__Impl
+ rule__ConfigurationScript__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ConfigurationScript__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getConfigurationScriptAccess().getImportsAssignment_0()); }
+ (rule__ConfigurationScript__ImportsAssignment_0)*
+ { after(grammarAccess.getConfigurationScriptAccess().getImportsAssignment_0()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ConfigurationScript__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ConfigurationScript__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ConfigurationScript__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getConfigurationScriptAccess().getCommandsAssignment_1()); }
+ (rule__ConfigurationScript__CommandsAssignment_1)*
+ { after(grammarAccess.getConfigurationScriptAccess().getCommandsAssignment_1()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__EPackageImport__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__EPackageImport__Group__0__Impl
+ rule__EPackageImport__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EPackageImport__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getEPackageImportAccess().getImportKeyword_0()); }
+ 'import'
+ { after(grammarAccess.getEPackageImportAccess().getImportKeyword_0()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EPackageImport__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__EPackageImport__Group__1__Impl
+ rule__EPackageImport__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EPackageImport__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getEPackageImportAccess().getEpackageKeyword_1()); }
+ 'epackage'
+ { after(grammarAccess.getEPackageImportAccess().getEpackageKeyword_1()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EPackageImport__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__EPackageImport__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EPackageImport__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getEPackageImportAccess().getImportedPackageAssignment_2()); }
+ (rule__EPackageImport__ImportedPackageAssignment_2)
+ { after(grammarAccess.getEPackageImportAccess().getImportedPackageAssignment_2()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ViatraImport__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ViatraImport__Group__0__Impl
+ rule__ViatraImport__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ViatraImport__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getViatraImportAccess().getImportKeyword_0()); }
+ 'import'
+ { after(grammarAccess.getViatraImportAccess().getImportKeyword_0()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ViatraImport__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ViatraImport__Group__1__Impl
+ rule__ViatraImport__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ViatraImport__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getViatraImportAccess().getViatraKeyword_1()); }
+ 'viatra'
+ { after(grammarAccess.getViatraImportAccess().getViatraKeyword_1()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ViatraImport__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ViatraImport__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ViatraImport__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getViatraImportAccess().getImportedViatraAssignment_2()); }
+ (rule__ViatraImport__ImportedViatraAssignment_2)
+ { after(grammarAccess.getViatraImportAccess().getImportedViatraAssignment_2()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MetamodelSpecification__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelSpecification__Group__0__Impl
+ rule__MetamodelSpecification__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelSpecification__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelSpecificationAccess().getLeftCurlyBracketKeyword_0()); }
+ '{'
+ { after(grammarAccess.getMetamodelSpecificationAccess().getLeftCurlyBracketKeyword_0()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelSpecification__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelSpecification__Group__1__Impl
+ rule__MetamodelSpecification__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelSpecification__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelSpecificationAccess().getEntriesAssignment_1()); }
+ (rule__MetamodelSpecification__EntriesAssignment_1)
+ { after(grammarAccess.getMetamodelSpecificationAccess().getEntriesAssignment_1()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelSpecification__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelSpecification__Group__2__Impl
+ rule__MetamodelSpecification__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelSpecification__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelSpecificationAccess().getGroup_2()); }
+ (rule__MetamodelSpecification__Group_2__0)*
+ { after(grammarAccess.getMetamodelSpecificationAccess().getGroup_2()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelSpecification__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelSpecification__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelSpecification__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelSpecificationAccess().getRightCurlyBracketKeyword_3()); }
+ '}'
+ { after(grammarAccess.getMetamodelSpecificationAccess().getRightCurlyBracketKeyword_3()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MetamodelSpecification__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelSpecification__Group_2__0__Impl
+ rule__MetamodelSpecification__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelSpecification__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelSpecificationAccess().getCommaKeyword_2_0()); }
+ ','
+ { after(grammarAccess.getMetamodelSpecificationAccess().getCommaKeyword_2_0()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelSpecification__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelSpecification__Group_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelSpecification__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelSpecificationAccess().getEntriesAssignment_2_1()); }
+ (rule__MetamodelSpecification__EntriesAssignment_2_1)
+ { after(grammarAccess.getMetamodelSpecificationAccess().getEntriesAssignment_2_1()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__AllPackageEntry__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__AllPackageEntry__Group__0__Impl
+ rule__AllPackageEntry__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getAllPackageEntryAccess().getPackageKeyword_0()); }
+ 'package'
+ { after(grammarAccess.getAllPackageEntryAccess().getPackageKeyword_0()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__AllPackageEntry__Group__1__Impl
+ rule__AllPackageEntry__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getAllPackageEntryAccess().getPackageAssignment_1()); }
+ (rule__AllPackageEntry__PackageAssignment_1)
+ { after(grammarAccess.getAllPackageEntryAccess().getPackageAssignment_1()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__AllPackageEntry__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getAllPackageEntryAccess().getGroup_2()); }
+ (rule__AllPackageEntry__Group_2__0)?
+ { after(grammarAccess.getAllPackageEntryAccess().getGroup_2()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__AllPackageEntry__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__AllPackageEntry__Group_2__0__Impl
+ rule__AllPackageEntry__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getAllPackageEntryAccess().getExcludingKeyword_2_0()); }
+ 'excluding'
+ { after(grammarAccess.getAllPackageEntryAccess().getExcludingKeyword_2_0()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__AllPackageEntry__Group_2__1__Impl
+ rule__AllPackageEntry__Group_2__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getAllPackageEntryAccess().getLeftCurlyBracketKeyword_2_1()); }
+ '{'
+ { after(grammarAccess.getAllPackageEntryAccess().getLeftCurlyBracketKeyword_2_1()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group_2__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__AllPackageEntry__Group_2__2__Impl
+ rule__AllPackageEntry__Group_2__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group_2__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getAllPackageEntryAccess().getExclusionAssignment_2_2()); }
+ (rule__AllPackageEntry__ExclusionAssignment_2_2)
+ { after(grammarAccess.getAllPackageEntryAccess().getExclusionAssignment_2_2()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group_2__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__AllPackageEntry__Group_2__3__Impl
+ rule__AllPackageEntry__Group_2__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group_2__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getAllPackageEntryAccess().getGroup_2_3()); }
+ (rule__AllPackageEntry__Group_2_3__0)*
+ { after(grammarAccess.getAllPackageEntryAccess().getGroup_2_3()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group_2__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__AllPackageEntry__Group_2__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group_2__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getAllPackageEntryAccess().getRightCurlyBracketKeyword_2_4()); }
+ '}'
+ { after(grammarAccess.getAllPackageEntryAccess().getRightCurlyBracketKeyword_2_4()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__AllPackageEntry__Group_2_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__AllPackageEntry__Group_2_3__0__Impl
+ rule__AllPackageEntry__Group_2_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group_2_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getAllPackageEntryAccess().getCommaKeyword_2_3_0()); }
+ ','
+ { after(grammarAccess.getAllPackageEntryAccess().getCommaKeyword_2_3_0()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group_2_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__AllPackageEntry__Group_2_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__Group_2_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getAllPackageEntryAccess().getExclusionAssignment_2_3_1()); }
+ (rule__AllPackageEntry__ExclusionAssignment_2_3_1)
+ { after(grammarAccess.getAllPackageEntryAccess().getExclusionAssignment_2_3_1()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MetamodelElement__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelElement__Group__0__Impl
+ rule__MetamodelElement__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelElement__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelElementAccess().getGroup_0()); }
+ (rule__MetamodelElement__Group_0__0)?
+ { after(grammarAccess.getMetamodelElementAccess().getGroup_0()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelElement__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelElement__Group__1__Impl
+ rule__MetamodelElement__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelElement__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelElementAccess().getClassifierAssignment_1()); }
+ (rule__MetamodelElement__ClassifierAssignment_1)
+ { after(grammarAccess.getMetamodelElementAccess().getClassifierAssignment_1()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelElement__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelElement__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelElement__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelElementAccess().getGroup_2()); }
+ (rule__MetamodelElement__Group_2__0)?
+ { after(grammarAccess.getMetamodelElementAccess().getGroup_2()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MetamodelElement__Group_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelElement__Group_0__0__Impl
+ rule__MetamodelElement__Group_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelElement__Group_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelElementAccess().getPackageAssignment_0_0()); }
+ (rule__MetamodelElement__PackageAssignment_0_0)
+ { after(grammarAccess.getMetamodelElementAccess().getPackageAssignment_0_0()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelElement__Group_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelElement__Group_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelElement__Group_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelElementAccess().getColonColonKeyword_0_1()); }
+ '::'
+ { after(grammarAccess.getMetamodelElementAccess().getColonColonKeyword_0_1()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MetamodelElement__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelElement__Group_2__0__Impl
+ rule__MetamodelElement__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelElement__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelElementAccess().getFullStopKeyword_2_0()); }
+ '.'
+ { after(grammarAccess.getMetamodelElementAccess().getFullStopKeyword_2_0()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelElement__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelElement__Group_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelElement__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelElementAccess().getFeatureAssignment_2_1()); }
+ (rule__MetamodelElement__FeatureAssignment_2_1)
+ { after(grammarAccess.getMetamodelElementAccess().getFeatureAssignment_2_1()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MetamodelDeclaration__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelDeclaration__Group__0__Impl
+ rule__MetamodelDeclaration__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelDeclaration__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelDeclarationAccess().getMetamodelKeyword_0()); }
+ 'metamodel'
+ { after(grammarAccess.getMetamodelDeclarationAccess().getMetamodelKeyword_0()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelDeclaration__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelDeclaration__Group__1__Impl
+ rule__MetamodelDeclaration__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelDeclaration__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelDeclarationAccess().getNameAssignment_1()); }
+ (rule__MetamodelDeclaration__NameAssignment_1)
+ { after(grammarAccess.getMetamodelDeclarationAccess().getNameAssignment_1()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelDeclaration__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MetamodelDeclaration__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelDeclaration__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getMetamodelDeclarationAccess().getSpecificationAssignment_2()); }
+ (rule__MetamodelDeclaration__SpecificationAssignment_2)
+ { after(grammarAccess.getMetamodelDeclarationAccess().getSpecificationAssignment_2()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ConfigurationScript__ImportsAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getConfigurationScriptAccess().getImportsImportParserRuleCall_0_0()); }
+ ruleImport
+ { after(grammarAccess.getConfigurationScriptAccess().getImportsImportParserRuleCall_0_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ConfigurationScript__CommandsAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getConfigurationScriptAccess().getCommandsCommandParserRuleCall_1_0()); }
+ ruleCommand
+ { after(grammarAccess.getConfigurationScriptAccess().getCommandsCommandParserRuleCall_1_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EPackageImport__ImportedPackageAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getEPackageImportAccess().getImportedPackageEPackageCrossReference_2_0()); }
+ (
+ { before(grammarAccess.getEPackageImportAccess().getImportedPackageEPackageSTRINGTerminalRuleCall_2_0_1()); }
+ RULE_STRING
+ { after(grammarAccess.getEPackageImportAccess().getImportedPackageEPackageSTRINGTerminalRuleCall_2_0_1()); }
+ )
+ { after(grammarAccess.getEPackageImportAccess().getImportedPackageEPackageCrossReference_2_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ViatraImport__ImportedViatraAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getViatraImportAccess().getImportedViatraPatternModelCrossReference_2_0()); }
+ (
+ { before(grammarAccess.getViatraImportAccess().getImportedViatraPatternModelSTRINGTerminalRuleCall_2_0_1()); }
+ RULE_STRING
+ { after(grammarAccess.getViatraImportAccess().getImportedViatraPatternModelSTRINGTerminalRuleCall_2_0_1()); }
+ )
+ { after(grammarAccess.getViatraImportAccess().getImportedViatraPatternModelCrossReference_2_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelSpecification__EntriesAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getMetamodelSpecificationAccess().getEntriesMetamodelEntryParserRuleCall_1_0()); }
+ ruleMetamodelEntry
+ { after(grammarAccess.getMetamodelSpecificationAccess().getEntriesMetamodelEntryParserRuleCall_1_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelSpecification__EntriesAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getMetamodelSpecificationAccess().getEntriesMetamodelEntryParserRuleCall_2_1_0()); }
+ ruleMetamodelEntry
+ { after(grammarAccess.getMetamodelSpecificationAccess().getEntriesMetamodelEntryParserRuleCall_2_1_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__PackageAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getAllPackageEntryAccess().getPackageEPackageCrossReference_1_0()); }
+ (
+ { before(grammarAccess.getAllPackageEntryAccess().getPackageEPackageIDTerminalRuleCall_1_0_1()); }
+ RULE_ID
+ { after(grammarAccess.getAllPackageEntryAccess().getPackageEPackageIDTerminalRuleCall_1_0_1()); }
+ )
+ { after(grammarAccess.getAllPackageEntryAccess().getPackageEPackageCrossReference_1_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__ExclusionAssignment_2_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getAllPackageEntryAccess().getExclusionMetamodelElementParserRuleCall_2_2_0()); }
+ ruleMetamodelElement
+ { after(grammarAccess.getAllPackageEntryAccess().getExclusionMetamodelElementParserRuleCall_2_2_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__AllPackageEntry__ExclusionAssignment_2_3_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getAllPackageEntryAccess().getExclusionMetamodelElementParserRuleCall_2_3_1_0()); }
+ ruleMetamodelElement
+ { after(grammarAccess.getAllPackageEntryAccess().getExclusionMetamodelElementParserRuleCall_2_3_1_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelElement__PackageAssignment_0_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getMetamodelElementAccess().getPackageEPackageCrossReference_0_0_0()); }
+ (
+ { before(grammarAccess.getMetamodelElementAccess().getPackageEPackageIDTerminalRuleCall_0_0_0_1()); }
+ RULE_ID
+ { after(grammarAccess.getMetamodelElementAccess().getPackageEPackageIDTerminalRuleCall_0_0_0_1()); }
+ )
+ { after(grammarAccess.getMetamodelElementAccess().getPackageEPackageCrossReference_0_0_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelElement__ClassifierAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getMetamodelElementAccess().getClassifierEClassifierCrossReference_1_0()); }
+ (
+ { before(grammarAccess.getMetamodelElementAccess().getClassifierEClassifierIDTerminalRuleCall_1_0_1()); }
+ RULE_ID
+ { after(grammarAccess.getMetamodelElementAccess().getClassifierEClassifierIDTerminalRuleCall_1_0_1()); }
+ )
+ { after(grammarAccess.getMetamodelElementAccess().getClassifierEClassifierCrossReference_1_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelElement__FeatureAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getMetamodelElementAccess().getFeatureENamedElementCrossReference_2_1_0()); }
+ (
+ { before(grammarAccess.getMetamodelElementAccess().getFeatureENamedElementIDTerminalRuleCall_2_1_0_1()); }
+ RULE_ID
+ { after(grammarAccess.getMetamodelElementAccess().getFeatureENamedElementIDTerminalRuleCall_2_1_0_1()); }
+ )
+ { after(grammarAccess.getMetamodelElementAccess().getFeatureENamedElementCrossReference_2_1_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelDeclaration__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getMetamodelDeclarationAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID
+ { after(grammarAccess.getMetamodelDeclarationAccess().getNameIDTerminalRuleCall_1_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelDeclaration__SpecificationAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getMetamodelDeclarationAccess().getSpecificationMetamodelSpecificationParserRuleCall_2_0()); }
+ ruleMetamodelSpecification
+ { after(grammarAccess.getMetamodelDeclarationAccess().getSpecificationMetamodelSpecificationParserRuleCall_2_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MetamodelReference__ReferredAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getMetamodelReferenceAccess().getReferredMetamodelDeclarationCrossReference_0()); }
+ (
+ { before(grammarAccess.getMetamodelReferenceAccess().getReferredMetamodelDeclarationIDTerminalRuleCall_0_1()); }
+ RULE_ID
+ { after(grammarAccess.getMetamodelReferenceAccess().getReferredMetamodelDeclarationIDTerminalRuleCall_0_1()); }
+ )
+ { after(grammarAccess.getMetamodelReferenceAccess().getReferredMetamodelDeclarationCrossReference_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
+
+RULE_INT : ('0'..'9')+;
+
+RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_ANY_OTHER : .;
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfiguration.tokens b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfiguration.tokens
new file mode 100644
index 00000000..5f3898b3
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfiguration.tokens
@@ -0,0 +1,29 @@
+','=16
+'.'=20
+'::'=19
+'epackage'=12
+'excluding'=18
+'import'=11
+'metamodel'=21
+'package'=17
+'viatra'=13
+'{'=14
+'}'=15
+RULE_ANY_OTHER=10
+RULE_ID=5
+RULE_INT=6
+RULE_ML_COMMENT=7
+RULE_SL_COMMENT=8
+RULE_STRING=4
+RULE_WS=9
+T__11=11
+T__12=12
+T__13=13
+T__14=14
+T__15=15
+T__16=16
+T__17=17
+T__18=18
+T__19=19
+T__20=20
+T__21=21
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfigurationLexer.java b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfigurationLexer.java
new file mode 100644
index 00000000..3f93249c
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfigurationLexer.java
@@ -0,0 +1,1108 @@
+package hu.bme.mit.inf.dslreasoner.application.ide.contentassist.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalApplicationConfigurationLexer extends Lexer {
+ public static final int RULE_STRING=4;
+ public static final int RULE_SL_COMMENT=8;
+ public static final int T__19=19;
+ public static final int T__15=15;
+ public static final int T__16=16;
+ public static final int T__17=17;
+ public static final int T__18=18;
+ public static final int T__11=11;
+ public static final int T__12=12;
+ public static final int T__13=13;
+ public static final int T__14=14;
+ public static final int EOF=-1;
+ public static final int RULE_ID=5;
+ public static final int RULE_WS=9;
+ public static final int RULE_ANY_OTHER=10;
+ public static final int RULE_INT=6;
+ public static final int RULE_ML_COMMENT=7;
+ public static final int T__20=20;
+ public static final int T__21=21;
+
+ // delegates
+ // delegators
+
+ public InternalApplicationConfigurationLexer() {;}
+ public InternalApplicationConfigurationLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalApplicationConfigurationLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "InternalApplicationConfiguration.g"; }
+
+ // $ANTLR start "T__11"
+ public final void mT__11() throws RecognitionException {
+ try {
+ int _type = T__11;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:11:7: ( 'import' )
+ // InternalApplicationConfiguration.g:11:9: 'import'
+ {
+ match("import");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__11"
+
+ // $ANTLR start "T__12"
+ public final void mT__12() throws RecognitionException {
+ try {
+ int _type = T__12;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:12:7: ( 'epackage' )
+ // InternalApplicationConfiguration.g:12:9: 'epackage'
+ {
+ match("epackage");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__12"
+
+ // $ANTLR start "T__13"
+ public final void mT__13() throws RecognitionException {
+ try {
+ int _type = T__13;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:13:7: ( 'viatra' )
+ // InternalApplicationConfiguration.g:13:9: 'viatra'
+ {
+ match("viatra");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__13"
+
+ // $ANTLR start "T__14"
+ public final void mT__14() throws RecognitionException {
+ try {
+ int _type = T__14;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:14:7: ( '{' )
+ // InternalApplicationConfiguration.g:14:9: '{'
+ {
+ match('{');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__14"
+
+ // $ANTLR start "T__15"
+ public final void mT__15() throws RecognitionException {
+ try {
+ int _type = T__15;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:15:7: ( '}' )
+ // InternalApplicationConfiguration.g:15:9: '}'
+ {
+ match('}');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__15"
+
+ // $ANTLR start "T__16"
+ public final void mT__16() throws RecognitionException {
+ try {
+ int _type = T__16;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:16:7: ( ',' )
+ // InternalApplicationConfiguration.g:16:9: ','
+ {
+ match(',');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__16"
+
+ // $ANTLR start "T__17"
+ public final void mT__17() throws RecognitionException {
+ try {
+ int _type = T__17;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:17:7: ( 'package' )
+ // InternalApplicationConfiguration.g:17:9: 'package'
+ {
+ match("package");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__17"
+
+ // $ANTLR start "T__18"
+ public final void mT__18() throws RecognitionException {
+ try {
+ int _type = T__18;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:18:7: ( 'excluding' )
+ // InternalApplicationConfiguration.g:18:9: 'excluding'
+ {
+ match("excluding");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__18"
+
+ // $ANTLR start "T__19"
+ public final void mT__19() throws RecognitionException {
+ try {
+ int _type = T__19;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:19:7: ( '::' )
+ // InternalApplicationConfiguration.g:19:9: '::'
+ {
+ match("::");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__19"
+
+ // $ANTLR start "T__20"
+ public final void mT__20() throws RecognitionException {
+ try {
+ int _type = T__20;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:20:7: ( '.' )
+ // InternalApplicationConfiguration.g:20:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__20"
+
+ // $ANTLR start "T__21"
+ public final void mT__21() throws RecognitionException {
+ try {
+ int _type = T__21;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:21:7: ( 'metamodel' )
+ // InternalApplicationConfiguration.g:21:9: 'metamodel'
+ {
+ match("metamodel");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "RULE_ID"
+ public final void mRULE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:1565:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // InternalApplicationConfiguration.g:1565:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ {
+ // InternalApplicationConfiguration.g:1565:11: ( '^' )?
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0=='^') ) {
+ alt1=1;
+ }
+ switch (alt1) {
+ case 1 :
+ // InternalApplicationConfiguration.g:1565:11: '^'
+ {
+ match('^');
+
+ }
+ break;
+
+ }
+
+ if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // InternalApplicationConfiguration.g:1565:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // InternalApplicationConfiguration.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ID"
+
+ // $ANTLR start "RULE_INT"
+ public final void mRULE_INT() throws RecognitionException {
+ try {
+ int _type = RULE_INT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:1567:10: ( ( '0' .. '9' )+ )
+ // InternalApplicationConfiguration.g:1567:12: ( '0' .. '9' )+
+ {
+ // InternalApplicationConfiguration.g:1567:12: ( '0' .. '9' )+
+ int cnt3=0;
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( ((LA3_0>='0' && LA3_0<='9')) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // InternalApplicationConfiguration.g:1567:13: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt3 >= 1 ) break loop3;
+ EarlyExitException eee =
+ new EarlyExitException(3, input);
+ throw eee;
+ }
+ cnt3++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_INT"
+
+ // $ANTLR start "RULE_STRING"
+ public final void mRULE_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:1569:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // InternalApplicationConfiguration.g:1569:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ {
+ // InternalApplicationConfiguration.g:1569:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='\"') ) {
+ alt6=1;
+ }
+ else if ( (LA6_0=='\'') ) {
+ alt6=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 6, 0, input);
+
+ throw nvae;
+ }
+ switch (alt6) {
+ case 1 :
+ // InternalApplicationConfiguration.g:1569:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ {
+ match('\"');
+ // InternalApplicationConfiguration.g:1569:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop4:
+ do {
+ int alt4=3;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0=='\\') ) {
+ alt4=1;
+ }
+ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
+ alt4=2;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // InternalApplicationConfiguration.g:1569:21: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // InternalApplicationConfiguration.g:1569:28: ~ ( ( '\\\\' | '\"' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+ break;
+ case 2 :
+ // InternalApplicationConfiguration.g:1569:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ {
+ match('\'');
+ // InternalApplicationConfiguration.g:1569:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop5:
+ do {
+ int alt5=3;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0=='\\') ) {
+ alt5=1;
+ }
+ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
+ alt5=2;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // InternalApplicationConfiguration.g:1569:54: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // InternalApplicationConfiguration.g:1569:61: ~ ( ( '\\\\' | '\\'' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_STRING"
+
+ // $ANTLR start "RULE_ML_COMMENT"
+ public final void mRULE_ML_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_ML_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:1571:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // InternalApplicationConfiguration.g:1571:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // InternalApplicationConfiguration.g:1571:24: ( options {greedy=false; } : . )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0=='*') ) {
+ int LA7_1 = input.LA(2);
+
+ if ( (LA7_1=='/') ) {
+ alt7=2;
+ }
+ else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
+ alt7=1;
+ }
+
+
+ }
+ else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // InternalApplicationConfiguration.g:1571:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_SL_COMMENT"
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:1573:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // InternalApplicationConfiguration.g:1573:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("//");
+
+ // InternalApplicationConfiguration.g:1573:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop8:
+ do {
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) {
+ alt8=1;
+ }
+
+
+ switch (alt8) {
+ case 1 :
+ // InternalApplicationConfiguration.g:1573:24: ~ ( ( '\\n' | '\\r' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop8;
+ }
+ } while (true);
+
+ // InternalApplicationConfiguration.g:1573:40: ( ( '\\r' )? '\\n' )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0=='\n'||LA10_0=='\r') ) {
+ alt10=1;
+ }
+ switch (alt10) {
+ case 1 :
+ // InternalApplicationConfiguration.g:1573:41: ( '\\r' )? '\\n'
+ {
+ // InternalApplicationConfiguration.g:1573:41: ( '\\r' )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='\r') ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // InternalApplicationConfiguration.g:1573:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SL_COMMENT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:1575:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // InternalApplicationConfiguration.g:1575:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // InternalApplicationConfiguration.g:1575:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt11=0;
+ loop11:
+ do {
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
+ alt11=1;
+ }
+
+
+ switch (alt11) {
+ case 1 :
+ // InternalApplicationConfiguration.g:
+ {
+ if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt11 >= 1 ) break loop11;
+ EarlyExitException eee =
+ new EarlyExitException(11, input);
+ throw eee;
+ }
+ cnt11++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_WS"
+
+ // $ANTLR start "RULE_ANY_OTHER"
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:1577:16: ( . )
+ // InternalApplicationConfiguration.g:1577:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // InternalApplicationConfiguration.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt12=18;
+ alt12 = dfa12.predict(input);
+ switch (alt12) {
+ case 1 :
+ // InternalApplicationConfiguration.g:1:10: T__11
+ {
+ mT__11();
+
+ }
+ break;
+ case 2 :
+ // InternalApplicationConfiguration.g:1:16: T__12
+ {
+ mT__12();
+
+ }
+ break;
+ case 3 :
+ // InternalApplicationConfiguration.g:1:22: T__13
+ {
+ mT__13();
+
+ }
+ break;
+ case 4 :
+ // InternalApplicationConfiguration.g:1:28: T__14
+ {
+ mT__14();
+
+ }
+ break;
+ case 5 :
+ // InternalApplicationConfiguration.g:1:34: T__15
+ {
+ mT__15();
+
+ }
+ break;
+ case 6 :
+ // InternalApplicationConfiguration.g:1:40: T__16
+ {
+ mT__16();
+
+ }
+ break;
+ case 7 :
+ // InternalApplicationConfiguration.g:1:46: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 8 :
+ // InternalApplicationConfiguration.g:1:52: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 9 :
+ // InternalApplicationConfiguration.g:1:58: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 10 :
+ // InternalApplicationConfiguration.g:1:64: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 11 :
+ // InternalApplicationConfiguration.g:1:70: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 12 :
+ // InternalApplicationConfiguration.g:1:76: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 13 :
+ // InternalApplicationConfiguration.g:1:84: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 14 :
+ // InternalApplicationConfiguration.g:1:93: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 15 :
+ // InternalApplicationConfiguration.g:1:105: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 16 :
+ // InternalApplicationConfiguration.g:1:121: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 17 :
+ // InternalApplicationConfiguration.g:1:137: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 18 :
+ // InternalApplicationConfiguration.g:1:145: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA12 dfa12 = new DFA12(this);
+ static final String DFA12_eotS =
+ "\1\uffff\3\24\3\uffff\1\24\1\22\1\uffff\1\24\1\22\2\uffff\3\22\2\uffff\1\24\1\uffff\3\24\3\uffff\1\24\2\uffff\1\24\5\uffff\22\24\1\74\2\24\1\77\2\24\1\uffff\2\24\1\uffff\1\104\1\24\1\106\1\24\1\uffff\1\24\1\uffff\1\111\1\112\2\uffff";
+ static final String DFA12_eofS =
+ "\113\uffff";
+ static final String DFA12_minS =
+ "\1\0\1\155\1\160\1\151\3\uffff\1\141\1\72\1\uffff\1\145\1\101\2\uffff\2\0\1\52\2\uffff\1\160\1\uffff\1\141\1\143\1\141\3\uffff\1\143\2\uffff\1\164\5\uffff\1\157\1\143\1\154\1\164\1\153\1\141\1\162\1\153\1\165\1\162\1\141\1\155\1\164\1\141\1\144\1\141\1\147\1\157\1\60\1\147\1\151\1\60\1\145\1\144\1\uffff\1\145\1\156\1\uffff\1\60\1\145\1\60\1\147\1\uffff\1\154\1\uffff\2\60\2\uffff";
+ static final String DFA12_maxS =
+ "\1\uffff\1\155\1\170\1\151\3\uffff\1\141\1\72\1\uffff\1\145\1\172\2\uffff\2\uffff\1\57\2\uffff\1\160\1\uffff\1\141\1\143\1\141\3\uffff\1\143\2\uffff\1\164\5\uffff\1\157\1\143\1\154\1\164\1\153\1\141\1\162\1\153\1\165\1\162\1\141\1\155\1\164\1\141\1\144\1\141\1\147\1\157\1\172\1\147\1\151\1\172\1\145\1\144\1\uffff\1\145\1\156\1\uffff\1\172\1\145\1\172\1\147\1\uffff\1\154\1\uffff\2\172\2\uffff";
+ static final String DFA12_acceptS =
+ "\4\uffff\1\4\1\5\1\6\2\uffff\1\12\2\uffff\1\14\1\15\3\uffff\1\21\1\22\1\uffff\1\14\3\uffff\1\4\1\5\1\6\1\uffff\1\11\1\12\1\uffff\1\15\1\16\1\17\1\20\1\21\30\uffff\1\1\2\uffff\1\3\4\uffff\1\7\1\uffff\1\2\2\uffff\1\10\1\13";
+ static final String DFA12_specialS =
+ "\1\1\15\uffff\1\0\1\2\73\uffff}>";
+ static final String[] DFA12_transitionS = {
+ "\11\22\2\21\2\22\1\21\22\22\1\21\1\22\1\16\4\22\1\17\4\22\1\6\1\22\1\11\1\20\12\15\1\10\6\22\32\14\3\22\1\13\1\14\1\22\4\14\1\2\3\14\1\1\3\14\1\12\2\14\1\7\5\14\1\3\4\14\1\4\1\22\1\5\uff82\22",
+ "\1\23",
+ "\1\25\7\uffff\1\26",
+ "\1\27",
+ "",
+ "",
+ "",
+ "\1\33",
+ "\1\34",
+ "",
+ "\1\36",
+ "\32\24\4\uffff\1\24\1\uffff\32\24",
+ "",
+ "",
+ "\0\40",
+ "\0\40",
+ "\1\41\4\uffff\1\42",
+ "",
+ "",
+ "\1\44",
+ "",
+ "\1\45",
+ "\1\46",
+ "\1\47",
+ "",
+ "",
+ "",
+ "\1\50",
+ "",
+ "",
+ "\1\51",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\52",
+ "\1\53",
+ "\1\54",
+ "\1\55",
+ "\1\56",
+ "\1\57",
+ "\1\60",
+ "\1\61",
+ "\1\62",
+ "\1\63",
+ "\1\64",
+ "\1\65",
+ "\1\66",
+ "\1\67",
+ "\1\70",
+ "\1\71",
+ "\1\72",
+ "\1\73",
+ "\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24",
+ "\1\75",
+ "\1\76",
+ "\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24",
+ "\1\100",
+ "\1\101",
+ "",
+ "\1\102",
+ "\1\103",
+ "",
+ "\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24",
+ "\1\105",
+ "\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24",
+ "\1\107",
+ "",
+ "\1\110",
+ "",
+ "\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24",
+ "\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24",
+ "",
+ ""
+ };
+
+ static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
+ static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
+ static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
+ static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
+ static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
+ static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
+ static final short[][] DFA12_transition;
+
+ static {
+ int numStates = DFA12_transitionS.length;
+ DFA12_transition = new short[numStates][];
+ for (int i=0; i='\u0000' && LA12_14<='\uFFFF')) ) {s = 32;}
+
+ else s = 18;
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA12_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA12_0=='i') ) {s = 1;}
+
+ else if ( (LA12_0=='e') ) {s = 2;}
+
+ else if ( (LA12_0=='v') ) {s = 3;}
+
+ else if ( (LA12_0=='{') ) {s = 4;}
+
+ else if ( (LA12_0=='}') ) {s = 5;}
+
+ else if ( (LA12_0==',') ) {s = 6;}
+
+ else if ( (LA12_0=='p') ) {s = 7;}
+
+ else if ( (LA12_0==':') ) {s = 8;}
+
+ else if ( (LA12_0=='.') ) {s = 9;}
+
+ else if ( (LA12_0=='m') ) {s = 10;}
+
+ else if ( (LA12_0=='^') ) {s = 11;}
+
+ else if ( ((LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='d')||(LA12_0>='f' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='l')||(LA12_0>='n' && LA12_0<='o')||(LA12_0>='q' && LA12_0<='u')||(LA12_0>='w' && LA12_0<='z')) ) {s = 12;}
+
+ else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 13;}
+
+ else if ( (LA12_0=='\"') ) {s = 14;}
+
+ else if ( (LA12_0=='\'') ) {s = 15;}
+
+ else if ( (LA12_0=='/') ) {s = 16;}
+
+ else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 17;}
+
+ else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='(' && LA12_0<='+')||LA12_0=='-'||(LA12_0>=';' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 18;}
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA12_15 = input.LA(1);
+
+ s = -1;
+ if ( ((LA12_15>='\u0000' && LA12_15<='\uFFFF')) ) {s = 32;}
+
+ else s = 18;
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 12, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfigurationParser.java b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfigurationParser.java
new file mode 100644
index 00000000..80edb17f
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src-gen/hu/bme/mit/inf/dslreasoner/application/ide/contentassist/antlr/internal/InternalApplicationConfigurationParser.java
@@ -0,0 +1,4611 @@
+package hu.bme.mit.inf.dslreasoner.application.ide.contentassist.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA;
+import hu.bme.mit.inf.dslreasoner.application.services.ApplicationConfigurationGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalApplicationConfigurationParser extends AbstractInternalContentAssistParser {
+ public static final String[] tokenNames = new String[] {
+ "", "", "", "", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'import'", "'epackage'", "'viatra'", "'{'", "'}'", "','", "'package'", "'excluding'", "'::'", "'.'", "'metamodel'"
+ };
+ public static final int RULE_STRING=4;
+ public static final int RULE_SL_COMMENT=8;
+ public static final int T__19=19;
+ public static final int T__15=15;
+ public static final int T__16=16;
+ public static final int T__17=17;
+ public static final int T__18=18;
+ public static final int T__11=11;
+ public static final int T__12=12;
+ public static final int T__13=13;
+ public static final int T__14=14;
+ public static final int EOF=-1;
+ public static final int RULE_ID=5;
+ public static final int RULE_WS=9;
+ public static final int RULE_ANY_OTHER=10;
+ public static final int RULE_INT=6;
+ public static final int RULE_ML_COMMENT=7;
+ public static final int T__20=20;
+ public static final int T__21=21;
+
+ // delegates
+ // delegators
+
+
+ public InternalApplicationConfigurationParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalApplicationConfigurationParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalApplicationConfigurationParser.tokenNames; }
+ public String getGrammarFileName() { return "InternalApplicationConfiguration.g"; }
+
+
+ private ApplicationConfigurationGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(ApplicationConfigurationGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+
+
+ // $ANTLR start "entryRuleConfigurationScript"
+ // InternalApplicationConfiguration.g:53:1: entryRuleConfigurationScript : ruleConfigurationScript EOF ;
+ public final void entryRuleConfigurationScript() throws RecognitionException {
+ try {
+ // InternalApplicationConfiguration.g:54:1: ( ruleConfigurationScript EOF )
+ // InternalApplicationConfiguration.g:55:1: ruleConfigurationScript EOF
+ {
+ before(grammarAccess.getConfigurationScriptRule());
+ pushFollow(FOLLOW_1);
+ ruleConfigurationScript();
+
+ state._fsp--;
+
+ after(grammarAccess.getConfigurationScriptRule());
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleConfigurationScript"
+
+
+ // $ANTLR start "ruleConfigurationScript"
+ // InternalApplicationConfiguration.g:62:1: ruleConfigurationScript : ( ( rule__ConfigurationScript__Group__0 ) ) ;
+ public final void ruleConfigurationScript() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:66:2: ( ( ( rule__ConfigurationScript__Group__0 ) ) )
+ // InternalApplicationConfiguration.g:67:2: ( ( rule__ConfigurationScript__Group__0 ) )
+ {
+ // InternalApplicationConfiguration.g:67:2: ( ( rule__ConfigurationScript__Group__0 ) )
+ // InternalApplicationConfiguration.g:68:3: ( rule__ConfigurationScript__Group__0 )
+ {
+ before(grammarAccess.getConfigurationScriptAccess().getGroup());
+ // InternalApplicationConfiguration.g:69:3: ( rule__ConfigurationScript__Group__0 )
+ // InternalApplicationConfiguration.g:69:4: rule__ConfigurationScript__Group__0
+ {
+ pushFollow(FOLLOW_2);
+ rule__ConfigurationScript__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getConfigurationScriptAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleConfigurationScript"
+
+
+ // $ANTLR start "entryRuleCommand"
+ // InternalApplicationConfiguration.g:78:1: entryRuleCommand : ruleCommand EOF ;
+ public final void entryRuleCommand() throws RecognitionException {
+ try {
+ // InternalApplicationConfiguration.g:79:1: ( ruleCommand EOF )
+ // InternalApplicationConfiguration.g:80:1: ruleCommand EOF
+ {
+ before(grammarAccess.getCommandRule());
+ pushFollow(FOLLOW_1);
+ ruleCommand();
+
+ state._fsp--;
+
+ after(grammarAccess.getCommandRule());
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleCommand"
+
+
+ // $ANTLR start "ruleCommand"
+ // InternalApplicationConfiguration.g:87:1: ruleCommand : ( ruleDeclaration ) ;
+ public final void ruleCommand() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:91:2: ( ( ruleDeclaration ) )
+ // InternalApplicationConfiguration.g:92:2: ( ruleDeclaration )
+ {
+ // InternalApplicationConfiguration.g:92:2: ( ruleDeclaration )
+ // InternalApplicationConfiguration.g:93:3: ruleDeclaration
+ {
+ before(grammarAccess.getCommandAccess().getDeclarationParserRuleCall());
+ pushFollow(FOLLOW_2);
+ ruleDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getCommandAccess().getDeclarationParserRuleCall());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleCommand"
+
+
+ // $ANTLR start "entryRuleDeclaration"
+ // InternalApplicationConfiguration.g:103:1: entryRuleDeclaration : ruleDeclaration EOF ;
+ public final void entryRuleDeclaration() throws RecognitionException {
+ try {
+ // InternalApplicationConfiguration.g:104:1: ( ruleDeclaration EOF )
+ // InternalApplicationConfiguration.g:105:1: ruleDeclaration EOF
+ {
+ before(grammarAccess.getDeclarationRule());
+ pushFollow(FOLLOW_1);
+ ruleDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getDeclarationRule());
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleDeclaration"
+
+
+ // $ANTLR start "ruleDeclaration"
+ // InternalApplicationConfiguration.g:112:1: ruleDeclaration : ( ruleMetamodelDeclaration ) ;
+ public final void ruleDeclaration() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:116:2: ( ( ruleMetamodelDeclaration ) )
+ // InternalApplicationConfiguration.g:117:2: ( ruleMetamodelDeclaration )
+ {
+ // InternalApplicationConfiguration.g:117:2: ( ruleMetamodelDeclaration )
+ // InternalApplicationConfiguration.g:118:3: ruleMetamodelDeclaration
+ {
+ before(grammarAccess.getDeclarationAccess().getMetamodelDeclarationParserRuleCall());
+ pushFollow(FOLLOW_2);
+ ruleMetamodelDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getDeclarationAccess().getMetamodelDeclarationParserRuleCall());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleDeclaration"
+
+
+ // $ANTLR start "entryRuleImport"
+ // InternalApplicationConfiguration.g:128:1: entryRuleImport : ruleImport EOF ;
+ public final void entryRuleImport() throws RecognitionException {
+ try {
+ // InternalApplicationConfiguration.g:129:1: ( ruleImport EOF )
+ // InternalApplicationConfiguration.g:130:1: ruleImport EOF
+ {
+ before(grammarAccess.getImportRule());
+ pushFollow(FOLLOW_1);
+ ruleImport();
+
+ state._fsp--;
+
+ after(grammarAccess.getImportRule());
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleImport"
+
+
+ // $ANTLR start "ruleImport"
+ // InternalApplicationConfiguration.g:137:1: ruleImport : ( ( rule__Import__Alternatives ) ) ;
+ public final void ruleImport() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:141:2: ( ( ( rule__Import__Alternatives ) ) )
+ // InternalApplicationConfiguration.g:142:2: ( ( rule__Import__Alternatives ) )
+ {
+ // InternalApplicationConfiguration.g:142:2: ( ( rule__Import__Alternatives ) )
+ // InternalApplicationConfiguration.g:143:3: ( rule__Import__Alternatives )
+ {
+ before(grammarAccess.getImportAccess().getAlternatives());
+ // InternalApplicationConfiguration.g:144:3: ( rule__Import__Alternatives )
+ // InternalApplicationConfiguration.g:144:4: rule__Import__Alternatives
+ {
+ pushFollow(FOLLOW_2);
+ rule__Import__Alternatives();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getImportAccess().getAlternatives());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleImport"
+
+
+ // $ANTLR start "entryRuleEPackageImport"
+ // InternalApplicationConfiguration.g:153:1: entryRuleEPackageImport : ruleEPackageImport EOF ;
+ public final void entryRuleEPackageImport() throws RecognitionException {
+ try {
+ // InternalApplicationConfiguration.g:154:1: ( ruleEPackageImport EOF )
+ // InternalApplicationConfiguration.g:155:1: ruleEPackageImport EOF
+ {
+ before(grammarAccess.getEPackageImportRule());
+ pushFollow(FOLLOW_1);
+ ruleEPackageImport();
+
+ state._fsp--;
+
+ after(grammarAccess.getEPackageImportRule());
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleEPackageImport"
+
+
+ // $ANTLR start "ruleEPackageImport"
+ // InternalApplicationConfiguration.g:162:1: ruleEPackageImport : ( ( rule__EPackageImport__Group__0 ) ) ;
+ public final void ruleEPackageImport() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:166:2: ( ( ( rule__EPackageImport__Group__0 ) ) )
+ // InternalApplicationConfiguration.g:167:2: ( ( rule__EPackageImport__Group__0 ) )
+ {
+ // InternalApplicationConfiguration.g:167:2: ( ( rule__EPackageImport__Group__0 ) )
+ // InternalApplicationConfiguration.g:168:3: ( rule__EPackageImport__Group__0 )
+ {
+ before(grammarAccess.getEPackageImportAccess().getGroup());
+ // InternalApplicationConfiguration.g:169:3: ( rule__EPackageImport__Group__0 )
+ // InternalApplicationConfiguration.g:169:4: rule__EPackageImport__Group__0
+ {
+ pushFollow(FOLLOW_2);
+ rule__EPackageImport__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getEPackageImportAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleEPackageImport"
+
+
+ // $ANTLR start "entryRuleViatraImport"
+ // InternalApplicationConfiguration.g:178:1: entryRuleViatraImport : ruleViatraImport EOF ;
+ public final void entryRuleViatraImport() throws RecognitionException {
+ try {
+ // InternalApplicationConfiguration.g:179:1: ( ruleViatraImport EOF )
+ // InternalApplicationConfiguration.g:180:1: ruleViatraImport EOF
+ {
+ before(grammarAccess.getViatraImportRule());
+ pushFollow(FOLLOW_1);
+ ruleViatraImport();
+
+ state._fsp--;
+
+ after(grammarAccess.getViatraImportRule());
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleViatraImport"
+
+
+ // $ANTLR start "ruleViatraImport"
+ // InternalApplicationConfiguration.g:187:1: ruleViatraImport : ( ( rule__ViatraImport__Group__0 ) ) ;
+ public final void ruleViatraImport() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:191:2: ( ( ( rule__ViatraImport__Group__0 ) ) )
+ // InternalApplicationConfiguration.g:192:2: ( ( rule__ViatraImport__Group__0 ) )
+ {
+ // InternalApplicationConfiguration.g:192:2: ( ( rule__ViatraImport__Group__0 ) )
+ // InternalApplicationConfiguration.g:193:3: ( rule__ViatraImport__Group__0 )
+ {
+ before(grammarAccess.getViatraImportAccess().getGroup());
+ // InternalApplicationConfiguration.g:194:3: ( rule__ViatraImport__Group__0 )
+ // InternalApplicationConfiguration.g:194:4: rule__ViatraImport__Group__0
+ {
+ pushFollow(FOLLOW_2);
+ rule__ViatraImport__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getViatraImportAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleViatraImport"
+
+
+ // $ANTLR start "entryRuleMetamodelSpecification"
+ // InternalApplicationConfiguration.g:203:1: entryRuleMetamodelSpecification : ruleMetamodelSpecification EOF ;
+ public final void entryRuleMetamodelSpecification() throws RecognitionException {
+ try {
+ // InternalApplicationConfiguration.g:204:1: ( ruleMetamodelSpecification EOF )
+ // InternalApplicationConfiguration.g:205:1: ruleMetamodelSpecification EOF
+ {
+ before(grammarAccess.getMetamodelSpecificationRule());
+ pushFollow(FOLLOW_1);
+ ruleMetamodelSpecification();
+
+ state._fsp--;
+
+ after(grammarAccess.getMetamodelSpecificationRule());
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleMetamodelSpecification"
+
+
+ // $ANTLR start "ruleMetamodelSpecification"
+ // InternalApplicationConfiguration.g:212:1: ruleMetamodelSpecification : ( ( rule__MetamodelSpecification__Group__0 ) ) ;
+ public final void ruleMetamodelSpecification() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:216:2: ( ( ( rule__MetamodelSpecification__Group__0 ) ) )
+ // InternalApplicationConfiguration.g:217:2: ( ( rule__MetamodelSpecification__Group__0 ) )
+ {
+ // InternalApplicationConfiguration.g:217:2: ( ( rule__MetamodelSpecification__Group__0 ) )
+ // InternalApplicationConfiguration.g:218:3: ( rule__MetamodelSpecification__Group__0 )
+ {
+ before(grammarAccess.getMetamodelSpecificationAccess().getGroup());
+ // InternalApplicationConfiguration.g:219:3: ( rule__MetamodelSpecification__Group__0 )
+ // InternalApplicationConfiguration.g:219:4: rule__MetamodelSpecification__Group__0
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelSpecification__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMetamodelSpecificationAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleMetamodelSpecification"
+
+
+ // $ANTLR start "entryRuleMetamodelEntry"
+ // InternalApplicationConfiguration.g:228:1: entryRuleMetamodelEntry : ruleMetamodelEntry EOF ;
+ public final void entryRuleMetamodelEntry() throws RecognitionException {
+ try {
+ // InternalApplicationConfiguration.g:229:1: ( ruleMetamodelEntry EOF )
+ // InternalApplicationConfiguration.g:230:1: ruleMetamodelEntry EOF
+ {
+ before(grammarAccess.getMetamodelEntryRule());
+ pushFollow(FOLLOW_1);
+ ruleMetamodelEntry();
+
+ state._fsp--;
+
+ after(grammarAccess.getMetamodelEntryRule());
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleMetamodelEntry"
+
+
+ // $ANTLR start "ruleMetamodelEntry"
+ // InternalApplicationConfiguration.g:237:1: ruleMetamodelEntry : ( ( rule__MetamodelEntry__Alternatives ) ) ;
+ public final void ruleMetamodelEntry() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:241:2: ( ( ( rule__MetamodelEntry__Alternatives ) ) )
+ // InternalApplicationConfiguration.g:242:2: ( ( rule__MetamodelEntry__Alternatives ) )
+ {
+ // InternalApplicationConfiguration.g:242:2: ( ( rule__MetamodelEntry__Alternatives ) )
+ // InternalApplicationConfiguration.g:243:3: ( rule__MetamodelEntry__Alternatives )
+ {
+ before(grammarAccess.getMetamodelEntryAccess().getAlternatives());
+ // InternalApplicationConfiguration.g:244:3: ( rule__MetamodelEntry__Alternatives )
+ // InternalApplicationConfiguration.g:244:4: rule__MetamodelEntry__Alternatives
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelEntry__Alternatives();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMetamodelEntryAccess().getAlternatives());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleMetamodelEntry"
+
+
+ // $ANTLR start "entryRuleAllPackageEntry"
+ // InternalApplicationConfiguration.g:253:1: entryRuleAllPackageEntry : ruleAllPackageEntry EOF ;
+ public final void entryRuleAllPackageEntry() throws RecognitionException {
+ try {
+ // InternalApplicationConfiguration.g:254:1: ( ruleAllPackageEntry EOF )
+ // InternalApplicationConfiguration.g:255:1: ruleAllPackageEntry EOF
+ {
+ before(grammarAccess.getAllPackageEntryRule());
+ pushFollow(FOLLOW_1);
+ ruleAllPackageEntry();
+
+ state._fsp--;
+
+ after(grammarAccess.getAllPackageEntryRule());
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleAllPackageEntry"
+
+
+ // $ANTLR start "ruleAllPackageEntry"
+ // InternalApplicationConfiguration.g:262:1: ruleAllPackageEntry : ( ( rule__AllPackageEntry__Group__0 ) ) ;
+ public final void ruleAllPackageEntry() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:266:2: ( ( ( rule__AllPackageEntry__Group__0 ) ) )
+ // InternalApplicationConfiguration.g:267:2: ( ( rule__AllPackageEntry__Group__0 ) )
+ {
+ // InternalApplicationConfiguration.g:267:2: ( ( rule__AllPackageEntry__Group__0 ) )
+ // InternalApplicationConfiguration.g:268:3: ( rule__AllPackageEntry__Group__0 )
+ {
+ before(grammarAccess.getAllPackageEntryAccess().getGroup());
+ // InternalApplicationConfiguration.g:269:3: ( rule__AllPackageEntry__Group__0 )
+ // InternalApplicationConfiguration.g:269:4: rule__AllPackageEntry__Group__0
+ {
+ pushFollow(FOLLOW_2);
+ rule__AllPackageEntry__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getAllPackageEntryAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleAllPackageEntry"
+
+
+ // $ANTLR start "entryRuleMetamodelElement"
+ // InternalApplicationConfiguration.g:278:1: entryRuleMetamodelElement : ruleMetamodelElement EOF ;
+ public final void entryRuleMetamodelElement() throws RecognitionException {
+ try {
+ // InternalApplicationConfiguration.g:279:1: ( ruleMetamodelElement EOF )
+ // InternalApplicationConfiguration.g:280:1: ruleMetamodelElement EOF
+ {
+ before(grammarAccess.getMetamodelElementRule());
+ pushFollow(FOLLOW_1);
+ ruleMetamodelElement();
+
+ state._fsp--;
+
+ after(grammarAccess.getMetamodelElementRule());
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleMetamodelElement"
+
+
+ // $ANTLR start "ruleMetamodelElement"
+ // InternalApplicationConfiguration.g:287:1: ruleMetamodelElement : ( ( rule__MetamodelElement__Group__0 ) ) ;
+ public final void ruleMetamodelElement() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:291:2: ( ( ( rule__MetamodelElement__Group__0 ) ) )
+ // InternalApplicationConfiguration.g:292:2: ( ( rule__MetamodelElement__Group__0 ) )
+ {
+ // InternalApplicationConfiguration.g:292:2: ( ( rule__MetamodelElement__Group__0 ) )
+ // InternalApplicationConfiguration.g:293:3: ( rule__MetamodelElement__Group__0 )
+ {
+ before(grammarAccess.getMetamodelElementAccess().getGroup());
+ // InternalApplicationConfiguration.g:294:3: ( rule__MetamodelElement__Group__0 )
+ // InternalApplicationConfiguration.g:294:4: rule__MetamodelElement__Group__0
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelElement__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMetamodelElementAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleMetamodelElement"
+
+
+ // $ANTLR start "entryRuleMetamodelDeclaration"
+ // InternalApplicationConfiguration.g:303:1: entryRuleMetamodelDeclaration : ruleMetamodelDeclaration EOF ;
+ public final void entryRuleMetamodelDeclaration() throws RecognitionException {
+ try {
+ // InternalApplicationConfiguration.g:304:1: ( ruleMetamodelDeclaration EOF )
+ // InternalApplicationConfiguration.g:305:1: ruleMetamodelDeclaration EOF
+ {
+ before(grammarAccess.getMetamodelDeclarationRule());
+ pushFollow(FOLLOW_1);
+ ruleMetamodelDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getMetamodelDeclarationRule());
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleMetamodelDeclaration"
+
+
+ // $ANTLR start "ruleMetamodelDeclaration"
+ // InternalApplicationConfiguration.g:312:1: ruleMetamodelDeclaration : ( ( rule__MetamodelDeclaration__Group__0 ) ) ;
+ public final void ruleMetamodelDeclaration() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:316:2: ( ( ( rule__MetamodelDeclaration__Group__0 ) ) )
+ // InternalApplicationConfiguration.g:317:2: ( ( rule__MetamodelDeclaration__Group__0 ) )
+ {
+ // InternalApplicationConfiguration.g:317:2: ( ( rule__MetamodelDeclaration__Group__0 ) )
+ // InternalApplicationConfiguration.g:318:3: ( rule__MetamodelDeclaration__Group__0 )
+ {
+ before(grammarAccess.getMetamodelDeclarationAccess().getGroup());
+ // InternalApplicationConfiguration.g:319:3: ( rule__MetamodelDeclaration__Group__0 )
+ // InternalApplicationConfiguration.g:319:4: rule__MetamodelDeclaration__Group__0
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelDeclaration__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMetamodelDeclarationAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleMetamodelDeclaration"
+
+
+ // $ANTLR start "entryRuleMetamodelReference"
+ // InternalApplicationConfiguration.g:328:1: entryRuleMetamodelReference : ruleMetamodelReference EOF ;
+ public final void entryRuleMetamodelReference() throws RecognitionException {
+ try {
+ // InternalApplicationConfiguration.g:329:1: ( ruleMetamodelReference EOF )
+ // InternalApplicationConfiguration.g:330:1: ruleMetamodelReference EOF
+ {
+ before(grammarAccess.getMetamodelReferenceRule());
+ pushFollow(FOLLOW_1);
+ ruleMetamodelReference();
+
+ state._fsp--;
+
+ after(grammarAccess.getMetamodelReferenceRule());
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleMetamodelReference"
+
+
+ // $ANTLR start "ruleMetamodelReference"
+ // InternalApplicationConfiguration.g:337:1: ruleMetamodelReference : ( ( rule__MetamodelReference__ReferredAssignment ) ) ;
+ public final void ruleMetamodelReference() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:341:2: ( ( ( rule__MetamodelReference__ReferredAssignment ) ) )
+ // InternalApplicationConfiguration.g:342:2: ( ( rule__MetamodelReference__ReferredAssignment ) )
+ {
+ // InternalApplicationConfiguration.g:342:2: ( ( rule__MetamodelReference__ReferredAssignment ) )
+ // InternalApplicationConfiguration.g:343:3: ( rule__MetamodelReference__ReferredAssignment )
+ {
+ before(grammarAccess.getMetamodelReferenceAccess().getReferredAssignment());
+ // InternalApplicationConfiguration.g:344:3: ( rule__MetamodelReference__ReferredAssignment )
+ // InternalApplicationConfiguration.g:344:4: rule__MetamodelReference__ReferredAssignment
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelReference__ReferredAssignment();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMetamodelReferenceAccess().getReferredAssignment());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleMetamodelReference"
+
+
+ // $ANTLR start "rule__Import__Alternatives"
+ // InternalApplicationConfiguration.g:352:1: rule__Import__Alternatives : ( ( ruleEPackageImport ) | ( ruleViatraImport ) );
+ public final void rule__Import__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:356:1: ( ( ruleEPackageImport ) | ( ruleViatraImport ) )
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==11) ) {
+ int LA1_1 = input.LA(2);
+
+ if ( (LA1_1==12) ) {
+ alt1=1;
+ }
+ else if ( (LA1_1==13) ) {
+ alt1=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 1, 1, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 1, 0, input);
+
+ throw nvae;
+ }
+ switch (alt1) {
+ case 1 :
+ // InternalApplicationConfiguration.g:357:2: ( ruleEPackageImport )
+ {
+ // InternalApplicationConfiguration.g:357:2: ( ruleEPackageImport )
+ // InternalApplicationConfiguration.g:358:3: ruleEPackageImport
+ {
+ before(grammarAccess.getImportAccess().getEPackageImportParserRuleCall_0());
+ pushFollow(FOLLOW_2);
+ ruleEPackageImport();
+
+ state._fsp--;
+
+ after(grammarAccess.getImportAccess().getEPackageImportParserRuleCall_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // InternalApplicationConfiguration.g:363:2: ( ruleViatraImport )
+ {
+ // InternalApplicationConfiguration.g:363:2: ( ruleViatraImport )
+ // InternalApplicationConfiguration.g:364:3: ruleViatraImport
+ {
+ before(grammarAccess.getImportAccess().getViatraImportParserRuleCall_1());
+ pushFollow(FOLLOW_2);
+ ruleViatraImport();
+
+ state._fsp--;
+
+ after(grammarAccess.getImportAccess().getViatraImportParserRuleCall_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Import__Alternatives"
+
+
+ // $ANTLR start "rule__MetamodelEntry__Alternatives"
+ // InternalApplicationConfiguration.g:373:1: rule__MetamodelEntry__Alternatives : ( ( ruleMetamodelElement ) | ( ruleAllPackageEntry ) );
+ public final void rule__MetamodelEntry__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:377:1: ( ( ruleMetamodelElement ) | ( ruleAllPackageEntry ) )
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==RULE_ID) ) {
+ alt2=1;
+ }
+ else if ( (LA2_0==17) ) {
+ alt2=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 2, 0, input);
+
+ throw nvae;
+ }
+ switch (alt2) {
+ case 1 :
+ // InternalApplicationConfiguration.g:378:2: ( ruleMetamodelElement )
+ {
+ // InternalApplicationConfiguration.g:378:2: ( ruleMetamodelElement )
+ // InternalApplicationConfiguration.g:379:3: ruleMetamodelElement
+ {
+ before(grammarAccess.getMetamodelEntryAccess().getMetamodelElementParserRuleCall_0());
+ pushFollow(FOLLOW_2);
+ ruleMetamodelElement();
+
+ state._fsp--;
+
+ after(grammarAccess.getMetamodelEntryAccess().getMetamodelElementParserRuleCall_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // InternalApplicationConfiguration.g:384:2: ( ruleAllPackageEntry )
+ {
+ // InternalApplicationConfiguration.g:384:2: ( ruleAllPackageEntry )
+ // InternalApplicationConfiguration.g:385:3: ruleAllPackageEntry
+ {
+ before(grammarAccess.getMetamodelEntryAccess().getAllPackageEntryParserRuleCall_1());
+ pushFollow(FOLLOW_2);
+ ruleAllPackageEntry();
+
+ state._fsp--;
+
+ after(grammarAccess.getMetamodelEntryAccess().getAllPackageEntryParserRuleCall_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelEntry__Alternatives"
+
+
+ // $ANTLR start "rule__ConfigurationScript__Group__0"
+ // InternalApplicationConfiguration.g:394:1: rule__ConfigurationScript__Group__0 : rule__ConfigurationScript__Group__0__Impl rule__ConfigurationScript__Group__1 ;
+ public final void rule__ConfigurationScript__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:398:1: ( rule__ConfigurationScript__Group__0__Impl rule__ConfigurationScript__Group__1 )
+ // InternalApplicationConfiguration.g:399:2: rule__ConfigurationScript__Group__0__Impl rule__ConfigurationScript__Group__1
+ {
+ pushFollow(FOLLOW_3);
+ rule__ConfigurationScript__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__ConfigurationScript__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ConfigurationScript__Group__0"
+
+
+ // $ANTLR start "rule__ConfigurationScript__Group__0__Impl"
+ // InternalApplicationConfiguration.g:406:1: rule__ConfigurationScript__Group__0__Impl : ( ( rule__ConfigurationScript__ImportsAssignment_0 )* ) ;
+ public final void rule__ConfigurationScript__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:410:1: ( ( ( rule__ConfigurationScript__ImportsAssignment_0 )* ) )
+ // InternalApplicationConfiguration.g:411:1: ( ( rule__ConfigurationScript__ImportsAssignment_0 )* )
+ {
+ // InternalApplicationConfiguration.g:411:1: ( ( rule__ConfigurationScript__ImportsAssignment_0 )* )
+ // InternalApplicationConfiguration.g:412:2: ( rule__ConfigurationScript__ImportsAssignment_0 )*
+ {
+ before(grammarAccess.getConfigurationScriptAccess().getImportsAssignment_0());
+ // InternalApplicationConfiguration.g:413:2: ( rule__ConfigurationScript__ImportsAssignment_0 )*
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==11) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // InternalApplicationConfiguration.g:413:3: rule__ConfigurationScript__ImportsAssignment_0
+ {
+ pushFollow(FOLLOW_4);
+ rule__ConfigurationScript__ImportsAssignment_0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop3;
+ }
+ } while (true);
+
+ after(grammarAccess.getConfigurationScriptAccess().getImportsAssignment_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ConfigurationScript__Group__0__Impl"
+
+
+ // $ANTLR start "rule__ConfigurationScript__Group__1"
+ // InternalApplicationConfiguration.g:421:1: rule__ConfigurationScript__Group__1 : rule__ConfigurationScript__Group__1__Impl ;
+ public final void rule__ConfigurationScript__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:425:1: ( rule__ConfigurationScript__Group__1__Impl )
+ // InternalApplicationConfiguration.g:426:2: rule__ConfigurationScript__Group__1__Impl
+ {
+ pushFollow(FOLLOW_2);
+ rule__ConfigurationScript__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ConfigurationScript__Group__1"
+
+
+ // $ANTLR start "rule__ConfigurationScript__Group__1__Impl"
+ // InternalApplicationConfiguration.g:432:1: rule__ConfigurationScript__Group__1__Impl : ( ( rule__ConfigurationScript__CommandsAssignment_1 )* ) ;
+ public final void rule__ConfigurationScript__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:436:1: ( ( ( rule__ConfigurationScript__CommandsAssignment_1 )* ) )
+ // InternalApplicationConfiguration.g:437:1: ( ( rule__ConfigurationScript__CommandsAssignment_1 )* )
+ {
+ // InternalApplicationConfiguration.g:437:1: ( ( rule__ConfigurationScript__CommandsAssignment_1 )* )
+ // InternalApplicationConfiguration.g:438:2: ( rule__ConfigurationScript__CommandsAssignment_1 )*
+ {
+ before(grammarAccess.getConfigurationScriptAccess().getCommandsAssignment_1());
+ // InternalApplicationConfiguration.g:439:2: ( rule__ConfigurationScript__CommandsAssignment_1 )*
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0==21) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // InternalApplicationConfiguration.g:439:3: rule__ConfigurationScript__CommandsAssignment_1
+ {
+ pushFollow(FOLLOW_5);
+ rule__ConfigurationScript__CommandsAssignment_1();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+ after(grammarAccess.getConfigurationScriptAccess().getCommandsAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ConfigurationScript__Group__1__Impl"
+
+
+ // $ANTLR start "rule__EPackageImport__Group__0"
+ // InternalApplicationConfiguration.g:448:1: rule__EPackageImport__Group__0 : rule__EPackageImport__Group__0__Impl rule__EPackageImport__Group__1 ;
+ public final void rule__EPackageImport__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:452:1: ( rule__EPackageImport__Group__0__Impl rule__EPackageImport__Group__1 )
+ // InternalApplicationConfiguration.g:453:2: rule__EPackageImport__Group__0__Impl rule__EPackageImport__Group__1
+ {
+ pushFollow(FOLLOW_6);
+ rule__EPackageImport__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__EPackageImport__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EPackageImport__Group__0"
+
+
+ // $ANTLR start "rule__EPackageImport__Group__0__Impl"
+ // InternalApplicationConfiguration.g:460:1: rule__EPackageImport__Group__0__Impl : ( 'import' ) ;
+ public final void rule__EPackageImport__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:464:1: ( ( 'import' ) )
+ // InternalApplicationConfiguration.g:465:1: ( 'import' )
+ {
+ // InternalApplicationConfiguration.g:465:1: ( 'import' )
+ // InternalApplicationConfiguration.g:466:2: 'import'
+ {
+ before(grammarAccess.getEPackageImportAccess().getImportKeyword_0());
+ match(input,11,FOLLOW_2);
+ after(grammarAccess.getEPackageImportAccess().getImportKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EPackageImport__Group__0__Impl"
+
+
+ // $ANTLR start "rule__EPackageImport__Group__1"
+ // InternalApplicationConfiguration.g:475:1: rule__EPackageImport__Group__1 : rule__EPackageImport__Group__1__Impl rule__EPackageImport__Group__2 ;
+ public final void rule__EPackageImport__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:479:1: ( rule__EPackageImport__Group__1__Impl rule__EPackageImport__Group__2 )
+ // InternalApplicationConfiguration.g:480:2: rule__EPackageImport__Group__1__Impl rule__EPackageImport__Group__2
+ {
+ pushFollow(FOLLOW_7);
+ rule__EPackageImport__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__EPackageImport__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EPackageImport__Group__1"
+
+
+ // $ANTLR start "rule__EPackageImport__Group__1__Impl"
+ // InternalApplicationConfiguration.g:487:1: rule__EPackageImport__Group__1__Impl : ( 'epackage' ) ;
+ public final void rule__EPackageImport__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:491:1: ( ( 'epackage' ) )
+ // InternalApplicationConfiguration.g:492:1: ( 'epackage' )
+ {
+ // InternalApplicationConfiguration.g:492:1: ( 'epackage' )
+ // InternalApplicationConfiguration.g:493:2: 'epackage'
+ {
+ before(grammarAccess.getEPackageImportAccess().getEpackageKeyword_1());
+ match(input,12,FOLLOW_2);
+ after(grammarAccess.getEPackageImportAccess().getEpackageKeyword_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EPackageImport__Group__1__Impl"
+
+
+ // $ANTLR start "rule__EPackageImport__Group__2"
+ // InternalApplicationConfiguration.g:502:1: rule__EPackageImport__Group__2 : rule__EPackageImport__Group__2__Impl ;
+ public final void rule__EPackageImport__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:506:1: ( rule__EPackageImport__Group__2__Impl )
+ // InternalApplicationConfiguration.g:507:2: rule__EPackageImport__Group__2__Impl
+ {
+ pushFollow(FOLLOW_2);
+ rule__EPackageImport__Group__2__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EPackageImport__Group__2"
+
+
+ // $ANTLR start "rule__EPackageImport__Group__2__Impl"
+ // InternalApplicationConfiguration.g:513:1: rule__EPackageImport__Group__2__Impl : ( ( rule__EPackageImport__ImportedPackageAssignment_2 ) ) ;
+ public final void rule__EPackageImport__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:517:1: ( ( ( rule__EPackageImport__ImportedPackageAssignment_2 ) ) )
+ // InternalApplicationConfiguration.g:518:1: ( ( rule__EPackageImport__ImportedPackageAssignment_2 ) )
+ {
+ // InternalApplicationConfiguration.g:518:1: ( ( rule__EPackageImport__ImportedPackageAssignment_2 ) )
+ // InternalApplicationConfiguration.g:519:2: ( rule__EPackageImport__ImportedPackageAssignment_2 )
+ {
+ before(grammarAccess.getEPackageImportAccess().getImportedPackageAssignment_2());
+ // InternalApplicationConfiguration.g:520:2: ( rule__EPackageImport__ImportedPackageAssignment_2 )
+ // InternalApplicationConfiguration.g:520:3: rule__EPackageImport__ImportedPackageAssignment_2
+ {
+ pushFollow(FOLLOW_2);
+ rule__EPackageImport__ImportedPackageAssignment_2();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getEPackageImportAccess().getImportedPackageAssignment_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EPackageImport__Group__2__Impl"
+
+
+ // $ANTLR start "rule__ViatraImport__Group__0"
+ // InternalApplicationConfiguration.g:529:1: rule__ViatraImport__Group__0 : rule__ViatraImport__Group__0__Impl rule__ViatraImport__Group__1 ;
+ public final void rule__ViatraImport__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:533:1: ( rule__ViatraImport__Group__0__Impl rule__ViatraImport__Group__1 )
+ // InternalApplicationConfiguration.g:534:2: rule__ViatraImport__Group__0__Impl rule__ViatraImport__Group__1
+ {
+ pushFollow(FOLLOW_8);
+ rule__ViatraImport__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__ViatraImport__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ViatraImport__Group__0"
+
+
+ // $ANTLR start "rule__ViatraImport__Group__0__Impl"
+ // InternalApplicationConfiguration.g:541:1: rule__ViatraImport__Group__0__Impl : ( 'import' ) ;
+ public final void rule__ViatraImport__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:545:1: ( ( 'import' ) )
+ // InternalApplicationConfiguration.g:546:1: ( 'import' )
+ {
+ // InternalApplicationConfiguration.g:546:1: ( 'import' )
+ // InternalApplicationConfiguration.g:547:2: 'import'
+ {
+ before(grammarAccess.getViatraImportAccess().getImportKeyword_0());
+ match(input,11,FOLLOW_2);
+ after(grammarAccess.getViatraImportAccess().getImportKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ViatraImport__Group__0__Impl"
+
+
+ // $ANTLR start "rule__ViatraImport__Group__1"
+ // InternalApplicationConfiguration.g:556:1: rule__ViatraImport__Group__1 : rule__ViatraImport__Group__1__Impl rule__ViatraImport__Group__2 ;
+ public final void rule__ViatraImport__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:560:1: ( rule__ViatraImport__Group__1__Impl rule__ViatraImport__Group__2 )
+ // InternalApplicationConfiguration.g:561:2: rule__ViatraImport__Group__1__Impl rule__ViatraImport__Group__2
+ {
+ pushFollow(FOLLOW_7);
+ rule__ViatraImport__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__ViatraImport__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ViatraImport__Group__1"
+
+
+ // $ANTLR start "rule__ViatraImport__Group__1__Impl"
+ // InternalApplicationConfiguration.g:568:1: rule__ViatraImport__Group__1__Impl : ( 'viatra' ) ;
+ public final void rule__ViatraImport__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:572:1: ( ( 'viatra' ) )
+ // InternalApplicationConfiguration.g:573:1: ( 'viatra' )
+ {
+ // InternalApplicationConfiguration.g:573:1: ( 'viatra' )
+ // InternalApplicationConfiguration.g:574:2: 'viatra'
+ {
+ before(grammarAccess.getViatraImportAccess().getViatraKeyword_1());
+ match(input,13,FOLLOW_2);
+ after(grammarAccess.getViatraImportAccess().getViatraKeyword_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ViatraImport__Group__1__Impl"
+
+
+ // $ANTLR start "rule__ViatraImport__Group__2"
+ // InternalApplicationConfiguration.g:583:1: rule__ViatraImport__Group__2 : rule__ViatraImport__Group__2__Impl ;
+ public final void rule__ViatraImport__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:587:1: ( rule__ViatraImport__Group__2__Impl )
+ // InternalApplicationConfiguration.g:588:2: rule__ViatraImport__Group__2__Impl
+ {
+ pushFollow(FOLLOW_2);
+ rule__ViatraImport__Group__2__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ViatraImport__Group__2"
+
+
+ // $ANTLR start "rule__ViatraImport__Group__2__Impl"
+ // InternalApplicationConfiguration.g:594:1: rule__ViatraImport__Group__2__Impl : ( ( rule__ViatraImport__ImportedViatraAssignment_2 ) ) ;
+ public final void rule__ViatraImport__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:598:1: ( ( ( rule__ViatraImport__ImportedViatraAssignment_2 ) ) )
+ // InternalApplicationConfiguration.g:599:1: ( ( rule__ViatraImport__ImportedViatraAssignment_2 ) )
+ {
+ // InternalApplicationConfiguration.g:599:1: ( ( rule__ViatraImport__ImportedViatraAssignment_2 ) )
+ // InternalApplicationConfiguration.g:600:2: ( rule__ViatraImport__ImportedViatraAssignment_2 )
+ {
+ before(grammarAccess.getViatraImportAccess().getImportedViatraAssignment_2());
+ // InternalApplicationConfiguration.g:601:2: ( rule__ViatraImport__ImportedViatraAssignment_2 )
+ // InternalApplicationConfiguration.g:601:3: rule__ViatraImport__ImportedViatraAssignment_2
+ {
+ pushFollow(FOLLOW_2);
+ rule__ViatraImport__ImportedViatraAssignment_2();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getViatraImportAccess().getImportedViatraAssignment_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ViatraImport__Group__2__Impl"
+
+
+ // $ANTLR start "rule__MetamodelSpecification__Group__0"
+ // InternalApplicationConfiguration.g:610:1: rule__MetamodelSpecification__Group__0 : rule__MetamodelSpecification__Group__0__Impl rule__MetamodelSpecification__Group__1 ;
+ public final void rule__MetamodelSpecification__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:614:1: ( rule__MetamodelSpecification__Group__0__Impl rule__MetamodelSpecification__Group__1 )
+ // InternalApplicationConfiguration.g:615:2: rule__MetamodelSpecification__Group__0__Impl rule__MetamodelSpecification__Group__1
+ {
+ pushFollow(FOLLOW_9);
+ rule__MetamodelSpecification__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__MetamodelSpecification__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelSpecification__Group__0"
+
+
+ // $ANTLR start "rule__MetamodelSpecification__Group__0__Impl"
+ // InternalApplicationConfiguration.g:622:1: rule__MetamodelSpecification__Group__0__Impl : ( '{' ) ;
+ public final void rule__MetamodelSpecification__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:626:1: ( ( '{' ) )
+ // InternalApplicationConfiguration.g:627:1: ( '{' )
+ {
+ // InternalApplicationConfiguration.g:627:1: ( '{' )
+ // InternalApplicationConfiguration.g:628:2: '{'
+ {
+ before(grammarAccess.getMetamodelSpecificationAccess().getLeftCurlyBracketKeyword_0());
+ match(input,14,FOLLOW_2);
+ after(grammarAccess.getMetamodelSpecificationAccess().getLeftCurlyBracketKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelSpecification__Group__0__Impl"
+
+
+ // $ANTLR start "rule__MetamodelSpecification__Group__1"
+ // InternalApplicationConfiguration.g:637:1: rule__MetamodelSpecification__Group__1 : rule__MetamodelSpecification__Group__1__Impl rule__MetamodelSpecification__Group__2 ;
+ public final void rule__MetamodelSpecification__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:641:1: ( rule__MetamodelSpecification__Group__1__Impl rule__MetamodelSpecification__Group__2 )
+ // InternalApplicationConfiguration.g:642:2: rule__MetamodelSpecification__Group__1__Impl rule__MetamodelSpecification__Group__2
+ {
+ pushFollow(FOLLOW_10);
+ rule__MetamodelSpecification__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__MetamodelSpecification__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelSpecification__Group__1"
+
+
+ // $ANTLR start "rule__MetamodelSpecification__Group__1__Impl"
+ // InternalApplicationConfiguration.g:649:1: rule__MetamodelSpecification__Group__1__Impl : ( ( rule__MetamodelSpecification__EntriesAssignment_1 ) ) ;
+ public final void rule__MetamodelSpecification__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:653:1: ( ( ( rule__MetamodelSpecification__EntriesAssignment_1 ) ) )
+ // InternalApplicationConfiguration.g:654:1: ( ( rule__MetamodelSpecification__EntriesAssignment_1 ) )
+ {
+ // InternalApplicationConfiguration.g:654:1: ( ( rule__MetamodelSpecification__EntriesAssignment_1 ) )
+ // InternalApplicationConfiguration.g:655:2: ( rule__MetamodelSpecification__EntriesAssignment_1 )
+ {
+ before(grammarAccess.getMetamodelSpecificationAccess().getEntriesAssignment_1());
+ // InternalApplicationConfiguration.g:656:2: ( rule__MetamodelSpecification__EntriesAssignment_1 )
+ // InternalApplicationConfiguration.g:656:3: rule__MetamodelSpecification__EntriesAssignment_1
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelSpecification__EntriesAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMetamodelSpecificationAccess().getEntriesAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelSpecification__Group__1__Impl"
+
+
+ // $ANTLR start "rule__MetamodelSpecification__Group__2"
+ // InternalApplicationConfiguration.g:664:1: rule__MetamodelSpecification__Group__2 : rule__MetamodelSpecification__Group__2__Impl rule__MetamodelSpecification__Group__3 ;
+ public final void rule__MetamodelSpecification__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:668:1: ( rule__MetamodelSpecification__Group__2__Impl rule__MetamodelSpecification__Group__3 )
+ // InternalApplicationConfiguration.g:669:2: rule__MetamodelSpecification__Group__2__Impl rule__MetamodelSpecification__Group__3
+ {
+ pushFollow(FOLLOW_10);
+ rule__MetamodelSpecification__Group__2__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__MetamodelSpecification__Group__3();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelSpecification__Group__2"
+
+
+ // $ANTLR start "rule__MetamodelSpecification__Group__2__Impl"
+ // InternalApplicationConfiguration.g:676:1: rule__MetamodelSpecification__Group__2__Impl : ( ( rule__MetamodelSpecification__Group_2__0 )* ) ;
+ public final void rule__MetamodelSpecification__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:680:1: ( ( ( rule__MetamodelSpecification__Group_2__0 )* ) )
+ // InternalApplicationConfiguration.g:681:1: ( ( rule__MetamodelSpecification__Group_2__0 )* )
+ {
+ // InternalApplicationConfiguration.g:681:1: ( ( rule__MetamodelSpecification__Group_2__0 )* )
+ // InternalApplicationConfiguration.g:682:2: ( rule__MetamodelSpecification__Group_2__0 )*
+ {
+ before(grammarAccess.getMetamodelSpecificationAccess().getGroup_2());
+ // InternalApplicationConfiguration.g:683:2: ( rule__MetamodelSpecification__Group_2__0 )*
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==16) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // InternalApplicationConfiguration.g:683:3: rule__MetamodelSpecification__Group_2__0
+ {
+ pushFollow(FOLLOW_11);
+ rule__MetamodelSpecification__Group_2__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+ after(grammarAccess.getMetamodelSpecificationAccess().getGroup_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelSpecification__Group__2__Impl"
+
+
+ // $ANTLR start "rule__MetamodelSpecification__Group__3"
+ // InternalApplicationConfiguration.g:691:1: rule__MetamodelSpecification__Group__3 : rule__MetamodelSpecification__Group__3__Impl ;
+ public final void rule__MetamodelSpecification__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:695:1: ( rule__MetamodelSpecification__Group__3__Impl )
+ // InternalApplicationConfiguration.g:696:2: rule__MetamodelSpecification__Group__3__Impl
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelSpecification__Group__3__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelSpecification__Group__3"
+
+
+ // $ANTLR start "rule__MetamodelSpecification__Group__3__Impl"
+ // InternalApplicationConfiguration.g:702:1: rule__MetamodelSpecification__Group__3__Impl : ( '}' ) ;
+ public final void rule__MetamodelSpecification__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:706:1: ( ( '}' ) )
+ // InternalApplicationConfiguration.g:707:1: ( '}' )
+ {
+ // InternalApplicationConfiguration.g:707:1: ( '}' )
+ // InternalApplicationConfiguration.g:708:2: '}'
+ {
+ before(grammarAccess.getMetamodelSpecificationAccess().getRightCurlyBracketKeyword_3());
+ match(input,15,FOLLOW_2);
+ after(grammarAccess.getMetamodelSpecificationAccess().getRightCurlyBracketKeyword_3());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelSpecification__Group__3__Impl"
+
+
+ // $ANTLR start "rule__MetamodelSpecification__Group_2__0"
+ // InternalApplicationConfiguration.g:718:1: rule__MetamodelSpecification__Group_2__0 : rule__MetamodelSpecification__Group_2__0__Impl rule__MetamodelSpecification__Group_2__1 ;
+ public final void rule__MetamodelSpecification__Group_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:722:1: ( rule__MetamodelSpecification__Group_2__0__Impl rule__MetamodelSpecification__Group_2__1 )
+ // InternalApplicationConfiguration.g:723:2: rule__MetamodelSpecification__Group_2__0__Impl rule__MetamodelSpecification__Group_2__1
+ {
+ pushFollow(FOLLOW_9);
+ rule__MetamodelSpecification__Group_2__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__MetamodelSpecification__Group_2__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelSpecification__Group_2__0"
+
+
+ // $ANTLR start "rule__MetamodelSpecification__Group_2__0__Impl"
+ // InternalApplicationConfiguration.g:730:1: rule__MetamodelSpecification__Group_2__0__Impl : ( ',' ) ;
+ public final void rule__MetamodelSpecification__Group_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:734:1: ( ( ',' ) )
+ // InternalApplicationConfiguration.g:735:1: ( ',' )
+ {
+ // InternalApplicationConfiguration.g:735:1: ( ',' )
+ // InternalApplicationConfiguration.g:736:2: ','
+ {
+ before(grammarAccess.getMetamodelSpecificationAccess().getCommaKeyword_2_0());
+ match(input,16,FOLLOW_2);
+ after(grammarAccess.getMetamodelSpecificationAccess().getCommaKeyword_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelSpecification__Group_2__0__Impl"
+
+
+ // $ANTLR start "rule__MetamodelSpecification__Group_2__1"
+ // InternalApplicationConfiguration.g:745:1: rule__MetamodelSpecification__Group_2__1 : rule__MetamodelSpecification__Group_2__1__Impl ;
+ public final void rule__MetamodelSpecification__Group_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:749:1: ( rule__MetamodelSpecification__Group_2__1__Impl )
+ // InternalApplicationConfiguration.g:750:2: rule__MetamodelSpecification__Group_2__1__Impl
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelSpecification__Group_2__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelSpecification__Group_2__1"
+
+
+ // $ANTLR start "rule__MetamodelSpecification__Group_2__1__Impl"
+ // InternalApplicationConfiguration.g:756:1: rule__MetamodelSpecification__Group_2__1__Impl : ( ( rule__MetamodelSpecification__EntriesAssignment_2_1 ) ) ;
+ public final void rule__MetamodelSpecification__Group_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:760:1: ( ( ( rule__MetamodelSpecification__EntriesAssignment_2_1 ) ) )
+ // InternalApplicationConfiguration.g:761:1: ( ( rule__MetamodelSpecification__EntriesAssignment_2_1 ) )
+ {
+ // InternalApplicationConfiguration.g:761:1: ( ( rule__MetamodelSpecification__EntriesAssignment_2_1 ) )
+ // InternalApplicationConfiguration.g:762:2: ( rule__MetamodelSpecification__EntriesAssignment_2_1 )
+ {
+ before(grammarAccess.getMetamodelSpecificationAccess().getEntriesAssignment_2_1());
+ // InternalApplicationConfiguration.g:763:2: ( rule__MetamodelSpecification__EntriesAssignment_2_1 )
+ // InternalApplicationConfiguration.g:763:3: rule__MetamodelSpecification__EntriesAssignment_2_1
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelSpecification__EntriesAssignment_2_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMetamodelSpecificationAccess().getEntriesAssignment_2_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelSpecification__Group_2__1__Impl"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group__0"
+ // InternalApplicationConfiguration.g:772:1: rule__AllPackageEntry__Group__0 : rule__AllPackageEntry__Group__0__Impl rule__AllPackageEntry__Group__1 ;
+ public final void rule__AllPackageEntry__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:776:1: ( rule__AllPackageEntry__Group__0__Impl rule__AllPackageEntry__Group__1 )
+ // InternalApplicationConfiguration.g:777:2: rule__AllPackageEntry__Group__0__Impl rule__AllPackageEntry__Group__1
+ {
+ pushFollow(FOLLOW_12);
+ rule__AllPackageEntry__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__AllPackageEntry__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group__0"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group__0__Impl"
+ // InternalApplicationConfiguration.g:784:1: rule__AllPackageEntry__Group__0__Impl : ( 'package' ) ;
+ public final void rule__AllPackageEntry__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:788:1: ( ( 'package' ) )
+ // InternalApplicationConfiguration.g:789:1: ( 'package' )
+ {
+ // InternalApplicationConfiguration.g:789:1: ( 'package' )
+ // InternalApplicationConfiguration.g:790:2: 'package'
+ {
+ before(grammarAccess.getAllPackageEntryAccess().getPackageKeyword_0());
+ match(input,17,FOLLOW_2);
+ after(grammarAccess.getAllPackageEntryAccess().getPackageKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group__0__Impl"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group__1"
+ // InternalApplicationConfiguration.g:799:1: rule__AllPackageEntry__Group__1 : rule__AllPackageEntry__Group__1__Impl rule__AllPackageEntry__Group__2 ;
+ public final void rule__AllPackageEntry__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:803:1: ( rule__AllPackageEntry__Group__1__Impl rule__AllPackageEntry__Group__2 )
+ // InternalApplicationConfiguration.g:804:2: rule__AllPackageEntry__Group__1__Impl rule__AllPackageEntry__Group__2
+ {
+ pushFollow(FOLLOW_13);
+ rule__AllPackageEntry__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__AllPackageEntry__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group__1"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group__1__Impl"
+ // InternalApplicationConfiguration.g:811:1: rule__AllPackageEntry__Group__1__Impl : ( ( rule__AllPackageEntry__PackageAssignment_1 ) ) ;
+ public final void rule__AllPackageEntry__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:815:1: ( ( ( rule__AllPackageEntry__PackageAssignment_1 ) ) )
+ // InternalApplicationConfiguration.g:816:1: ( ( rule__AllPackageEntry__PackageAssignment_1 ) )
+ {
+ // InternalApplicationConfiguration.g:816:1: ( ( rule__AllPackageEntry__PackageAssignment_1 ) )
+ // InternalApplicationConfiguration.g:817:2: ( rule__AllPackageEntry__PackageAssignment_1 )
+ {
+ before(grammarAccess.getAllPackageEntryAccess().getPackageAssignment_1());
+ // InternalApplicationConfiguration.g:818:2: ( rule__AllPackageEntry__PackageAssignment_1 )
+ // InternalApplicationConfiguration.g:818:3: rule__AllPackageEntry__PackageAssignment_1
+ {
+ pushFollow(FOLLOW_2);
+ rule__AllPackageEntry__PackageAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getAllPackageEntryAccess().getPackageAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group__1__Impl"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group__2"
+ // InternalApplicationConfiguration.g:826:1: rule__AllPackageEntry__Group__2 : rule__AllPackageEntry__Group__2__Impl ;
+ public final void rule__AllPackageEntry__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:830:1: ( rule__AllPackageEntry__Group__2__Impl )
+ // InternalApplicationConfiguration.g:831:2: rule__AllPackageEntry__Group__2__Impl
+ {
+ pushFollow(FOLLOW_2);
+ rule__AllPackageEntry__Group__2__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group__2"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group__2__Impl"
+ // InternalApplicationConfiguration.g:837:1: rule__AllPackageEntry__Group__2__Impl : ( ( rule__AllPackageEntry__Group_2__0 )? ) ;
+ public final void rule__AllPackageEntry__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:841:1: ( ( ( rule__AllPackageEntry__Group_2__0 )? ) )
+ // InternalApplicationConfiguration.g:842:1: ( ( rule__AllPackageEntry__Group_2__0 )? )
+ {
+ // InternalApplicationConfiguration.g:842:1: ( ( rule__AllPackageEntry__Group_2__0 )? )
+ // InternalApplicationConfiguration.g:843:2: ( rule__AllPackageEntry__Group_2__0 )?
+ {
+ before(grammarAccess.getAllPackageEntryAccess().getGroup_2());
+ // InternalApplicationConfiguration.g:844:2: ( rule__AllPackageEntry__Group_2__0 )?
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==18) ) {
+ alt6=1;
+ }
+ switch (alt6) {
+ case 1 :
+ // InternalApplicationConfiguration.g:844:3: rule__AllPackageEntry__Group_2__0
+ {
+ pushFollow(FOLLOW_2);
+ rule__AllPackageEntry__Group_2__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getAllPackageEntryAccess().getGroup_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group__2__Impl"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group_2__0"
+ // InternalApplicationConfiguration.g:853:1: rule__AllPackageEntry__Group_2__0 : rule__AllPackageEntry__Group_2__0__Impl rule__AllPackageEntry__Group_2__1 ;
+ public final void rule__AllPackageEntry__Group_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:857:1: ( rule__AllPackageEntry__Group_2__0__Impl rule__AllPackageEntry__Group_2__1 )
+ // InternalApplicationConfiguration.g:858:2: rule__AllPackageEntry__Group_2__0__Impl rule__AllPackageEntry__Group_2__1
+ {
+ pushFollow(FOLLOW_14);
+ rule__AllPackageEntry__Group_2__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__AllPackageEntry__Group_2__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group_2__0"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group_2__0__Impl"
+ // InternalApplicationConfiguration.g:865:1: rule__AllPackageEntry__Group_2__0__Impl : ( 'excluding' ) ;
+ public final void rule__AllPackageEntry__Group_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:869:1: ( ( 'excluding' ) )
+ // InternalApplicationConfiguration.g:870:1: ( 'excluding' )
+ {
+ // InternalApplicationConfiguration.g:870:1: ( 'excluding' )
+ // InternalApplicationConfiguration.g:871:2: 'excluding'
+ {
+ before(grammarAccess.getAllPackageEntryAccess().getExcludingKeyword_2_0());
+ match(input,18,FOLLOW_2);
+ after(grammarAccess.getAllPackageEntryAccess().getExcludingKeyword_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group_2__0__Impl"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group_2__1"
+ // InternalApplicationConfiguration.g:880:1: rule__AllPackageEntry__Group_2__1 : rule__AllPackageEntry__Group_2__1__Impl rule__AllPackageEntry__Group_2__2 ;
+ public final void rule__AllPackageEntry__Group_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:884:1: ( rule__AllPackageEntry__Group_2__1__Impl rule__AllPackageEntry__Group_2__2 )
+ // InternalApplicationConfiguration.g:885:2: rule__AllPackageEntry__Group_2__1__Impl rule__AllPackageEntry__Group_2__2
+ {
+ pushFollow(FOLLOW_12);
+ rule__AllPackageEntry__Group_2__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__AllPackageEntry__Group_2__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group_2__1"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group_2__1__Impl"
+ // InternalApplicationConfiguration.g:892:1: rule__AllPackageEntry__Group_2__1__Impl : ( '{' ) ;
+ public final void rule__AllPackageEntry__Group_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:896:1: ( ( '{' ) )
+ // InternalApplicationConfiguration.g:897:1: ( '{' )
+ {
+ // InternalApplicationConfiguration.g:897:1: ( '{' )
+ // InternalApplicationConfiguration.g:898:2: '{'
+ {
+ before(grammarAccess.getAllPackageEntryAccess().getLeftCurlyBracketKeyword_2_1());
+ match(input,14,FOLLOW_2);
+ after(grammarAccess.getAllPackageEntryAccess().getLeftCurlyBracketKeyword_2_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group_2__1__Impl"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group_2__2"
+ // InternalApplicationConfiguration.g:907:1: rule__AllPackageEntry__Group_2__2 : rule__AllPackageEntry__Group_2__2__Impl rule__AllPackageEntry__Group_2__3 ;
+ public final void rule__AllPackageEntry__Group_2__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:911:1: ( rule__AllPackageEntry__Group_2__2__Impl rule__AllPackageEntry__Group_2__3 )
+ // InternalApplicationConfiguration.g:912:2: rule__AllPackageEntry__Group_2__2__Impl rule__AllPackageEntry__Group_2__3
+ {
+ pushFollow(FOLLOW_10);
+ rule__AllPackageEntry__Group_2__2__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__AllPackageEntry__Group_2__3();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group_2__2"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group_2__2__Impl"
+ // InternalApplicationConfiguration.g:919:1: rule__AllPackageEntry__Group_2__2__Impl : ( ( rule__AllPackageEntry__ExclusionAssignment_2_2 ) ) ;
+ public final void rule__AllPackageEntry__Group_2__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:923:1: ( ( ( rule__AllPackageEntry__ExclusionAssignment_2_2 ) ) )
+ // InternalApplicationConfiguration.g:924:1: ( ( rule__AllPackageEntry__ExclusionAssignment_2_2 ) )
+ {
+ // InternalApplicationConfiguration.g:924:1: ( ( rule__AllPackageEntry__ExclusionAssignment_2_2 ) )
+ // InternalApplicationConfiguration.g:925:2: ( rule__AllPackageEntry__ExclusionAssignment_2_2 )
+ {
+ before(grammarAccess.getAllPackageEntryAccess().getExclusionAssignment_2_2());
+ // InternalApplicationConfiguration.g:926:2: ( rule__AllPackageEntry__ExclusionAssignment_2_2 )
+ // InternalApplicationConfiguration.g:926:3: rule__AllPackageEntry__ExclusionAssignment_2_2
+ {
+ pushFollow(FOLLOW_2);
+ rule__AllPackageEntry__ExclusionAssignment_2_2();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getAllPackageEntryAccess().getExclusionAssignment_2_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group_2__2__Impl"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group_2__3"
+ // InternalApplicationConfiguration.g:934:1: rule__AllPackageEntry__Group_2__3 : rule__AllPackageEntry__Group_2__3__Impl rule__AllPackageEntry__Group_2__4 ;
+ public final void rule__AllPackageEntry__Group_2__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:938:1: ( rule__AllPackageEntry__Group_2__3__Impl rule__AllPackageEntry__Group_2__4 )
+ // InternalApplicationConfiguration.g:939:2: rule__AllPackageEntry__Group_2__3__Impl rule__AllPackageEntry__Group_2__4
+ {
+ pushFollow(FOLLOW_10);
+ rule__AllPackageEntry__Group_2__3__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__AllPackageEntry__Group_2__4();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group_2__3"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group_2__3__Impl"
+ // InternalApplicationConfiguration.g:946:1: rule__AllPackageEntry__Group_2__3__Impl : ( ( rule__AllPackageEntry__Group_2_3__0 )* ) ;
+ public final void rule__AllPackageEntry__Group_2__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:950:1: ( ( ( rule__AllPackageEntry__Group_2_3__0 )* ) )
+ // InternalApplicationConfiguration.g:951:1: ( ( rule__AllPackageEntry__Group_2_3__0 )* )
+ {
+ // InternalApplicationConfiguration.g:951:1: ( ( rule__AllPackageEntry__Group_2_3__0 )* )
+ // InternalApplicationConfiguration.g:952:2: ( rule__AllPackageEntry__Group_2_3__0 )*
+ {
+ before(grammarAccess.getAllPackageEntryAccess().getGroup_2_3());
+ // InternalApplicationConfiguration.g:953:2: ( rule__AllPackageEntry__Group_2_3__0 )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0==16) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // InternalApplicationConfiguration.g:953:3: rule__AllPackageEntry__Group_2_3__0
+ {
+ pushFollow(FOLLOW_11);
+ rule__AllPackageEntry__Group_2_3__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ after(grammarAccess.getAllPackageEntryAccess().getGroup_2_3());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group_2__3__Impl"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group_2__4"
+ // InternalApplicationConfiguration.g:961:1: rule__AllPackageEntry__Group_2__4 : rule__AllPackageEntry__Group_2__4__Impl ;
+ public final void rule__AllPackageEntry__Group_2__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:965:1: ( rule__AllPackageEntry__Group_2__4__Impl )
+ // InternalApplicationConfiguration.g:966:2: rule__AllPackageEntry__Group_2__4__Impl
+ {
+ pushFollow(FOLLOW_2);
+ rule__AllPackageEntry__Group_2__4__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group_2__4"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group_2__4__Impl"
+ // InternalApplicationConfiguration.g:972:1: rule__AllPackageEntry__Group_2__4__Impl : ( '}' ) ;
+ public final void rule__AllPackageEntry__Group_2__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:976:1: ( ( '}' ) )
+ // InternalApplicationConfiguration.g:977:1: ( '}' )
+ {
+ // InternalApplicationConfiguration.g:977:1: ( '}' )
+ // InternalApplicationConfiguration.g:978:2: '}'
+ {
+ before(grammarAccess.getAllPackageEntryAccess().getRightCurlyBracketKeyword_2_4());
+ match(input,15,FOLLOW_2);
+ after(grammarAccess.getAllPackageEntryAccess().getRightCurlyBracketKeyword_2_4());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group_2__4__Impl"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group_2_3__0"
+ // InternalApplicationConfiguration.g:988:1: rule__AllPackageEntry__Group_2_3__0 : rule__AllPackageEntry__Group_2_3__0__Impl rule__AllPackageEntry__Group_2_3__1 ;
+ public final void rule__AllPackageEntry__Group_2_3__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:992:1: ( rule__AllPackageEntry__Group_2_3__0__Impl rule__AllPackageEntry__Group_2_3__1 )
+ // InternalApplicationConfiguration.g:993:2: rule__AllPackageEntry__Group_2_3__0__Impl rule__AllPackageEntry__Group_2_3__1
+ {
+ pushFollow(FOLLOW_12);
+ rule__AllPackageEntry__Group_2_3__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__AllPackageEntry__Group_2_3__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group_2_3__0"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group_2_3__0__Impl"
+ // InternalApplicationConfiguration.g:1000:1: rule__AllPackageEntry__Group_2_3__0__Impl : ( ',' ) ;
+ public final void rule__AllPackageEntry__Group_2_3__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1004:1: ( ( ',' ) )
+ // InternalApplicationConfiguration.g:1005:1: ( ',' )
+ {
+ // InternalApplicationConfiguration.g:1005:1: ( ',' )
+ // InternalApplicationConfiguration.g:1006:2: ','
+ {
+ before(grammarAccess.getAllPackageEntryAccess().getCommaKeyword_2_3_0());
+ match(input,16,FOLLOW_2);
+ after(grammarAccess.getAllPackageEntryAccess().getCommaKeyword_2_3_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group_2_3__0__Impl"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group_2_3__1"
+ // InternalApplicationConfiguration.g:1015:1: rule__AllPackageEntry__Group_2_3__1 : rule__AllPackageEntry__Group_2_3__1__Impl ;
+ public final void rule__AllPackageEntry__Group_2_3__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1019:1: ( rule__AllPackageEntry__Group_2_3__1__Impl )
+ // InternalApplicationConfiguration.g:1020:2: rule__AllPackageEntry__Group_2_3__1__Impl
+ {
+ pushFollow(FOLLOW_2);
+ rule__AllPackageEntry__Group_2_3__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group_2_3__1"
+
+
+ // $ANTLR start "rule__AllPackageEntry__Group_2_3__1__Impl"
+ // InternalApplicationConfiguration.g:1026:1: rule__AllPackageEntry__Group_2_3__1__Impl : ( ( rule__AllPackageEntry__ExclusionAssignment_2_3_1 ) ) ;
+ public final void rule__AllPackageEntry__Group_2_3__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1030:1: ( ( ( rule__AllPackageEntry__ExclusionAssignment_2_3_1 ) ) )
+ // InternalApplicationConfiguration.g:1031:1: ( ( rule__AllPackageEntry__ExclusionAssignment_2_3_1 ) )
+ {
+ // InternalApplicationConfiguration.g:1031:1: ( ( rule__AllPackageEntry__ExclusionAssignment_2_3_1 ) )
+ // InternalApplicationConfiguration.g:1032:2: ( rule__AllPackageEntry__ExclusionAssignment_2_3_1 )
+ {
+ before(grammarAccess.getAllPackageEntryAccess().getExclusionAssignment_2_3_1());
+ // InternalApplicationConfiguration.g:1033:2: ( rule__AllPackageEntry__ExclusionAssignment_2_3_1 )
+ // InternalApplicationConfiguration.g:1033:3: rule__AllPackageEntry__ExclusionAssignment_2_3_1
+ {
+ pushFollow(FOLLOW_2);
+ rule__AllPackageEntry__ExclusionAssignment_2_3_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getAllPackageEntryAccess().getExclusionAssignment_2_3_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__Group_2_3__1__Impl"
+
+
+ // $ANTLR start "rule__MetamodelElement__Group__0"
+ // InternalApplicationConfiguration.g:1042:1: rule__MetamodelElement__Group__0 : rule__MetamodelElement__Group__0__Impl rule__MetamodelElement__Group__1 ;
+ public final void rule__MetamodelElement__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1046:1: ( rule__MetamodelElement__Group__0__Impl rule__MetamodelElement__Group__1 )
+ // InternalApplicationConfiguration.g:1047:2: rule__MetamodelElement__Group__0__Impl rule__MetamodelElement__Group__1
+ {
+ pushFollow(FOLLOW_12);
+ rule__MetamodelElement__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__MetamodelElement__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__Group__0"
+
+
+ // $ANTLR start "rule__MetamodelElement__Group__0__Impl"
+ // InternalApplicationConfiguration.g:1054:1: rule__MetamodelElement__Group__0__Impl : ( ( rule__MetamodelElement__Group_0__0 )? ) ;
+ public final void rule__MetamodelElement__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1058:1: ( ( ( rule__MetamodelElement__Group_0__0 )? ) )
+ // InternalApplicationConfiguration.g:1059:1: ( ( rule__MetamodelElement__Group_0__0 )? )
+ {
+ // InternalApplicationConfiguration.g:1059:1: ( ( rule__MetamodelElement__Group_0__0 )? )
+ // InternalApplicationConfiguration.g:1060:2: ( rule__MetamodelElement__Group_0__0 )?
+ {
+ before(grammarAccess.getMetamodelElementAccess().getGroup_0());
+ // InternalApplicationConfiguration.g:1061:2: ( rule__MetamodelElement__Group_0__0 )?
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0==RULE_ID) ) {
+ int LA8_1 = input.LA(2);
+
+ if ( (LA8_1==19) ) {
+ alt8=1;
+ }
+ }
+ switch (alt8) {
+ case 1 :
+ // InternalApplicationConfiguration.g:1061:3: rule__MetamodelElement__Group_0__0
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelElement__Group_0__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getMetamodelElementAccess().getGroup_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__Group__0__Impl"
+
+
+ // $ANTLR start "rule__MetamodelElement__Group__1"
+ // InternalApplicationConfiguration.g:1069:1: rule__MetamodelElement__Group__1 : rule__MetamodelElement__Group__1__Impl rule__MetamodelElement__Group__2 ;
+ public final void rule__MetamodelElement__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1073:1: ( rule__MetamodelElement__Group__1__Impl rule__MetamodelElement__Group__2 )
+ // InternalApplicationConfiguration.g:1074:2: rule__MetamodelElement__Group__1__Impl rule__MetamodelElement__Group__2
+ {
+ pushFollow(FOLLOW_15);
+ rule__MetamodelElement__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__MetamodelElement__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__Group__1"
+
+
+ // $ANTLR start "rule__MetamodelElement__Group__1__Impl"
+ // InternalApplicationConfiguration.g:1081:1: rule__MetamodelElement__Group__1__Impl : ( ( rule__MetamodelElement__ClassifierAssignment_1 ) ) ;
+ public final void rule__MetamodelElement__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1085:1: ( ( ( rule__MetamodelElement__ClassifierAssignment_1 ) ) )
+ // InternalApplicationConfiguration.g:1086:1: ( ( rule__MetamodelElement__ClassifierAssignment_1 ) )
+ {
+ // InternalApplicationConfiguration.g:1086:1: ( ( rule__MetamodelElement__ClassifierAssignment_1 ) )
+ // InternalApplicationConfiguration.g:1087:2: ( rule__MetamodelElement__ClassifierAssignment_1 )
+ {
+ before(grammarAccess.getMetamodelElementAccess().getClassifierAssignment_1());
+ // InternalApplicationConfiguration.g:1088:2: ( rule__MetamodelElement__ClassifierAssignment_1 )
+ // InternalApplicationConfiguration.g:1088:3: rule__MetamodelElement__ClassifierAssignment_1
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelElement__ClassifierAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMetamodelElementAccess().getClassifierAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__Group__1__Impl"
+
+
+ // $ANTLR start "rule__MetamodelElement__Group__2"
+ // InternalApplicationConfiguration.g:1096:1: rule__MetamodelElement__Group__2 : rule__MetamodelElement__Group__2__Impl ;
+ public final void rule__MetamodelElement__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1100:1: ( rule__MetamodelElement__Group__2__Impl )
+ // InternalApplicationConfiguration.g:1101:2: rule__MetamodelElement__Group__2__Impl
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelElement__Group__2__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__Group__2"
+
+
+ // $ANTLR start "rule__MetamodelElement__Group__2__Impl"
+ // InternalApplicationConfiguration.g:1107:1: rule__MetamodelElement__Group__2__Impl : ( ( rule__MetamodelElement__Group_2__0 )? ) ;
+ public final void rule__MetamodelElement__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1111:1: ( ( ( rule__MetamodelElement__Group_2__0 )? ) )
+ // InternalApplicationConfiguration.g:1112:1: ( ( rule__MetamodelElement__Group_2__0 )? )
+ {
+ // InternalApplicationConfiguration.g:1112:1: ( ( rule__MetamodelElement__Group_2__0 )? )
+ // InternalApplicationConfiguration.g:1113:2: ( rule__MetamodelElement__Group_2__0 )?
+ {
+ before(grammarAccess.getMetamodelElementAccess().getGroup_2());
+ // InternalApplicationConfiguration.g:1114:2: ( rule__MetamodelElement__Group_2__0 )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0==20) ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // InternalApplicationConfiguration.g:1114:3: rule__MetamodelElement__Group_2__0
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelElement__Group_2__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getMetamodelElementAccess().getGroup_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__Group__2__Impl"
+
+
+ // $ANTLR start "rule__MetamodelElement__Group_0__0"
+ // InternalApplicationConfiguration.g:1123:1: rule__MetamodelElement__Group_0__0 : rule__MetamodelElement__Group_0__0__Impl rule__MetamodelElement__Group_0__1 ;
+ public final void rule__MetamodelElement__Group_0__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1127:1: ( rule__MetamodelElement__Group_0__0__Impl rule__MetamodelElement__Group_0__1 )
+ // InternalApplicationConfiguration.g:1128:2: rule__MetamodelElement__Group_0__0__Impl rule__MetamodelElement__Group_0__1
+ {
+ pushFollow(FOLLOW_16);
+ rule__MetamodelElement__Group_0__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__MetamodelElement__Group_0__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__Group_0__0"
+
+
+ // $ANTLR start "rule__MetamodelElement__Group_0__0__Impl"
+ // InternalApplicationConfiguration.g:1135:1: rule__MetamodelElement__Group_0__0__Impl : ( ( rule__MetamodelElement__PackageAssignment_0_0 ) ) ;
+ public final void rule__MetamodelElement__Group_0__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1139:1: ( ( ( rule__MetamodelElement__PackageAssignment_0_0 ) ) )
+ // InternalApplicationConfiguration.g:1140:1: ( ( rule__MetamodelElement__PackageAssignment_0_0 ) )
+ {
+ // InternalApplicationConfiguration.g:1140:1: ( ( rule__MetamodelElement__PackageAssignment_0_0 ) )
+ // InternalApplicationConfiguration.g:1141:2: ( rule__MetamodelElement__PackageAssignment_0_0 )
+ {
+ before(grammarAccess.getMetamodelElementAccess().getPackageAssignment_0_0());
+ // InternalApplicationConfiguration.g:1142:2: ( rule__MetamodelElement__PackageAssignment_0_0 )
+ // InternalApplicationConfiguration.g:1142:3: rule__MetamodelElement__PackageAssignment_0_0
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelElement__PackageAssignment_0_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMetamodelElementAccess().getPackageAssignment_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__Group_0__0__Impl"
+
+
+ // $ANTLR start "rule__MetamodelElement__Group_0__1"
+ // InternalApplicationConfiguration.g:1150:1: rule__MetamodelElement__Group_0__1 : rule__MetamodelElement__Group_0__1__Impl ;
+ public final void rule__MetamodelElement__Group_0__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1154:1: ( rule__MetamodelElement__Group_0__1__Impl )
+ // InternalApplicationConfiguration.g:1155:2: rule__MetamodelElement__Group_0__1__Impl
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelElement__Group_0__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__Group_0__1"
+
+
+ // $ANTLR start "rule__MetamodelElement__Group_0__1__Impl"
+ // InternalApplicationConfiguration.g:1161:1: rule__MetamodelElement__Group_0__1__Impl : ( '::' ) ;
+ public final void rule__MetamodelElement__Group_0__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1165:1: ( ( '::' ) )
+ // InternalApplicationConfiguration.g:1166:1: ( '::' )
+ {
+ // InternalApplicationConfiguration.g:1166:1: ( '::' )
+ // InternalApplicationConfiguration.g:1167:2: '::'
+ {
+ before(grammarAccess.getMetamodelElementAccess().getColonColonKeyword_0_1());
+ match(input,19,FOLLOW_2);
+ after(grammarAccess.getMetamodelElementAccess().getColonColonKeyword_0_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__Group_0__1__Impl"
+
+
+ // $ANTLR start "rule__MetamodelElement__Group_2__0"
+ // InternalApplicationConfiguration.g:1177:1: rule__MetamodelElement__Group_2__0 : rule__MetamodelElement__Group_2__0__Impl rule__MetamodelElement__Group_2__1 ;
+ public final void rule__MetamodelElement__Group_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1181:1: ( rule__MetamodelElement__Group_2__0__Impl rule__MetamodelElement__Group_2__1 )
+ // InternalApplicationConfiguration.g:1182:2: rule__MetamodelElement__Group_2__0__Impl rule__MetamodelElement__Group_2__1
+ {
+ pushFollow(FOLLOW_12);
+ rule__MetamodelElement__Group_2__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__MetamodelElement__Group_2__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__Group_2__0"
+
+
+ // $ANTLR start "rule__MetamodelElement__Group_2__0__Impl"
+ // InternalApplicationConfiguration.g:1189:1: rule__MetamodelElement__Group_2__0__Impl : ( '.' ) ;
+ public final void rule__MetamodelElement__Group_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1193:1: ( ( '.' ) )
+ // InternalApplicationConfiguration.g:1194:1: ( '.' )
+ {
+ // InternalApplicationConfiguration.g:1194:1: ( '.' )
+ // InternalApplicationConfiguration.g:1195:2: '.'
+ {
+ before(grammarAccess.getMetamodelElementAccess().getFullStopKeyword_2_0());
+ match(input,20,FOLLOW_2);
+ after(grammarAccess.getMetamodelElementAccess().getFullStopKeyword_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__Group_2__0__Impl"
+
+
+ // $ANTLR start "rule__MetamodelElement__Group_2__1"
+ // InternalApplicationConfiguration.g:1204:1: rule__MetamodelElement__Group_2__1 : rule__MetamodelElement__Group_2__1__Impl ;
+ public final void rule__MetamodelElement__Group_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1208:1: ( rule__MetamodelElement__Group_2__1__Impl )
+ // InternalApplicationConfiguration.g:1209:2: rule__MetamodelElement__Group_2__1__Impl
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelElement__Group_2__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__Group_2__1"
+
+
+ // $ANTLR start "rule__MetamodelElement__Group_2__1__Impl"
+ // InternalApplicationConfiguration.g:1215:1: rule__MetamodelElement__Group_2__1__Impl : ( ( rule__MetamodelElement__FeatureAssignment_2_1 ) ) ;
+ public final void rule__MetamodelElement__Group_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1219:1: ( ( ( rule__MetamodelElement__FeatureAssignment_2_1 ) ) )
+ // InternalApplicationConfiguration.g:1220:1: ( ( rule__MetamodelElement__FeatureAssignment_2_1 ) )
+ {
+ // InternalApplicationConfiguration.g:1220:1: ( ( rule__MetamodelElement__FeatureAssignment_2_1 ) )
+ // InternalApplicationConfiguration.g:1221:2: ( rule__MetamodelElement__FeatureAssignment_2_1 )
+ {
+ before(grammarAccess.getMetamodelElementAccess().getFeatureAssignment_2_1());
+ // InternalApplicationConfiguration.g:1222:2: ( rule__MetamodelElement__FeatureAssignment_2_1 )
+ // InternalApplicationConfiguration.g:1222:3: rule__MetamodelElement__FeatureAssignment_2_1
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelElement__FeatureAssignment_2_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMetamodelElementAccess().getFeatureAssignment_2_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__Group_2__1__Impl"
+
+
+ // $ANTLR start "rule__MetamodelDeclaration__Group__0"
+ // InternalApplicationConfiguration.g:1231:1: rule__MetamodelDeclaration__Group__0 : rule__MetamodelDeclaration__Group__0__Impl rule__MetamodelDeclaration__Group__1 ;
+ public final void rule__MetamodelDeclaration__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1235:1: ( rule__MetamodelDeclaration__Group__0__Impl rule__MetamodelDeclaration__Group__1 )
+ // InternalApplicationConfiguration.g:1236:2: rule__MetamodelDeclaration__Group__0__Impl rule__MetamodelDeclaration__Group__1
+ {
+ pushFollow(FOLLOW_12);
+ rule__MetamodelDeclaration__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__MetamodelDeclaration__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelDeclaration__Group__0"
+
+
+ // $ANTLR start "rule__MetamodelDeclaration__Group__0__Impl"
+ // InternalApplicationConfiguration.g:1243:1: rule__MetamodelDeclaration__Group__0__Impl : ( 'metamodel' ) ;
+ public final void rule__MetamodelDeclaration__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1247:1: ( ( 'metamodel' ) )
+ // InternalApplicationConfiguration.g:1248:1: ( 'metamodel' )
+ {
+ // InternalApplicationConfiguration.g:1248:1: ( 'metamodel' )
+ // InternalApplicationConfiguration.g:1249:2: 'metamodel'
+ {
+ before(grammarAccess.getMetamodelDeclarationAccess().getMetamodelKeyword_0());
+ match(input,21,FOLLOW_2);
+ after(grammarAccess.getMetamodelDeclarationAccess().getMetamodelKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelDeclaration__Group__0__Impl"
+
+
+ // $ANTLR start "rule__MetamodelDeclaration__Group__1"
+ // InternalApplicationConfiguration.g:1258:1: rule__MetamodelDeclaration__Group__1 : rule__MetamodelDeclaration__Group__1__Impl rule__MetamodelDeclaration__Group__2 ;
+ public final void rule__MetamodelDeclaration__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1262:1: ( rule__MetamodelDeclaration__Group__1__Impl rule__MetamodelDeclaration__Group__2 )
+ // InternalApplicationConfiguration.g:1263:2: rule__MetamodelDeclaration__Group__1__Impl rule__MetamodelDeclaration__Group__2
+ {
+ pushFollow(FOLLOW_14);
+ rule__MetamodelDeclaration__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_2);
+ rule__MetamodelDeclaration__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelDeclaration__Group__1"
+
+
+ // $ANTLR start "rule__MetamodelDeclaration__Group__1__Impl"
+ // InternalApplicationConfiguration.g:1270:1: rule__MetamodelDeclaration__Group__1__Impl : ( ( rule__MetamodelDeclaration__NameAssignment_1 ) ) ;
+ public final void rule__MetamodelDeclaration__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1274:1: ( ( ( rule__MetamodelDeclaration__NameAssignment_1 ) ) )
+ // InternalApplicationConfiguration.g:1275:1: ( ( rule__MetamodelDeclaration__NameAssignment_1 ) )
+ {
+ // InternalApplicationConfiguration.g:1275:1: ( ( rule__MetamodelDeclaration__NameAssignment_1 ) )
+ // InternalApplicationConfiguration.g:1276:2: ( rule__MetamodelDeclaration__NameAssignment_1 )
+ {
+ before(grammarAccess.getMetamodelDeclarationAccess().getNameAssignment_1());
+ // InternalApplicationConfiguration.g:1277:2: ( rule__MetamodelDeclaration__NameAssignment_1 )
+ // InternalApplicationConfiguration.g:1277:3: rule__MetamodelDeclaration__NameAssignment_1
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelDeclaration__NameAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMetamodelDeclarationAccess().getNameAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelDeclaration__Group__1__Impl"
+
+
+ // $ANTLR start "rule__MetamodelDeclaration__Group__2"
+ // InternalApplicationConfiguration.g:1285:1: rule__MetamodelDeclaration__Group__2 : rule__MetamodelDeclaration__Group__2__Impl ;
+ public final void rule__MetamodelDeclaration__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1289:1: ( rule__MetamodelDeclaration__Group__2__Impl )
+ // InternalApplicationConfiguration.g:1290:2: rule__MetamodelDeclaration__Group__2__Impl
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelDeclaration__Group__2__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelDeclaration__Group__2"
+
+
+ // $ANTLR start "rule__MetamodelDeclaration__Group__2__Impl"
+ // InternalApplicationConfiguration.g:1296:1: rule__MetamodelDeclaration__Group__2__Impl : ( ( rule__MetamodelDeclaration__SpecificationAssignment_2 ) ) ;
+ public final void rule__MetamodelDeclaration__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1300:1: ( ( ( rule__MetamodelDeclaration__SpecificationAssignment_2 ) ) )
+ // InternalApplicationConfiguration.g:1301:1: ( ( rule__MetamodelDeclaration__SpecificationAssignment_2 ) )
+ {
+ // InternalApplicationConfiguration.g:1301:1: ( ( rule__MetamodelDeclaration__SpecificationAssignment_2 ) )
+ // InternalApplicationConfiguration.g:1302:2: ( rule__MetamodelDeclaration__SpecificationAssignment_2 )
+ {
+ before(grammarAccess.getMetamodelDeclarationAccess().getSpecificationAssignment_2());
+ // InternalApplicationConfiguration.g:1303:2: ( rule__MetamodelDeclaration__SpecificationAssignment_2 )
+ // InternalApplicationConfiguration.g:1303:3: rule__MetamodelDeclaration__SpecificationAssignment_2
+ {
+ pushFollow(FOLLOW_2);
+ rule__MetamodelDeclaration__SpecificationAssignment_2();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getMetamodelDeclarationAccess().getSpecificationAssignment_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelDeclaration__Group__2__Impl"
+
+
+ // $ANTLR start "rule__ConfigurationScript__ImportsAssignment_0"
+ // InternalApplicationConfiguration.g:1312:1: rule__ConfigurationScript__ImportsAssignment_0 : ( ruleImport ) ;
+ public final void rule__ConfigurationScript__ImportsAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1316:1: ( ( ruleImport ) )
+ // InternalApplicationConfiguration.g:1317:2: ( ruleImport )
+ {
+ // InternalApplicationConfiguration.g:1317:2: ( ruleImport )
+ // InternalApplicationConfiguration.g:1318:3: ruleImport
+ {
+ before(grammarAccess.getConfigurationScriptAccess().getImportsImportParserRuleCall_0_0());
+ pushFollow(FOLLOW_2);
+ ruleImport();
+
+ state._fsp--;
+
+ after(grammarAccess.getConfigurationScriptAccess().getImportsImportParserRuleCall_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ConfigurationScript__ImportsAssignment_0"
+
+
+ // $ANTLR start "rule__ConfigurationScript__CommandsAssignment_1"
+ // InternalApplicationConfiguration.g:1327:1: rule__ConfigurationScript__CommandsAssignment_1 : ( ruleCommand ) ;
+ public final void rule__ConfigurationScript__CommandsAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1331:1: ( ( ruleCommand ) )
+ // InternalApplicationConfiguration.g:1332:2: ( ruleCommand )
+ {
+ // InternalApplicationConfiguration.g:1332:2: ( ruleCommand )
+ // InternalApplicationConfiguration.g:1333:3: ruleCommand
+ {
+ before(grammarAccess.getConfigurationScriptAccess().getCommandsCommandParserRuleCall_1_0());
+ pushFollow(FOLLOW_2);
+ ruleCommand();
+
+ state._fsp--;
+
+ after(grammarAccess.getConfigurationScriptAccess().getCommandsCommandParserRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ConfigurationScript__CommandsAssignment_1"
+
+
+ // $ANTLR start "rule__EPackageImport__ImportedPackageAssignment_2"
+ // InternalApplicationConfiguration.g:1342:1: rule__EPackageImport__ImportedPackageAssignment_2 : ( ( RULE_STRING ) ) ;
+ public final void rule__EPackageImport__ImportedPackageAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1346:1: ( ( ( RULE_STRING ) ) )
+ // InternalApplicationConfiguration.g:1347:2: ( ( RULE_STRING ) )
+ {
+ // InternalApplicationConfiguration.g:1347:2: ( ( RULE_STRING ) )
+ // InternalApplicationConfiguration.g:1348:3: ( RULE_STRING )
+ {
+ before(grammarAccess.getEPackageImportAccess().getImportedPackageEPackageCrossReference_2_0());
+ // InternalApplicationConfiguration.g:1349:3: ( RULE_STRING )
+ // InternalApplicationConfiguration.g:1350:4: RULE_STRING
+ {
+ before(grammarAccess.getEPackageImportAccess().getImportedPackageEPackageSTRINGTerminalRuleCall_2_0_1());
+ match(input,RULE_STRING,FOLLOW_2);
+ after(grammarAccess.getEPackageImportAccess().getImportedPackageEPackageSTRINGTerminalRuleCall_2_0_1());
+
+ }
+
+ after(grammarAccess.getEPackageImportAccess().getImportedPackageEPackageCrossReference_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EPackageImport__ImportedPackageAssignment_2"
+
+
+ // $ANTLR start "rule__ViatraImport__ImportedViatraAssignment_2"
+ // InternalApplicationConfiguration.g:1361:1: rule__ViatraImport__ImportedViatraAssignment_2 : ( ( RULE_STRING ) ) ;
+ public final void rule__ViatraImport__ImportedViatraAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1365:1: ( ( ( RULE_STRING ) ) )
+ // InternalApplicationConfiguration.g:1366:2: ( ( RULE_STRING ) )
+ {
+ // InternalApplicationConfiguration.g:1366:2: ( ( RULE_STRING ) )
+ // InternalApplicationConfiguration.g:1367:3: ( RULE_STRING )
+ {
+ before(grammarAccess.getViatraImportAccess().getImportedViatraPatternModelCrossReference_2_0());
+ // InternalApplicationConfiguration.g:1368:3: ( RULE_STRING )
+ // InternalApplicationConfiguration.g:1369:4: RULE_STRING
+ {
+ before(grammarAccess.getViatraImportAccess().getImportedViatraPatternModelSTRINGTerminalRuleCall_2_0_1());
+ match(input,RULE_STRING,FOLLOW_2);
+ after(grammarAccess.getViatraImportAccess().getImportedViatraPatternModelSTRINGTerminalRuleCall_2_0_1());
+
+ }
+
+ after(grammarAccess.getViatraImportAccess().getImportedViatraPatternModelCrossReference_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ViatraImport__ImportedViatraAssignment_2"
+
+
+ // $ANTLR start "rule__MetamodelSpecification__EntriesAssignment_1"
+ // InternalApplicationConfiguration.g:1380:1: rule__MetamodelSpecification__EntriesAssignment_1 : ( ruleMetamodelEntry ) ;
+ public final void rule__MetamodelSpecification__EntriesAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1384:1: ( ( ruleMetamodelEntry ) )
+ // InternalApplicationConfiguration.g:1385:2: ( ruleMetamodelEntry )
+ {
+ // InternalApplicationConfiguration.g:1385:2: ( ruleMetamodelEntry )
+ // InternalApplicationConfiguration.g:1386:3: ruleMetamodelEntry
+ {
+ before(grammarAccess.getMetamodelSpecificationAccess().getEntriesMetamodelEntryParserRuleCall_1_0());
+ pushFollow(FOLLOW_2);
+ ruleMetamodelEntry();
+
+ state._fsp--;
+
+ after(grammarAccess.getMetamodelSpecificationAccess().getEntriesMetamodelEntryParserRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelSpecification__EntriesAssignment_1"
+
+
+ // $ANTLR start "rule__MetamodelSpecification__EntriesAssignment_2_1"
+ // InternalApplicationConfiguration.g:1395:1: rule__MetamodelSpecification__EntriesAssignment_2_1 : ( ruleMetamodelEntry ) ;
+ public final void rule__MetamodelSpecification__EntriesAssignment_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1399:1: ( ( ruleMetamodelEntry ) )
+ // InternalApplicationConfiguration.g:1400:2: ( ruleMetamodelEntry )
+ {
+ // InternalApplicationConfiguration.g:1400:2: ( ruleMetamodelEntry )
+ // InternalApplicationConfiguration.g:1401:3: ruleMetamodelEntry
+ {
+ before(grammarAccess.getMetamodelSpecificationAccess().getEntriesMetamodelEntryParserRuleCall_2_1_0());
+ pushFollow(FOLLOW_2);
+ ruleMetamodelEntry();
+
+ state._fsp--;
+
+ after(grammarAccess.getMetamodelSpecificationAccess().getEntriesMetamodelEntryParserRuleCall_2_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelSpecification__EntriesAssignment_2_1"
+
+
+ // $ANTLR start "rule__AllPackageEntry__PackageAssignment_1"
+ // InternalApplicationConfiguration.g:1410:1: rule__AllPackageEntry__PackageAssignment_1 : ( ( RULE_ID ) ) ;
+ public final void rule__AllPackageEntry__PackageAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1414:1: ( ( ( RULE_ID ) ) )
+ // InternalApplicationConfiguration.g:1415:2: ( ( RULE_ID ) )
+ {
+ // InternalApplicationConfiguration.g:1415:2: ( ( RULE_ID ) )
+ // InternalApplicationConfiguration.g:1416:3: ( RULE_ID )
+ {
+ before(grammarAccess.getAllPackageEntryAccess().getPackageEPackageCrossReference_1_0());
+ // InternalApplicationConfiguration.g:1417:3: ( RULE_ID )
+ // InternalApplicationConfiguration.g:1418:4: RULE_ID
+ {
+ before(grammarAccess.getAllPackageEntryAccess().getPackageEPackageIDTerminalRuleCall_1_0_1());
+ match(input,RULE_ID,FOLLOW_2);
+ after(grammarAccess.getAllPackageEntryAccess().getPackageEPackageIDTerminalRuleCall_1_0_1());
+
+ }
+
+ after(grammarAccess.getAllPackageEntryAccess().getPackageEPackageCrossReference_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__PackageAssignment_1"
+
+
+ // $ANTLR start "rule__AllPackageEntry__ExclusionAssignment_2_2"
+ // InternalApplicationConfiguration.g:1429:1: rule__AllPackageEntry__ExclusionAssignment_2_2 : ( ruleMetamodelElement ) ;
+ public final void rule__AllPackageEntry__ExclusionAssignment_2_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1433:1: ( ( ruleMetamodelElement ) )
+ // InternalApplicationConfiguration.g:1434:2: ( ruleMetamodelElement )
+ {
+ // InternalApplicationConfiguration.g:1434:2: ( ruleMetamodelElement )
+ // InternalApplicationConfiguration.g:1435:3: ruleMetamodelElement
+ {
+ before(grammarAccess.getAllPackageEntryAccess().getExclusionMetamodelElementParserRuleCall_2_2_0());
+ pushFollow(FOLLOW_2);
+ ruleMetamodelElement();
+
+ state._fsp--;
+
+ after(grammarAccess.getAllPackageEntryAccess().getExclusionMetamodelElementParserRuleCall_2_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__ExclusionAssignment_2_2"
+
+
+ // $ANTLR start "rule__AllPackageEntry__ExclusionAssignment_2_3_1"
+ // InternalApplicationConfiguration.g:1444:1: rule__AllPackageEntry__ExclusionAssignment_2_3_1 : ( ruleMetamodelElement ) ;
+ public final void rule__AllPackageEntry__ExclusionAssignment_2_3_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1448:1: ( ( ruleMetamodelElement ) )
+ // InternalApplicationConfiguration.g:1449:2: ( ruleMetamodelElement )
+ {
+ // InternalApplicationConfiguration.g:1449:2: ( ruleMetamodelElement )
+ // InternalApplicationConfiguration.g:1450:3: ruleMetamodelElement
+ {
+ before(grammarAccess.getAllPackageEntryAccess().getExclusionMetamodelElementParserRuleCall_2_3_1_0());
+ pushFollow(FOLLOW_2);
+ ruleMetamodelElement();
+
+ state._fsp--;
+
+ after(grammarAccess.getAllPackageEntryAccess().getExclusionMetamodelElementParserRuleCall_2_3_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__AllPackageEntry__ExclusionAssignment_2_3_1"
+
+
+ // $ANTLR start "rule__MetamodelElement__PackageAssignment_0_0"
+ // InternalApplicationConfiguration.g:1459:1: rule__MetamodelElement__PackageAssignment_0_0 : ( ( RULE_ID ) ) ;
+ public final void rule__MetamodelElement__PackageAssignment_0_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1463:1: ( ( ( RULE_ID ) ) )
+ // InternalApplicationConfiguration.g:1464:2: ( ( RULE_ID ) )
+ {
+ // InternalApplicationConfiguration.g:1464:2: ( ( RULE_ID ) )
+ // InternalApplicationConfiguration.g:1465:3: ( RULE_ID )
+ {
+ before(grammarAccess.getMetamodelElementAccess().getPackageEPackageCrossReference_0_0_0());
+ // InternalApplicationConfiguration.g:1466:3: ( RULE_ID )
+ // InternalApplicationConfiguration.g:1467:4: RULE_ID
+ {
+ before(grammarAccess.getMetamodelElementAccess().getPackageEPackageIDTerminalRuleCall_0_0_0_1());
+ match(input,RULE_ID,FOLLOW_2);
+ after(grammarAccess.getMetamodelElementAccess().getPackageEPackageIDTerminalRuleCall_0_0_0_1());
+
+ }
+
+ after(grammarAccess.getMetamodelElementAccess().getPackageEPackageCrossReference_0_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__PackageAssignment_0_0"
+
+
+ // $ANTLR start "rule__MetamodelElement__ClassifierAssignment_1"
+ // InternalApplicationConfiguration.g:1478:1: rule__MetamodelElement__ClassifierAssignment_1 : ( ( RULE_ID ) ) ;
+ public final void rule__MetamodelElement__ClassifierAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1482:1: ( ( ( RULE_ID ) ) )
+ // InternalApplicationConfiguration.g:1483:2: ( ( RULE_ID ) )
+ {
+ // InternalApplicationConfiguration.g:1483:2: ( ( RULE_ID ) )
+ // InternalApplicationConfiguration.g:1484:3: ( RULE_ID )
+ {
+ before(grammarAccess.getMetamodelElementAccess().getClassifierEClassifierCrossReference_1_0());
+ // InternalApplicationConfiguration.g:1485:3: ( RULE_ID )
+ // InternalApplicationConfiguration.g:1486:4: RULE_ID
+ {
+ before(grammarAccess.getMetamodelElementAccess().getClassifierEClassifierIDTerminalRuleCall_1_0_1());
+ match(input,RULE_ID,FOLLOW_2);
+ after(grammarAccess.getMetamodelElementAccess().getClassifierEClassifierIDTerminalRuleCall_1_0_1());
+
+ }
+
+ after(grammarAccess.getMetamodelElementAccess().getClassifierEClassifierCrossReference_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__ClassifierAssignment_1"
+
+
+ // $ANTLR start "rule__MetamodelElement__FeatureAssignment_2_1"
+ // InternalApplicationConfiguration.g:1497:1: rule__MetamodelElement__FeatureAssignment_2_1 : ( ( RULE_ID ) ) ;
+ public final void rule__MetamodelElement__FeatureAssignment_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1501:1: ( ( ( RULE_ID ) ) )
+ // InternalApplicationConfiguration.g:1502:2: ( ( RULE_ID ) )
+ {
+ // InternalApplicationConfiguration.g:1502:2: ( ( RULE_ID ) )
+ // InternalApplicationConfiguration.g:1503:3: ( RULE_ID )
+ {
+ before(grammarAccess.getMetamodelElementAccess().getFeatureENamedElementCrossReference_2_1_0());
+ // InternalApplicationConfiguration.g:1504:3: ( RULE_ID )
+ // InternalApplicationConfiguration.g:1505:4: RULE_ID
+ {
+ before(grammarAccess.getMetamodelElementAccess().getFeatureENamedElementIDTerminalRuleCall_2_1_0_1());
+ match(input,RULE_ID,FOLLOW_2);
+ after(grammarAccess.getMetamodelElementAccess().getFeatureENamedElementIDTerminalRuleCall_2_1_0_1());
+
+ }
+
+ after(grammarAccess.getMetamodelElementAccess().getFeatureENamedElementCrossReference_2_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelElement__FeatureAssignment_2_1"
+
+
+ // $ANTLR start "rule__MetamodelDeclaration__NameAssignment_1"
+ // InternalApplicationConfiguration.g:1516:1: rule__MetamodelDeclaration__NameAssignment_1 : ( RULE_ID ) ;
+ public final void rule__MetamodelDeclaration__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1520:1: ( ( RULE_ID ) )
+ // InternalApplicationConfiguration.g:1521:2: ( RULE_ID )
+ {
+ // InternalApplicationConfiguration.g:1521:2: ( RULE_ID )
+ // InternalApplicationConfiguration.g:1522:3: RULE_ID
+ {
+ before(grammarAccess.getMetamodelDeclarationAccess().getNameIDTerminalRuleCall_1_0());
+ match(input,RULE_ID,FOLLOW_2);
+ after(grammarAccess.getMetamodelDeclarationAccess().getNameIDTerminalRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelDeclaration__NameAssignment_1"
+
+
+ // $ANTLR start "rule__MetamodelDeclaration__SpecificationAssignment_2"
+ // InternalApplicationConfiguration.g:1531:1: rule__MetamodelDeclaration__SpecificationAssignment_2 : ( ruleMetamodelSpecification ) ;
+ public final void rule__MetamodelDeclaration__SpecificationAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1535:1: ( ( ruleMetamodelSpecification ) )
+ // InternalApplicationConfiguration.g:1536:2: ( ruleMetamodelSpecification )
+ {
+ // InternalApplicationConfiguration.g:1536:2: ( ruleMetamodelSpecification )
+ // InternalApplicationConfiguration.g:1537:3: ruleMetamodelSpecification
+ {
+ before(grammarAccess.getMetamodelDeclarationAccess().getSpecificationMetamodelSpecificationParserRuleCall_2_0());
+ pushFollow(FOLLOW_2);
+ ruleMetamodelSpecification();
+
+ state._fsp--;
+
+ after(grammarAccess.getMetamodelDeclarationAccess().getSpecificationMetamodelSpecificationParserRuleCall_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelDeclaration__SpecificationAssignment_2"
+
+
+ // $ANTLR start "rule__MetamodelReference__ReferredAssignment"
+ // InternalApplicationConfiguration.g:1546:1: rule__MetamodelReference__ReferredAssignment : ( ( RULE_ID ) ) ;
+ public final void rule__MetamodelReference__ReferredAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalApplicationConfiguration.g:1550:1: ( ( ( RULE_ID ) ) )
+ // InternalApplicationConfiguration.g:1551:2: ( ( RULE_ID ) )
+ {
+ // InternalApplicationConfiguration.g:1551:2: ( ( RULE_ID ) )
+ // InternalApplicationConfiguration.g:1552:3: ( RULE_ID )
+ {
+ before(grammarAccess.getMetamodelReferenceAccess().getReferredMetamodelDeclarationCrossReference_0());
+ // InternalApplicationConfiguration.g:1553:3: ( RULE_ID )
+ // InternalApplicationConfiguration.g:1554:4: RULE_ID
+ {
+ before(grammarAccess.getMetamodelReferenceAccess().getReferredMetamodelDeclarationIDTerminalRuleCall_0_1());
+ match(input,RULE_ID,FOLLOW_2);
+ after(grammarAccess.getMetamodelReferenceAccess().getReferredMetamodelDeclarationIDTerminalRuleCall_0_1());
+
+ }
+
+ after(grammarAccess.getMetamodelReferenceAccess().getReferredMetamodelDeclarationCrossReference_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__MetamodelReference__ReferredAssignment"
+
+ // Delegated rules
+
+
+
+
+ public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000200000L});
+ public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000802L});
+ public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000200002L});
+ public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000001000L});
+ public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000020020L});
+ public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000018000L});
+ public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000010002L});
+ public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000020L});
+ public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000004000L});
+ public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000100000L});
+ public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000080000L});
+
+}
\ No newline at end of file
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/.classpath b/Application/hu.bme.mit.inf.dslreasoner.application.ui/.classpath
new file mode 100644
index 00000000..1287f96c
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/.classpath
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application.ui/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/.project b/Application/hu.bme.mit.inf.dslreasoner.application.ui/.project
new file mode 100644
index 00000000..57cbf77f
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/.project
@@ -0,0 +1,34 @@
+
+
+ hu.bme.mit.inf.dslreasoner.application.ui
+
+
+
+
+
+ org.eclipse.xtext.ui.shared.xtextBuilder
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.xtext.ui.shared.xtextNature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.pde.PluginNature
+
+
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/.settings/org.eclipse.core.resources.prefs b/Application/hu.bme.mit.inf.dslreasoner.application.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..4824b802
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/.settings/org.eclipse.jdt.core.prefs b/Application/hu.bme.mit.inf.dslreasoner.application.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/META-INF/MANIFEST.MF b/Application/hu.bme.mit.inf.dslreasoner.application.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..d4e1dd3c
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: hu.bme.mit.inf.dslreasoner.application.ui
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.application.ui; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: hu.bme.mit.inf.dslreasoner.application,
+ hu.bme.mit.inf.dslreasoner.application.ide,
+ org.eclipse.xtext.ui,
+ org.eclipse.xtext.ui.shared,
+ org.eclipse.xtext.ui.codetemplates.ui,
+ org.eclipse.ui.editors;bundle-version="3.5.0",
+ org.eclipse.ui.ide;bundle-version="3.5.0",
+ org.eclipse.ui,
+ org.eclipse.compare,
+ org.eclipse.xtext.builder,
+ org.eclipse.xtend.lib;resolution:=optional,
+ org.eclipse.xtext.xbase.lib,
+ org.eclipse.viatra.addon.validation.runtime.ui;bundle-version="1.7.0"
+Import-Package: org.apache.log4j
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: hu.bme.mit.inf.dslreasoner.application.ui.quickfix,
+ hu.bme.mit.inf.dslreasoner.application.ui.contentassist,
+ hu.bme.mit.inf.dslreasoner.application.ui.internal
+Bundle-Activator: hu.bme.mit.inf.dslreasoner.application.ui.internal.ApplicationActivator
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/build.properties b/Application/hu.bme.mit.inf.dslreasoner.application.ui/build.properties
new file mode 100644
index 00000000..91150a05
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml b/Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml
new file mode 100644
index 00000000..099d6993
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml
@@ -0,0 +1,430 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml_gen b/Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml_gen
new file mode 100644
index 00000000..15df9017
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/plugin.xml_gen
@@ -0,0 +1,410 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/AbstractApplicationConfigurationUiModule.java b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/AbstractApplicationConfigurationUiModule.java
new file mode 100644
index 00000000..75561658
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/AbstractApplicationConfigurationUiModule.java
@@ -0,0 +1,280 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.ui;
+
+import com.google.inject.Binder;
+import com.google.inject.Provider;
+import com.google.inject.name.Names;
+import hu.bme.mit.inf.dslreasoner.application.ide.contentassist.antlr.ApplicationConfigurationParser;
+import hu.bme.mit.inf.dslreasoner.application.ide.contentassist.antlr.PartialApplicationConfigurationContentAssistParser;
+import hu.bme.mit.inf.dslreasoner.application.ide.contentassist.antlr.internal.InternalApplicationConfigurationLexer;
+import hu.bme.mit.inf.dslreasoner.application.ui.contentassist.ApplicationConfigurationProposalProvider;
+import hu.bme.mit.inf.dslreasoner.application.ui.labeling.ApplicationConfigurationDescriptionLabelProvider;
+import hu.bme.mit.inf.dslreasoner.application.ui.labeling.ApplicationConfigurationLabelProvider;
+import hu.bme.mit.inf.dslreasoner.application.ui.outline.ApplicationConfigurationOutlineTreeProvider;
+import hu.bme.mit.inf.dslreasoner.application.ui.quickfix.ApplicationConfigurationQuickfixProvider;
+import org.eclipse.compare.IViewerCreator;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.xtext.builder.BuilderParticipant;
+import org.eclipse.xtext.builder.EclipseOutputConfigurationProvider;
+import org.eclipse.xtext.builder.IXtextBuilderParticipant;
+import org.eclipse.xtext.builder.builderState.IBuilderState;
+import org.eclipse.xtext.builder.clustering.CurrentDescriptions;
+import org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource;
+import org.eclipse.xtext.builder.nature.NatureAddingEditorCallback;
+import org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess;
+import org.eclipse.xtext.generator.IContextualOutputConfigurationProvider;
+import org.eclipse.xtext.ide.LexerIdeBindings;
+import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser;
+import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
+import org.eclipse.xtext.ide.editor.partialEditing.IPartialEditingContentAssistParser;
+import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider;
+import org.eclipse.xtext.parser.antlr.ITokenDefProvider;
+import org.eclipse.xtext.parser.antlr.LexerProvider;
+import org.eclipse.xtext.resource.IResourceDescriptions;
+import org.eclipse.xtext.resource.containers.IAllContainersState;
+import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider;
+import org.eclipse.xtext.service.SingletonBinding;
+import org.eclipse.xtext.ui.DefaultUiModule;
+import org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator;
+import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialEditingContentAssistContextFactory;
+import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.PartialEditingContentAssistContextFactory;
+import org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage;
+import org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration;
+import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar;
+import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry;
+import org.eclipse.xtext.ui.compare.DefaultViewerCreator;
+import org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource;
+import org.eclipse.xtext.ui.editor.IXtextEditorCallback;
+import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
+import org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher;
+import org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider;
+import org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper;
+import org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.DelegatingContentAssistContextFactory;
+import org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider;
+import org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider;
+import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer;
+import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider;
+import org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage;
+import org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator;
+import org.eclipse.xtext.ui.refactoring.IReferenceUpdater;
+import org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider;
+import org.eclipse.xtext.ui.refactoring.IRenameStrategy;
+import org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator;
+import org.eclipse.xtext.ui.refactoring.impl.DefaultReferenceUpdater;
+import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameRefactoringProvider;
+import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategy;
+import org.eclipse.xtext.ui.refactoring.ui.DefaultRenameSupport;
+import org.eclipse.xtext.ui.refactoring.ui.IRenameSupport;
+import org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences;
+import org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider;
+import org.eclipse.xtext.ui.shared.Access;
+
+/**
+ * Manual modifications go to {@link ApplicationConfigurationUiModule}.
+ */
+@SuppressWarnings("all")
+public abstract class AbstractApplicationConfigurationUiModule extends DefaultUiModule {
+
+ public AbstractApplicationConfigurationUiModule(AbstractUIPlugin plugin) {
+ super(plugin);
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ImplicitFragment
+ public Provider provideIAllContainersState() {
+ return Access.getJavaProjectsState();
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
+ public Class extends IProposalConflictHelper> bindIProposalConflictHelper() {
+ return AntlrProposalConflictHelper.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
+ public void configureContentAssistLexer(Binder binder) {
+ binder.bind(Lexer.class)
+ .annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST))
+ .to(InternalApplicationConfigurationLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
+ public void configureHighlightingLexer(Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class)
+ .annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING))
+ .to(hu.bme.mit.inf.dslreasoner.application.parser.antlr.internal.InternalApplicationConfigurationLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
+ public void configureHighlightingTokenDefProvider(Binder binder) {
+ binder.bind(ITokenDefProvider.class)
+ .annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING))
+ .to(AntlrTokenDefProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
+ public Class extends ContentAssistContext.Factory> bindContentAssistContext$Factory() {
+ return DelegatingContentAssistContextFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
+ public Class extends IContentAssistParser> bindIContentAssistParser() {
+ return ApplicationConfigurationParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
+ public void configureContentAssistLexerProvider(Binder binder) {
+ binder.bind(InternalApplicationConfigurationLexer.class).toProvider(LexerProvider.create(InternalApplicationConfigurationLexer.class));
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
+ public Class extends PrefixMatcher> bindPrefixMatcher() {
+ return FQNPrefixMatcher.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
+ public Class extends IDependentElementsCalculator> bindIDependentElementsCalculator() {
+ return DefaultDependentElementsCalculator.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
+ public void configureIResourceDescriptionsBuilderScope(Binder binder) {
+ binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(CurrentDescriptions.ResourceSetAware.class);
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
+ public Class extends IXtextEditorCallback> bindIXtextEditorCallback() {
+ return NatureAddingEditorCallback.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
+ public Class extends IContextualOutputConfigurationProvider> bindIContextualOutputConfigurationProvider() {
+ return EclipseOutputConfigurationProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
+ public void configureIResourceDescriptionsPersisted(Binder binder) {
+ binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(IBuilderState.class);
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
+ public Class extends DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
+ return PersistentDataAwareDirtyResource.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
+ public Class extends IXtextBuilderParticipant> bindIXtextBuilderParticipant() {
+ return BuilderParticipant.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
+ public IWorkspaceRoot bindIWorkspaceRootToInstance() {
+ return ResourcesPlugin.getWorkspace().getRoot();
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
+ public void configureBuilderPreferenceStoreInitializer(Binder binder) {
+ binder.bind(IPreferenceStoreInitializer.class)
+ .annotatedWith(Names.named("builderPreferenceInitializer"))
+ .to(BuilderPreferenceAccess.Initializer.class);
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2
+ public Class extends ILabelProvider> bindILabelProvider() {
+ return ApplicationConfigurationLabelProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2
+ public void configureResourceUIServiceLabelProvider(Binder binder) {
+ binder.bind(ILabelProvider.class).annotatedWith(ResourceServiceDescriptionLabelProvider.class).to(ApplicationConfigurationDescriptionLabelProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2
+ public Class extends IOutlineTreeProvider> bindIOutlineTreeProvider() {
+ return ApplicationConfigurationOutlineTreeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2
+ public Class extends IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
+ return ApplicationConfigurationOutlineTreeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.quickfix.QuickfixProviderFragment2
+ public Class extends IssueResolutionProvider> bindIssueResolutionProvider() {
+ return ApplicationConfigurationQuickfixProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.contentAssist.ContentAssistFragment2
+ public Class extends IContentProposalProvider> bindIContentProposalProvider() {
+ return ApplicationConfigurationProposalProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
+ public Class extends IRenameStrategy> bindIRenameStrategy() {
+ return DefaultRenameStrategy.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
+ public Class extends IReferenceUpdater> bindIReferenceUpdater() {
+ return DefaultReferenceUpdater.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
+ public void configureIPreferenceStoreInitializer(Binder binder) {
+ binder.bind(IPreferenceStoreInitializer.class)
+ .annotatedWith(Names.named("RefactoringPreferences"))
+ .to(RefactoringPreferences.Initializer.class);
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
+ public Class extends IRenameRefactoringProvider> bindIRenameRefactoringProvider() {
+ return DefaultRenameRefactoringProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
+ public Class extends IRenameSupport.Factory> bindIRenameSupport$Factory() {
+ return DefaultRenameSupport.Factory.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
+ public Provider provideTemplatesLanguageConfiguration() {
+ return AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider();
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
+ public Provider provideLanguageRegistry() {
+ return AccessibleCodetemplatesActivator.getLanguageRegistry();
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
+ @SingletonBinding(eager=true)
+ public Class extends LanguageRegistrar> bindLanguageRegistrar() {
+ return LanguageRegistrar.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
+ public Class extends XtextTemplatePreferencePage> bindXtextTemplatePreferencePage() {
+ return AdvancedTemplatesPreferencePage.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
+ public Class extends IPartialEditingContentAssistParser> bindIPartialEditingContentAssistParser() {
+ return PartialApplicationConfigurationContentAssistParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
+ public Class extends IPartialEditingContentAssistContextFactory> bindIPartialEditingContentAssistContextFactory() {
+ return PartialEditingContentAssistContextFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2
+ public Class extends IViewerCreator> bindIViewerCreator() {
+ return DefaultViewerCreator.class;
+ }
+
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/ApplicationConfigurationExecutableExtensionFactory.java b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/ApplicationConfigurationExecutableExtensionFactory.java
new file mode 100644
index 00000000..c79a23a3
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/ApplicationConfigurationExecutableExtensionFactory.java
@@ -0,0 +1,27 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.ui;
+
+import com.google.inject.Injector;
+import hu.bme.mit.inf.dslreasoner.application.ui.internal.ApplicationActivator;
+import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
+import org.osgi.framework.Bundle;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class ApplicationConfigurationExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
+
+ @Override
+ protected Bundle getBundle() {
+ return ApplicationActivator.getInstance().getBundle();
+ }
+
+ @Override
+ protected Injector getInjector() {
+ return ApplicationActivator.getInstance().getInjector(ApplicationActivator.HU_BME_MIT_INF_DSLREASONER_APPLICATION_APPLICATIONCONFIGURATION);
+ }
+
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/AbstractApplicationConfigurationProposalProvider.java b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/AbstractApplicationConfigurationProposalProvider.java
new file mode 100644
index 00000000..1409ec26
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/AbstractApplicationConfigurationProposalProvider.java
@@ -0,0 +1,100 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.ui.contentassist;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.Assignment;
+import org.eclipse.xtext.CrossReference;
+import org.eclipse.xtext.RuleCall;
+import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider;
+import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
+import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
+
+/**
+ * Represents a generated, default implementation of superclass {@link TerminalsProposalProvider}.
+ * Methods are dynamically dispatched on the first parameter, i.e., you can override them
+ * with a more concrete subtype.
+ */
+public abstract class AbstractApplicationConfigurationProposalProvider extends TerminalsProposalProvider {
+
+ public void completeConfigurationScript_Imports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeConfigurationScript_Commands(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeEPackageImport_ImportedPackage(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeViatraImport_ImportedViatra(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMetamodelSpecification_Entries(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeAllPackageEntry_Package(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeAllPackageEntry_Exclusion(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMetamodelElement_Package(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMetamodelElement_Classifier(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMetamodelElement_Feature(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMetamodelDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMetamodelDeclaration_Specification(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeMetamodelReference_Referred(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
+ }
+
+ public void complete_ConfigurationScript(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Command(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Declaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Import(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_EPackageImport(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ViatraImport(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_MetamodelSpecification(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_MetamodelEntry(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_AllPackageEntry(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_MetamodelElement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_MetamodelDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_MetamodelReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Metamodel(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/internal/ApplicationActivator.java b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/internal/ApplicationActivator.java
new file mode 100644
index 00000000..230177a1
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src-gen/hu/bme/mit/inf/dslreasoner/application/ui/internal/ApplicationActivator.java
@@ -0,0 +1,93 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.ui.internal;
+
+import com.google.common.collect.Maps;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Module;
+import hu.bme.mit.inf.dslreasoner.application.ApplicationConfigurationRuntimeModule;
+import hu.bme.mit.inf.dslreasoner.application.ui.ApplicationConfigurationUiModule;
+import java.util.Collections;
+import java.util.Map;
+import org.apache.log4j.Logger;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.xtext.ui.shared.SharedStateModule;
+import org.eclipse.xtext.util.Modules2;
+import org.osgi.framework.BundleContext;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class ApplicationActivator extends AbstractUIPlugin {
+
+ public static final String HU_BME_MIT_INF_DSLREASONER_APPLICATION_APPLICATIONCONFIGURATION = "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration";
+
+ private static final Logger logger = Logger.getLogger(ApplicationActivator.class);
+
+ private static ApplicationActivator INSTANCE;
+
+ private Map injectors = Collections.synchronizedMap(Maps. newHashMapWithExpectedSize(1));
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ INSTANCE = this;
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ injectors.clear();
+ INSTANCE = null;
+ super.stop(context);
+ }
+
+ public static ApplicationActivator getInstance() {
+ return INSTANCE;
+ }
+
+ public Injector getInjector(String language) {
+ synchronized (injectors) {
+ Injector injector = injectors.get(language);
+ if (injector == null) {
+ injectors.put(language, injector = createInjector(language));
+ }
+ return injector;
+ }
+ }
+
+ protected Injector createInjector(String language) {
+ try {
+ Module runtimeModule = getRuntimeModule(language);
+ Module sharedStateModule = getSharedStateModule();
+ Module uiModule = getUiModule(language);
+ Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
+ return Guice.createInjector(mergedModule);
+ } catch (Exception e) {
+ logger.error("Failed to create injector for " + language);
+ logger.error(e.getMessage(), e);
+ throw new RuntimeException("Failed to create injector for " + language, e);
+ }
+ }
+
+ protected Module getRuntimeModule(String grammar) {
+ if (HU_BME_MIT_INF_DSLREASONER_APPLICATION_APPLICATIONCONFIGURATION.equals(grammar)) {
+ return new ApplicationConfigurationRuntimeModule();
+ }
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getUiModule(String grammar) {
+ if (HU_BME_MIT_INF_DSLREASONER_APPLICATION_APPLICATIONCONFIGURATION.equals(grammar)) {
+ return new ApplicationConfigurationUiModule(this);
+ }
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getSharedStateModule() {
+ return new SharedStateModule();
+ }
+
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/ApplicationConfigurationUiModule.xtend b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/ApplicationConfigurationUiModule.xtend
new file mode 100644
index 00000000..ad86ba44
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/ApplicationConfigurationUiModule.xtend
@@ -0,0 +1,13 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.ui
+
+import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
+
+/**
+ * Use this class to register components to be used within the Eclipse IDE.
+ */
+@FinalFieldsConstructor
+class ApplicationConfigurationUiModule extends AbstractApplicationConfigurationUiModule {
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/ApplicationConfigurationProposalProvider.xtend b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/ApplicationConfigurationProposalProvider.xtend
new file mode 100644
index 00000000..4eb4bf2b
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/ApplicationConfigurationProposalProvider.xtend
@@ -0,0 +1,12 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.ui.contentassist
+
+
+/**
+ * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#content-assist
+ * on how to customize the content assistant.
+ */
+class ApplicationConfigurationProposalProvider extends AbstractApplicationConfigurationProposalProvider {
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/execute/ExecuteScriptHandler.java b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/execute/ExecuteScriptHandler.java
new file mode 100644
index 00000000..74e30ac6
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/execute/ExecuteScriptHandler.java
@@ -0,0 +1,16 @@
+package hu.bme.mit.inf.dslreasoner.application.ui.execute;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.IHandler;
+
+public class ExecuteScriptHandler extends AbstractHandler implements IHandler {
+
+ @Override
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ System.out.println("Called");
+ return null;
+ }
+
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/labeling/ApplicationConfigurationDescriptionLabelProvider.xtend b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/labeling/ApplicationConfigurationDescriptionLabelProvider.xtend
new file mode 100644
index 00000000..eaade5a8
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/labeling/ApplicationConfigurationDescriptionLabelProvider.xtend
@@ -0,0 +1,24 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.ui.labeling
+
+import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider
+
+/**
+ * Provides labels for IEObjectDescriptions and IResourceDescriptions.
+ *
+ * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider
+ */
+class ApplicationConfigurationDescriptionLabelProvider extends DefaultDescriptionLabelProvider {
+
+ // Labels and icons can be computed like this:
+
+// override text(IEObjectDescription ele) {
+// ele.name.toString
+// }
+//
+// override image(IEObjectDescription ele) {
+// ele.EClass.name + '.gif'
+// }
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/labeling/ApplicationConfigurationLabelProvider.xtend b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/labeling/ApplicationConfigurationLabelProvider.xtend
new file mode 100644
index 00000000..7d8396ef
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/labeling/ApplicationConfigurationLabelProvider.xtend
@@ -0,0 +1,31 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.ui.labeling
+
+import com.google.inject.Inject
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
+import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider
+
+/**
+ * Provides labels for EObjects.
+ *
+ * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider
+ */
+class ApplicationConfigurationLabelProvider extends DefaultEObjectLabelProvider {
+
+ @Inject
+ new(AdapterFactoryLabelProvider delegate) {
+ super(delegate);
+ }
+
+ // Labels and icons can be computed like this:
+
+// def text(Greeting ele) {
+// 'A greeting to ' + ele.name
+// }
+//
+// def image(Greeting ele) {
+// 'Greeting.gif'
+// }
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/outline/ApplicationConfigurationOutlineTreeProvider.xtend b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/outline/ApplicationConfigurationOutlineTreeProvider.xtend
new file mode 100644
index 00000000..94c0e8fe
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/outline/ApplicationConfigurationOutlineTreeProvider.xtend
@@ -0,0 +1,15 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.ui.outline
+
+import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider
+
+/**
+ * Customization of the default outline structure.
+ *
+ * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#outline
+ */
+class ApplicationConfigurationOutlineTreeProvider extends DefaultOutlineTreeProvider {
+
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/quickfix/ApplicationConfigurationQuickfixProvider.xtend b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/quickfix/ApplicationConfigurationQuickfixProvider.xtend
new file mode 100644
index 00000000..317e1b0a
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/src/hu/bme/mit/inf/dslreasoner/application/ui/quickfix/ApplicationConfigurationQuickfixProvider.xtend
@@ -0,0 +1,24 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.ui.quickfix
+
+import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider
+
+/**
+ * Custom quickfixes.
+ *
+ * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#quick-fixes
+ */
+class ApplicationConfigurationQuickfixProvider extends DefaultQuickfixProvider {
+
+// @Fix(ApplicationConfigurationValidator.INVALID_NAME)
+// def capitalizeName(Issue issue, IssueResolutionAcceptor acceptor) {
+// acceptor.accept(issue, 'Capitalize name', 'Capitalize the name.', 'upcase.png') [
+// context |
+// val xtextDocument = context.xtextDocument
+// val firstLetter = xtextDocument.get(issue.offset, 1)
+// xtextDocument.replace(issue.offset, 1, firstLetter.toUpperCase)
+// ]
+// }
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/.gitignore
new file mode 100644
index 00000000..38bed698
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/.gitignore
@@ -0,0 +1,3 @@
+/.ApplicationConfigurationUiModule.java._trace
+/.ApplicationConfigurationUiModule.xtendbin
+/ApplicationConfigurationUiModule.java
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/.gitignore
new file mode 100644
index 00000000..42dd52f8
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/contentassist/.gitignore
@@ -0,0 +1,3 @@
+/.ApplicationConfigurationProposalProvider.java._trace
+/.ApplicationConfigurationProposalProvider.xtendbin
+/ApplicationConfigurationProposalProvider.java
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/labeling/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/labeling/.gitignore
new file mode 100644
index 00000000..b0578cff
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/labeling/.gitignore
@@ -0,0 +1,6 @@
+/.ApplicationConfigurationDescriptionLabelProvider.java._trace
+/.ApplicationConfigurationDescriptionLabelProvider.xtendbin
+/.ApplicationConfigurationLabelProvider.java._trace
+/.ApplicationConfigurationLabelProvider.xtendbin
+/ApplicationConfigurationDescriptionLabelProvider.java
+/ApplicationConfigurationLabelProvider.java
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/outline/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/outline/.gitignore
new file mode 100644
index 00000000..af0111c5
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/outline/.gitignore
@@ -0,0 +1,3 @@
+/.ApplicationConfigurationOutlineTreeProvider.java._trace
+/.ApplicationConfigurationOutlineTreeProvider.xtendbin
+/ApplicationConfigurationOutlineTreeProvider.java
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/quickfix/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/quickfix/.gitignore
new file mode 100644
index 00000000..cc351654
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ui/quickfix/.gitignore
@@ -0,0 +1,3 @@
+/.ApplicationConfigurationQuickfixProvider.java._trace
+/.ApplicationConfigurationQuickfixProvider.xtendbin
+/ApplicationConfigurationQuickfixProvider.java
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/.classpath b/Application/hu.bme.mit.inf.dslreasoner.application/.classpath
new file mode 100644
index 00000000..1287f96c
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/.classpath
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/.project b/Application/hu.bme.mit.inf.dslreasoner.application/.project
new file mode 100644
index 00000000..e7144bef
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/.project
@@ -0,0 +1,34 @@
+
+
+ hu.bme.mit.inf.dslreasoner.application
+
+
+
+
+
+ org.eclipse.xtext.ui.shared.xtextBuilder
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.xtext.ui.shared.xtextNature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.pde.PluginNature
+
+
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/.settings/org.eclipse.core.resources.prefs b/Application/hu.bme.mit.inf.dslreasoner.application/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..4824b802
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/.settings/org.eclipse.jdt.core.prefs b/Application/hu.bme.mit.inf.dslreasoner.application/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/META-INF/MANIFEST.MF b/Application/hu.bme.mit.inf.dslreasoner.application/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..c8060e7b
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/META-INF/MANIFEST.MF
@@ -0,0 +1,44 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: hu.bme.mit.inf.dslreasoner.application
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.application; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.xtext,
+ org.eclipse.xtext.xbase,
+ org.eclipse.equinox.common;bundle-version="3.5.0",
+ org.eclipse.emf.ecore,
+ org.eclipse.xtext.xbase.lib,
+ org.eclipse.xtext.util,
+ org.eclipse.xtend.lib,
+ org.eclipse.emf.common,
+ org.antlr.runtime,
+ hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0",
+ hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0",
+ hu.bme.mit.inf.dslreasoner.smt.reasoner;bundle-version="1.0.0",
+ hu.bme.mit.inf.dslreasoner.viatra2logic;bundle-version="1.0.0",
+ hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic;bundle-version="1.0.0",
+ hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0",
+ hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner;bundle-version="1.0.0",
+ hu.bme.mit.inf.dslreasoner.visualisation;bundle-version="1.0.0",
+ hu.bme.mit.inf.dlsreasoner.alloy.reasoner;bundle-version="1.0.0",
+ hu.bme.mit.inf.dslreasoner.logic2ecore;bundle-version="1.0.0",
+ hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatraquery;bundle-version="1.0.0",
+ org.eclipse.viatra.query.patternlanguage;bundle-version="1.7.0",
+ org.eclipse.viatra.query.patternlanguage.emf;bundle-version="1.7.0",
+ org.eclipse.viatra.query.runtime;bundle-version="1.7.0",
+ org.eclipse.emf.codegen;bundle-version="2.11.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: hu.bme.mit.inf.dslreasoner.application.services,
+ hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl,
+ hu.bme.mit.inf.dslreasoner.application,
+ hu.bme.mit.inf.dslreasoner.application.validation,
+ hu.bme.mit.inf.dslreasoner.application.serializer,
+ hu.bme.mit.inf.dslreasoner.application.applicationConfiguration,
+ hu.bme.mit.inf.dslreasoner.application.scoping,
+ hu.bme.mit.inf.dslreasoner.application.generator,
+ hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.util,
+ hu.bme.mit.inf.dslreasoner.application.parser.antlr.internal,
+ hu.bme.mit.inf.dslreasoner.application.parser.antlr
+Import-Package: org.apache.log4j
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/build.properties b/Application/hu.bme.mit.inf.dslreasoner.application/build.properties
new file mode 100644
index 00000000..1045260f
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/build.properties
@@ -0,0 +1,18 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = model/generated/,\
+ .,\
+ META-INF/,\
+ plugin.xml
+additional.bundles = org.eclipse.xtext.xbase,\
+ org.eclipse.xtext.common.types,\
+ org.eclipse.xtext.xtext.generator,\
+ org.eclipse.emf.codegen.ecore,\
+ org.eclipse.emf.mwe.utils,\
+ org.eclipse.emf.mwe2.launch,\
+ org.eclipse.emf.mwe2.lib,\
+ org.objectweb.asm,\
+ org.apache.commons.logging,\
+ org.apache.log4j,\
+ com.ibm.icu
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/model/generated/ApplicationConfiguration.ecore b/Application/hu.bme.mit.inf.dslreasoner.application/model/generated/ApplicationConfiguration.ecore
new file mode 100644
index 00000000..cd6ed927
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/model/generated/ApplicationConfiguration.ecore
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/model/generated/ApplicationConfiguration.genmodel b/Application/hu.bme.mit.inf.dslreasoner.application/model/generated/ApplicationConfiguration.genmodel
new file mode 100644
index 00000000..add67f1e
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/model/generated/ApplicationConfiguration.genmodel
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/plugin.xml b/Application/hu.bme.mit.inf.dslreasoner.application/plugin.xml
new file mode 100644
index 00000000..956abc6e
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/plugin.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/plugin.xml_gen b/Application/hu.bme.mit.inf.dslreasoner.application/plugin.xml_gen
new file mode 100644
index 00000000..956abc6e
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/plugin.xml_gen
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/AbstractApplicationConfigurationRuntimeModule.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/AbstractApplicationConfigurationRuntimeModule.java
new file mode 100644
index 00000000..e7d271aa
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/AbstractApplicationConfigurationRuntimeModule.java
@@ -0,0 +1,194 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application;
+
+import com.google.inject.Binder;
+import com.google.inject.Provider;
+import com.google.inject.name.Names;
+import hu.bme.mit.inf.dslreasoner.application.generator.ApplicationConfigurationGenerator;
+import hu.bme.mit.inf.dslreasoner.application.parser.antlr.ApplicationConfigurationAntlrTokenFileProvider;
+import hu.bme.mit.inf.dslreasoner.application.parser.antlr.ApplicationConfigurationParser;
+import hu.bme.mit.inf.dslreasoner.application.parser.antlr.internal.InternalApplicationConfigurationLexer;
+import hu.bme.mit.inf.dslreasoner.application.scoping.ApplicationConfigurationScopeProvider;
+import hu.bme.mit.inf.dslreasoner.application.serializer.ApplicationConfigurationSemanticSequencer;
+import hu.bme.mit.inf.dslreasoner.application.serializer.ApplicationConfigurationSyntacticSequencer;
+import hu.bme.mit.inf.dslreasoner.application.services.ApplicationConfigurationGrammarAccess;
+import hu.bme.mit.inf.dslreasoner.application.validation.ApplicationConfigurationValidator;
+import java.util.Properties;
+import org.eclipse.xtext.Constants;
+import org.eclipse.xtext.IGrammarAccess;
+import org.eclipse.xtext.generator.IGenerator2;
+import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider;
+import org.eclipse.xtext.naming.IQualifiedNameProvider;
+import org.eclipse.xtext.parser.IParser;
+import org.eclipse.xtext.parser.ITokenToStringConverter;
+import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider;
+import org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter;
+import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
+import org.eclipse.xtext.parser.antlr.ITokenDefProvider;
+import org.eclipse.xtext.parser.antlr.Lexer;
+import org.eclipse.xtext.parser.antlr.LexerBindings;
+import org.eclipse.xtext.parser.antlr.LexerProvider;
+import org.eclipse.xtext.resource.IContainer;
+import org.eclipse.xtext.resource.IResourceDescriptions;
+import org.eclipse.xtext.resource.containers.IAllContainersState;
+import org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider;
+import org.eclipse.xtext.resource.containers.StateBasedContainerManager;
+import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider;
+import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions;
+import org.eclipse.xtext.scoping.IGlobalScopeProvider;
+import org.eclipse.xtext.scoping.IScopeProvider;
+import org.eclipse.xtext.scoping.IgnoreCaseLinking;
+import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
+import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider;
+import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider;
+import org.eclipse.xtext.serializer.ISerializer;
+import org.eclipse.xtext.serializer.impl.Serializer;
+import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
+import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer;
+import org.eclipse.xtext.service.DefaultRuntimeModule;
+import org.eclipse.xtext.service.SingletonBinding;
+
+/**
+ * Manual modifications go to {@link ApplicationConfigurationRuntimeModule}.
+ */
+@SuppressWarnings("all")
+public abstract class AbstractApplicationConfigurationRuntimeModule extends DefaultRuntimeModule {
+
+ protected Properties properties = null;
+
+ @Override
+ public void configure(Binder binder) {
+ properties = tryBindProperties(binder, "hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.properties");
+ super.configure(binder);
+ }
+
+ public void configureLanguageName(Binder binder) {
+ binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration");
+ }
+
+ public void configureFileExtensions(Binder binder) {
+ if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null)
+ binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("vsconfig");
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2
+ public ClassLoader bindClassLoaderToInstance() {
+ return getClass().getClassLoader();
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2
+ public Class extends IGrammarAccess> bindIGrammarAccess() {
+ return ApplicationConfigurationGrammarAccess.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
+ public Class extends ISemanticSequencer> bindISemanticSequencer() {
+ return ApplicationConfigurationSemanticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
+ public Class extends ISyntacticSequencer> bindISyntacticSequencer() {
+ return ApplicationConfigurationSyntacticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
+ public Class extends ISerializer> bindISerializer() {
+ return Serializer.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
+ public Class extends IParser> bindIParser() {
+ return ApplicationConfigurationParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
+ public Class extends ITokenToStringConverter> bindITokenToStringConverter() {
+ return AntlrTokenToStringConverter.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
+ public Class extends IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
+ return ApplicationConfigurationAntlrTokenFileProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
+ public Class extends Lexer> bindLexer() {
+ return InternalApplicationConfigurationLexer.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
+ public Class extends ITokenDefProvider> bindITokenDefProvider() {
+ return AntlrTokenDefProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
+ public Provider provideInternalApplicationConfigurationLexer() {
+ return LexerProvider.create(InternalApplicationConfigurationLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
+ public void configureRuntimeLexer(Binder binder) {
+ binder.bind(Lexer.class)
+ .annotatedWith(Names.named(LexerBindings.RUNTIME))
+ .to(InternalApplicationConfigurationLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
+ @SingletonBinding(eager=true)
+ public Class extends ApplicationConfigurationValidator> bindApplicationConfigurationValidator() {
+ return ApplicationConfigurationValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
+ public Class extends IScopeProvider> bindIScopeProvider() {
+ return ApplicationConfigurationScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
+ public void configureIScopeProviderDelegate(Binder binder) {
+ binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
+ public Class extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
+ return DefaultGlobalScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
+ public void configureIgnoreCaseLinking(Binder binder) {
+ binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false);
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
+ public Class extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
+ return DefaultDeclarativeQualifiedNameProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
+ public Class extends IContainer.Manager> bindIContainer$Manager() {
+ return StateBasedContainerManager.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
+ public Class extends IAllContainersState.Provider> bindIAllContainersState$Provider() {
+ return ResourceSetBasedAllContainersStateProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
+ public void configureIResourceDescriptions(Binder binder) {
+ binder.bind(IResourceDescriptions.class).to(ResourceSetBasedResourceDescriptions.class);
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
+ public void configureIResourceDescriptionsPersisted(Binder binder) {
+ binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(ResourceSetBasedResourceDescriptions.class);
+ }
+
+ // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
+ public Class extends IGenerator2> bindIGenerator2() {
+ return ApplicationConfigurationGenerator.class;
+ }
+
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtextbin b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtextbin
new file mode 100644
index 00000000..24e7ffba
Binary files /dev/null and b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtextbin differ
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationStandaloneSetupGenerated.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationStandaloneSetupGenerated.java
new file mode 100644
index 00000000..30cbb5cb
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationStandaloneSetupGenerated.java
@@ -0,0 +1,42 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.xtext.ISetup;
+import org.eclipse.xtext.common.TerminalsStandaloneSetup;
+import org.eclipse.xtext.resource.IResourceFactory;
+import org.eclipse.xtext.resource.IResourceServiceProvider;
+
+@SuppressWarnings("all")
+public class ApplicationConfigurationStandaloneSetupGenerated implements ISetup {
+
+ @Override
+ public Injector createInjectorAndDoEMFRegistration() {
+ TerminalsStandaloneSetup.doSetup();
+
+ Injector injector = createInjector();
+ register(injector);
+ return injector;
+ }
+
+ public Injector createInjector() {
+ return Guice.createInjector(new ApplicationConfigurationRuntimeModule());
+ }
+
+ public void register(Injector injector) {
+ if (!EPackage.Registry.INSTANCE.containsKey("http://www.bme.hu/mit/inf/dslreasoner/application/ApplicationConfiguration")) {
+ EPackage.Registry.INSTANCE.put("http://www.bme.hu/mit/inf/dslreasoner/application/ApplicationConfiguration", ApplicationConfigurationPackage.eINSTANCE);
+ }
+ IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class);
+ IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class);
+
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("vsconfig", resourceFactory);
+ IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("vsconfig", serviceProvider);
+ }
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/AllPackageEntry.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/AllPackageEntry.java
new file mode 100644
index 00000000..dda28616
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/AllPackageEntry.java
@@ -0,0 +1,42 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ *
+ * A representation of the model object 'All Package Entry'.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry#getExclusion Exclusion}
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getAllPackageEntry()
+ * @model
+ * @generated
+ */
+public interface AllPackageEntry extends MetamodelEntry
+{
+ /**
+ * Returns the value of the 'Exclusion' containment reference list.
+ * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement}.
+ *
+ *
+ * If the meaning of the 'Exclusion' containment reference list isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'Exclusion' containment reference list.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getAllPackageEntry_Exclusion()
+ * @model containment="true"
+ * @generated
+ */
+ EList getExclusion();
+
+} // AllPackageEntry
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ApplicationConfigurationFactory.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ApplicationConfigurationFactory.java
new file mode 100644
index 00000000..33fcd49f
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ApplicationConfigurationFactory.java
@@ -0,0 +1,152 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ *
+ * The Factory for the model.
+ * It provides a create method for each non-abstract class of the model.
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage
+ * @generated
+ */
+public interface ApplicationConfigurationFactory extends EFactory
+{
+ /**
+ * The singleton instance of the factory.
+ *
+ *
+ * @generated
+ */
+ ApplicationConfigurationFactory eINSTANCE = hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class 'Configuration Script'.
+ *
+ *
+ * @return a new object of class 'Configuration Script'.
+ * @generated
+ */
+ ConfigurationScript createConfigurationScript();
+
+ /**
+ * Returns a new object of class 'Command'.
+ *
+ *
+ * @return a new object of class 'Command'.
+ * @generated
+ */
+ Command createCommand();
+
+ /**
+ * Returns a new object of class 'Declaration'.
+ *
+ *
+ * @return a new object of class 'Declaration'.
+ * @generated
+ */
+ Declaration createDeclaration();
+
+ /**
+ * Returns a new object of class 'Import'.
+ *
+ *
+ * @return a new object of class 'Import'.
+ * @generated
+ */
+ Import createImport();
+
+ /**
+ * Returns a new object of class 'EPackage Import'.
+ *
+ *
+ * @return a new object of class 'EPackage Import'.
+ * @generated
+ */
+ EPackageImport createEPackageImport();
+
+ /**
+ * Returns a new object of class 'Viatra Import'.
+ *
+ *
+ * @return a new object of class 'Viatra Import'.
+ * @generated
+ */
+ ViatraImport createViatraImport();
+
+ /**
+ * Returns a new object of class 'Metamodel Specification'.
+ *
+ *
+ * @return a new object of class 'Metamodel Specification'.
+ * @generated
+ */
+ MetamodelSpecification createMetamodelSpecification();
+
+ /**
+ * Returns a new object of class 'Metamodel Entry'.
+ *
+ *
+ * @return a new object of class 'Metamodel Entry'.
+ * @generated
+ */
+ MetamodelEntry createMetamodelEntry();
+
+ /**
+ * Returns a new object of class 'All Package Entry'.
+ *
+ *
+ * @return a new object of class 'All Package Entry'.
+ * @generated
+ */
+ AllPackageEntry createAllPackageEntry();
+
+ /**
+ * Returns a new object of class 'Metamodel Element'.
+ *
+ *
+ * @return a new object of class 'Metamodel Element'.
+ * @generated
+ */
+ MetamodelElement createMetamodelElement();
+
+ /**
+ * Returns a new object of class 'Metamodel Declaration'.
+ *
+ *
+ * @return a new object of class 'Metamodel Declaration'.
+ * @generated
+ */
+ MetamodelDeclaration createMetamodelDeclaration();
+
+ /**
+ * Returns a new object of class 'Metamodel Reference'.
+ *
+ *
+ * @return a new object of class 'Metamodel Reference'.
+ * @generated
+ */
+ MetamodelReference createMetamodelReference();
+
+ /**
+ * Returns a new object of class 'Metamodel'.
+ *
+ *
+ * @return a new object of class 'Metamodel'.
+ * @generated
+ */
+ Metamodel createMetamodel();
+
+ /**
+ * Returns the package supported by this factory.
+ *
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ApplicationConfigurationPackage getApplicationConfigurationPackage();
+
+} //ApplicationConfigurationFactory
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ApplicationConfigurationPackage.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ApplicationConfigurationPackage.java
new file mode 100644
index 00000000..55c40d38
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ApplicationConfigurationPackage.java
@@ -0,0 +1,947 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ *
+ * The Package for the model.
+ * It contains accessors for the meta objects to represent
+ *
+ * - each class,
+ * - each feature of each class,
+ * - each enum,
+ * - and each data type
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ApplicationConfigurationPackage extends EPackage
+{
+ /**
+ * The package name.
+ *
+ *
+ * @generated
+ */
+ String eNAME = "applicationConfiguration";
+
+ /**
+ * The package namespace URI.
+ *
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.bme.hu/mit/inf/dslreasoner/application/ApplicationConfiguration";
+
+ /**
+ * The package namespace name.
+ *
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "applicationConfiguration";
+
+ /**
+ * The singleton instance of the package.
+ *
+ *
+ * @generated
+ */
+ ApplicationConfigurationPackage eINSTANCE = hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ConfigurationScriptImpl Configuration Script}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ConfigurationScriptImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getConfigurationScript()
+ * @generated
+ */
+ int CONFIGURATION_SCRIPT = 0;
+
+ /**
+ * The feature id for the 'Imports' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_SCRIPT__IMPORTS = 0;
+
+ /**
+ * The feature id for the 'Commands' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_SCRIPT__COMMANDS = 1;
+
+ /**
+ * The number of structural features of the 'Configuration Script' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_SCRIPT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.CommandImpl Command}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.CommandImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getCommand()
+ * @generated
+ */
+ int COMMAND = 1;
+
+ /**
+ * The number of structural features of the 'Command' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int COMMAND_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.DeclarationImpl Declaration}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.DeclarationImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getDeclaration()
+ * @generated
+ */
+ int DECLARATION = 2;
+
+ /**
+ * The number of structural features of the 'Declaration' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DECLARATION_FEATURE_COUNT = COMMAND_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ImportImpl Import}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ImportImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getImport()
+ * @generated
+ */
+ int IMPORT = 3;
+
+ /**
+ * The number of structural features of the 'Import' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int IMPORT_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.EPackageImportImpl EPackage Import}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.EPackageImportImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getEPackageImport()
+ * @generated
+ */
+ int EPACKAGE_IMPORT = 4;
+
+ /**
+ * The feature id for the 'Imported Package' reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int EPACKAGE_IMPORT__IMPORTED_PACKAGE = IMPORT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the 'EPackage Import' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int EPACKAGE_IMPORT_FEATURE_COUNT = IMPORT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ViatraImportImpl Viatra Import}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ViatraImportImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getViatraImport()
+ * @generated
+ */
+ int VIATRA_IMPORT = 5;
+
+ /**
+ * The feature id for the 'Imported Viatra' reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int VIATRA_IMPORT__IMPORTED_VIATRA = IMPORT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the 'Viatra Import' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int VIATRA_IMPORT_FEATURE_COUNT = IMPORT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelImpl Metamodel}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getMetamodel()
+ * @generated
+ */
+ int METAMODEL = 12;
+
+ /**
+ * The number of structural features of the 'Metamodel' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int METAMODEL_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelSpecificationImpl Metamodel Specification}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelSpecificationImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getMetamodelSpecification()
+ * @generated
+ */
+ int METAMODEL_SPECIFICATION = 6;
+
+ /**
+ * The feature id for the 'Entries' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int METAMODEL_SPECIFICATION__ENTRIES = METAMODEL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the 'Metamodel Specification' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int METAMODEL_SPECIFICATION_FEATURE_COUNT = METAMODEL_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelEntryImpl Metamodel Entry}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelEntryImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getMetamodelEntry()
+ * @generated
+ */
+ int METAMODEL_ENTRY = 7;
+
+ /**
+ * The feature id for the 'Package' reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int METAMODEL_ENTRY__PACKAGE = 0;
+
+ /**
+ * The number of structural features of the 'Metamodel Entry' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int METAMODEL_ENTRY_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.AllPackageEntryImpl All Package Entry}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.AllPackageEntryImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getAllPackageEntry()
+ * @generated
+ */
+ int ALL_PACKAGE_ENTRY = 8;
+
+ /**
+ * The feature id for the 'Package' reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ALL_PACKAGE_ENTRY__PACKAGE = METAMODEL_ENTRY__PACKAGE;
+
+ /**
+ * The feature id for the 'Exclusion' containment reference list.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ALL_PACKAGE_ENTRY__EXCLUSION = METAMODEL_ENTRY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the 'All Package Entry' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ALL_PACKAGE_ENTRY_FEATURE_COUNT = METAMODEL_ENTRY_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelElementImpl Metamodel Element}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelElementImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getMetamodelElement()
+ * @generated
+ */
+ int METAMODEL_ELEMENT = 9;
+
+ /**
+ * The feature id for the 'Package' reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int METAMODEL_ELEMENT__PACKAGE = METAMODEL_ENTRY__PACKAGE;
+
+ /**
+ * The feature id for the 'Classifier' reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int METAMODEL_ELEMENT__CLASSIFIER = METAMODEL_ENTRY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Feature' reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int METAMODEL_ELEMENT__FEATURE = METAMODEL_ENTRY_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the 'Metamodel Element' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int METAMODEL_ELEMENT_FEATURE_COUNT = METAMODEL_ENTRY_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelDeclarationImpl Metamodel Declaration}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelDeclarationImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getMetamodelDeclaration()
+ * @generated
+ */
+ int METAMODEL_DECLARATION = 10;
+
+ /**
+ * The feature id for the 'Name' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int METAMODEL_DECLARATION__NAME = DECLARATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the 'Specification' containment reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int METAMODEL_DECLARATION__SPECIFICATION = DECLARATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the 'Metamodel Declaration' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int METAMODEL_DECLARATION_FEATURE_COUNT = DECLARATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelReferenceImpl Metamodel Reference}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelReferenceImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getMetamodelReference()
+ * @generated
+ */
+ int METAMODEL_REFERENCE = 11;
+
+ /**
+ * The feature id for the 'Referred' reference.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int METAMODEL_REFERENCE__REFERRED = METAMODEL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the 'Metamodel Reference' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int METAMODEL_REFERENCE_FEATURE_COUNT = METAMODEL_FEATURE_COUNT + 1;
+
+
+ /**
+ * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript Configuration Script}'.
+ *
+ *
+ * @return the meta object for class 'Configuration Script'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript
+ * @generated
+ */
+ EClass getConfigurationScript();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript#getImports Imports}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Imports'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript#getImports()
+ * @see #getConfigurationScript()
+ * @generated
+ */
+ EReference getConfigurationScript_Imports();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript#getCommands Commands}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Commands'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript#getCommands()
+ * @see #getConfigurationScript()
+ * @generated
+ */
+ EReference getConfigurationScript_Commands();
+
+ /**
+ * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Command Command}'.
+ *
+ *
+ * @return the meta object for class 'Command'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Command
+ * @generated
+ */
+ EClass getCommand();
+
+ /**
+ * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Declaration Declaration}'.
+ *
+ *
+ * @return the meta object for class 'Declaration'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Declaration
+ * @generated
+ */
+ EClass getDeclaration();
+
+ /**
+ * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Import Import}'.
+ *
+ *
+ * @return the meta object for class 'Import'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Import
+ * @generated
+ */
+ EClass getImport();
+
+ /**
+ * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport EPackage Import}'.
+ *
+ *
+ * @return the meta object for class 'EPackage Import'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport
+ * @generated
+ */
+ EClass getEPackageImport();
+
+ /**
+ * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport#getImportedPackage Imported Package}'.
+ *
+ *
+ * @return the meta object for the reference 'Imported Package'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport#getImportedPackage()
+ * @see #getEPackageImport()
+ * @generated
+ */
+ EReference getEPackageImport_ImportedPackage();
+
+ /**
+ * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport Viatra Import}'.
+ *
+ *
+ * @return the meta object for class 'Viatra Import'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport
+ * @generated
+ */
+ EClass getViatraImport();
+
+ /**
+ * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport#getImportedViatra Imported Viatra}'.
+ *
+ *
+ * @return the meta object for the reference 'Imported Viatra'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport#getImportedViatra()
+ * @see #getViatraImport()
+ * @generated
+ */
+ EReference getViatraImport_ImportedViatra();
+
+ /**
+ * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification Metamodel Specification}'.
+ *
+ *
+ * @return the meta object for class 'Metamodel Specification'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification
+ * @generated
+ */
+ EClass getMetamodelSpecification();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification#getEntries Entries}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Entries'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification#getEntries()
+ * @see #getMetamodelSpecification()
+ * @generated
+ */
+ EReference getMetamodelSpecification_Entries();
+
+ /**
+ * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry Metamodel Entry}'.
+ *
+ *
+ * @return the meta object for class 'Metamodel Entry'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry
+ * @generated
+ */
+ EClass getMetamodelEntry();
+
+ /**
+ * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry#getPackage Package}'.
+ *
+ *
+ * @return the meta object for the reference 'Package'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry#getPackage()
+ * @see #getMetamodelEntry()
+ * @generated
+ */
+ EReference getMetamodelEntry_Package();
+
+ /**
+ * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry All Package Entry}'.
+ *
+ *
+ * @return the meta object for class 'All Package Entry'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry
+ * @generated
+ */
+ EClass getAllPackageEntry();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry#getExclusion Exclusion}'.
+ *
+ *
+ * @return the meta object for the containment reference list 'Exclusion'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry#getExclusion()
+ * @see #getAllPackageEntry()
+ * @generated
+ */
+ EReference getAllPackageEntry_Exclusion();
+
+ /**
+ * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement Metamodel Element}'.
+ *
+ *
+ * @return the meta object for class 'Metamodel Element'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement
+ * @generated
+ */
+ EClass getMetamodelElement();
+
+ /**
+ * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement#getClassifier Classifier}'.
+ *
+ *
+ * @return the meta object for the reference 'Classifier'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement#getClassifier()
+ * @see #getMetamodelElement()
+ * @generated
+ */
+ EReference getMetamodelElement_Classifier();
+
+ /**
+ * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement#getFeature Feature}'.
+ *
+ *
+ * @return the meta object for the reference 'Feature'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement#getFeature()
+ * @see #getMetamodelElement()
+ * @generated
+ */
+ EReference getMetamodelElement_Feature();
+
+ /**
+ * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration Metamodel Declaration}'.
+ *
+ *
+ * @return the meta object for class 'Metamodel Declaration'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration
+ * @generated
+ */
+ EClass getMetamodelDeclaration();
+
+ /**
+ * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration#getName Name}'.
+ *
+ *
+ * @return the meta object for the attribute 'Name'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration#getName()
+ * @see #getMetamodelDeclaration()
+ * @generated
+ */
+ EAttribute getMetamodelDeclaration_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration#getSpecification Specification}'.
+ *
+ *
+ * @return the meta object for the containment reference 'Specification'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration#getSpecification()
+ * @see #getMetamodelDeclaration()
+ * @generated
+ */
+ EReference getMetamodelDeclaration_Specification();
+
+ /**
+ * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference Metamodel Reference}'.
+ *
+ *
+ * @return the meta object for class 'Metamodel Reference'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference
+ * @generated
+ */
+ EClass getMetamodelReference();
+
+ /**
+ * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference#getReferred Referred}'.
+ *
+ *
+ * @return the meta object for the reference 'Referred'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference#getReferred()
+ * @see #getMetamodelReference()
+ * @generated
+ */
+ EReference getMetamodelReference_Referred();
+
+ /**
+ * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Metamodel Metamodel}'.
+ *
+ *
+ * @return the meta object for class 'Metamodel'.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Metamodel
+ * @generated
+ */
+ EClass getMetamodel();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ *
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ApplicationConfigurationFactory getApplicationConfigurationFactory();
+
+ /**
+ *
+ * Defines literals for the meta objects that represent
+ *
+ * - each class,
+ * - each feature of each class,
+ * - each enum,
+ * - and each data type
+ *
+ *
+ * @generated
+ */
+ interface Literals
+ {
+ /**
+ * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ConfigurationScriptImpl Configuration Script}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ConfigurationScriptImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getConfigurationScript()
+ * @generated
+ */
+ EClass CONFIGURATION_SCRIPT = eINSTANCE.getConfigurationScript();
+
+ /**
+ * The meta object literal for the 'Imports' containment reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference CONFIGURATION_SCRIPT__IMPORTS = eINSTANCE.getConfigurationScript_Imports();
+
+ /**
+ * The meta object literal for the 'Commands' containment reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference CONFIGURATION_SCRIPT__COMMANDS = eINSTANCE.getConfigurationScript_Commands();
+
+ /**
+ * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.CommandImpl Command}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.CommandImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getCommand()
+ * @generated
+ */
+ EClass COMMAND = eINSTANCE.getCommand();
+
+ /**
+ * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.DeclarationImpl Declaration}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.DeclarationImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getDeclaration()
+ * @generated
+ */
+ EClass DECLARATION = eINSTANCE.getDeclaration();
+
+ /**
+ * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ImportImpl Import}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ImportImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getImport()
+ * @generated
+ */
+ EClass IMPORT = eINSTANCE.getImport();
+
+ /**
+ * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.EPackageImportImpl EPackage Import}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.EPackageImportImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getEPackageImport()
+ * @generated
+ */
+ EClass EPACKAGE_IMPORT = eINSTANCE.getEPackageImport();
+
+ /**
+ * The meta object literal for the 'Imported Package' reference feature.
+ *
+ *
+ * @generated
+ */
+ EReference EPACKAGE_IMPORT__IMPORTED_PACKAGE = eINSTANCE.getEPackageImport_ImportedPackage();
+
+ /**
+ * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ViatraImportImpl Viatra Import}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ViatraImportImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getViatraImport()
+ * @generated
+ */
+ EClass VIATRA_IMPORT = eINSTANCE.getViatraImport();
+
+ /**
+ * The meta object literal for the 'Imported Viatra' reference feature.
+ *
+ *
+ * @generated
+ */
+ EReference VIATRA_IMPORT__IMPORTED_VIATRA = eINSTANCE.getViatraImport_ImportedViatra();
+
+ /**
+ * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelSpecificationImpl Metamodel Specification}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelSpecificationImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getMetamodelSpecification()
+ * @generated
+ */
+ EClass METAMODEL_SPECIFICATION = eINSTANCE.getMetamodelSpecification();
+
+ /**
+ * The meta object literal for the 'Entries' containment reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference METAMODEL_SPECIFICATION__ENTRIES = eINSTANCE.getMetamodelSpecification_Entries();
+
+ /**
+ * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelEntryImpl Metamodel Entry}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelEntryImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getMetamodelEntry()
+ * @generated
+ */
+ EClass METAMODEL_ENTRY = eINSTANCE.getMetamodelEntry();
+
+ /**
+ * The meta object literal for the 'Package' reference feature.
+ *
+ *
+ * @generated
+ */
+ EReference METAMODEL_ENTRY__PACKAGE = eINSTANCE.getMetamodelEntry_Package();
+
+ /**
+ * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.AllPackageEntryImpl All Package Entry}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.AllPackageEntryImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getAllPackageEntry()
+ * @generated
+ */
+ EClass ALL_PACKAGE_ENTRY = eINSTANCE.getAllPackageEntry();
+
+ /**
+ * The meta object literal for the 'Exclusion' containment reference list feature.
+ *
+ *
+ * @generated
+ */
+ EReference ALL_PACKAGE_ENTRY__EXCLUSION = eINSTANCE.getAllPackageEntry_Exclusion();
+
+ /**
+ * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelElementImpl Metamodel Element}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelElementImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getMetamodelElement()
+ * @generated
+ */
+ EClass METAMODEL_ELEMENT = eINSTANCE.getMetamodelElement();
+
+ /**
+ * The meta object literal for the 'Classifier' reference feature.
+ *
+ *
+ * @generated
+ */
+ EReference METAMODEL_ELEMENT__CLASSIFIER = eINSTANCE.getMetamodelElement_Classifier();
+
+ /**
+ * The meta object literal for the 'Feature' reference feature.
+ *
+ *
+ * @generated
+ */
+ EReference METAMODEL_ELEMENT__FEATURE = eINSTANCE.getMetamodelElement_Feature();
+
+ /**
+ * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelDeclarationImpl Metamodel Declaration}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelDeclarationImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getMetamodelDeclaration()
+ * @generated
+ */
+ EClass METAMODEL_DECLARATION = eINSTANCE.getMetamodelDeclaration();
+
+ /**
+ * The meta object literal for the 'Name' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute METAMODEL_DECLARATION__NAME = eINSTANCE.getMetamodelDeclaration_Name();
+
+ /**
+ * The meta object literal for the 'Specification' containment reference feature.
+ *
+ *
+ * @generated
+ */
+ EReference METAMODEL_DECLARATION__SPECIFICATION = eINSTANCE.getMetamodelDeclaration_Specification();
+
+ /**
+ * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelReferenceImpl Metamodel Reference}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelReferenceImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getMetamodelReference()
+ * @generated
+ */
+ EClass METAMODEL_REFERENCE = eINSTANCE.getMetamodelReference();
+
+ /**
+ * The meta object literal for the 'Referred' reference feature.
+ *
+ *
+ * @generated
+ */
+ EReference METAMODEL_REFERENCE__REFERRED = eINSTANCE.getMetamodelReference_Referred();
+
+ /**
+ * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelImpl Metamodel}' class.
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelImpl
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ApplicationConfigurationPackageImpl#getMetamodel()
+ * @generated
+ */
+ EClass METAMODEL = eINSTANCE.getMetamodel();
+
+ }
+
+} //ApplicationConfigurationPackage
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Command.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Command.java
new file mode 100644
index 00000000..792a8217
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Command.java
@@ -0,0 +1,20 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ *
+ * A representation of the model object 'Command'.
+ *
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getCommand()
+ * @model
+ * @generated
+ */
+public interface Command extends EObject
+{
+} // Command
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ConfigurationScript.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ConfigurationScript.java
new file mode 100644
index 00000000..cc566f3c
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ConfigurationScript.java
@@ -0,0 +1,61 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ *
+ * A representation of the model object 'Configuration Script'.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript#getImports Imports}
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript#getCommands Commands}
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getConfigurationScript()
+ * @model
+ * @generated
+ */
+public interface ConfigurationScript extends EObject
+{
+ /**
+ * Returns the value of the 'Imports' containment reference list.
+ * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Import}.
+ *
+ *
+ * If the meaning of the 'Imports' containment reference list isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'Imports' containment reference list.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getConfigurationScript_Imports()
+ * @model containment="true"
+ * @generated
+ */
+ EList getImports();
+
+ /**
+ * Returns the value of the 'Commands' containment reference list.
+ * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Command}.
+ *
+ *
+ * If the meaning of the 'Commands' containment reference list isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'Commands' containment reference list.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getConfigurationScript_Commands()
+ * @model containment="true"
+ * @generated
+ */
+ EList getCommands();
+
+} // ConfigurationScript
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Declaration.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Declaration.java
new file mode 100644
index 00000000..b1454653
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Declaration.java
@@ -0,0 +1,19 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration;
+
+
+/**
+ *
+ * A representation of the model object 'Declaration'.
+ *
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getDeclaration()
+ * @model
+ * @generated
+ */
+public interface Declaration extends Command
+{
+} // Declaration
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/EPackageImport.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/EPackageImport.java
new file mode 100644
index 00000000..f5b05c11
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/EPackageImport.java
@@ -0,0 +1,52 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration;
+
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ *
+ * A representation of the model object 'EPackage Import'.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport#getImportedPackage Imported Package}
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getEPackageImport()
+ * @model
+ * @generated
+ */
+public interface EPackageImport extends Import
+{
+ /**
+ * Returns the value of the 'Imported Package' reference.
+ *
+ *
+ * If the meaning of the 'Imported Package' reference isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'Imported Package' reference.
+ * @see #setImportedPackage(EPackage)
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getEPackageImport_ImportedPackage()
+ * @model
+ * @generated
+ */
+ EPackage getImportedPackage();
+
+ /**
+ * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport#getImportedPackage Imported Package}' reference.
+ *
+ *
+ * @param value the new value of the 'Imported Package' reference.
+ * @see #getImportedPackage()
+ * @generated
+ */
+ void setImportedPackage(EPackage value);
+
+} // EPackageImport
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Import.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Import.java
new file mode 100644
index 00000000..66d499bc
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Import.java
@@ -0,0 +1,20 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ *
+ * A representation of the model object 'Import'.
+ *
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getImport()
+ * @model
+ * @generated
+ */
+public interface Import extends EObject
+{
+} // Import
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Metamodel.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Metamodel.java
new file mode 100644
index 00000000..0aaaa87f
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/Metamodel.java
@@ -0,0 +1,20 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ *
+ * A representation of the model object 'Metamodel'.
+ *
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getMetamodel()
+ * @model
+ * @generated
+ */
+public interface Metamodel extends EObject
+{
+} // Metamodel
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelDeclaration.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelDeclaration.java
new file mode 100644
index 00000000..7580d083
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelDeclaration.java
@@ -0,0 +1,78 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration;
+
+
+/**
+ *
+ * A representation of the model object 'Metamodel Declaration'.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration#getName Name}
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration#getSpecification Specification}
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getMetamodelDeclaration()
+ * @model
+ * @generated
+ */
+public interface MetamodelDeclaration extends Declaration
+{
+ /**
+ * Returns the value of the 'Name' attribute.
+ *
+ *
+ * If the meaning of the 'Name' attribute isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'Name' attribute.
+ * @see #setName(String)
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getMetamodelDeclaration_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration#getName Name}' attribute.
+ *
+ *
+ * @param value the new value of the 'Name' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the 'Specification' containment reference.
+ *
+ *
+ * If the meaning of the 'Specification' containment reference isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'Specification' containment reference.
+ * @see #setSpecification(MetamodelSpecification)
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getMetamodelDeclaration_Specification()
+ * @model containment="true"
+ * @generated
+ */
+ MetamodelSpecification getSpecification();
+
+ /**
+ * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration#getSpecification Specification}' containment reference.
+ *
+ *
+ * @param value the new value of the 'Specification' containment reference.
+ * @see #getSpecification()
+ * @generated
+ */
+ void setSpecification(MetamodelSpecification value);
+
+} // MetamodelDeclaration
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelElement.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelElement.java
new file mode 100644
index 00000000..34518c56
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelElement.java
@@ -0,0 +1,80 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration;
+
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.ENamedElement;
+
+/**
+ *
+ * A representation of the model object 'Metamodel Element'.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement#getClassifier Classifier}
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement#getFeature Feature}
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getMetamodelElement()
+ * @model
+ * @generated
+ */
+public interface MetamodelElement extends MetamodelEntry
+{
+ /**
+ * Returns the value of the 'Classifier' reference.
+ *
+ *
+ * If the meaning of the 'Classifier' reference isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'Classifier' reference.
+ * @see #setClassifier(EClassifier)
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getMetamodelElement_Classifier()
+ * @model
+ * @generated
+ */
+ EClassifier getClassifier();
+
+ /**
+ * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement#getClassifier Classifier}' reference.
+ *
+ *
+ * @param value the new value of the 'Classifier' reference.
+ * @see #getClassifier()
+ * @generated
+ */
+ void setClassifier(EClassifier value);
+
+ /**
+ * Returns the value of the 'Feature' reference.
+ *
+ *
+ * If the meaning of the 'Feature' reference isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'Feature' reference.
+ * @see #setFeature(ENamedElement)
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getMetamodelElement_Feature()
+ * @model
+ * @generated
+ */
+ ENamedElement getFeature();
+
+ /**
+ * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement#getFeature Feature}' reference.
+ *
+ *
+ * @param value the new value of the 'Feature' reference.
+ * @see #getFeature()
+ * @generated
+ */
+ void setFeature(ENamedElement value);
+
+} // MetamodelElement
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelEntry.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelEntry.java
new file mode 100644
index 00000000..9b334002
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelEntry.java
@@ -0,0 +1,53 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ *
+ * A representation of the model object 'Metamodel Entry'.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry#getPackage Package}
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getMetamodelEntry()
+ * @model
+ * @generated
+ */
+public interface MetamodelEntry extends EObject
+{
+ /**
+ * Returns the value of the 'Package' reference.
+ *
+ *
+ * If the meaning of the 'Package' reference isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'Package' reference.
+ * @see #setPackage(EPackage)
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getMetamodelEntry_Package()
+ * @model
+ * @generated
+ */
+ EPackage getPackage();
+
+ /**
+ * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry#getPackage Package}' reference.
+ *
+ *
+ * @param value the new value of the 'Package' reference.
+ * @see #getPackage()
+ * @generated
+ */
+ void setPackage(EPackage value);
+
+} // MetamodelEntry
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelReference.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelReference.java
new file mode 100644
index 00000000..2291021d
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelReference.java
@@ -0,0 +1,51 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration;
+
+
+/**
+ *
+ * A representation of the model object 'Metamodel Reference'.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference#getReferred Referred}
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getMetamodelReference()
+ * @model
+ * @generated
+ */
+public interface MetamodelReference extends Metamodel
+{
+ /**
+ * Returns the value of the 'Referred' reference.
+ *
+ *
+ * If the meaning of the 'Referred' reference isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'Referred' reference.
+ * @see #setReferred(MetamodelDeclaration)
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getMetamodelReference_Referred()
+ * @model
+ * @generated
+ */
+ MetamodelDeclaration getReferred();
+
+ /**
+ * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference#getReferred Referred}' reference.
+ *
+ *
+ * @param value the new value of the 'Referred' reference.
+ * @see #getReferred()
+ * @generated
+ */
+ void setReferred(MetamodelDeclaration value);
+
+} // MetamodelReference
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelSpecification.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelSpecification.java
new file mode 100644
index 00000000..cf207301
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/MetamodelSpecification.java
@@ -0,0 +1,42 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ *
+ * A representation of the model object 'Metamodel Specification'.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification#getEntries Entries}
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getMetamodelSpecification()
+ * @model
+ * @generated
+ */
+public interface MetamodelSpecification extends Metamodel
+{
+ /**
+ * Returns the value of the 'Entries' containment reference list.
+ * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry}.
+ *
+ *
+ * If the meaning of the 'Entries' containment reference list isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'Entries' containment reference list.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getMetamodelSpecification_Entries()
+ * @model containment="true"
+ * @generated
+ */
+ EList getEntries();
+
+} // MetamodelSpecification
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ViatraImport.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ViatraImport.java
new file mode 100644
index 00000000..03aa4bb8
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/ViatraImport.java
@@ -0,0 +1,52 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration;
+
+import org.eclipse.viatra.query.patternlanguage.patternLanguage.PatternModel;
+
+/**
+ *
+ * A representation of the model object 'Viatra Import'.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport#getImportedViatra Imported Viatra}
+ *
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getViatraImport()
+ * @model
+ * @generated
+ */
+public interface ViatraImport extends Import
+{
+ /**
+ * Returns the value of the 'Imported Viatra' reference.
+ *
+ *
+ * If the meaning of the 'Imported Viatra' reference isn't clear,
+ * there really should be more of a description here...
+ *
+ *
+ * @return the value of the 'Imported Viatra' reference.
+ * @see #setImportedViatra(PatternModel)
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#getViatraImport_ImportedViatra()
+ * @model
+ * @generated
+ */
+ PatternModel getImportedViatra();
+
+ /**
+ * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport#getImportedViatra Imported Viatra}' reference.
+ *
+ *
+ * @param value the new value of the 'Imported Viatra' reference.
+ * @see #getImportedViatra()
+ * @generated
+ */
+ void setImportedViatra(PatternModel value);
+
+} // ViatraImport
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/AllPackageEntryImpl.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/AllPackageEntryImpl.java
new file mode 100644
index 00000000..b94cc51b
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/AllPackageEntryImpl.java
@@ -0,0 +1,166 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ *
+ * An implementation of the model object 'All Package Entry'.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.AllPackageEntryImpl#getExclusion Exclusion}
+ *
+ *
+ * @generated
+ */
+public class AllPackageEntryImpl extends MetamodelEntryImpl implements AllPackageEntry
+{
+ /**
+ * The cached value of the '{@link #getExclusion() Exclusion}' containment reference list.
+ *
+ *
+ * @see #getExclusion()
+ * @generated
+ * @ordered
+ */
+ protected EList exclusion;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected AllPackageEntryImpl()
+ {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ApplicationConfigurationPackage.Literals.ALL_PACKAGE_ENTRY;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getExclusion()
+ {
+ if (exclusion == null)
+ {
+ exclusion = new EObjectContainmentEList(MetamodelElement.class, this, ApplicationConfigurationPackage.ALL_PACKAGE_ENTRY__EXCLUSION);
+ }
+ return exclusion;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.ALL_PACKAGE_ENTRY__EXCLUSION:
+ return ((InternalEList>)getExclusion()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.ALL_PACKAGE_ENTRY__EXCLUSION:
+ return getExclusion();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.ALL_PACKAGE_ENTRY__EXCLUSION:
+ getExclusion().clear();
+ getExclusion().addAll((Collection extends MetamodelElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.ALL_PACKAGE_ENTRY__EXCLUSION:
+ getExclusion().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.ALL_PACKAGE_ENTRY__EXCLUSION:
+ return exclusion != null && !exclusion.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AllPackageEntryImpl
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ApplicationConfigurationFactoryImpl.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ApplicationConfigurationFactoryImpl.java
new file mode 100644
index 00000000..4ad21065
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ApplicationConfigurationFactoryImpl.java
@@ -0,0 +1,251 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ *
+ * An implementation of the model Factory.
+ *
+ * @generated
+ */
+public class ApplicationConfigurationFactoryImpl extends EFactoryImpl implements ApplicationConfigurationFactory
+{
+ /**
+ * Creates the default factory implementation.
+ *
+ *
+ * @generated
+ */
+ public static ApplicationConfigurationFactory init()
+ {
+ try
+ {
+ ApplicationConfigurationFactory theApplicationConfigurationFactory = (ApplicationConfigurationFactory)EPackage.Registry.INSTANCE.getEFactory(ApplicationConfigurationPackage.eNS_URI);
+ if (theApplicationConfigurationFactory != null)
+ {
+ return theApplicationConfigurationFactory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ApplicationConfigurationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ *
+ *
+ * @generated
+ */
+ public ApplicationConfigurationFactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case ApplicationConfigurationPackage.CONFIGURATION_SCRIPT: return createConfigurationScript();
+ case ApplicationConfigurationPackage.COMMAND: return createCommand();
+ case ApplicationConfigurationPackage.DECLARATION: return createDeclaration();
+ case ApplicationConfigurationPackage.IMPORT: return createImport();
+ case ApplicationConfigurationPackage.EPACKAGE_IMPORT: return createEPackageImport();
+ case ApplicationConfigurationPackage.VIATRA_IMPORT: return createViatraImport();
+ case ApplicationConfigurationPackage.METAMODEL_SPECIFICATION: return createMetamodelSpecification();
+ case ApplicationConfigurationPackage.METAMODEL_ENTRY: return createMetamodelEntry();
+ case ApplicationConfigurationPackage.ALL_PACKAGE_ENTRY: return createAllPackageEntry();
+ case ApplicationConfigurationPackage.METAMODEL_ELEMENT: return createMetamodelElement();
+ case ApplicationConfigurationPackage.METAMODEL_DECLARATION: return createMetamodelDeclaration();
+ case ApplicationConfigurationPackage.METAMODEL_REFERENCE: return createMetamodelReference();
+ case ApplicationConfigurationPackage.METAMODEL: return createMetamodel();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public ConfigurationScript createConfigurationScript()
+ {
+ ConfigurationScriptImpl configurationScript = new ConfigurationScriptImpl();
+ return configurationScript;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Command createCommand()
+ {
+ CommandImpl command = new CommandImpl();
+ return command;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Declaration createDeclaration()
+ {
+ DeclarationImpl declaration = new DeclarationImpl();
+ return declaration;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Import createImport()
+ {
+ ImportImpl import_ = new ImportImpl();
+ return import_;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EPackageImport createEPackageImport()
+ {
+ EPackageImportImpl ePackageImport = new EPackageImportImpl();
+ return ePackageImport;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public ViatraImport createViatraImport()
+ {
+ ViatraImportImpl viatraImport = new ViatraImportImpl();
+ return viatraImport;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public MetamodelSpecification createMetamodelSpecification()
+ {
+ MetamodelSpecificationImpl metamodelSpecification = new MetamodelSpecificationImpl();
+ return metamodelSpecification;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public MetamodelEntry createMetamodelEntry()
+ {
+ MetamodelEntryImpl metamodelEntry = new MetamodelEntryImpl();
+ return metamodelEntry;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public AllPackageEntry createAllPackageEntry()
+ {
+ AllPackageEntryImpl allPackageEntry = new AllPackageEntryImpl();
+ return allPackageEntry;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public MetamodelElement createMetamodelElement()
+ {
+ MetamodelElementImpl metamodelElement = new MetamodelElementImpl();
+ return metamodelElement;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public MetamodelDeclaration createMetamodelDeclaration()
+ {
+ MetamodelDeclarationImpl metamodelDeclaration = new MetamodelDeclarationImpl();
+ return metamodelDeclaration;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public MetamodelReference createMetamodelReference()
+ {
+ MetamodelReferenceImpl metamodelReference = new MetamodelReferenceImpl();
+ return metamodelReference;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Metamodel createMetamodel()
+ {
+ MetamodelImpl metamodel = new MetamodelImpl();
+ return metamodel;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public ApplicationConfigurationPackage getApplicationConfigurationPackage()
+ {
+ return (ApplicationConfigurationPackage)getEPackage();
+ }
+
+ /**
+ *
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ApplicationConfigurationPackage getPackage()
+ {
+ return ApplicationConfigurationPackage.eINSTANCE;
+ }
+
+} //ApplicationConfigurationFactoryImpl
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ApplicationConfigurationPackageImpl.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ApplicationConfigurationPackageImpl.java
new file mode 100644
index 00000000..50ad4358
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ApplicationConfigurationPackageImpl.java
@@ -0,0 +1,602 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationFactory;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Command;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Declaration;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Import;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Metamodel;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.viatra.query.patternlanguage.patternLanguage.PatternLanguagePackage;
+
+/**
+ *
+ * An implementation of the model Package.
+ *
+ * @generated
+ */
+public class ApplicationConfigurationPackageImpl extends EPackageImpl implements ApplicationConfigurationPackage
+{
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass configurationScriptEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass commandEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass declarationEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass importEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass ePackageImportEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass viatraImportEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass metamodelSpecificationEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass metamodelEntryEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass allPackageEntryEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass metamodelElementEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass metamodelDeclarationEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass metamodelReferenceEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass metamodelEClass = null;
+
+ /**
+ * Creates an instance of the model Package, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ *
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ApplicationConfigurationPackageImpl()
+ {
+ super(eNS_URI, ApplicationConfigurationFactory.eINSTANCE);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the Package for this model, and for any others upon which it depends.
+ *
+ *
This method is used to initialize {@link ApplicationConfigurationPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ *
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ApplicationConfigurationPackage init()
+ {
+ if (isInited) return (ApplicationConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(ApplicationConfigurationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ ApplicationConfigurationPackageImpl theApplicationConfigurationPackage = (ApplicationConfigurationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ApplicationConfigurationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ApplicationConfigurationPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+ PatternLanguagePackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theApplicationConfigurationPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theApplicationConfigurationPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theApplicationConfigurationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ApplicationConfigurationPackage.eNS_URI, theApplicationConfigurationPackage);
+ return theApplicationConfigurationPackage;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getConfigurationScript()
+ {
+ return configurationScriptEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getConfigurationScript_Imports()
+ {
+ return (EReference)configurationScriptEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getConfigurationScript_Commands()
+ {
+ return (EReference)configurationScriptEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getCommand()
+ {
+ return commandEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getDeclaration()
+ {
+ return declarationEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getImport()
+ {
+ return importEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getEPackageImport()
+ {
+ return ePackageImportEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getEPackageImport_ImportedPackage()
+ {
+ return (EReference)ePackageImportEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getViatraImport()
+ {
+ return viatraImportEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getViatraImport_ImportedViatra()
+ {
+ return (EReference)viatraImportEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getMetamodelSpecification()
+ {
+ return metamodelSpecificationEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getMetamodelSpecification_Entries()
+ {
+ return (EReference)metamodelSpecificationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getMetamodelEntry()
+ {
+ return metamodelEntryEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getMetamodelEntry_Package()
+ {
+ return (EReference)metamodelEntryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getAllPackageEntry()
+ {
+ return allPackageEntryEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getAllPackageEntry_Exclusion()
+ {
+ return (EReference)allPackageEntryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getMetamodelElement()
+ {
+ return metamodelElementEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getMetamodelElement_Classifier()
+ {
+ return (EReference)metamodelElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getMetamodelElement_Feature()
+ {
+ return (EReference)metamodelElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getMetamodelDeclaration()
+ {
+ return metamodelDeclarationEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getMetamodelDeclaration_Name()
+ {
+ return (EAttribute)metamodelDeclarationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getMetamodelDeclaration_Specification()
+ {
+ return (EReference)metamodelDeclarationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getMetamodelReference()
+ {
+ return metamodelReferenceEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getMetamodelReference_Referred()
+ {
+ return (EReference)metamodelReferenceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getMetamodel()
+ {
+ return metamodelEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public ApplicationConfigurationFactory getApplicationConfigurationFactory()
+ {
+ return (ApplicationConfigurationFactory)getEFactoryInstance();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ *
+ *
+ * @generated
+ */
+ public void createPackageContents()
+ {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ configurationScriptEClass = createEClass(CONFIGURATION_SCRIPT);
+ createEReference(configurationScriptEClass, CONFIGURATION_SCRIPT__IMPORTS);
+ createEReference(configurationScriptEClass, CONFIGURATION_SCRIPT__COMMANDS);
+
+ commandEClass = createEClass(COMMAND);
+
+ declarationEClass = createEClass(DECLARATION);
+
+ importEClass = createEClass(IMPORT);
+
+ ePackageImportEClass = createEClass(EPACKAGE_IMPORT);
+ createEReference(ePackageImportEClass, EPACKAGE_IMPORT__IMPORTED_PACKAGE);
+
+ viatraImportEClass = createEClass(VIATRA_IMPORT);
+ createEReference(viatraImportEClass, VIATRA_IMPORT__IMPORTED_VIATRA);
+
+ metamodelSpecificationEClass = createEClass(METAMODEL_SPECIFICATION);
+ createEReference(metamodelSpecificationEClass, METAMODEL_SPECIFICATION__ENTRIES);
+
+ metamodelEntryEClass = createEClass(METAMODEL_ENTRY);
+ createEReference(metamodelEntryEClass, METAMODEL_ENTRY__PACKAGE);
+
+ allPackageEntryEClass = createEClass(ALL_PACKAGE_ENTRY);
+ createEReference(allPackageEntryEClass, ALL_PACKAGE_ENTRY__EXCLUSION);
+
+ metamodelElementEClass = createEClass(METAMODEL_ELEMENT);
+ createEReference(metamodelElementEClass, METAMODEL_ELEMENT__CLASSIFIER);
+ createEReference(metamodelElementEClass, METAMODEL_ELEMENT__FEATURE);
+
+ metamodelDeclarationEClass = createEClass(METAMODEL_DECLARATION);
+ createEAttribute(metamodelDeclarationEClass, METAMODEL_DECLARATION__NAME);
+ createEReference(metamodelDeclarationEClass, METAMODEL_DECLARATION__SPECIFICATION);
+
+ metamodelReferenceEClass = createEClass(METAMODEL_REFERENCE);
+ createEReference(metamodelReferenceEClass, METAMODEL_REFERENCE__REFERRED);
+
+ metamodelEClass = createEClass(METAMODEL);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ *
+ *
+ * @generated
+ */
+ public void initializePackageContents()
+ {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ PatternLanguagePackage thePatternLanguagePackage = (PatternLanguagePackage)EPackage.Registry.INSTANCE.getEPackage(PatternLanguagePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ declarationEClass.getESuperTypes().add(this.getCommand());
+ ePackageImportEClass.getESuperTypes().add(this.getImport());
+ viatraImportEClass.getESuperTypes().add(this.getImport());
+ metamodelSpecificationEClass.getESuperTypes().add(this.getMetamodel());
+ allPackageEntryEClass.getESuperTypes().add(this.getMetamodelEntry());
+ metamodelElementEClass.getESuperTypes().add(this.getMetamodelEntry());
+ metamodelDeclarationEClass.getESuperTypes().add(this.getDeclaration());
+ metamodelReferenceEClass.getESuperTypes().add(this.getMetamodel());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(configurationScriptEClass, ConfigurationScript.class, "ConfigurationScript", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConfigurationScript_Imports(), this.getImport(), null, "imports", null, 0, -1, ConfigurationScript.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getConfigurationScript_Commands(), this.getCommand(), null, "commands", null, 0, -1, ConfigurationScript.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(commandEClass, Command.class, "Command", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(declarationEClass, Declaration.class, "Declaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(importEClass, Import.class, "Import", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(ePackageImportEClass, EPackageImport.class, "EPackageImport", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEPackageImport_ImportedPackage(), theEcorePackage.getEPackage(), null, "importedPackage", null, 0, 1, EPackageImport.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(viatraImportEClass, ViatraImport.class, "ViatraImport", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getViatraImport_ImportedViatra(), thePatternLanguagePackage.getPatternModel(), null, "importedViatra", null, 0, 1, ViatraImport.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(metamodelSpecificationEClass, MetamodelSpecification.class, "MetamodelSpecification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMetamodelSpecification_Entries(), this.getMetamodelEntry(), null, "entries", null, 0, -1, MetamodelSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(metamodelEntryEClass, MetamodelEntry.class, "MetamodelEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMetamodelEntry_Package(), theEcorePackage.getEPackage(), null, "package", null, 0, 1, MetamodelEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(allPackageEntryEClass, AllPackageEntry.class, "AllPackageEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAllPackageEntry_Exclusion(), this.getMetamodelElement(), null, "exclusion", null, 0, -1, AllPackageEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(metamodelElementEClass, MetamodelElement.class, "MetamodelElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMetamodelElement_Classifier(), theEcorePackage.getEClassifier(), null, "classifier", null, 0, 1, MetamodelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMetamodelElement_Feature(), theEcorePackage.getENamedElement(), null, "feature", null, 0, 1, MetamodelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(metamodelDeclarationEClass, MetamodelDeclaration.class, "MetamodelDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMetamodelDeclaration_Name(), theEcorePackage.getEString(), "name", null, 0, 1, MetamodelDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMetamodelDeclaration_Specification(), this.getMetamodelSpecification(), null, "specification", null, 0, 1, MetamodelDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(metamodelReferenceEClass, MetamodelReference.class, "MetamodelReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMetamodelReference_Referred(), this.getMetamodelDeclaration(), null, "referred", null, 0, 1, MetamodelReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(metamodelEClass, Metamodel.class, "Metamodel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //ApplicationConfigurationPackageImpl
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/CommandImpl.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/CommandImpl.java
new file mode 100644
index 00000000..2d4d95ba
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/CommandImpl.java
@@ -0,0 +1,43 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Command;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ *
+ * An implementation of the model object 'Command'.
+ *
+ *
+ * @generated
+ */
+public class CommandImpl extends MinimalEObjectImpl.Container implements Command
+{
+ /**
+ *
+ *
+ * @generated
+ */
+ protected CommandImpl()
+ {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ApplicationConfigurationPackage.Literals.COMMAND;
+ }
+
+} //CommandImpl
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ConfigurationScriptImpl.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ConfigurationScriptImpl.java
new file mode 100644
index 00000000..fcb0790a
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ConfigurationScriptImpl.java
@@ -0,0 +1,207 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Command;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Import;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ *
+ * An implementation of the model object 'Configuration Script'.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ConfigurationScriptImpl#getImports Imports}
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ConfigurationScriptImpl#getCommands Commands}
+ *
+ *
+ * @generated
+ */
+public class ConfigurationScriptImpl extends MinimalEObjectImpl.Container implements ConfigurationScript
+{
+ /**
+ * The cached value of the '{@link #getImports() Imports}' containment reference list.
+ *
+ *
+ * @see #getImports()
+ * @generated
+ * @ordered
+ */
+ protected EList imports;
+
+ /**
+ * The cached value of the '{@link #getCommands() Commands}' containment reference list.
+ *
+ *
+ * @see #getCommands()
+ * @generated
+ * @ordered
+ */
+ protected EList commands;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected ConfigurationScriptImpl()
+ {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ApplicationConfigurationPackage.Literals.CONFIGURATION_SCRIPT;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getImports()
+ {
+ if (imports == null)
+ {
+ imports = new EObjectContainmentEList(Import.class, this, ApplicationConfigurationPackage.CONFIGURATION_SCRIPT__IMPORTS);
+ }
+ return imports;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getCommands()
+ {
+ if (commands == null)
+ {
+ commands = new EObjectContainmentEList(Command.class, this, ApplicationConfigurationPackage.CONFIGURATION_SCRIPT__COMMANDS);
+ }
+ return commands;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.CONFIGURATION_SCRIPT__IMPORTS:
+ return ((InternalEList>)getImports()).basicRemove(otherEnd, msgs);
+ case ApplicationConfigurationPackage.CONFIGURATION_SCRIPT__COMMANDS:
+ return ((InternalEList>)getCommands()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.CONFIGURATION_SCRIPT__IMPORTS:
+ return getImports();
+ case ApplicationConfigurationPackage.CONFIGURATION_SCRIPT__COMMANDS:
+ return getCommands();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.CONFIGURATION_SCRIPT__IMPORTS:
+ getImports().clear();
+ getImports().addAll((Collection extends Import>)newValue);
+ return;
+ case ApplicationConfigurationPackage.CONFIGURATION_SCRIPT__COMMANDS:
+ getCommands().clear();
+ getCommands().addAll((Collection extends Command>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.CONFIGURATION_SCRIPT__IMPORTS:
+ getImports().clear();
+ return;
+ case ApplicationConfigurationPackage.CONFIGURATION_SCRIPT__COMMANDS:
+ getCommands().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.CONFIGURATION_SCRIPT__IMPORTS:
+ return imports != null && !imports.isEmpty();
+ case ApplicationConfigurationPackage.CONFIGURATION_SCRIPT__COMMANDS:
+ return commands != null && !commands.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ConfigurationScriptImpl
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/DeclarationImpl.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/DeclarationImpl.java
new file mode 100644
index 00000000..a2124cde
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/DeclarationImpl.java
@@ -0,0 +1,41 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Declaration;
+
+import org.eclipse.emf.ecore.EClass;
+
+/**
+ *
+ * An implementation of the model object 'Declaration'.
+ *
+ *
+ * @generated
+ */
+public class DeclarationImpl extends CommandImpl implements Declaration
+{
+ /**
+ *
+ *
+ * @generated
+ */
+ protected DeclarationImpl()
+ {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ApplicationConfigurationPackage.Literals.DECLARATION;
+ }
+
+} //DeclarationImpl
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/EPackageImportImpl.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/EPackageImportImpl.java
new file mode 100644
index 00000000..f54c9ac4
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/EPackageImportImpl.java
@@ -0,0 +1,173 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ *
+ * An implementation of the model object 'EPackage Import'.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.EPackageImportImpl#getImportedPackage Imported Package}
+ *
+ *
+ * @generated
+ */
+public class EPackageImportImpl extends ImportImpl implements EPackageImport
+{
+ /**
+ * The cached value of the '{@link #getImportedPackage() Imported Package}' reference.
+ *
+ *
+ * @see #getImportedPackage()
+ * @generated
+ * @ordered
+ */
+ protected EPackage importedPackage;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected EPackageImportImpl()
+ {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ApplicationConfigurationPackage.Literals.EPACKAGE_IMPORT;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EPackage getImportedPackage()
+ {
+ if (importedPackage != null && importedPackage.eIsProxy())
+ {
+ InternalEObject oldImportedPackage = (InternalEObject)importedPackage;
+ importedPackage = (EPackage)eResolveProxy(oldImportedPackage);
+ if (importedPackage != oldImportedPackage)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ApplicationConfigurationPackage.EPACKAGE_IMPORT__IMPORTED_PACKAGE, oldImportedPackage, importedPackage));
+ }
+ }
+ return importedPackage;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EPackage basicGetImportedPackage()
+ {
+ return importedPackage;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setImportedPackage(EPackage newImportedPackage)
+ {
+ EPackage oldImportedPackage = importedPackage;
+ importedPackage = newImportedPackage;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApplicationConfigurationPackage.EPACKAGE_IMPORT__IMPORTED_PACKAGE, oldImportedPackage, importedPackage));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.EPACKAGE_IMPORT__IMPORTED_PACKAGE:
+ if (resolve) return getImportedPackage();
+ return basicGetImportedPackage();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.EPACKAGE_IMPORT__IMPORTED_PACKAGE:
+ setImportedPackage((EPackage)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.EPACKAGE_IMPORT__IMPORTED_PACKAGE:
+ setImportedPackage((EPackage)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.EPACKAGE_IMPORT__IMPORTED_PACKAGE:
+ return importedPackage != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //EPackageImportImpl
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ImportImpl.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ImportImpl.java
new file mode 100644
index 00000000..feac4c1e
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ImportImpl.java
@@ -0,0 +1,43 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Import;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ *
+ * An implementation of the model object 'Import'.
+ *
+ *
+ * @generated
+ */
+public class ImportImpl extends MinimalEObjectImpl.Container implements Import
+{
+ /**
+ *
+ *
+ * @generated
+ */
+ protected ImportImpl()
+ {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ApplicationConfigurationPackage.Literals.IMPORT;
+ }
+
+} //ImportImpl
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelDeclarationImpl.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelDeclarationImpl.java
new file mode 100644
index 00000000..3458c16a
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelDeclarationImpl.java
@@ -0,0 +1,265 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ *
+ * An implementation of the model object 'Metamodel Declaration'.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelDeclarationImpl#getName Name}
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelDeclarationImpl#getSpecification Specification}
+ *
+ *
+ * @generated
+ */
+public class MetamodelDeclarationImpl extends DeclarationImpl implements MetamodelDeclaration
+{
+ /**
+ * The default value of the '{@link #getName() Name}' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() Name}' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSpecification() Specification}' containment reference.
+ *
+ *
+ * @see #getSpecification()
+ * @generated
+ * @ordered
+ */
+ protected MetamodelSpecification specification;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected MetamodelDeclarationImpl()
+ {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ApplicationConfigurationPackage.Literals.METAMODEL_DECLARATION;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApplicationConfigurationPackage.METAMODEL_DECLARATION__NAME, oldName, name));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public MetamodelSpecification getSpecification()
+ {
+ return specification;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public NotificationChain basicSetSpecification(MetamodelSpecification newSpecification, NotificationChain msgs)
+ {
+ MetamodelSpecification oldSpecification = specification;
+ specification = newSpecification;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ApplicationConfigurationPackage.METAMODEL_DECLARATION__SPECIFICATION, oldSpecification, newSpecification);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setSpecification(MetamodelSpecification newSpecification)
+ {
+ if (newSpecification != specification)
+ {
+ NotificationChain msgs = null;
+ if (specification != null)
+ msgs = ((InternalEObject)specification).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ApplicationConfigurationPackage.METAMODEL_DECLARATION__SPECIFICATION, null, msgs);
+ if (newSpecification != null)
+ msgs = ((InternalEObject)newSpecification).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ApplicationConfigurationPackage.METAMODEL_DECLARATION__SPECIFICATION, null, msgs);
+ msgs = basicSetSpecification(newSpecification, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApplicationConfigurationPackage.METAMODEL_DECLARATION__SPECIFICATION, newSpecification, newSpecification));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_DECLARATION__SPECIFICATION:
+ return basicSetSpecification(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_DECLARATION__NAME:
+ return getName();
+ case ApplicationConfigurationPackage.METAMODEL_DECLARATION__SPECIFICATION:
+ return getSpecification();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_DECLARATION__NAME:
+ setName((String)newValue);
+ return;
+ case ApplicationConfigurationPackage.METAMODEL_DECLARATION__SPECIFICATION:
+ setSpecification((MetamodelSpecification)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_DECLARATION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ApplicationConfigurationPackage.METAMODEL_DECLARATION__SPECIFICATION:
+ setSpecification((MetamodelSpecification)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_DECLARATION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ApplicationConfigurationPackage.METAMODEL_DECLARATION__SPECIFICATION:
+ return specification != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MetamodelDeclarationImpl
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelElementImpl.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelElementImpl.java
new file mode 100644
index 00000000..9daa07d6
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelElementImpl.java
@@ -0,0 +1,239 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ *
+ * An implementation of the model object 'Metamodel Element'.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelElementImpl#getClassifier Classifier}
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelElementImpl#getFeature Feature}
+ *
+ *
+ * @generated
+ */
+public class MetamodelElementImpl extends MetamodelEntryImpl implements MetamodelElement
+{
+ /**
+ * The cached value of the '{@link #getClassifier() Classifier}' reference.
+ *
+ *
+ * @see #getClassifier()
+ * @generated
+ * @ordered
+ */
+ protected EClassifier classifier;
+
+ /**
+ * The cached value of the '{@link #getFeature() Feature}' reference.
+ *
+ *
+ * @see #getFeature()
+ * @generated
+ * @ordered
+ */
+ protected ENamedElement feature;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected MetamodelElementImpl()
+ {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ApplicationConfigurationPackage.Literals.METAMODEL_ELEMENT;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClassifier getClassifier()
+ {
+ if (classifier != null && classifier.eIsProxy())
+ {
+ InternalEObject oldClassifier = (InternalEObject)classifier;
+ classifier = (EClassifier)eResolveProxy(oldClassifier);
+ if (classifier != oldClassifier)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ApplicationConfigurationPackage.METAMODEL_ELEMENT__CLASSIFIER, oldClassifier, classifier));
+ }
+ }
+ return classifier;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClassifier basicGetClassifier()
+ {
+ return classifier;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setClassifier(EClassifier newClassifier)
+ {
+ EClassifier oldClassifier = classifier;
+ classifier = newClassifier;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApplicationConfigurationPackage.METAMODEL_ELEMENT__CLASSIFIER, oldClassifier, classifier));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public ENamedElement getFeature()
+ {
+ if (feature != null && feature.eIsProxy())
+ {
+ InternalEObject oldFeature = (InternalEObject)feature;
+ feature = (ENamedElement)eResolveProxy(oldFeature);
+ if (feature != oldFeature)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ApplicationConfigurationPackage.METAMODEL_ELEMENT__FEATURE, oldFeature, feature));
+ }
+ }
+ return feature;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public ENamedElement basicGetFeature()
+ {
+ return feature;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setFeature(ENamedElement newFeature)
+ {
+ ENamedElement oldFeature = feature;
+ feature = newFeature;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApplicationConfigurationPackage.METAMODEL_ELEMENT__FEATURE, oldFeature, feature));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_ELEMENT__CLASSIFIER:
+ if (resolve) return getClassifier();
+ return basicGetClassifier();
+ case ApplicationConfigurationPackage.METAMODEL_ELEMENT__FEATURE:
+ if (resolve) return getFeature();
+ return basicGetFeature();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_ELEMENT__CLASSIFIER:
+ setClassifier((EClassifier)newValue);
+ return;
+ case ApplicationConfigurationPackage.METAMODEL_ELEMENT__FEATURE:
+ setFeature((ENamedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_ELEMENT__CLASSIFIER:
+ setClassifier((EClassifier)null);
+ return;
+ case ApplicationConfigurationPackage.METAMODEL_ELEMENT__FEATURE:
+ setFeature((ENamedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_ELEMENT__CLASSIFIER:
+ return classifier != null;
+ case ApplicationConfigurationPackage.METAMODEL_ELEMENT__FEATURE:
+ return feature != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MetamodelElementImpl
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelEntryImpl.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelEntryImpl.java
new file mode 100644
index 00000000..48a2cef3
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelEntryImpl.java
@@ -0,0 +1,174 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ *
+ * An implementation of the model object 'Metamodel Entry'.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelEntryImpl#getPackage Package}
+ *
+ *
+ * @generated
+ */
+public class MetamodelEntryImpl extends MinimalEObjectImpl.Container implements MetamodelEntry
+{
+ /**
+ * The cached value of the '{@link #getPackage() Package}' reference.
+ *
+ *
+ * @see #getPackage()
+ * @generated
+ * @ordered
+ */
+ protected EPackage package_;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected MetamodelEntryImpl()
+ {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ApplicationConfigurationPackage.Literals.METAMODEL_ENTRY;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EPackage getPackage()
+ {
+ if (package_ != null && package_.eIsProxy())
+ {
+ InternalEObject oldPackage = (InternalEObject)package_;
+ package_ = (EPackage)eResolveProxy(oldPackage);
+ if (package_ != oldPackage)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ApplicationConfigurationPackage.METAMODEL_ENTRY__PACKAGE, oldPackage, package_));
+ }
+ }
+ return package_;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EPackage basicGetPackage()
+ {
+ return package_;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setPackage(EPackage newPackage)
+ {
+ EPackage oldPackage = package_;
+ package_ = newPackage;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApplicationConfigurationPackage.METAMODEL_ENTRY__PACKAGE, oldPackage, package_));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_ENTRY__PACKAGE:
+ if (resolve) return getPackage();
+ return basicGetPackage();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_ENTRY__PACKAGE:
+ setPackage((EPackage)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_ENTRY__PACKAGE:
+ setPackage((EPackage)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_ENTRY__PACKAGE:
+ return package_ != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MetamodelEntryImpl
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelImpl.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelImpl.java
new file mode 100644
index 00000000..40b6adc4
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelImpl.java
@@ -0,0 +1,43 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Metamodel;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ *
+ * An implementation of the model object 'Metamodel'.
+ *
+ *
+ * @generated
+ */
+public class MetamodelImpl extends MinimalEObjectImpl.Container implements Metamodel
+{
+ /**
+ *
+ *
+ * @generated
+ */
+ protected MetamodelImpl()
+ {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ApplicationConfigurationPackage.Literals.METAMODEL;
+ }
+
+} //MetamodelImpl
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelReferenceImpl.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelReferenceImpl.java
new file mode 100644
index 00000000..ea7bb0f3
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelReferenceImpl.java
@@ -0,0 +1,173 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ *
+ * An implementation of the model object 'Metamodel Reference'.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelReferenceImpl#getReferred Referred}
+ *
+ *
+ * @generated
+ */
+public class MetamodelReferenceImpl extends MetamodelImpl implements MetamodelReference
+{
+ /**
+ * The cached value of the '{@link #getReferred() Referred}' reference.
+ *
+ *
+ * @see #getReferred()
+ * @generated
+ * @ordered
+ */
+ protected MetamodelDeclaration referred;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected MetamodelReferenceImpl()
+ {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ApplicationConfigurationPackage.Literals.METAMODEL_REFERENCE;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public MetamodelDeclaration getReferred()
+ {
+ if (referred != null && referred.eIsProxy())
+ {
+ InternalEObject oldReferred = (InternalEObject)referred;
+ referred = (MetamodelDeclaration)eResolveProxy(oldReferred);
+ if (referred != oldReferred)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ApplicationConfigurationPackage.METAMODEL_REFERENCE__REFERRED, oldReferred, referred));
+ }
+ }
+ return referred;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public MetamodelDeclaration basicGetReferred()
+ {
+ return referred;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setReferred(MetamodelDeclaration newReferred)
+ {
+ MetamodelDeclaration oldReferred = referred;
+ referred = newReferred;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApplicationConfigurationPackage.METAMODEL_REFERENCE__REFERRED, oldReferred, referred));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_REFERENCE__REFERRED:
+ if (resolve) return getReferred();
+ return basicGetReferred();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_REFERENCE__REFERRED:
+ setReferred((MetamodelDeclaration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_REFERENCE__REFERRED:
+ setReferred((MetamodelDeclaration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_REFERENCE__REFERRED:
+ return referred != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MetamodelReferenceImpl
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelSpecificationImpl.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelSpecificationImpl.java
new file mode 100644
index 00000000..36a86f81
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/MetamodelSpecificationImpl.java
@@ -0,0 +1,166 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ *
+ * An implementation of the model object 'Metamodel Specification'.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.MetamodelSpecificationImpl#getEntries Entries}
+ *
+ *
+ * @generated
+ */
+public class MetamodelSpecificationImpl extends MetamodelImpl implements MetamodelSpecification
+{
+ /**
+ * The cached value of the '{@link #getEntries() Entries}' containment reference list.
+ *
+ *
+ * @see #getEntries()
+ * @generated
+ * @ordered
+ */
+ protected EList entries;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected MetamodelSpecificationImpl()
+ {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ApplicationConfigurationPackage.Literals.METAMODEL_SPECIFICATION;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getEntries()
+ {
+ if (entries == null)
+ {
+ entries = new EObjectContainmentEList(MetamodelEntry.class, this, ApplicationConfigurationPackage.METAMODEL_SPECIFICATION__ENTRIES);
+ }
+ return entries;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_SPECIFICATION__ENTRIES:
+ return ((InternalEList>)getEntries()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_SPECIFICATION__ENTRIES:
+ return getEntries();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_SPECIFICATION__ENTRIES:
+ getEntries().clear();
+ getEntries().addAll((Collection extends MetamodelEntry>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_SPECIFICATION__ENTRIES:
+ getEntries().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.METAMODEL_SPECIFICATION__ENTRIES:
+ return entries != null && !entries.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MetamodelSpecificationImpl
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ViatraImportImpl.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ViatraImportImpl.java
new file mode 100644
index 00000000..69f12f97
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/impl/ViatraImportImpl.java
@@ -0,0 +1,174 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.viatra.query.patternlanguage.patternLanguage.PatternModel;
+
+/**
+ *
+ * An implementation of the model object 'Viatra Import'.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * - {@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.impl.ViatraImportImpl#getImportedViatra Imported Viatra}
+ *
+ *
+ * @generated
+ */
+public class ViatraImportImpl extends ImportImpl implements ViatraImport
+{
+ /**
+ * The cached value of the '{@link #getImportedViatra() Imported Viatra}' reference.
+ *
+ *
+ * @see #getImportedViatra()
+ * @generated
+ * @ordered
+ */
+ protected PatternModel importedViatra;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected ViatraImportImpl()
+ {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ApplicationConfigurationPackage.Literals.VIATRA_IMPORT;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public PatternModel getImportedViatra()
+ {
+ if (importedViatra != null && importedViatra.eIsProxy())
+ {
+ InternalEObject oldImportedViatra = (InternalEObject)importedViatra;
+ importedViatra = (PatternModel)eResolveProxy(oldImportedViatra);
+ if (importedViatra != oldImportedViatra)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ApplicationConfigurationPackage.VIATRA_IMPORT__IMPORTED_VIATRA, oldImportedViatra, importedViatra));
+ }
+ }
+ return importedViatra;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public PatternModel basicGetImportedViatra()
+ {
+ return importedViatra;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setImportedViatra(PatternModel newImportedViatra)
+ {
+ PatternModel oldImportedViatra = importedViatra;
+ importedViatra = newImportedViatra;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ApplicationConfigurationPackage.VIATRA_IMPORT__IMPORTED_VIATRA, oldImportedViatra, importedViatra));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.VIATRA_IMPORT__IMPORTED_VIATRA:
+ if (resolve) return getImportedViatra();
+ return basicGetImportedViatra();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.VIATRA_IMPORT__IMPORTED_VIATRA:
+ setImportedViatra((PatternModel)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.VIATRA_IMPORT__IMPORTED_VIATRA:
+ setImportedViatra((PatternModel)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ApplicationConfigurationPackage.VIATRA_IMPORT__IMPORTED_VIATRA:
+ return importedViatra != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ViatraImportImpl
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/util/ApplicationConfigurationAdapterFactory.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/util/ApplicationConfigurationAdapterFactory.java
new file mode 100644
index 00000000..67d9c396
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/util/ApplicationConfigurationAdapterFactory.java
@@ -0,0 +1,373 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.util;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.*;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ *
+ * The Adapter Factory for the model.
+ * It provides an adapter createXXX
method for each class of the model.
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage
+ * @generated
+ */
+public class ApplicationConfigurationAdapterFactory extends AdapterFactoryImpl
+{
+ /**
+ * The cached model package.
+ *
+ *
+ * @generated
+ */
+ protected static ApplicationConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ *
+ *
+ * @generated
+ */
+ public ApplicationConfigurationAdapterFactory()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = ApplicationConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ *
+ * This implementation returns true
if the object is either the model's package or is an instance object of the model.
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object)
+ {
+ if (object == modelPackage)
+ {
+ return true;
+ }
+ if (object instanceof EObject)
+ {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the createXXX
methods.
+ *
+ *
+ * @generated
+ */
+ protected ApplicationConfigurationSwitch modelSwitch =
+ new ApplicationConfigurationSwitch()
+ {
+ @Override
+ public Adapter caseConfigurationScript(ConfigurationScript object)
+ {
+ return createConfigurationScriptAdapter();
+ }
+ @Override
+ public Adapter caseCommand(Command object)
+ {
+ return createCommandAdapter();
+ }
+ @Override
+ public Adapter caseDeclaration(Declaration object)
+ {
+ return createDeclarationAdapter();
+ }
+ @Override
+ public Adapter caseImport(Import object)
+ {
+ return createImportAdapter();
+ }
+ @Override
+ public Adapter caseEPackageImport(EPackageImport object)
+ {
+ return createEPackageImportAdapter();
+ }
+ @Override
+ public Adapter caseViatraImport(ViatraImport object)
+ {
+ return createViatraImportAdapter();
+ }
+ @Override
+ public Adapter caseMetamodelSpecification(MetamodelSpecification object)
+ {
+ return createMetamodelSpecificationAdapter();
+ }
+ @Override
+ public Adapter caseMetamodelEntry(MetamodelEntry object)
+ {
+ return createMetamodelEntryAdapter();
+ }
+ @Override
+ public Adapter caseAllPackageEntry(AllPackageEntry object)
+ {
+ return createAllPackageEntryAdapter();
+ }
+ @Override
+ public Adapter caseMetamodelElement(MetamodelElement object)
+ {
+ return createMetamodelElementAdapter();
+ }
+ @Override
+ public Adapter caseMetamodelDeclaration(MetamodelDeclaration object)
+ {
+ return createMetamodelDeclarationAdapter();
+ }
+ @Override
+ public Adapter caseMetamodelReference(MetamodelReference object)
+ {
+ return createMetamodelReferenceAdapter();
+ }
+ @Override
+ public Adapter caseMetamodel(Metamodel object)
+ {
+ return createMetamodelAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object)
+ {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the target
.
+ *
+ *
+ * @param target the object to adapt.
+ * @return the adapter for the target
.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target)
+ {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript Configuration Script}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript
+ * @generated
+ */
+ public Adapter createConfigurationScriptAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Command Command}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Command
+ * @generated
+ */
+ public Adapter createCommandAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Declaration Declaration}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Declaration
+ * @generated
+ */
+ public Adapter createDeclarationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Import Import}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Import
+ * @generated
+ */
+ public Adapter createImportAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport EPackage Import}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport
+ * @generated
+ */
+ public Adapter createEPackageImportAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport Viatra Import}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport
+ * @generated
+ */
+ public Adapter createViatraImportAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification Metamodel Specification}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification
+ * @generated
+ */
+ public Adapter createMetamodelSpecificationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry Metamodel Entry}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry
+ * @generated
+ */
+ public Adapter createMetamodelEntryAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry All Package Entry}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry
+ * @generated
+ */
+ public Adapter createAllPackageEntryAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement Metamodel Element}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement
+ * @generated
+ */
+ public Adapter createMetamodelElementAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration Metamodel Declaration}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration
+ * @generated
+ */
+ public Adapter createMetamodelDeclarationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference Metamodel Reference}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference
+ * @generated
+ */
+ public Adapter createMetamodelReferenceAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Metamodel Metamodel}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Metamodel
+ * @generated
+ */
+ public Adapter createMetamodelAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ *
+ * This default implementation returns null.
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter()
+ {
+ return null;
+ }
+
+} //ApplicationConfigurationAdapterFactory
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/util/ApplicationConfigurationSwitch.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/util/ApplicationConfigurationSwitch.java
new file mode 100644
index 00000000..673ffe08
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/applicationConfiguration/util/ApplicationConfigurationSwitch.java
@@ -0,0 +1,405 @@
+/**
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.util;
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.*;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+/**
+ *
+ * The Switch for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the caseXXX
method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ *
+ * @see hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage
+ * @generated
+ */
+public class ApplicationConfigurationSwitch extends Switch
+{
+ /**
+ * The cached model package
+ *
+ *
+ * @generated
+ */
+ protected static ApplicationConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ *
+ *
+ * @generated
+ */
+ public ApplicationConfigurationSwitch()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = ApplicationConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ *
+ *
+ * @param ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage)
+ {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls caseXXX
for each class of the model until one returns a non null result; it yields that result.
+ *
+ *
+ * @return the first non-null result returned by a caseXXX
call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject)
+ {
+ switch (classifierID)
+ {
+ case ApplicationConfigurationPackage.CONFIGURATION_SCRIPT:
+ {
+ ConfigurationScript configurationScript = (ConfigurationScript)theEObject;
+ T result = caseConfigurationScript(configurationScript);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApplicationConfigurationPackage.COMMAND:
+ {
+ Command command = (Command)theEObject;
+ T result = caseCommand(command);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApplicationConfigurationPackage.DECLARATION:
+ {
+ Declaration declaration = (Declaration)theEObject;
+ T result = caseDeclaration(declaration);
+ if (result == null) result = caseCommand(declaration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApplicationConfigurationPackage.IMPORT:
+ {
+ Import import_ = (Import)theEObject;
+ T result = caseImport(import_);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApplicationConfigurationPackage.EPACKAGE_IMPORT:
+ {
+ EPackageImport ePackageImport = (EPackageImport)theEObject;
+ T result = caseEPackageImport(ePackageImport);
+ if (result == null) result = caseImport(ePackageImport);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApplicationConfigurationPackage.VIATRA_IMPORT:
+ {
+ ViatraImport viatraImport = (ViatraImport)theEObject;
+ T result = caseViatraImport(viatraImport);
+ if (result == null) result = caseImport(viatraImport);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApplicationConfigurationPackage.METAMODEL_SPECIFICATION:
+ {
+ MetamodelSpecification metamodelSpecification = (MetamodelSpecification)theEObject;
+ T result = caseMetamodelSpecification(metamodelSpecification);
+ if (result == null) result = caseMetamodel(metamodelSpecification);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApplicationConfigurationPackage.METAMODEL_ENTRY:
+ {
+ MetamodelEntry metamodelEntry = (MetamodelEntry)theEObject;
+ T result = caseMetamodelEntry(metamodelEntry);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApplicationConfigurationPackage.ALL_PACKAGE_ENTRY:
+ {
+ AllPackageEntry allPackageEntry = (AllPackageEntry)theEObject;
+ T result = caseAllPackageEntry(allPackageEntry);
+ if (result == null) result = caseMetamodelEntry(allPackageEntry);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApplicationConfigurationPackage.METAMODEL_ELEMENT:
+ {
+ MetamodelElement metamodelElement = (MetamodelElement)theEObject;
+ T result = caseMetamodelElement(metamodelElement);
+ if (result == null) result = caseMetamodelEntry(metamodelElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApplicationConfigurationPackage.METAMODEL_DECLARATION:
+ {
+ MetamodelDeclaration metamodelDeclaration = (MetamodelDeclaration)theEObject;
+ T result = caseMetamodelDeclaration(metamodelDeclaration);
+ if (result == null) result = caseDeclaration(metamodelDeclaration);
+ if (result == null) result = caseCommand(metamodelDeclaration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApplicationConfigurationPackage.METAMODEL_REFERENCE:
+ {
+ MetamodelReference metamodelReference = (MetamodelReference)theEObject;
+ T result = caseMetamodelReference(metamodelReference);
+ if (result == null) result = caseMetamodel(metamodelReference);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ApplicationConfigurationPackage.METAMODEL:
+ {
+ Metamodel metamodel = (Metamodel)theEObject;
+ T result = caseMetamodel(metamodel);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Configuration Script'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Configuration Script'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfigurationScript(ConfigurationScript object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Command'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Command'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCommand(Command object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Declaration'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Declaration'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDeclaration(Declaration object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Import'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Import'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImport(Import object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'EPackage Import'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'EPackage Import'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEPackageImport(EPackageImport object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Viatra Import'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Viatra Import'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseViatraImport(ViatraImport object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Metamodel Specification'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Metamodel Specification'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMetamodelSpecification(MetamodelSpecification object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Metamodel Entry'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Metamodel Entry'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMetamodelEntry(MetamodelEntry object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'All Package Entry'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'All Package Entry'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAllPackageEntry(AllPackageEntry object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Metamodel Element'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Metamodel Element'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMetamodelElement(MetamodelElement object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Metamodel Declaration'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Metamodel Declaration'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMetamodelDeclaration(MetamodelDeclaration object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Metamodel Reference'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Metamodel Reference'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMetamodelReference(MetamodelReference object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Metamodel'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Metamodel'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMetamodel(Metamodel object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'EObject'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'EObject'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object)
+ {
+ return null;
+ }
+
+} //ApplicationConfigurationSwitch
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/ApplicationConfigurationAntlrTokenFileProvider.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/ApplicationConfigurationAntlrTokenFileProvider.java
new file mode 100644
index 00000000..5af7ceb7
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/ApplicationConfigurationAntlrTokenFileProvider.java
@@ -0,0 +1,16 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.parser.antlr;
+
+import java.io.InputStream;
+import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
+
+public class ApplicationConfigurationAntlrTokenFileProvider implements IAntlrTokenFileProvider {
+
+ @Override
+ public InputStream getAntlrTokenFile() {
+ ClassLoader classLoader = getClass().getClassLoader();
+ return classLoader.getResourceAsStream("hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.tokens");
+ }
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/ApplicationConfigurationParser.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/ApplicationConfigurationParser.java
new file mode 100644
index 00000000..9d916b49
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/ApplicationConfigurationParser.java
@@ -0,0 +1,40 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.parser.antlr;
+
+import com.google.inject.Inject;
+import hu.bme.mit.inf.dslreasoner.application.parser.antlr.internal.InternalApplicationConfigurationParser;
+import hu.bme.mit.inf.dslreasoner.application.services.ApplicationConfigurationGrammarAccess;
+import org.eclipse.xtext.parser.antlr.AbstractAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+
+public class ApplicationConfigurationParser extends AbstractAntlrParser {
+
+ @Inject
+ private ApplicationConfigurationGrammarAccess grammarAccess;
+
+ @Override
+ protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
+ tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+ }
+
+
+ @Override
+ protected InternalApplicationConfigurationParser createParser(XtextTokenStream stream) {
+ return new InternalApplicationConfigurationParser(stream, getGrammarAccess());
+ }
+
+ @Override
+ protected String getDefaultRuleName() {
+ return "ConfigurationScript";
+ }
+
+ public ApplicationConfigurationGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(ApplicationConfigurationGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.g b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.g
new file mode 100644
index 00000000..f7f57fab
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.g
@@ -0,0 +1,659 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+grammar InternalApplicationConfiguration;
+
+options {
+ superClass=AbstractInternalAntlrParser;
+}
+
+@lexer::header {
+package hu.bme.mit.inf.dslreasoner.application.parser.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.parser.antlr.Lexer;
+}
+
+@parser::header {
+package hu.bme.mit.inf.dslreasoner.application.parser.antlr.internal;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import hu.bme.mit.inf.dslreasoner.application.services.ApplicationConfigurationGrammarAccess;
+
+}
+
+@parser::members {
+
+ private ApplicationConfigurationGrammarAccess grammarAccess;
+
+ public InternalApplicationConfigurationParser(TokenStream input, ApplicationConfigurationGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "ConfigurationScript";
+ }
+
+ @Override
+ protected ApplicationConfigurationGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+
+}
+
+@rulecatch {
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+}
+
+// Entry rule entryRuleConfigurationScript
+entryRuleConfigurationScript returns [EObject current=null]:
+ { newCompositeNode(grammarAccess.getConfigurationScriptRule()); }
+ iv_ruleConfigurationScript=ruleConfigurationScript
+ { $current=$iv_ruleConfigurationScript.current; }
+ EOF;
+
+// Rule ConfigurationScript
+ruleConfigurationScript returns [EObject current=null]
+@init {
+ enterRule();
+}
+@after {
+ leaveRule();
+}:
+ (
+ (
+ (
+ {
+ newCompositeNode(grammarAccess.getConfigurationScriptAccess().getImportsImportParserRuleCall_0_0());
+ }
+ lv_imports_0_0=ruleImport
+ {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getConfigurationScriptRule());
+ }
+ add(
+ $current,
+ "imports",
+ lv_imports_0_0,
+ "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.Import");
+ afterParserOrEnumRuleCall();
+ }
+ )
+ )*
+ (
+ (
+ {
+ newCompositeNode(grammarAccess.getConfigurationScriptAccess().getCommandsCommandParserRuleCall_1_0());
+ }
+ lv_commands_1_0=ruleCommand
+ {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getConfigurationScriptRule());
+ }
+ add(
+ $current,
+ "commands",
+ lv_commands_1_0,
+ "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.Command");
+ afterParserOrEnumRuleCall();
+ }
+ )
+ )*
+ )
+;
+
+// Entry rule entryRuleCommand
+entryRuleCommand returns [EObject current=null]:
+ { newCompositeNode(grammarAccess.getCommandRule()); }
+ iv_ruleCommand=ruleCommand
+ { $current=$iv_ruleCommand.current; }
+ EOF;
+
+// Rule Command
+ruleCommand returns [EObject current=null]
+@init {
+ enterRule();
+}
+@after {
+ leaveRule();
+}:
+ {
+ newCompositeNode(grammarAccess.getCommandAccess().getDeclarationParserRuleCall());
+ }
+ this_Declaration_0=ruleDeclaration
+ {
+ $current = $this_Declaration_0.current;
+ afterParserOrEnumRuleCall();
+ }
+;
+
+// Entry rule entryRuleDeclaration
+entryRuleDeclaration returns [EObject current=null]:
+ { newCompositeNode(grammarAccess.getDeclarationRule()); }
+ iv_ruleDeclaration=ruleDeclaration
+ { $current=$iv_ruleDeclaration.current; }
+ EOF;
+
+// Rule Declaration
+ruleDeclaration returns [EObject current=null]
+@init {
+ enterRule();
+}
+@after {
+ leaveRule();
+}:
+ {
+ newCompositeNode(grammarAccess.getDeclarationAccess().getMetamodelDeclarationParserRuleCall());
+ }
+ this_MetamodelDeclaration_0=ruleMetamodelDeclaration
+ {
+ $current = $this_MetamodelDeclaration_0.current;
+ afterParserOrEnumRuleCall();
+ }
+;
+
+// Entry rule entryRuleImport
+entryRuleImport returns [EObject current=null]:
+ { newCompositeNode(grammarAccess.getImportRule()); }
+ iv_ruleImport=ruleImport
+ { $current=$iv_ruleImport.current; }
+ EOF;
+
+// Rule Import
+ruleImport returns [EObject current=null]
+@init {
+ enterRule();
+}
+@after {
+ leaveRule();
+}:
+ (
+ {
+ newCompositeNode(grammarAccess.getImportAccess().getEPackageImportParserRuleCall_0());
+ }
+ this_EPackageImport_0=ruleEPackageImport
+ {
+ $current = $this_EPackageImport_0.current;
+ afterParserOrEnumRuleCall();
+ }
+ |
+ {
+ newCompositeNode(grammarAccess.getImportAccess().getViatraImportParserRuleCall_1());
+ }
+ this_ViatraImport_1=ruleViatraImport
+ {
+ $current = $this_ViatraImport_1.current;
+ afterParserOrEnumRuleCall();
+ }
+ )
+;
+
+// Entry rule entryRuleEPackageImport
+entryRuleEPackageImport returns [EObject current=null]:
+ { newCompositeNode(grammarAccess.getEPackageImportRule()); }
+ iv_ruleEPackageImport=ruleEPackageImport
+ { $current=$iv_ruleEPackageImport.current; }
+ EOF;
+
+// Rule EPackageImport
+ruleEPackageImport returns [EObject current=null]
+@init {
+ enterRule();
+}
+@after {
+ leaveRule();
+}:
+ (
+ otherlv_0='import'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getEPackageImportAccess().getImportKeyword_0());
+ }
+ otherlv_1='epackage'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getEPackageImportAccess().getEpackageKeyword_1());
+ }
+ (
+ (
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getEPackageImportRule());
+ }
+ }
+ otherlv_2=RULE_STRING
+ {
+ newLeafNode(otherlv_2, grammarAccess.getEPackageImportAccess().getImportedPackageEPackageCrossReference_2_0());
+ }
+ )
+ )
+ )
+;
+
+// Entry rule entryRuleViatraImport
+entryRuleViatraImport returns [EObject current=null]:
+ { newCompositeNode(grammarAccess.getViatraImportRule()); }
+ iv_ruleViatraImport=ruleViatraImport
+ { $current=$iv_ruleViatraImport.current; }
+ EOF;
+
+// Rule ViatraImport
+ruleViatraImport returns [EObject current=null]
+@init {
+ enterRule();
+}
+@after {
+ leaveRule();
+}:
+ (
+ otherlv_0='import'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getViatraImportAccess().getImportKeyword_0());
+ }
+ otherlv_1='viatra'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getViatraImportAccess().getViatraKeyword_1());
+ }
+ (
+ (
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getViatraImportRule());
+ }
+ }
+ otherlv_2=RULE_STRING
+ {
+ newLeafNode(otherlv_2, grammarAccess.getViatraImportAccess().getImportedViatraPatternModelCrossReference_2_0());
+ }
+ )
+ )
+ )
+;
+
+// Entry rule entryRuleMetamodelSpecification
+entryRuleMetamodelSpecification returns [EObject current=null]:
+ { newCompositeNode(grammarAccess.getMetamodelSpecificationRule()); }
+ iv_ruleMetamodelSpecification=ruleMetamodelSpecification
+ { $current=$iv_ruleMetamodelSpecification.current; }
+ EOF;
+
+// Rule MetamodelSpecification
+ruleMetamodelSpecification returns [EObject current=null]
+@init {
+ enterRule();
+}
+@after {
+ leaveRule();
+}:
+ (
+ otherlv_0='{'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getMetamodelSpecificationAccess().getLeftCurlyBracketKeyword_0());
+ }
+ (
+ (
+ {
+ newCompositeNode(grammarAccess.getMetamodelSpecificationAccess().getEntriesMetamodelEntryParserRuleCall_1_0());
+ }
+ lv_entries_1_0=ruleMetamodelEntry
+ {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMetamodelSpecificationRule());
+ }
+ add(
+ $current,
+ "entries",
+ lv_entries_1_0,
+ "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.MetamodelEntry");
+ afterParserOrEnumRuleCall();
+ }
+ )
+ )
+ (
+ otherlv_2=','
+ {
+ newLeafNode(otherlv_2, grammarAccess.getMetamodelSpecificationAccess().getCommaKeyword_2_0());
+ }
+ (
+ (
+ {
+ newCompositeNode(grammarAccess.getMetamodelSpecificationAccess().getEntriesMetamodelEntryParserRuleCall_2_1_0());
+ }
+ lv_entries_3_0=ruleMetamodelEntry
+ {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMetamodelSpecificationRule());
+ }
+ add(
+ $current,
+ "entries",
+ lv_entries_3_0,
+ "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.MetamodelEntry");
+ afterParserOrEnumRuleCall();
+ }
+ )
+ )
+ )*
+ otherlv_4='}'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getMetamodelSpecificationAccess().getRightCurlyBracketKeyword_3());
+ }
+ )
+;
+
+// Entry rule entryRuleMetamodelEntry
+entryRuleMetamodelEntry returns [EObject current=null]:
+ { newCompositeNode(grammarAccess.getMetamodelEntryRule()); }
+ iv_ruleMetamodelEntry=ruleMetamodelEntry
+ { $current=$iv_ruleMetamodelEntry.current; }
+ EOF;
+
+// Rule MetamodelEntry
+ruleMetamodelEntry returns [EObject current=null]
+@init {
+ enterRule();
+}
+@after {
+ leaveRule();
+}:
+ (
+ {
+ newCompositeNode(grammarAccess.getMetamodelEntryAccess().getMetamodelElementParserRuleCall_0());
+ }
+ this_MetamodelElement_0=ruleMetamodelElement
+ {
+ $current = $this_MetamodelElement_0.current;
+ afterParserOrEnumRuleCall();
+ }
+ |
+ {
+ newCompositeNode(grammarAccess.getMetamodelEntryAccess().getAllPackageEntryParserRuleCall_1());
+ }
+ this_AllPackageEntry_1=ruleAllPackageEntry
+ {
+ $current = $this_AllPackageEntry_1.current;
+ afterParserOrEnumRuleCall();
+ }
+ )
+;
+
+// Entry rule entryRuleAllPackageEntry
+entryRuleAllPackageEntry returns [EObject current=null]:
+ { newCompositeNode(grammarAccess.getAllPackageEntryRule()); }
+ iv_ruleAllPackageEntry=ruleAllPackageEntry
+ { $current=$iv_ruleAllPackageEntry.current; }
+ EOF;
+
+// Rule AllPackageEntry
+ruleAllPackageEntry returns [EObject current=null]
+@init {
+ enterRule();
+}
+@after {
+ leaveRule();
+}:
+ (
+ otherlv_0='package'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getAllPackageEntryAccess().getPackageKeyword_0());
+ }
+ (
+ (
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAllPackageEntryRule());
+ }
+ }
+ otherlv_1=RULE_ID
+ {
+ newLeafNode(otherlv_1, grammarAccess.getAllPackageEntryAccess().getPackageEPackageCrossReference_1_0());
+ }
+ )
+ )
+ (
+ otherlv_2='excluding'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getAllPackageEntryAccess().getExcludingKeyword_2_0());
+ }
+ otherlv_3='{'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getAllPackageEntryAccess().getLeftCurlyBracketKeyword_2_1());
+ }
+ (
+ (
+ {
+ newCompositeNode(grammarAccess.getAllPackageEntryAccess().getExclusionMetamodelElementParserRuleCall_2_2_0());
+ }
+ lv_exclusion_4_0=ruleMetamodelElement
+ {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAllPackageEntryRule());
+ }
+ add(
+ $current,
+ "exclusion",
+ lv_exclusion_4_0,
+ "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.MetamodelElement");
+ afterParserOrEnumRuleCall();
+ }
+ )
+ )
+ (
+ otherlv_5=','
+ {
+ newLeafNode(otherlv_5, grammarAccess.getAllPackageEntryAccess().getCommaKeyword_2_3_0());
+ }
+ (
+ (
+ {
+ newCompositeNode(grammarAccess.getAllPackageEntryAccess().getExclusionMetamodelElementParserRuleCall_2_3_1_0());
+ }
+ lv_exclusion_6_0=ruleMetamodelElement
+ {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAllPackageEntryRule());
+ }
+ add(
+ $current,
+ "exclusion",
+ lv_exclusion_6_0,
+ "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.MetamodelElement");
+ afterParserOrEnumRuleCall();
+ }
+ )
+ )
+ )*
+ otherlv_7='}'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getAllPackageEntryAccess().getRightCurlyBracketKeyword_2_4());
+ }
+ )?
+ )
+;
+
+// Entry rule entryRuleMetamodelElement
+entryRuleMetamodelElement returns [EObject current=null]:
+ { newCompositeNode(grammarAccess.getMetamodelElementRule()); }
+ iv_ruleMetamodelElement=ruleMetamodelElement
+ { $current=$iv_ruleMetamodelElement.current; }
+ EOF;
+
+// Rule MetamodelElement
+ruleMetamodelElement returns [EObject current=null]
+@init {
+ enterRule();
+}
+@after {
+ leaveRule();
+}:
+ (
+ (
+ (
+ (
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMetamodelElementRule());
+ }
+ }
+ otherlv_0=RULE_ID
+ {
+ newLeafNode(otherlv_0, grammarAccess.getMetamodelElementAccess().getPackageEPackageCrossReference_0_0_0());
+ }
+ )
+ )
+ otherlv_1='::'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getMetamodelElementAccess().getColonColonKeyword_0_1());
+ }
+ )?
+ (
+ (
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMetamodelElementRule());
+ }
+ }
+ otherlv_2=RULE_ID
+ {
+ newLeafNode(otherlv_2, grammarAccess.getMetamodelElementAccess().getClassifierEClassifierCrossReference_1_0());
+ }
+ )
+ )
+ (
+ otherlv_3='.'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getMetamodelElementAccess().getFullStopKeyword_2_0());
+ }
+ (
+ (
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMetamodelElementRule());
+ }
+ }
+ otherlv_4=RULE_ID
+ {
+ newLeafNode(otherlv_4, grammarAccess.getMetamodelElementAccess().getFeatureENamedElementCrossReference_2_1_0());
+ }
+ )
+ )
+ )?
+ )
+;
+
+// Entry rule entryRuleMetamodelDeclaration
+entryRuleMetamodelDeclaration returns [EObject current=null]:
+ { newCompositeNode(grammarAccess.getMetamodelDeclarationRule()); }
+ iv_ruleMetamodelDeclaration=ruleMetamodelDeclaration
+ { $current=$iv_ruleMetamodelDeclaration.current; }
+ EOF;
+
+// Rule MetamodelDeclaration
+ruleMetamodelDeclaration returns [EObject current=null]
+@init {
+ enterRule();
+}
+@after {
+ leaveRule();
+}:
+ (
+ otherlv_0='metamodel'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getMetamodelDeclarationAccess().getMetamodelKeyword_0());
+ }
+ (
+ (
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getMetamodelDeclarationAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMetamodelDeclarationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "org.eclipse.xtext.common.Terminals.ID");
+ }
+ )
+ )
+ (
+ (
+ {
+ newCompositeNode(grammarAccess.getMetamodelDeclarationAccess().getSpecificationMetamodelSpecificationParserRuleCall_2_0());
+ }
+ lv_specification_2_0=ruleMetamodelSpecification
+ {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMetamodelDeclarationRule());
+ }
+ set(
+ $current,
+ "specification",
+ lv_specification_2_0,
+ "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.MetamodelSpecification");
+ afterParserOrEnumRuleCall();
+ }
+ )
+ )
+ )
+;
+
+// Entry rule entryRuleMetamodelReference
+entryRuleMetamodelReference returns [EObject current=null]:
+ { newCompositeNode(grammarAccess.getMetamodelReferenceRule()); }
+ iv_ruleMetamodelReference=ruleMetamodelReference
+ { $current=$iv_ruleMetamodelReference.current; }
+ EOF;
+
+// Rule MetamodelReference
+ruleMetamodelReference returns [EObject current=null]
+@init {
+ enterRule();
+}
+@after {
+ leaveRule();
+}:
+ (
+ (
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMetamodelReferenceRule());
+ }
+ }
+ otherlv_0=RULE_ID
+ {
+ newLeafNode(otherlv_0, grammarAccess.getMetamodelReferenceAccess().getReferredMetamodelDeclarationCrossReference_0());
+ }
+ )
+ )
+;
+
+RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
+
+RULE_INT : ('0'..'9')+;
+
+RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_ANY_OTHER : .;
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.tokens b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.tokens
new file mode 100644
index 00000000..676ff381
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfiguration.tokens
@@ -0,0 +1,29 @@
+','=15
+'.'=20
+'::'=19
+'epackage'=12
+'excluding'=18
+'import'=11
+'metamodel'=21
+'package'=17
+'viatra'=13
+'{'=14
+'}'=16
+RULE_ANY_OTHER=10
+RULE_ID=5
+RULE_INT=6
+RULE_ML_COMMENT=7
+RULE_SL_COMMENT=8
+RULE_STRING=4
+RULE_WS=9
+T__11=11
+T__12=12
+T__13=13
+T__14=14
+T__15=15
+T__16=16
+T__17=17
+T__18=18
+T__19=19
+T__20=20
+T__21=21
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationLexer.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationLexer.java
new file mode 100644
index 00000000..730041a1
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationLexer.java
@@ -0,0 +1,1108 @@
+package hu.bme.mit.inf.dslreasoner.application.parser.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.parser.antlr.Lexer;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalApplicationConfigurationLexer extends Lexer {
+ public static final int RULE_STRING=4;
+ public static final int RULE_SL_COMMENT=8;
+ public static final int T__19=19;
+ public static final int T__15=15;
+ public static final int T__16=16;
+ public static final int T__17=17;
+ public static final int T__18=18;
+ public static final int T__11=11;
+ public static final int T__12=12;
+ public static final int T__13=13;
+ public static final int T__14=14;
+ public static final int EOF=-1;
+ public static final int RULE_ID=5;
+ public static final int RULE_WS=9;
+ public static final int RULE_ANY_OTHER=10;
+ public static final int RULE_INT=6;
+ public static final int RULE_ML_COMMENT=7;
+ public static final int T__20=20;
+ public static final int T__21=21;
+
+ // delegates
+ // delegators
+
+ public InternalApplicationConfigurationLexer() {;}
+ public InternalApplicationConfigurationLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalApplicationConfigurationLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "InternalApplicationConfiguration.g"; }
+
+ // $ANTLR start "T__11"
+ public final void mT__11() throws RecognitionException {
+ try {
+ int _type = T__11;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:11:7: ( 'import' )
+ // InternalApplicationConfiguration.g:11:9: 'import'
+ {
+ match("import");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__11"
+
+ // $ANTLR start "T__12"
+ public final void mT__12() throws RecognitionException {
+ try {
+ int _type = T__12;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:12:7: ( 'epackage' )
+ // InternalApplicationConfiguration.g:12:9: 'epackage'
+ {
+ match("epackage");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__12"
+
+ // $ANTLR start "T__13"
+ public final void mT__13() throws RecognitionException {
+ try {
+ int _type = T__13;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:13:7: ( 'viatra' )
+ // InternalApplicationConfiguration.g:13:9: 'viatra'
+ {
+ match("viatra");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__13"
+
+ // $ANTLR start "T__14"
+ public final void mT__14() throws RecognitionException {
+ try {
+ int _type = T__14;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:14:7: ( '{' )
+ // InternalApplicationConfiguration.g:14:9: '{'
+ {
+ match('{');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__14"
+
+ // $ANTLR start "T__15"
+ public final void mT__15() throws RecognitionException {
+ try {
+ int _type = T__15;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:15:7: ( ',' )
+ // InternalApplicationConfiguration.g:15:9: ','
+ {
+ match(',');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__15"
+
+ // $ANTLR start "T__16"
+ public final void mT__16() throws RecognitionException {
+ try {
+ int _type = T__16;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:16:7: ( '}' )
+ // InternalApplicationConfiguration.g:16:9: '}'
+ {
+ match('}');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__16"
+
+ // $ANTLR start "T__17"
+ public final void mT__17() throws RecognitionException {
+ try {
+ int _type = T__17;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:17:7: ( 'package' )
+ // InternalApplicationConfiguration.g:17:9: 'package'
+ {
+ match("package");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__17"
+
+ // $ANTLR start "T__18"
+ public final void mT__18() throws RecognitionException {
+ try {
+ int _type = T__18;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:18:7: ( 'excluding' )
+ // InternalApplicationConfiguration.g:18:9: 'excluding'
+ {
+ match("excluding");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__18"
+
+ // $ANTLR start "T__19"
+ public final void mT__19() throws RecognitionException {
+ try {
+ int _type = T__19;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:19:7: ( '::' )
+ // InternalApplicationConfiguration.g:19:9: '::'
+ {
+ match("::");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__19"
+
+ // $ANTLR start "T__20"
+ public final void mT__20() throws RecognitionException {
+ try {
+ int _type = T__20;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:20:7: ( '.' )
+ // InternalApplicationConfiguration.g:20:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__20"
+
+ // $ANTLR start "T__21"
+ public final void mT__21() throws RecognitionException {
+ try {
+ int _type = T__21;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:21:7: ( 'metamodel' )
+ // InternalApplicationConfiguration.g:21:9: 'metamodel'
+ {
+ match("metamodel");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "RULE_ID"
+ public final void mRULE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:647:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // InternalApplicationConfiguration.g:647:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ {
+ // InternalApplicationConfiguration.g:647:11: ( '^' )?
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0=='^') ) {
+ alt1=1;
+ }
+ switch (alt1) {
+ case 1 :
+ // InternalApplicationConfiguration.g:647:11: '^'
+ {
+ match('^');
+
+ }
+ break;
+
+ }
+
+ if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // InternalApplicationConfiguration.g:647:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // InternalApplicationConfiguration.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ID"
+
+ // $ANTLR start "RULE_INT"
+ public final void mRULE_INT() throws RecognitionException {
+ try {
+ int _type = RULE_INT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:649:10: ( ( '0' .. '9' )+ )
+ // InternalApplicationConfiguration.g:649:12: ( '0' .. '9' )+
+ {
+ // InternalApplicationConfiguration.g:649:12: ( '0' .. '9' )+
+ int cnt3=0;
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( ((LA3_0>='0' && LA3_0<='9')) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // InternalApplicationConfiguration.g:649:13: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt3 >= 1 ) break loop3;
+ EarlyExitException eee =
+ new EarlyExitException(3, input);
+ throw eee;
+ }
+ cnt3++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_INT"
+
+ // $ANTLR start "RULE_STRING"
+ public final void mRULE_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:651:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // InternalApplicationConfiguration.g:651:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ {
+ // InternalApplicationConfiguration.g:651:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='\"') ) {
+ alt6=1;
+ }
+ else if ( (LA6_0=='\'') ) {
+ alt6=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 6, 0, input);
+
+ throw nvae;
+ }
+ switch (alt6) {
+ case 1 :
+ // InternalApplicationConfiguration.g:651:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ {
+ match('\"');
+ // InternalApplicationConfiguration.g:651:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop4:
+ do {
+ int alt4=3;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0=='\\') ) {
+ alt4=1;
+ }
+ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
+ alt4=2;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // InternalApplicationConfiguration.g:651:21: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // InternalApplicationConfiguration.g:651:28: ~ ( ( '\\\\' | '\"' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+ break;
+ case 2 :
+ // InternalApplicationConfiguration.g:651:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ {
+ match('\'');
+ // InternalApplicationConfiguration.g:651:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop5:
+ do {
+ int alt5=3;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0=='\\') ) {
+ alt5=1;
+ }
+ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
+ alt5=2;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // InternalApplicationConfiguration.g:651:54: '\\\\' .
+ {
+ match('\\');
+ matchAny();
+
+ }
+ break;
+ case 2 :
+ // InternalApplicationConfiguration.g:651:61: ~ ( ( '\\\\' | '\\'' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_STRING"
+
+ // $ANTLR start "RULE_ML_COMMENT"
+ public final void mRULE_ML_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_ML_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:653:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // InternalApplicationConfiguration.g:653:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // InternalApplicationConfiguration.g:653:24: ( options {greedy=false; } : . )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0=='*') ) {
+ int LA7_1 = input.LA(2);
+
+ if ( (LA7_1=='/') ) {
+ alt7=2;
+ }
+ else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
+ alt7=1;
+ }
+
+
+ }
+ else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // InternalApplicationConfiguration.g:653:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_SL_COMMENT"
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:655:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // InternalApplicationConfiguration.g:655:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("//");
+
+ // InternalApplicationConfiguration.g:655:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop8:
+ do {
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) {
+ alt8=1;
+ }
+
+
+ switch (alt8) {
+ case 1 :
+ // InternalApplicationConfiguration.g:655:24: ~ ( ( '\\n' | '\\r' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop8;
+ }
+ } while (true);
+
+ // InternalApplicationConfiguration.g:655:40: ( ( '\\r' )? '\\n' )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0=='\n'||LA10_0=='\r') ) {
+ alt10=1;
+ }
+ switch (alt10) {
+ case 1 :
+ // InternalApplicationConfiguration.g:655:41: ( '\\r' )? '\\n'
+ {
+ // InternalApplicationConfiguration.g:655:41: ( '\\r' )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='\r') ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // InternalApplicationConfiguration.g:655:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SL_COMMENT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:657:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // InternalApplicationConfiguration.g:657:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // InternalApplicationConfiguration.g:657:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt11=0;
+ loop11:
+ do {
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
+ alt11=1;
+ }
+
+
+ switch (alt11) {
+ case 1 :
+ // InternalApplicationConfiguration.g:
+ {
+ if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt11 >= 1 ) break loop11;
+ EarlyExitException eee =
+ new EarlyExitException(11, input);
+ throw eee;
+ }
+ cnt11++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_WS"
+
+ // $ANTLR start "RULE_ANY_OTHER"
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalApplicationConfiguration.g:659:16: ( . )
+ // InternalApplicationConfiguration.g:659:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // InternalApplicationConfiguration.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt12=18;
+ alt12 = dfa12.predict(input);
+ switch (alt12) {
+ case 1 :
+ // InternalApplicationConfiguration.g:1:10: T__11
+ {
+ mT__11();
+
+ }
+ break;
+ case 2 :
+ // InternalApplicationConfiguration.g:1:16: T__12
+ {
+ mT__12();
+
+ }
+ break;
+ case 3 :
+ // InternalApplicationConfiguration.g:1:22: T__13
+ {
+ mT__13();
+
+ }
+ break;
+ case 4 :
+ // InternalApplicationConfiguration.g:1:28: T__14
+ {
+ mT__14();
+
+ }
+ break;
+ case 5 :
+ // InternalApplicationConfiguration.g:1:34: T__15
+ {
+ mT__15();
+
+ }
+ break;
+ case 6 :
+ // InternalApplicationConfiguration.g:1:40: T__16
+ {
+ mT__16();
+
+ }
+ break;
+ case 7 :
+ // InternalApplicationConfiguration.g:1:46: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 8 :
+ // InternalApplicationConfiguration.g:1:52: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 9 :
+ // InternalApplicationConfiguration.g:1:58: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 10 :
+ // InternalApplicationConfiguration.g:1:64: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 11 :
+ // InternalApplicationConfiguration.g:1:70: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 12 :
+ // InternalApplicationConfiguration.g:1:76: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 13 :
+ // InternalApplicationConfiguration.g:1:84: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 14 :
+ // InternalApplicationConfiguration.g:1:93: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 15 :
+ // InternalApplicationConfiguration.g:1:105: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 16 :
+ // InternalApplicationConfiguration.g:1:121: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 17 :
+ // InternalApplicationConfiguration.g:1:137: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 18 :
+ // InternalApplicationConfiguration.g:1:145: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA12 dfa12 = new DFA12(this);
+ static final String DFA12_eotS =
+ "\1\uffff\3\24\3\uffff\1\24\1\22\1\uffff\1\24\1\22\2\uffff\3\22\2\uffff\1\24\1\uffff\3\24\3\uffff\1\24\2\uffff\1\24\5\uffff\22\24\1\74\2\24\1\77\2\24\1\uffff\2\24\1\uffff\1\104\1\24\1\106\1\24\1\uffff\1\24\1\uffff\1\111\1\112\2\uffff";
+ static final String DFA12_eofS =
+ "\113\uffff";
+ static final String DFA12_minS =
+ "\1\0\1\155\1\160\1\151\3\uffff\1\141\1\72\1\uffff\1\145\1\101\2\uffff\2\0\1\52\2\uffff\1\160\1\uffff\1\141\1\143\1\141\3\uffff\1\143\2\uffff\1\164\5\uffff\1\157\1\143\1\154\1\164\1\153\1\141\1\162\1\153\1\165\1\162\1\141\1\155\1\164\1\141\1\144\1\141\1\147\1\157\1\60\1\147\1\151\1\60\1\145\1\144\1\uffff\1\145\1\156\1\uffff\1\60\1\145\1\60\1\147\1\uffff\1\154\1\uffff\2\60\2\uffff";
+ static final String DFA12_maxS =
+ "\1\uffff\1\155\1\170\1\151\3\uffff\1\141\1\72\1\uffff\1\145\1\172\2\uffff\2\uffff\1\57\2\uffff\1\160\1\uffff\1\141\1\143\1\141\3\uffff\1\143\2\uffff\1\164\5\uffff\1\157\1\143\1\154\1\164\1\153\1\141\1\162\1\153\1\165\1\162\1\141\1\155\1\164\1\141\1\144\1\141\1\147\1\157\1\172\1\147\1\151\1\172\1\145\1\144\1\uffff\1\145\1\156\1\uffff\1\172\1\145\1\172\1\147\1\uffff\1\154\1\uffff\2\172\2\uffff";
+ static final String DFA12_acceptS =
+ "\4\uffff\1\4\1\5\1\6\2\uffff\1\12\2\uffff\1\14\1\15\3\uffff\1\21\1\22\1\uffff\1\14\3\uffff\1\4\1\5\1\6\1\uffff\1\11\1\12\1\uffff\1\15\1\16\1\17\1\20\1\21\30\uffff\1\1\2\uffff\1\3\4\uffff\1\7\1\uffff\1\2\2\uffff\1\10\1\13";
+ static final String DFA12_specialS =
+ "\1\1\15\uffff\1\0\1\2\73\uffff}>";
+ static final String[] DFA12_transitionS = {
+ "\11\22\2\21\2\22\1\21\22\22\1\21\1\22\1\16\4\22\1\17\4\22\1\5\1\22\1\11\1\20\12\15\1\10\6\22\32\14\3\22\1\13\1\14\1\22\4\14\1\2\3\14\1\1\3\14\1\12\2\14\1\7\5\14\1\3\4\14\1\4\1\22\1\6\uff82\22",
+ "\1\23",
+ "\1\25\7\uffff\1\26",
+ "\1\27",
+ "",
+ "",
+ "",
+ "\1\33",
+ "\1\34",
+ "",
+ "\1\36",
+ "\32\24\4\uffff\1\24\1\uffff\32\24",
+ "",
+ "",
+ "\0\40",
+ "\0\40",
+ "\1\41\4\uffff\1\42",
+ "",
+ "",
+ "\1\44",
+ "",
+ "\1\45",
+ "\1\46",
+ "\1\47",
+ "",
+ "",
+ "",
+ "\1\50",
+ "",
+ "",
+ "\1\51",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\52",
+ "\1\53",
+ "\1\54",
+ "\1\55",
+ "\1\56",
+ "\1\57",
+ "\1\60",
+ "\1\61",
+ "\1\62",
+ "\1\63",
+ "\1\64",
+ "\1\65",
+ "\1\66",
+ "\1\67",
+ "\1\70",
+ "\1\71",
+ "\1\72",
+ "\1\73",
+ "\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24",
+ "\1\75",
+ "\1\76",
+ "\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24",
+ "\1\100",
+ "\1\101",
+ "",
+ "\1\102",
+ "\1\103",
+ "",
+ "\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24",
+ "\1\105",
+ "\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24",
+ "\1\107",
+ "",
+ "\1\110",
+ "",
+ "\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24",
+ "\12\24\7\uffff\32\24\4\uffff\1\24\1\uffff\32\24",
+ "",
+ ""
+ };
+
+ static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
+ static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
+ static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
+ static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
+ static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
+ static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
+ static final short[][] DFA12_transition;
+
+ static {
+ int numStates = DFA12_transitionS.length;
+ DFA12_transition = new short[numStates][];
+ for (int i=0; i='\u0000' && LA12_14<='\uFFFF')) ) {s = 32;}
+
+ else s = 18;
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA12_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA12_0=='i') ) {s = 1;}
+
+ else if ( (LA12_0=='e') ) {s = 2;}
+
+ else if ( (LA12_0=='v') ) {s = 3;}
+
+ else if ( (LA12_0=='{') ) {s = 4;}
+
+ else if ( (LA12_0==',') ) {s = 5;}
+
+ else if ( (LA12_0=='}') ) {s = 6;}
+
+ else if ( (LA12_0=='p') ) {s = 7;}
+
+ else if ( (LA12_0==':') ) {s = 8;}
+
+ else if ( (LA12_0=='.') ) {s = 9;}
+
+ else if ( (LA12_0=='m') ) {s = 10;}
+
+ else if ( (LA12_0=='^') ) {s = 11;}
+
+ else if ( ((LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='d')||(LA12_0>='f' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='l')||(LA12_0>='n' && LA12_0<='o')||(LA12_0>='q' && LA12_0<='u')||(LA12_0>='w' && LA12_0<='z')) ) {s = 12;}
+
+ else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 13;}
+
+ else if ( (LA12_0=='\"') ) {s = 14;}
+
+ else if ( (LA12_0=='\'') ) {s = 15;}
+
+ else if ( (LA12_0=='/') ) {s = 16;}
+
+ else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 17;}
+
+ else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='(' && LA12_0<='+')||LA12_0=='-'||(LA12_0>=';' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 18;}
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA12_15 = input.LA(1);
+
+ s = -1;
+ if ( ((LA12_15>='\u0000' && LA12_15<='\uFFFF')) ) {s = 32;}
+
+ else s = 18;
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 12, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationParser.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationParser.java
new file mode 100644
index 00000000..7387e45b
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/parser/antlr/internal/InternalApplicationConfigurationParser.java
@@ -0,0 +1,1746 @@
+package hu.bme.mit.inf.dslreasoner.application.parser.antlr.internal;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import hu.bme.mit.inf.dslreasoner.application.services.ApplicationConfigurationGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalApplicationConfigurationParser extends AbstractInternalAntlrParser {
+ public static final String[] tokenNames = new String[] {
+ "", "", "", "", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'import'", "'epackage'", "'viatra'", "'{'", "','", "'}'", "'package'", "'excluding'", "'::'", "'.'", "'metamodel'"
+ };
+ public static final int RULE_STRING=4;
+ public static final int RULE_SL_COMMENT=8;
+ public static final int T__19=19;
+ public static final int T__15=15;
+ public static final int T__16=16;
+ public static final int T__17=17;
+ public static final int T__18=18;
+ public static final int T__11=11;
+ public static final int T__12=12;
+ public static final int T__13=13;
+ public static final int T__14=14;
+ public static final int EOF=-1;
+ public static final int RULE_ID=5;
+ public static final int RULE_WS=9;
+ public static final int RULE_ANY_OTHER=10;
+ public static final int RULE_INT=6;
+ public static final int RULE_ML_COMMENT=7;
+ public static final int T__20=20;
+ public static final int T__21=21;
+
+ // delegates
+ // delegators
+
+
+ public InternalApplicationConfigurationParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalApplicationConfigurationParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalApplicationConfigurationParser.tokenNames; }
+ public String getGrammarFileName() { return "InternalApplicationConfiguration.g"; }
+
+
+
+ private ApplicationConfigurationGrammarAccess grammarAccess;
+
+ public InternalApplicationConfigurationParser(TokenStream input, ApplicationConfigurationGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "ConfigurationScript";
+ }
+
+ @Override
+ protected ApplicationConfigurationGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+
+
+
+
+ // $ANTLR start "entryRuleConfigurationScript"
+ // InternalApplicationConfiguration.g:64:1: entryRuleConfigurationScript returns [EObject current=null] : iv_ruleConfigurationScript= ruleConfigurationScript EOF ;
+ public final EObject entryRuleConfigurationScript() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleConfigurationScript = null;
+
+
+ try {
+ // InternalApplicationConfiguration.g:64:60: (iv_ruleConfigurationScript= ruleConfigurationScript EOF )
+ // InternalApplicationConfiguration.g:65:2: iv_ruleConfigurationScript= ruleConfigurationScript EOF
+ {
+ newCompositeNode(grammarAccess.getConfigurationScriptRule());
+ pushFollow(FOLLOW_1);
+ iv_ruleConfigurationScript=ruleConfigurationScript();
+
+ state._fsp--;
+
+ current =iv_ruleConfigurationScript;
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleConfigurationScript"
+
+
+ // $ANTLR start "ruleConfigurationScript"
+ // InternalApplicationConfiguration.g:71:1: ruleConfigurationScript returns [EObject current=null] : ( ( (lv_imports_0_0= ruleImport ) )* ( (lv_commands_1_0= ruleCommand ) )* ) ;
+ public final EObject ruleConfigurationScript() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_imports_0_0 = null;
+
+ EObject lv_commands_1_0 = null;
+
+
+
+ enterRule();
+
+ try {
+ // InternalApplicationConfiguration.g:77:2: ( ( ( (lv_imports_0_0= ruleImport ) )* ( (lv_commands_1_0= ruleCommand ) )* ) )
+ // InternalApplicationConfiguration.g:78:2: ( ( (lv_imports_0_0= ruleImport ) )* ( (lv_commands_1_0= ruleCommand ) )* )
+ {
+ // InternalApplicationConfiguration.g:78:2: ( ( (lv_imports_0_0= ruleImport ) )* ( (lv_commands_1_0= ruleCommand ) )* )
+ // InternalApplicationConfiguration.g:79:3: ( (lv_imports_0_0= ruleImport ) )* ( (lv_commands_1_0= ruleCommand ) )*
+ {
+ // InternalApplicationConfiguration.g:79:3: ( (lv_imports_0_0= ruleImport ) )*
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==11) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // InternalApplicationConfiguration.g:80:4: (lv_imports_0_0= ruleImport )
+ {
+ // InternalApplicationConfiguration.g:80:4: (lv_imports_0_0= ruleImport )
+ // InternalApplicationConfiguration.g:81:5: lv_imports_0_0= ruleImport
+ {
+
+ newCompositeNode(grammarAccess.getConfigurationScriptAccess().getImportsImportParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_3);
+ lv_imports_0_0=ruleImport();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getConfigurationScriptRule());
+ }
+ add(
+ current,
+ "imports",
+ lv_imports_0_0,
+ "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.Import");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+ // InternalApplicationConfiguration.g:98:3: ( (lv_commands_1_0= ruleCommand ) )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==21) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // InternalApplicationConfiguration.g:99:4: (lv_commands_1_0= ruleCommand )
+ {
+ // InternalApplicationConfiguration.g:99:4: (lv_commands_1_0= ruleCommand )
+ // InternalApplicationConfiguration.g:100:5: lv_commands_1_0= ruleCommand
+ {
+
+ newCompositeNode(grammarAccess.getConfigurationScriptAccess().getCommandsCommandParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_4);
+ lv_commands_1_0=ruleCommand();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getConfigurationScriptRule());
+ }
+ add(
+ current,
+ "commands",
+ lv_commands_1_0,
+ "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.Command");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+
+ leaveRule();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleConfigurationScript"
+
+
+ // $ANTLR start "entryRuleCommand"
+ // InternalApplicationConfiguration.g:121:1: entryRuleCommand returns [EObject current=null] : iv_ruleCommand= ruleCommand EOF ;
+ public final EObject entryRuleCommand() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleCommand = null;
+
+
+ try {
+ // InternalApplicationConfiguration.g:121:48: (iv_ruleCommand= ruleCommand EOF )
+ // InternalApplicationConfiguration.g:122:2: iv_ruleCommand= ruleCommand EOF
+ {
+ newCompositeNode(grammarAccess.getCommandRule());
+ pushFollow(FOLLOW_1);
+ iv_ruleCommand=ruleCommand();
+
+ state._fsp--;
+
+ current =iv_ruleCommand;
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleCommand"
+
+
+ // $ANTLR start "ruleCommand"
+ // InternalApplicationConfiguration.g:128:1: ruleCommand returns [EObject current=null] : this_Declaration_0= ruleDeclaration ;
+ public final EObject ruleCommand() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_Declaration_0 = null;
+
+
+
+ enterRule();
+
+ try {
+ // InternalApplicationConfiguration.g:134:2: (this_Declaration_0= ruleDeclaration )
+ // InternalApplicationConfiguration.g:135:2: this_Declaration_0= ruleDeclaration
+ {
+
+ newCompositeNode(grammarAccess.getCommandAccess().getDeclarationParserRuleCall());
+
+ pushFollow(FOLLOW_2);
+ this_Declaration_0=ruleDeclaration();
+
+ state._fsp--;
+
+
+ current = this_Declaration_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ leaveRule();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleCommand"
+
+
+ // $ANTLR start "entryRuleDeclaration"
+ // InternalApplicationConfiguration.g:146:1: entryRuleDeclaration returns [EObject current=null] : iv_ruleDeclaration= ruleDeclaration EOF ;
+ public final EObject entryRuleDeclaration() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleDeclaration = null;
+
+
+ try {
+ // InternalApplicationConfiguration.g:146:52: (iv_ruleDeclaration= ruleDeclaration EOF )
+ // InternalApplicationConfiguration.g:147:2: iv_ruleDeclaration= ruleDeclaration EOF
+ {
+ newCompositeNode(grammarAccess.getDeclarationRule());
+ pushFollow(FOLLOW_1);
+ iv_ruleDeclaration=ruleDeclaration();
+
+ state._fsp--;
+
+ current =iv_ruleDeclaration;
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleDeclaration"
+
+
+ // $ANTLR start "ruleDeclaration"
+ // InternalApplicationConfiguration.g:153:1: ruleDeclaration returns [EObject current=null] : this_MetamodelDeclaration_0= ruleMetamodelDeclaration ;
+ public final EObject ruleDeclaration() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_MetamodelDeclaration_0 = null;
+
+
+
+ enterRule();
+
+ try {
+ // InternalApplicationConfiguration.g:159:2: (this_MetamodelDeclaration_0= ruleMetamodelDeclaration )
+ // InternalApplicationConfiguration.g:160:2: this_MetamodelDeclaration_0= ruleMetamodelDeclaration
+ {
+
+ newCompositeNode(grammarAccess.getDeclarationAccess().getMetamodelDeclarationParserRuleCall());
+
+ pushFollow(FOLLOW_2);
+ this_MetamodelDeclaration_0=ruleMetamodelDeclaration();
+
+ state._fsp--;
+
+
+ current = this_MetamodelDeclaration_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ leaveRule();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleDeclaration"
+
+
+ // $ANTLR start "entryRuleImport"
+ // InternalApplicationConfiguration.g:171:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ;
+ public final EObject entryRuleImport() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleImport = null;
+
+
+ try {
+ // InternalApplicationConfiguration.g:171:47: (iv_ruleImport= ruleImport EOF )
+ // InternalApplicationConfiguration.g:172:2: iv_ruleImport= ruleImport EOF
+ {
+ newCompositeNode(grammarAccess.getImportRule());
+ pushFollow(FOLLOW_1);
+ iv_ruleImport=ruleImport();
+
+ state._fsp--;
+
+ current =iv_ruleImport;
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleImport"
+
+
+ // $ANTLR start "ruleImport"
+ // InternalApplicationConfiguration.g:178:1: ruleImport returns [EObject current=null] : (this_EPackageImport_0= ruleEPackageImport | this_ViatraImport_1= ruleViatraImport ) ;
+ public final EObject ruleImport() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_EPackageImport_0 = null;
+
+ EObject this_ViatraImport_1 = null;
+
+
+
+ enterRule();
+
+ try {
+ // InternalApplicationConfiguration.g:184:2: ( (this_EPackageImport_0= ruleEPackageImport | this_ViatraImport_1= ruleViatraImport ) )
+ // InternalApplicationConfiguration.g:185:2: (this_EPackageImport_0= ruleEPackageImport | this_ViatraImport_1= ruleViatraImport )
+ {
+ // InternalApplicationConfiguration.g:185:2: (this_EPackageImport_0= ruleEPackageImport | this_ViatraImport_1= ruleViatraImport )
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==11) ) {
+ int LA3_1 = input.LA(2);
+
+ if ( (LA3_1==12) ) {
+ alt3=1;
+ }
+ else if ( (LA3_1==13) ) {
+ alt3=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 3, 1, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 3, 0, input);
+
+ throw nvae;
+ }
+ switch (alt3) {
+ case 1 :
+ // InternalApplicationConfiguration.g:186:3: this_EPackageImport_0= ruleEPackageImport
+ {
+
+ newCompositeNode(grammarAccess.getImportAccess().getEPackageImportParserRuleCall_0());
+
+ pushFollow(FOLLOW_2);
+ this_EPackageImport_0=ruleEPackageImport();
+
+ state._fsp--;
+
+
+ current = this_EPackageImport_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // InternalApplicationConfiguration.g:195:3: this_ViatraImport_1= ruleViatraImport
+ {
+
+ newCompositeNode(grammarAccess.getImportAccess().getViatraImportParserRuleCall_1());
+
+ pushFollow(FOLLOW_2);
+ this_ViatraImport_1=ruleViatraImport();
+
+ state._fsp--;
+
+
+ current = this_ViatraImport_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ leaveRule();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleImport"
+
+
+ // $ANTLR start "entryRuleEPackageImport"
+ // InternalApplicationConfiguration.g:207:1: entryRuleEPackageImport returns [EObject current=null] : iv_ruleEPackageImport= ruleEPackageImport EOF ;
+ public final EObject entryRuleEPackageImport() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleEPackageImport = null;
+
+
+ try {
+ // InternalApplicationConfiguration.g:207:55: (iv_ruleEPackageImport= ruleEPackageImport EOF )
+ // InternalApplicationConfiguration.g:208:2: iv_ruleEPackageImport= ruleEPackageImport EOF
+ {
+ newCompositeNode(grammarAccess.getEPackageImportRule());
+ pushFollow(FOLLOW_1);
+ iv_ruleEPackageImport=ruleEPackageImport();
+
+ state._fsp--;
+
+ current =iv_ruleEPackageImport;
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleEPackageImport"
+
+
+ // $ANTLR start "ruleEPackageImport"
+ // InternalApplicationConfiguration.g:214:1: ruleEPackageImport returns [EObject current=null] : (otherlv_0= 'import' otherlv_1= 'epackage' ( (otherlv_2= RULE_STRING ) ) ) ;
+ public final EObject ruleEPackageImport() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+
+
+ enterRule();
+
+ try {
+ // InternalApplicationConfiguration.g:220:2: ( (otherlv_0= 'import' otherlv_1= 'epackage' ( (otherlv_2= RULE_STRING ) ) ) )
+ // InternalApplicationConfiguration.g:221:2: (otherlv_0= 'import' otherlv_1= 'epackage' ( (otherlv_2= RULE_STRING ) ) )
+ {
+ // InternalApplicationConfiguration.g:221:2: (otherlv_0= 'import' otherlv_1= 'epackage' ( (otherlv_2= RULE_STRING ) ) )
+ // InternalApplicationConfiguration.g:222:3: otherlv_0= 'import' otherlv_1= 'epackage' ( (otherlv_2= RULE_STRING ) )
+ {
+ otherlv_0=(Token)match(input,11,FOLLOW_5);
+
+ newLeafNode(otherlv_0, grammarAccess.getEPackageImportAccess().getImportKeyword_0());
+
+ otherlv_1=(Token)match(input,12,FOLLOW_6);
+
+ newLeafNode(otherlv_1, grammarAccess.getEPackageImportAccess().getEpackageKeyword_1());
+
+ // InternalApplicationConfiguration.g:230:3: ( (otherlv_2= RULE_STRING ) )
+ // InternalApplicationConfiguration.g:231:4: (otherlv_2= RULE_STRING )
+ {
+ // InternalApplicationConfiguration.g:231:4: (otherlv_2= RULE_STRING )
+ // InternalApplicationConfiguration.g:232:5: otherlv_2= RULE_STRING
+ {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getEPackageImportRule());
+ }
+
+ otherlv_2=(Token)match(input,RULE_STRING,FOLLOW_2);
+
+ newLeafNode(otherlv_2, grammarAccess.getEPackageImportAccess().getImportedPackageEPackageCrossReference_2_0());
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ leaveRule();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleEPackageImport"
+
+
+ // $ANTLR start "entryRuleViatraImport"
+ // InternalApplicationConfiguration.g:247:1: entryRuleViatraImport returns [EObject current=null] : iv_ruleViatraImport= ruleViatraImport EOF ;
+ public final EObject entryRuleViatraImport() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleViatraImport = null;
+
+
+ try {
+ // InternalApplicationConfiguration.g:247:53: (iv_ruleViatraImport= ruleViatraImport EOF )
+ // InternalApplicationConfiguration.g:248:2: iv_ruleViatraImport= ruleViatraImport EOF
+ {
+ newCompositeNode(grammarAccess.getViatraImportRule());
+ pushFollow(FOLLOW_1);
+ iv_ruleViatraImport=ruleViatraImport();
+
+ state._fsp--;
+
+ current =iv_ruleViatraImport;
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleViatraImport"
+
+
+ // $ANTLR start "ruleViatraImport"
+ // InternalApplicationConfiguration.g:254:1: ruleViatraImport returns [EObject current=null] : (otherlv_0= 'import' otherlv_1= 'viatra' ( (otherlv_2= RULE_STRING ) ) ) ;
+ public final EObject ruleViatraImport() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+
+
+ enterRule();
+
+ try {
+ // InternalApplicationConfiguration.g:260:2: ( (otherlv_0= 'import' otherlv_1= 'viatra' ( (otherlv_2= RULE_STRING ) ) ) )
+ // InternalApplicationConfiguration.g:261:2: (otherlv_0= 'import' otherlv_1= 'viatra' ( (otherlv_2= RULE_STRING ) ) )
+ {
+ // InternalApplicationConfiguration.g:261:2: (otherlv_0= 'import' otherlv_1= 'viatra' ( (otherlv_2= RULE_STRING ) ) )
+ // InternalApplicationConfiguration.g:262:3: otherlv_0= 'import' otherlv_1= 'viatra' ( (otherlv_2= RULE_STRING ) )
+ {
+ otherlv_0=(Token)match(input,11,FOLLOW_7);
+
+ newLeafNode(otherlv_0, grammarAccess.getViatraImportAccess().getImportKeyword_0());
+
+ otherlv_1=(Token)match(input,13,FOLLOW_6);
+
+ newLeafNode(otherlv_1, grammarAccess.getViatraImportAccess().getViatraKeyword_1());
+
+ // InternalApplicationConfiguration.g:270:3: ( (otherlv_2= RULE_STRING ) )
+ // InternalApplicationConfiguration.g:271:4: (otherlv_2= RULE_STRING )
+ {
+ // InternalApplicationConfiguration.g:271:4: (otherlv_2= RULE_STRING )
+ // InternalApplicationConfiguration.g:272:5: otherlv_2= RULE_STRING
+ {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getViatraImportRule());
+ }
+
+ otherlv_2=(Token)match(input,RULE_STRING,FOLLOW_2);
+
+ newLeafNode(otherlv_2, grammarAccess.getViatraImportAccess().getImportedViatraPatternModelCrossReference_2_0());
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ leaveRule();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleViatraImport"
+
+
+ // $ANTLR start "entryRuleMetamodelSpecification"
+ // InternalApplicationConfiguration.g:287:1: entryRuleMetamodelSpecification returns [EObject current=null] : iv_ruleMetamodelSpecification= ruleMetamodelSpecification EOF ;
+ public final EObject entryRuleMetamodelSpecification() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleMetamodelSpecification = null;
+
+
+ try {
+ // InternalApplicationConfiguration.g:287:63: (iv_ruleMetamodelSpecification= ruleMetamodelSpecification EOF )
+ // InternalApplicationConfiguration.g:288:2: iv_ruleMetamodelSpecification= ruleMetamodelSpecification EOF
+ {
+ newCompositeNode(grammarAccess.getMetamodelSpecificationRule());
+ pushFollow(FOLLOW_1);
+ iv_ruleMetamodelSpecification=ruleMetamodelSpecification();
+
+ state._fsp--;
+
+ current =iv_ruleMetamodelSpecification;
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleMetamodelSpecification"
+
+
+ // $ANTLR start "ruleMetamodelSpecification"
+ // InternalApplicationConfiguration.g:294:1: ruleMetamodelSpecification returns [EObject current=null] : (otherlv_0= '{' ( (lv_entries_1_0= ruleMetamodelEntry ) ) (otherlv_2= ',' ( (lv_entries_3_0= ruleMetamodelEntry ) ) )* otherlv_4= '}' ) ;
+ public final EObject ruleMetamodelSpecification() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ EObject lv_entries_1_0 = null;
+
+ EObject lv_entries_3_0 = null;
+
+
+
+ enterRule();
+
+ try {
+ // InternalApplicationConfiguration.g:300:2: ( (otherlv_0= '{' ( (lv_entries_1_0= ruleMetamodelEntry ) ) (otherlv_2= ',' ( (lv_entries_3_0= ruleMetamodelEntry ) ) )* otherlv_4= '}' ) )
+ // InternalApplicationConfiguration.g:301:2: (otherlv_0= '{' ( (lv_entries_1_0= ruleMetamodelEntry ) ) (otherlv_2= ',' ( (lv_entries_3_0= ruleMetamodelEntry ) ) )* otherlv_4= '}' )
+ {
+ // InternalApplicationConfiguration.g:301:2: (otherlv_0= '{' ( (lv_entries_1_0= ruleMetamodelEntry ) ) (otherlv_2= ',' ( (lv_entries_3_0= ruleMetamodelEntry ) ) )* otherlv_4= '}' )
+ // InternalApplicationConfiguration.g:302:3: otherlv_0= '{' ( (lv_entries_1_0= ruleMetamodelEntry ) ) (otherlv_2= ',' ( (lv_entries_3_0= ruleMetamodelEntry ) ) )* otherlv_4= '}'
+ {
+ otherlv_0=(Token)match(input,14,FOLLOW_8);
+
+ newLeafNode(otherlv_0, grammarAccess.getMetamodelSpecificationAccess().getLeftCurlyBracketKeyword_0());
+
+ // InternalApplicationConfiguration.g:306:3: ( (lv_entries_1_0= ruleMetamodelEntry ) )
+ // InternalApplicationConfiguration.g:307:4: (lv_entries_1_0= ruleMetamodelEntry )
+ {
+ // InternalApplicationConfiguration.g:307:4: (lv_entries_1_0= ruleMetamodelEntry )
+ // InternalApplicationConfiguration.g:308:5: lv_entries_1_0= ruleMetamodelEntry
+ {
+
+ newCompositeNode(grammarAccess.getMetamodelSpecificationAccess().getEntriesMetamodelEntryParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_9);
+ lv_entries_1_0=ruleMetamodelEntry();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getMetamodelSpecificationRule());
+ }
+ add(
+ current,
+ "entries",
+ lv_entries_1_0,
+ "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.MetamodelEntry");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // InternalApplicationConfiguration.g:325:3: (otherlv_2= ',' ( (lv_entries_3_0= ruleMetamodelEntry ) ) )*
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0==15) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // InternalApplicationConfiguration.g:326:4: otherlv_2= ',' ( (lv_entries_3_0= ruleMetamodelEntry ) )
+ {
+ otherlv_2=(Token)match(input,15,FOLLOW_8);
+
+ newLeafNode(otherlv_2, grammarAccess.getMetamodelSpecificationAccess().getCommaKeyword_2_0());
+
+ // InternalApplicationConfiguration.g:330:4: ( (lv_entries_3_0= ruleMetamodelEntry ) )
+ // InternalApplicationConfiguration.g:331:5: (lv_entries_3_0= ruleMetamodelEntry )
+ {
+ // InternalApplicationConfiguration.g:331:5: (lv_entries_3_0= ruleMetamodelEntry )
+ // InternalApplicationConfiguration.g:332:6: lv_entries_3_0= ruleMetamodelEntry
+ {
+
+ newCompositeNode(grammarAccess.getMetamodelSpecificationAccess().getEntriesMetamodelEntryParserRuleCall_2_1_0());
+
+ pushFollow(FOLLOW_9);
+ lv_entries_3_0=ruleMetamodelEntry();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getMetamodelSpecificationRule());
+ }
+ add(
+ current,
+ "entries",
+ lv_entries_3_0,
+ "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.MetamodelEntry");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+ otherlv_4=(Token)match(input,16,FOLLOW_2);
+
+ newLeafNode(otherlv_4, grammarAccess.getMetamodelSpecificationAccess().getRightCurlyBracketKeyword_3());
+
+
+ }
+
+
+ }
+
+
+ leaveRule();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleMetamodelSpecification"
+
+
+ // $ANTLR start "entryRuleMetamodelEntry"
+ // InternalApplicationConfiguration.g:358:1: entryRuleMetamodelEntry returns [EObject current=null] : iv_ruleMetamodelEntry= ruleMetamodelEntry EOF ;
+ public final EObject entryRuleMetamodelEntry() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleMetamodelEntry = null;
+
+
+ try {
+ // InternalApplicationConfiguration.g:358:55: (iv_ruleMetamodelEntry= ruleMetamodelEntry EOF )
+ // InternalApplicationConfiguration.g:359:2: iv_ruleMetamodelEntry= ruleMetamodelEntry EOF
+ {
+ newCompositeNode(grammarAccess.getMetamodelEntryRule());
+ pushFollow(FOLLOW_1);
+ iv_ruleMetamodelEntry=ruleMetamodelEntry();
+
+ state._fsp--;
+
+ current =iv_ruleMetamodelEntry;
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleMetamodelEntry"
+
+
+ // $ANTLR start "ruleMetamodelEntry"
+ // InternalApplicationConfiguration.g:365:1: ruleMetamodelEntry returns [EObject current=null] : (this_MetamodelElement_0= ruleMetamodelElement | this_AllPackageEntry_1= ruleAllPackageEntry ) ;
+ public final EObject ruleMetamodelEntry() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_MetamodelElement_0 = null;
+
+ EObject this_AllPackageEntry_1 = null;
+
+
+
+ enterRule();
+
+ try {
+ // InternalApplicationConfiguration.g:371:2: ( (this_MetamodelElement_0= ruleMetamodelElement | this_AllPackageEntry_1= ruleAllPackageEntry ) )
+ // InternalApplicationConfiguration.g:372:2: (this_MetamodelElement_0= ruleMetamodelElement | this_AllPackageEntry_1= ruleAllPackageEntry )
+ {
+ // InternalApplicationConfiguration.g:372:2: (this_MetamodelElement_0= ruleMetamodelElement | this_AllPackageEntry_1= ruleAllPackageEntry )
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==RULE_ID) ) {
+ alt5=1;
+ }
+ else if ( (LA5_0==17) ) {
+ alt5=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 5, 0, input);
+
+ throw nvae;
+ }
+ switch (alt5) {
+ case 1 :
+ // InternalApplicationConfiguration.g:373:3: this_MetamodelElement_0= ruleMetamodelElement
+ {
+
+ newCompositeNode(grammarAccess.getMetamodelEntryAccess().getMetamodelElementParserRuleCall_0());
+
+ pushFollow(FOLLOW_2);
+ this_MetamodelElement_0=ruleMetamodelElement();
+
+ state._fsp--;
+
+
+ current = this_MetamodelElement_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // InternalApplicationConfiguration.g:382:3: this_AllPackageEntry_1= ruleAllPackageEntry
+ {
+
+ newCompositeNode(grammarAccess.getMetamodelEntryAccess().getAllPackageEntryParserRuleCall_1());
+
+ pushFollow(FOLLOW_2);
+ this_AllPackageEntry_1=ruleAllPackageEntry();
+
+ state._fsp--;
+
+
+ current = this_AllPackageEntry_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ leaveRule();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleMetamodelEntry"
+
+
+ // $ANTLR start "entryRuleAllPackageEntry"
+ // InternalApplicationConfiguration.g:394:1: entryRuleAllPackageEntry returns [EObject current=null] : iv_ruleAllPackageEntry= ruleAllPackageEntry EOF ;
+ public final EObject entryRuleAllPackageEntry() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAllPackageEntry = null;
+
+
+ try {
+ // InternalApplicationConfiguration.g:394:56: (iv_ruleAllPackageEntry= ruleAllPackageEntry EOF )
+ // InternalApplicationConfiguration.g:395:2: iv_ruleAllPackageEntry= ruleAllPackageEntry EOF
+ {
+ newCompositeNode(grammarAccess.getAllPackageEntryRule());
+ pushFollow(FOLLOW_1);
+ iv_ruleAllPackageEntry=ruleAllPackageEntry();
+
+ state._fsp--;
+
+ current =iv_ruleAllPackageEntry;
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAllPackageEntry"
+
+
+ // $ANTLR start "ruleAllPackageEntry"
+ // InternalApplicationConfiguration.g:401:1: ruleAllPackageEntry returns [EObject current=null] : (otherlv_0= 'package' ( (otherlv_1= RULE_ID ) ) (otherlv_2= 'excluding' otherlv_3= '{' ( (lv_exclusion_4_0= ruleMetamodelElement ) ) (otherlv_5= ',' ( (lv_exclusion_6_0= ruleMetamodelElement ) ) )* otherlv_7= '}' )? ) ;
+ public final EObject ruleAllPackageEntry() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ Token otherlv_7=null;
+ EObject lv_exclusion_4_0 = null;
+
+ EObject lv_exclusion_6_0 = null;
+
+
+
+ enterRule();
+
+ try {
+ // InternalApplicationConfiguration.g:407:2: ( (otherlv_0= 'package' ( (otherlv_1= RULE_ID ) ) (otherlv_2= 'excluding' otherlv_3= '{' ( (lv_exclusion_4_0= ruleMetamodelElement ) ) (otherlv_5= ',' ( (lv_exclusion_6_0= ruleMetamodelElement ) ) )* otherlv_7= '}' )? ) )
+ // InternalApplicationConfiguration.g:408:2: (otherlv_0= 'package' ( (otherlv_1= RULE_ID ) ) (otherlv_2= 'excluding' otherlv_3= '{' ( (lv_exclusion_4_0= ruleMetamodelElement ) ) (otherlv_5= ',' ( (lv_exclusion_6_0= ruleMetamodelElement ) ) )* otherlv_7= '}' )? )
+ {
+ // InternalApplicationConfiguration.g:408:2: (otherlv_0= 'package' ( (otherlv_1= RULE_ID ) ) (otherlv_2= 'excluding' otherlv_3= '{' ( (lv_exclusion_4_0= ruleMetamodelElement ) ) (otherlv_5= ',' ( (lv_exclusion_6_0= ruleMetamodelElement ) ) )* otherlv_7= '}' )? )
+ // InternalApplicationConfiguration.g:409:3: otherlv_0= 'package' ( (otherlv_1= RULE_ID ) ) (otherlv_2= 'excluding' otherlv_3= '{' ( (lv_exclusion_4_0= ruleMetamodelElement ) ) (otherlv_5= ',' ( (lv_exclusion_6_0= ruleMetamodelElement ) ) )* otherlv_7= '}' )?
+ {
+ otherlv_0=(Token)match(input,17,FOLLOW_10);
+
+ newLeafNode(otherlv_0, grammarAccess.getAllPackageEntryAccess().getPackageKeyword_0());
+
+ // InternalApplicationConfiguration.g:413:3: ( (otherlv_1= RULE_ID ) )
+ // InternalApplicationConfiguration.g:414:4: (otherlv_1= RULE_ID )
+ {
+ // InternalApplicationConfiguration.g:414:4: (otherlv_1= RULE_ID )
+ // InternalApplicationConfiguration.g:415:5: otherlv_1= RULE_ID
+ {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getAllPackageEntryRule());
+ }
+
+ otherlv_1=(Token)match(input,RULE_ID,FOLLOW_11);
+
+ newLeafNode(otherlv_1, grammarAccess.getAllPackageEntryAccess().getPackageEPackageCrossReference_1_0());
+
+
+ }
+
+
+ }
+
+ // InternalApplicationConfiguration.g:426:3: (otherlv_2= 'excluding' otherlv_3= '{' ( (lv_exclusion_4_0= ruleMetamodelElement ) ) (otherlv_5= ',' ( (lv_exclusion_6_0= ruleMetamodelElement ) ) )* otherlv_7= '}' )?
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0==18) ) {
+ alt7=1;
+ }
+ switch (alt7) {
+ case 1 :
+ // InternalApplicationConfiguration.g:427:4: otherlv_2= 'excluding' otherlv_3= '{' ( (lv_exclusion_4_0= ruleMetamodelElement ) ) (otherlv_5= ',' ( (lv_exclusion_6_0= ruleMetamodelElement ) ) )* otherlv_7= '}'
+ {
+ otherlv_2=(Token)match(input,18,FOLLOW_12);
+
+ newLeafNode(otherlv_2, grammarAccess.getAllPackageEntryAccess().getExcludingKeyword_2_0());
+
+ otherlv_3=(Token)match(input,14,FOLLOW_10);
+
+ newLeafNode(otherlv_3, grammarAccess.getAllPackageEntryAccess().getLeftCurlyBracketKeyword_2_1());
+
+ // InternalApplicationConfiguration.g:435:4: ( (lv_exclusion_4_0= ruleMetamodelElement ) )
+ // InternalApplicationConfiguration.g:436:5: (lv_exclusion_4_0= ruleMetamodelElement )
+ {
+ // InternalApplicationConfiguration.g:436:5: (lv_exclusion_4_0= ruleMetamodelElement )
+ // InternalApplicationConfiguration.g:437:6: lv_exclusion_4_0= ruleMetamodelElement
+ {
+
+ newCompositeNode(grammarAccess.getAllPackageEntryAccess().getExclusionMetamodelElementParserRuleCall_2_2_0());
+
+ pushFollow(FOLLOW_9);
+ lv_exclusion_4_0=ruleMetamodelElement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAllPackageEntryRule());
+ }
+ add(
+ current,
+ "exclusion",
+ lv_exclusion_4_0,
+ "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.MetamodelElement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // InternalApplicationConfiguration.g:454:4: (otherlv_5= ',' ( (lv_exclusion_6_0= ruleMetamodelElement ) ) )*
+ loop6:
+ do {
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==15) ) {
+ alt6=1;
+ }
+
+
+ switch (alt6) {
+ case 1 :
+ // InternalApplicationConfiguration.g:455:5: otherlv_5= ',' ( (lv_exclusion_6_0= ruleMetamodelElement ) )
+ {
+ otherlv_5=(Token)match(input,15,FOLLOW_10);
+
+ newLeafNode(otherlv_5, grammarAccess.getAllPackageEntryAccess().getCommaKeyword_2_3_0());
+
+ // InternalApplicationConfiguration.g:459:5: ( (lv_exclusion_6_0= ruleMetamodelElement ) )
+ // InternalApplicationConfiguration.g:460:6: (lv_exclusion_6_0= ruleMetamodelElement )
+ {
+ // InternalApplicationConfiguration.g:460:6: (lv_exclusion_6_0= ruleMetamodelElement )
+ // InternalApplicationConfiguration.g:461:7: lv_exclusion_6_0= ruleMetamodelElement
+ {
+
+ newCompositeNode(grammarAccess.getAllPackageEntryAccess().getExclusionMetamodelElementParserRuleCall_2_3_1_0());
+
+ pushFollow(FOLLOW_9);
+ lv_exclusion_6_0=ruleMetamodelElement();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAllPackageEntryRule());
+ }
+ add(
+ current,
+ "exclusion",
+ lv_exclusion_6_0,
+ "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.MetamodelElement");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop6;
+ }
+ } while (true);
+
+ otherlv_7=(Token)match(input,16,FOLLOW_2);
+
+ newLeafNode(otherlv_7, grammarAccess.getAllPackageEntryAccess().getRightCurlyBracketKeyword_2_4());
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+
+ leaveRule();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAllPackageEntry"
+
+
+ // $ANTLR start "entryRuleMetamodelElement"
+ // InternalApplicationConfiguration.g:488:1: entryRuleMetamodelElement returns [EObject current=null] : iv_ruleMetamodelElement= ruleMetamodelElement EOF ;
+ public final EObject entryRuleMetamodelElement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleMetamodelElement = null;
+
+
+ try {
+ // InternalApplicationConfiguration.g:488:57: (iv_ruleMetamodelElement= ruleMetamodelElement EOF )
+ // InternalApplicationConfiguration.g:489:2: iv_ruleMetamodelElement= ruleMetamodelElement EOF
+ {
+ newCompositeNode(grammarAccess.getMetamodelElementRule());
+ pushFollow(FOLLOW_1);
+ iv_ruleMetamodelElement=ruleMetamodelElement();
+
+ state._fsp--;
+
+ current =iv_ruleMetamodelElement;
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleMetamodelElement"
+
+
+ // $ANTLR start "ruleMetamodelElement"
+ // InternalApplicationConfiguration.g:495:1: ruleMetamodelElement returns [EObject current=null] : ( ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' )? ( (otherlv_2= RULE_ID ) ) (otherlv_3= '.' ( (otherlv_4= RULE_ID ) ) )? ) ;
+ public final EObject ruleMetamodelElement() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+ Token otherlv_3=null;
+ Token otherlv_4=null;
+
+
+ enterRule();
+
+ try {
+ // InternalApplicationConfiguration.g:501:2: ( ( ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' )? ( (otherlv_2= RULE_ID ) ) (otherlv_3= '.' ( (otherlv_4= RULE_ID ) ) )? ) )
+ // InternalApplicationConfiguration.g:502:2: ( ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' )? ( (otherlv_2= RULE_ID ) ) (otherlv_3= '.' ( (otherlv_4= RULE_ID ) ) )? )
+ {
+ // InternalApplicationConfiguration.g:502:2: ( ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' )? ( (otherlv_2= RULE_ID ) ) (otherlv_3= '.' ( (otherlv_4= RULE_ID ) ) )? )
+ // InternalApplicationConfiguration.g:503:3: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' )? ( (otherlv_2= RULE_ID ) ) (otherlv_3= '.' ( (otherlv_4= RULE_ID ) ) )?
+ {
+ // InternalApplicationConfiguration.g:503:3: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '::' )?
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0==RULE_ID) ) {
+ int LA8_1 = input.LA(2);
+
+ if ( (LA8_1==19) ) {
+ alt8=1;
+ }
+ }
+ switch (alt8) {
+ case 1 :
+ // InternalApplicationConfiguration.g:504:4: ( (otherlv_0= RULE_ID ) ) otherlv_1= '::'
+ {
+ // InternalApplicationConfiguration.g:504:4: ( (otherlv_0= RULE_ID ) )
+ // InternalApplicationConfiguration.g:505:5: (otherlv_0= RULE_ID )
+ {
+ // InternalApplicationConfiguration.g:505:5: (otherlv_0= RULE_ID )
+ // InternalApplicationConfiguration.g:506:6: otherlv_0= RULE_ID
+ {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMetamodelElementRule());
+ }
+
+ otherlv_0=(Token)match(input,RULE_ID,FOLLOW_13);
+
+ newLeafNode(otherlv_0, grammarAccess.getMetamodelElementAccess().getPackageEPackageCrossReference_0_0_0());
+
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,19,FOLLOW_10);
+
+ newLeafNode(otherlv_1, grammarAccess.getMetamodelElementAccess().getColonColonKeyword_0_1());
+
+
+ }
+ break;
+
+ }
+
+ // InternalApplicationConfiguration.g:522:3: ( (otherlv_2= RULE_ID ) )
+ // InternalApplicationConfiguration.g:523:4: (otherlv_2= RULE_ID )
+ {
+ // InternalApplicationConfiguration.g:523:4: (otherlv_2= RULE_ID )
+ // InternalApplicationConfiguration.g:524:5: otherlv_2= RULE_ID
+ {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMetamodelElementRule());
+ }
+
+ otherlv_2=(Token)match(input,RULE_ID,FOLLOW_14);
+
+ newLeafNode(otherlv_2, grammarAccess.getMetamodelElementAccess().getClassifierEClassifierCrossReference_1_0());
+
+
+ }
+
+
+ }
+
+ // InternalApplicationConfiguration.g:535:3: (otherlv_3= '.' ( (otherlv_4= RULE_ID ) ) )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0==20) ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // InternalApplicationConfiguration.g:536:4: otherlv_3= '.' ( (otherlv_4= RULE_ID ) )
+ {
+ otherlv_3=(Token)match(input,20,FOLLOW_10);
+
+ newLeafNode(otherlv_3, grammarAccess.getMetamodelElementAccess().getFullStopKeyword_2_0());
+
+ // InternalApplicationConfiguration.g:540:4: ( (otherlv_4= RULE_ID ) )
+ // InternalApplicationConfiguration.g:541:5: (otherlv_4= RULE_ID )
+ {
+ // InternalApplicationConfiguration.g:541:5: (otherlv_4= RULE_ID )
+ // InternalApplicationConfiguration.g:542:6: otherlv_4= RULE_ID
+ {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMetamodelElementRule());
+ }
+
+ otherlv_4=(Token)match(input,RULE_ID,FOLLOW_2);
+
+ newLeafNode(otherlv_4, grammarAccess.getMetamodelElementAccess().getFeatureENamedElementCrossReference_2_1_0());
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+
+ leaveRule();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleMetamodelElement"
+
+
+ // $ANTLR start "entryRuleMetamodelDeclaration"
+ // InternalApplicationConfiguration.g:558:1: entryRuleMetamodelDeclaration returns [EObject current=null] : iv_ruleMetamodelDeclaration= ruleMetamodelDeclaration EOF ;
+ public final EObject entryRuleMetamodelDeclaration() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleMetamodelDeclaration = null;
+
+
+ try {
+ // InternalApplicationConfiguration.g:558:61: (iv_ruleMetamodelDeclaration= ruleMetamodelDeclaration EOF )
+ // InternalApplicationConfiguration.g:559:2: iv_ruleMetamodelDeclaration= ruleMetamodelDeclaration EOF
+ {
+ newCompositeNode(grammarAccess.getMetamodelDeclarationRule());
+ pushFollow(FOLLOW_1);
+ iv_ruleMetamodelDeclaration=ruleMetamodelDeclaration();
+
+ state._fsp--;
+
+ current =iv_ruleMetamodelDeclaration;
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleMetamodelDeclaration"
+
+
+ // $ANTLR start "ruleMetamodelDeclaration"
+ // InternalApplicationConfiguration.g:565:1: ruleMetamodelDeclaration returns [EObject current=null] : (otherlv_0= 'metamodel' ( (lv_name_1_0= RULE_ID ) ) ( (lv_specification_2_0= ruleMetamodelSpecification ) ) ) ;
+ public final EObject ruleMetamodelDeclaration() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_name_1_0=null;
+ EObject lv_specification_2_0 = null;
+
+
+
+ enterRule();
+
+ try {
+ // InternalApplicationConfiguration.g:571:2: ( (otherlv_0= 'metamodel' ( (lv_name_1_0= RULE_ID ) ) ( (lv_specification_2_0= ruleMetamodelSpecification ) ) ) )
+ // InternalApplicationConfiguration.g:572:2: (otherlv_0= 'metamodel' ( (lv_name_1_0= RULE_ID ) ) ( (lv_specification_2_0= ruleMetamodelSpecification ) ) )
+ {
+ // InternalApplicationConfiguration.g:572:2: (otherlv_0= 'metamodel' ( (lv_name_1_0= RULE_ID ) ) ( (lv_specification_2_0= ruleMetamodelSpecification ) ) )
+ // InternalApplicationConfiguration.g:573:3: otherlv_0= 'metamodel' ( (lv_name_1_0= RULE_ID ) ) ( (lv_specification_2_0= ruleMetamodelSpecification ) )
+ {
+ otherlv_0=(Token)match(input,21,FOLLOW_10);
+
+ newLeafNode(otherlv_0, grammarAccess.getMetamodelDeclarationAccess().getMetamodelKeyword_0());
+
+ // InternalApplicationConfiguration.g:577:3: ( (lv_name_1_0= RULE_ID ) )
+ // InternalApplicationConfiguration.g:578:4: (lv_name_1_0= RULE_ID )
+ {
+ // InternalApplicationConfiguration.g:578:4: (lv_name_1_0= RULE_ID )
+ // InternalApplicationConfiguration.g:579:5: lv_name_1_0= RULE_ID
+ {
+ lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_12);
+
+ newLeafNode(lv_name_1_0, grammarAccess.getMetamodelDeclarationAccess().getNameIDTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMetamodelDeclarationRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_1_0,
+ "org.eclipse.xtext.common.Terminals.ID");
+
+
+ }
+
+
+ }
+
+ // InternalApplicationConfiguration.g:595:3: ( (lv_specification_2_0= ruleMetamodelSpecification ) )
+ // InternalApplicationConfiguration.g:596:4: (lv_specification_2_0= ruleMetamodelSpecification )
+ {
+ // InternalApplicationConfiguration.g:596:4: (lv_specification_2_0= ruleMetamodelSpecification )
+ // InternalApplicationConfiguration.g:597:5: lv_specification_2_0= ruleMetamodelSpecification
+ {
+
+ newCompositeNode(grammarAccess.getMetamodelDeclarationAccess().getSpecificationMetamodelSpecificationParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_2);
+ lv_specification_2_0=ruleMetamodelSpecification();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getMetamodelDeclarationRule());
+ }
+ set(
+ current,
+ "specification",
+ lv_specification_2_0,
+ "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.MetamodelSpecification");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ leaveRule();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleMetamodelDeclaration"
+
+
+ // $ANTLR start "entryRuleMetamodelReference"
+ // InternalApplicationConfiguration.g:618:1: entryRuleMetamodelReference returns [EObject current=null] : iv_ruleMetamodelReference= ruleMetamodelReference EOF ;
+ public final EObject entryRuleMetamodelReference() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleMetamodelReference = null;
+
+
+ try {
+ // InternalApplicationConfiguration.g:618:59: (iv_ruleMetamodelReference= ruleMetamodelReference EOF )
+ // InternalApplicationConfiguration.g:619:2: iv_ruleMetamodelReference= ruleMetamodelReference EOF
+ {
+ newCompositeNode(grammarAccess.getMetamodelReferenceRule());
+ pushFollow(FOLLOW_1);
+ iv_ruleMetamodelReference=ruleMetamodelReference();
+
+ state._fsp--;
+
+ current =iv_ruleMetamodelReference;
+ match(input,EOF,FOLLOW_2);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleMetamodelReference"
+
+
+ // $ANTLR start "ruleMetamodelReference"
+ // InternalApplicationConfiguration.g:625:1: ruleMetamodelReference returns [EObject current=null] : ( (otherlv_0= RULE_ID ) ) ;
+ public final EObject ruleMetamodelReference() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+
+
+ enterRule();
+
+ try {
+ // InternalApplicationConfiguration.g:631:2: ( ( (otherlv_0= RULE_ID ) ) )
+ // InternalApplicationConfiguration.g:632:2: ( (otherlv_0= RULE_ID ) )
+ {
+ // InternalApplicationConfiguration.g:632:2: ( (otherlv_0= RULE_ID ) )
+ // InternalApplicationConfiguration.g:633:3: (otherlv_0= RULE_ID )
+ {
+ // InternalApplicationConfiguration.g:633:3: (otherlv_0= RULE_ID )
+ // InternalApplicationConfiguration.g:634:4: otherlv_0= RULE_ID
+ {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMetamodelReferenceRule());
+ }
+
+ otherlv_0=(Token)match(input,RULE_ID,FOLLOW_2);
+
+ newLeafNode(otherlv_0, grammarAccess.getMetamodelReferenceAccess().getReferredMetamodelDeclarationCrossReference_0());
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ leaveRule();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleMetamodelReference"
+
+ // Delegated rules
+
+
+
+
+ public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000200802L});
+ public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000200002L});
+ public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000001000L});
+ public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000020020L});
+ public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000018000L});
+ public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000020L});
+ public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000040002L});
+ public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000004000L});
+ public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000080000L});
+ public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000100002L});
+
+}
\ No newline at end of file
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/scoping/AbstractApplicationConfigurationScopeProvider.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/scoping/AbstractApplicationConfigurationScopeProvider.java
new file mode 100644
index 00000000..0230c5f9
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/scoping/AbstractApplicationConfigurationScopeProvider.java
@@ -0,0 +1,9 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.scoping;
+
+import org.eclipse.xtext.scoping.impl.DelegatingScopeProvider;
+
+public abstract class AbstractApplicationConfigurationScopeProvider extends DelegatingScopeProvider {
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/serializer/ApplicationConfigurationSemanticSequencer.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/serializer/ApplicationConfigurationSemanticSequencer.java
new file mode 100644
index 00000000..775726ec
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/serializer/ApplicationConfigurationSemanticSequencer.java
@@ -0,0 +1,202 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.serializer;
+
+import com.google.inject.Inject;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification;
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport;
+import hu.bme.mit.inf.dslreasoner.application.services.ApplicationConfigurationGrammarAccess;
+import java.util.Set;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.Action;
+import org.eclipse.xtext.Parameter;
+import org.eclipse.xtext.ParserRule;
+import org.eclipse.xtext.serializer.ISerializationContext;
+import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
+import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
+import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
+
+@SuppressWarnings("all")
+public class ApplicationConfigurationSemanticSequencer extends AbstractDelegatingSemanticSequencer {
+
+ @Inject
+ private ApplicationConfigurationGrammarAccess grammarAccess;
+
+ @Override
+ public void sequence(ISerializationContext context, EObject semanticObject) {
+ EPackage epackage = semanticObject.eClass().getEPackage();
+ ParserRule rule = context.getParserRule();
+ Action action = context.getAssignedAction();
+ Set parameters = context.getEnabledBooleanParameters();
+ if (epackage == ApplicationConfigurationPackage.eINSTANCE)
+ switch (semanticObject.eClass().getClassifierID()) {
+ case ApplicationConfigurationPackage.ALL_PACKAGE_ENTRY:
+ sequence_AllPackageEntry(context, (AllPackageEntry) semanticObject);
+ return;
+ case ApplicationConfigurationPackage.CONFIGURATION_SCRIPT:
+ sequence_ConfigurationScript(context, (ConfigurationScript) semanticObject);
+ return;
+ case ApplicationConfigurationPackage.EPACKAGE_IMPORT:
+ sequence_EPackageImport(context, (EPackageImport) semanticObject);
+ return;
+ case ApplicationConfigurationPackage.METAMODEL_DECLARATION:
+ sequence_MetamodelDeclaration(context, (MetamodelDeclaration) semanticObject);
+ return;
+ case ApplicationConfigurationPackage.METAMODEL_ELEMENT:
+ sequence_MetamodelElement(context, (MetamodelElement) semanticObject);
+ return;
+ case ApplicationConfigurationPackage.METAMODEL_REFERENCE:
+ sequence_MetamodelReference(context, (MetamodelReference) semanticObject);
+ return;
+ case ApplicationConfigurationPackage.METAMODEL_SPECIFICATION:
+ sequence_MetamodelSpecification(context, (MetamodelSpecification) semanticObject);
+ return;
+ case ApplicationConfigurationPackage.VIATRA_IMPORT:
+ sequence_ViatraImport(context, (ViatraImport) semanticObject);
+ return;
+ }
+ if (errorAcceptor != null)
+ errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
+ }
+
+ /**
+ * Contexts:
+ * MetamodelEntry returns AllPackageEntry
+ * AllPackageEntry returns AllPackageEntry
+ *
+ * Constraint:
+ * (package=[EPackage|ID] (exclusion+=MetamodelElement exclusion+=MetamodelElement*)?)
+ */
+ protected void sequence_AllPackageEntry(ISerializationContext context, AllPackageEntry semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Contexts:
+ * ConfigurationScript returns ConfigurationScript
+ *
+ * Constraint:
+ * ((imports+=Import+ commands+=Command+) | commands+=Command+)?
+ */
+ protected void sequence_ConfigurationScript(ISerializationContext context, ConfigurationScript semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Contexts:
+ * Import returns EPackageImport
+ * EPackageImport returns EPackageImport
+ *
+ * Constraint:
+ * importedPackage=[EPackage|STRING]
+ */
+ protected void sequence_EPackageImport(ISerializationContext context, EPackageImport semanticObject) {
+ if (errorAcceptor != null) {
+ if (transientValues.isValueTransient(semanticObject, ApplicationConfigurationPackage.Literals.EPACKAGE_IMPORT__IMPORTED_PACKAGE) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ApplicationConfigurationPackage.Literals.EPACKAGE_IMPORT__IMPORTED_PACKAGE));
+ }
+ SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
+ feeder.accept(grammarAccess.getEPackageImportAccess().getImportedPackageEPackageSTRINGTerminalRuleCall_2_0_1(), semanticObject.getImportedPackage());
+ feeder.finish();
+ }
+
+
+ /**
+ * Contexts:
+ * Command returns MetamodelDeclaration
+ * Declaration returns MetamodelDeclaration
+ * MetamodelDeclaration returns MetamodelDeclaration
+ *
+ * Constraint:
+ * (name=ID specification=MetamodelSpecification)
+ */
+ protected void sequence_MetamodelDeclaration(ISerializationContext context, MetamodelDeclaration semanticObject) {
+ if (errorAcceptor != null) {
+ if (transientValues.isValueTransient(semanticObject, ApplicationConfigurationPackage.Literals.METAMODEL_DECLARATION__NAME) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ApplicationConfigurationPackage.Literals.METAMODEL_DECLARATION__NAME));
+ if (transientValues.isValueTransient(semanticObject, ApplicationConfigurationPackage.Literals.METAMODEL_DECLARATION__SPECIFICATION) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ApplicationConfigurationPackage.Literals.METAMODEL_DECLARATION__SPECIFICATION));
+ }
+ SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
+ feeder.accept(grammarAccess.getMetamodelDeclarationAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName());
+ feeder.accept(grammarAccess.getMetamodelDeclarationAccess().getSpecificationMetamodelSpecificationParserRuleCall_2_0(), semanticObject.getSpecification());
+ feeder.finish();
+ }
+
+
+ /**
+ * Contexts:
+ * MetamodelEntry returns MetamodelElement
+ * MetamodelElement returns MetamodelElement
+ *
+ * Constraint:
+ * (package=[EPackage|ID]? classifier=[EClassifier|ID] feature=[ENamedElement|ID]?)
+ */
+ protected void sequence_MetamodelElement(ISerializationContext context, MetamodelElement semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Contexts:
+ * MetamodelReference returns MetamodelReference
+ * Metamodel returns MetamodelReference
+ *
+ * Constraint:
+ * referred=[MetamodelDeclaration|ID]
+ */
+ protected void sequence_MetamodelReference(ISerializationContext context, MetamodelReference semanticObject) {
+ if (errorAcceptor != null) {
+ if (transientValues.isValueTransient(semanticObject, ApplicationConfigurationPackage.Literals.METAMODEL_REFERENCE__REFERRED) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ApplicationConfigurationPackage.Literals.METAMODEL_REFERENCE__REFERRED));
+ }
+ SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
+ feeder.accept(grammarAccess.getMetamodelReferenceAccess().getReferredMetamodelDeclarationIDTerminalRuleCall_0_1(), semanticObject.getReferred());
+ feeder.finish();
+ }
+
+
+ /**
+ * Contexts:
+ * MetamodelSpecification returns MetamodelSpecification
+ * Metamodel returns MetamodelSpecification
+ *
+ * Constraint:
+ * (entries+=MetamodelEntry entries+=MetamodelEntry*)
+ */
+ protected void sequence_MetamodelSpecification(ISerializationContext context, MetamodelSpecification semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Contexts:
+ * Import returns ViatraImport
+ * ViatraImport returns ViatraImport
+ *
+ * Constraint:
+ * importedViatra=[PatternModel|STRING]
+ */
+ protected void sequence_ViatraImport(ISerializationContext context, ViatraImport semanticObject) {
+ if (errorAcceptor != null) {
+ if (transientValues.isValueTransient(semanticObject, ApplicationConfigurationPackage.Literals.VIATRA_IMPORT__IMPORTED_VIATRA) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ApplicationConfigurationPackage.Literals.VIATRA_IMPORT__IMPORTED_VIATRA));
+ }
+ SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
+ feeder.accept(grammarAccess.getViatraImportAccess().getImportedViatraPatternModelSTRINGTerminalRuleCall_2_0_1(), semanticObject.getImportedViatra());
+ feeder.finish();
+ }
+
+
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/serializer/ApplicationConfigurationSyntacticSequencer.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/serializer/ApplicationConfigurationSyntacticSequencer.java
new file mode 100644
index 00000000..e084eafd
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/serializer/ApplicationConfigurationSyntacticSequencer.java
@@ -0,0 +1,43 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.serializer;
+
+import com.google.inject.Inject;
+import hu.bme.mit.inf.dslreasoner.application.services.ApplicationConfigurationGrammarAccess;
+import java.util.List;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.IGrammarAccess;
+import org.eclipse.xtext.RuleCall;
+import org.eclipse.xtext.nodemodel.INode;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
+import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
+import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
+
+@SuppressWarnings("all")
+public class ApplicationConfigurationSyntacticSequencer extends AbstractSyntacticSequencer {
+
+ protected ApplicationConfigurationGrammarAccess grammarAccess;
+
+ @Inject
+ protected void init(IGrammarAccess access) {
+ grammarAccess = (ApplicationConfigurationGrammarAccess) access;
+ }
+
+ @Override
+ protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
+ return "";
+ }
+
+
+ @Override
+ protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
+ if (transition.getAmbiguousSyntaxes().isEmpty()) return;
+ List transitionNodes = collectNodes(fromNode, toNode);
+ for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
+ List syntaxNodes = getNodesFor(transitionNodes, syntax);
+ acceptNodes(getLastNavigableState(), syntaxNodes);
+ }
+ }
+
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/services/ApplicationConfigurationGrammarAccess.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/services/ApplicationConfigurationGrammarAccess.java
new file mode 100644
index 00000000..97717b2f
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/services/ApplicationConfigurationGrammarAccess.java
@@ -0,0 +1,703 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.services;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import java.util.List;
+import org.eclipse.xtext.Alternatives;
+import org.eclipse.xtext.Assignment;
+import org.eclipse.xtext.CrossReference;
+import org.eclipse.xtext.Grammar;
+import org.eclipse.xtext.GrammarUtil;
+import org.eclipse.xtext.Group;
+import org.eclipse.xtext.Keyword;
+import org.eclipse.xtext.ParserRule;
+import org.eclipse.xtext.RuleCall;
+import org.eclipse.xtext.TerminalRule;
+import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
+import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder;
+import org.eclipse.xtext.service.GrammarProvider;
+
+@Singleton
+public class ApplicationConfigurationGrammarAccess extends AbstractGrammarElementFinder {
+
+ public class ConfigurationScriptElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.ConfigurationScript");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cImportsAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cImportsImportParserRuleCall_0_0 = (RuleCall)cImportsAssignment_0.eContents().get(0);
+ private final Assignment cCommandsAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cCommandsCommandParserRuleCall_1_0 = (RuleCall)cCommandsAssignment_1.eContents().get(0);
+
+ //ConfigurationScript:
+ // imports+=Import*
+ // commands+=Command*;
+ @Override public ParserRule getRule() { return rule; }
+
+ //imports+=Import* commands+=Command*
+ public Group getGroup() { return cGroup; }
+
+ //imports+=Import*
+ public Assignment getImportsAssignment_0() { return cImportsAssignment_0; }
+
+ //Import
+ public RuleCall getImportsImportParserRuleCall_0_0() { return cImportsImportParserRuleCall_0_0; }
+
+ //commands+=Command*
+ public Assignment getCommandsAssignment_1() { return cCommandsAssignment_1; }
+
+ //Command
+ public RuleCall getCommandsCommandParserRuleCall_1_0() { return cCommandsCommandParserRuleCall_1_0; }
+ }
+ public class CommandElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.Command");
+ private final RuleCall cDeclarationParserRuleCall = (RuleCall)rule.eContents().get(1);
+
+ //Command:
+ // Declaration
+ // //| Task
+ //;
+ @Override public ParserRule getRule() { return rule; }
+
+ //Declaration
+ public RuleCall getDeclarationParserRuleCall() { return cDeclarationParserRuleCall; }
+ }
+ public class DeclarationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.Declaration");
+ private final RuleCall cMetamodelDeclarationParserRuleCall = (RuleCall)rule.eContents().get(1);
+
+ //Declaration:
+ // MetamodelDeclaration
+ // // | PartialModelDeclaration
+ // // | GraphPatternDeclaration
+ // // | SolverConfig
+ //;
+ @Override public ParserRule getRule() { return rule; }
+
+ //// FileDeclaration |
+ //MetamodelDeclaration
+ public RuleCall getMetamodelDeclarationParserRuleCall() { return cMetamodelDeclarationParserRuleCall; }
+ }
+ public class ImportElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.Import");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cEPackageImportParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cViatraImportParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ /////////////////////////////////////////////////////
+ //// Imports
+ /////////////////////////////////////////////////////
+ //Import:
+ // EPackageImport | ViatraImport;
+ @Override public ParserRule getRule() { return rule; }
+
+ //EPackageImport | ViatraImport
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //EPackageImport
+ public RuleCall getEPackageImportParserRuleCall_0() { return cEPackageImportParserRuleCall_0; }
+
+ //ViatraImport
+ public RuleCall getViatraImportParserRuleCall_1() { return cViatraImportParserRuleCall_1; }
+ }
+ public class EPackageImportElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.EPackageImport");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cEpackageKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cImportedPackageAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final CrossReference cImportedPackageEPackageCrossReference_2_0 = (CrossReference)cImportedPackageAssignment_2.eContents().get(0);
+ private final RuleCall cImportedPackageEPackageSTRINGTerminalRuleCall_2_0_1 = (RuleCall)cImportedPackageEPackageCrossReference_2_0.eContents().get(1);
+
+ //EPackageImport:
+ // "import" "epackage" importedPackage=[ecore::EPackage|STRING];
+ @Override public ParserRule getRule() { return rule; }
+
+ //"import" "epackage" importedPackage=[ecore::EPackage|STRING]
+ public Group getGroup() { return cGroup; }
+
+ //"import"
+ public Keyword getImportKeyword_0() { return cImportKeyword_0; }
+
+ //"epackage"
+ public Keyword getEpackageKeyword_1() { return cEpackageKeyword_1; }
+
+ //importedPackage=[ecore::EPackage|STRING]
+ public Assignment getImportedPackageAssignment_2() { return cImportedPackageAssignment_2; }
+
+ //[ecore::EPackage|STRING]
+ public CrossReference getImportedPackageEPackageCrossReference_2_0() { return cImportedPackageEPackageCrossReference_2_0; }
+
+ //STRING
+ public RuleCall getImportedPackageEPackageSTRINGTerminalRuleCall_2_0_1() { return cImportedPackageEPackageSTRINGTerminalRuleCall_2_0_1; }
+ }
+ public class ViatraImportElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.ViatraImport");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cViatraKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cImportedViatraAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final CrossReference cImportedViatraPatternModelCrossReference_2_0 = (CrossReference)cImportedViatraAssignment_2.eContents().get(0);
+ private final RuleCall cImportedViatraPatternModelSTRINGTerminalRuleCall_2_0_1 = (RuleCall)cImportedViatraPatternModelCrossReference_2_0.eContents().get(1);
+
+ //ViatraImport:
+ // "import" "viatra" importedViatra=[viatra::PatternModel|STRING];
+ @Override public ParserRule getRule() { return rule; }
+
+ //"import" "viatra" importedViatra=[viatra::PatternModel|STRING]
+ public Group getGroup() { return cGroup; }
+
+ //"import"
+ public Keyword getImportKeyword_0() { return cImportKeyword_0; }
+
+ //"viatra"
+ public Keyword getViatraKeyword_1() { return cViatraKeyword_1; }
+
+ //importedViatra=[viatra::PatternModel|STRING]
+ public Assignment getImportedViatraAssignment_2() { return cImportedViatraAssignment_2; }
+
+ //[viatra::PatternModel|STRING]
+ public CrossReference getImportedViatraPatternModelCrossReference_2_0() { return cImportedViatraPatternModelCrossReference_2_0; }
+
+ //STRING
+ public RuleCall getImportedViatraPatternModelSTRINGTerminalRuleCall_2_0_1() { return cImportedViatraPatternModelSTRINGTerminalRuleCall_2_0_1; }
+ }
+ public class MetamodelSpecificationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.MetamodelSpecification");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cEntriesAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cEntriesMetamodelEntryParserRuleCall_1_0 = (RuleCall)cEntriesAssignment_1.eContents().get(0);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Assignment cEntriesAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+ private final RuleCall cEntriesMetamodelEntryParserRuleCall_2_1_0 = (RuleCall)cEntriesAssignment_2_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+
+ /////////////////////////////////////////////////////
+ //// Files and Folders
+ /////////////////////////////////////////////////////
+ /// *
+ //FileSpecification: path = STRING;
+ //FileDeclaration: 'file' name = ID '=' specification = FileSpecification;
+ //
+ //FileReference: referred = [FileDeclaration];
+ //File: FileSpecification | FileReference;
+ // * / ///////////////////////////////////////////////////
+ //// Metamodel
+ /////////////////////////////////////////////////////
+ //MetamodelSpecification:
+ // '{' entries+=MetamodelEntry (',' entries+=MetamodelEntry)* '}';
+ @Override public ParserRule getRule() { return rule; }
+
+ //'{' entries+=MetamodelEntry (',' entries+=MetamodelEntry)* '}'
+ public Group getGroup() { return cGroup; }
+
+ //'{'
+ public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; }
+
+ //entries+=MetamodelEntry
+ public Assignment getEntriesAssignment_1() { return cEntriesAssignment_1; }
+
+ //MetamodelEntry
+ public RuleCall getEntriesMetamodelEntryParserRuleCall_1_0() { return cEntriesMetamodelEntryParserRuleCall_1_0; }
+
+ //(',' entries+=MetamodelEntry)*
+ public Group getGroup_2() { return cGroup_2; }
+
+ //','
+ public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; }
+
+ //entries+=MetamodelEntry
+ public Assignment getEntriesAssignment_2_1() { return cEntriesAssignment_2_1; }
+
+ //MetamodelEntry
+ public RuleCall getEntriesMetamodelEntryParserRuleCall_2_1_0() { return cEntriesMetamodelEntryParserRuleCall_2_1_0; }
+
+ //'}'
+ public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
+ }
+ public class MetamodelEntryElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.MetamodelEntry");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cMetamodelElementParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cAllPackageEntryParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //MetamodelEntry:
+ // MetamodelElement | AllPackageEntry;
+ @Override public ParserRule getRule() { return rule; }
+
+ //MetamodelElement | AllPackageEntry
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //MetamodelElement
+ public RuleCall getMetamodelElementParserRuleCall_0() { return cMetamodelElementParserRuleCall_0; }
+
+ //AllPackageEntry
+ public RuleCall getAllPackageEntryParserRuleCall_1() { return cAllPackageEntryParserRuleCall_1; }
+ }
+ public class AllPackageEntryElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.AllPackageEntry");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cPackageKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cPackageAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cPackageEPackageCrossReference_1_0 = (CrossReference)cPackageAssignment_1.eContents().get(0);
+ private final RuleCall cPackageEPackageIDTerminalRuleCall_1_0_1 = (RuleCall)cPackageEPackageCrossReference_1_0.eContents().get(1);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cExcludingKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
+ private final Assignment cExclusionAssignment_2_2 = (Assignment)cGroup_2.eContents().get(2);
+ private final RuleCall cExclusionMetamodelElementParserRuleCall_2_2_0 = (RuleCall)cExclusionAssignment_2_2.eContents().get(0);
+ private final Group cGroup_2_3 = (Group)cGroup_2.eContents().get(3);
+ private final Keyword cCommaKeyword_2_3_0 = (Keyword)cGroup_2_3.eContents().get(0);
+ private final Assignment cExclusionAssignment_2_3_1 = (Assignment)cGroup_2_3.eContents().get(1);
+ private final RuleCall cExclusionMetamodelElementParserRuleCall_2_3_1_0 = (RuleCall)cExclusionAssignment_2_3_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_2_4 = (Keyword)cGroup_2.eContents().get(4);
+
+ //AllPackageEntry:
+ // "package" package=[ecore::EPackage] ("excluding" '{' exclusion+=MetamodelElement (',' exclusion+=MetamodelElement)*
+ // '}')?;
+ @Override public ParserRule getRule() { return rule; }
+
+ //"package" package=[ecore::EPackage] ("excluding" '{' exclusion+=MetamodelElement (',' exclusion+=MetamodelElement)*
+ //'}')?
+ public Group getGroup() { return cGroup; }
+
+ //"package"
+ public Keyword getPackageKeyword_0() { return cPackageKeyword_0; }
+
+ //package=[ecore::EPackage]
+ public Assignment getPackageAssignment_1() { return cPackageAssignment_1; }
+
+ //[ecore::EPackage]
+ public CrossReference getPackageEPackageCrossReference_1_0() { return cPackageEPackageCrossReference_1_0; }
+
+ //ID
+ public RuleCall getPackageEPackageIDTerminalRuleCall_1_0_1() { return cPackageEPackageIDTerminalRuleCall_1_0_1; }
+
+ //("excluding" '{' exclusion+=MetamodelElement (',' exclusion+=MetamodelElement)* '}')?
+ public Group getGroup_2() { return cGroup_2; }
+
+ //"excluding"
+ public Keyword getExcludingKeyword_2_0() { return cExcludingKeyword_2_0; }
+
+ //'{'
+ public Keyword getLeftCurlyBracketKeyword_2_1() { return cLeftCurlyBracketKeyword_2_1; }
+
+ //exclusion+=MetamodelElement
+ public Assignment getExclusionAssignment_2_2() { return cExclusionAssignment_2_2; }
+
+ //MetamodelElement
+ public RuleCall getExclusionMetamodelElementParserRuleCall_2_2_0() { return cExclusionMetamodelElementParserRuleCall_2_2_0; }
+
+ //(',' exclusion+=MetamodelElement)*
+ public Group getGroup_2_3() { return cGroup_2_3; }
+
+ //','
+ public Keyword getCommaKeyword_2_3_0() { return cCommaKeyword_2_3_0; }
+
+ //exclusion+=MetamodelElement
+ public Assignment getExclusionAssignment_2_3_1() { return cExclusionAssignment_2_3_1; }
+
+ //MetamodelElement
+ public RuleCall getExclusionMetamodelElementParserRuleCall_2_3_1_0() { return cExclusionMetamodelElementParserRuleCall_2_3_1_0; }
+
+ //'}'
+ public Keyword getRightCurlyBracketKeyword_2_4() { return cRightCurlyBracketKeyword_2_4; }
+ }
+ public class MetamodelElementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.MetamodelElement");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Group cGroup_0 = (Group)cGroup.eContents().get(0);
+ private final Assignment cPackageAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0);
+ private final CrossReference cPackageEPackageCrossReference_0_0_0 = (CrossReference)cPackageAssignment_0_0.eContents().get(0);
+ private final RuleCall cPackageEPackageIDTerminalRuleCall_0_0_0_1 = (RuleCall)cPackageEPackageCrossReference_0_0_0.eContents().get(1);
+ private final Keyword cColonColonKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1);
+ private final Assignment cClassifierAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cClassifierEClassifierCrossReference_1_0 = (CrossReference)cClassifierAssignment_1.eContents().get(0);
+ private final RuleCall cClassifierEClassifierIDTerminalRuleCall_1_0_1 = (RuleCall)cClassifierEClassifierCrossReference_1_0.eContents().get(1);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cFullStopKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Assignment cFeatureAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+ private final CrossReference cFeatureENamedElementCrossReference_2_1_0 = (CrossReference)cFeatureAssignment_2_1.eContents().get(0);
+ private final RuleCall cFeatureENamedElementIDTerminalRuleCall_2_1_0_1 = (RuleCall)cFeatureENamedElementCrossReference_2_1_0.eContents().get(1);
+
+ //MetamodelElement:
+ // (package=[ecore::EPackage] '::')? classifier=[ecore::EClassifier] ('.' feature=[ecore::ENamedElement])?;
+ @Override public ParserRule getRule() { return rule; }
+
+ //(package=[ecore::EPackage] '::')? classifier=[ecore::EClassifier] ('.' feature=[ecore::ENamedElement])?
+ public Group getGroup() { return cGroup; }
+
+ //(package=[ecore::EPackage] '::')?
+ public Group getGroup_0() { return cGroup_0; }
+
+ //package=[ecore::EPackage]
+ public Assignment getPackageAssignment_0_0() { return cPackageAssignment_0_0; }
+
+ //[ecore::EPackage]
+ public CrossReference getPackageEPackageCrossReference_0_0_0() { return cPackageEPackageCrossReference_0_0_0; }
+
+ //ID
+ public RuleCall getPackageEPackageIDTerminalRuleCall_0_0_0_1() { return cPackageEPackageIDTerminalRuleCall_0_0_0_1; }
+
+ //'::'
+ public Keyword getColonColonKeyword_0_1() { return cColonColonKeyword_0_1; }
+
+ //classifier=[ecore::EClassifier]
+ public Assignment getClassifierAssignment_1() { return cClassifierAssignment_1; }
+
+ //[ecore::EClassifier]
+ public CrossReference getClassifierEClassifierCrossReference_1_0() { return cClassifierEClassifierCrossReference_1_0; }
+
+ //ID
+ public RuleCall getClassifierEClassifierIDTerminalRuleCall_1_0_1() { return cClassifierEClassifierIDTerminalRuleCall_1_0_1; }
+
+ //('.' feature=[ecore::ENamedElement])?
+ public Group getGroup_2() { return cGroup_2; }
+
+ //'.'
+ public Keyword getFullStopKeyword_2_0() { return cFullStopKeyword_2_0; }
+
+ //feature=[ecore::ENamedElement]
+ public Assignment getFeatureAssignment_2_1() { return cFeatureAssignment_2_1; }
+
+ //[ecore::ENamedElement]
+ public CrossReference getFeatureENamedElementCrossReference_2_1_0() { return cFeatureENamedElementCrossReference_2_1_0; }
+
+ //ID
+ public RuleCall getFeatureENamedElementIDTerminalRuleCall_2_1_0_1() { return cFeatureENamedElementIDTerminalRuleCall_2_1_0_1; }
+ }
+ public class MetamodelDeclarationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.MetamodelDeclaration");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cMetamodelKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Assignment cSpecificationAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cSpecificationMetamodelSpecificationParserRuleCall_2_0 = (RuleCall)cSpecificationAssignment_2.eContents().get(0);
+
+ //MetamodelDeclaration:
+ // 'metamodel' name=ID specification=MetamodelSpecification;
+ @Override public ParserRule getRule() { return rule; }
+
+ //'metamodel' name=ID specification=MetamodelSpecification
+ public Group getGroup() { return cGroup; }
+
+ //'metamodel'
+ public Keyword getMetamodelKeyword_0() { return cMetamodelKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //specification=MetamodelSpecification
+ public Assignment getSpecificationAssignment_2() { return cSpecificationAssignment_2; }
+
+ //MetamodelSpecification
+ public RuleCall getSpecificationMetamodelSpecificationParserRuleCall_2_0() { return cSpecificationMetamodelSpecificationParserRuleCall_2_0; }
+ }
+ public class MetamodelReferenceElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.MetamodelReference");
+ private final Assignment cReferredAssignment = (Assignment)rule.eContents().get(1);
+ private final CrossReference cReferredMetamodelDeclarationCrossReference_0 = (CrossReference)cReferredAssignment.eContents().get(0);
+ private final RuleCall cReferredMetamodelDeclarationIDTerminalRuleCall_0_1 = (RuleCall)cReferredMetamodelDeclarationCrossReference_0.eContents().get(1);
+
+ //MetamodelReference:
+ // referred=[MetamodelDeclaration];
+ @Override public ParserRule getRule() { return rule; }
+
+ //referred=[MetamodelDeclaration]
+ public Assignment getReferredAssignment() { return cReferredAssignment; }
+
+ //[MetamodelDeclaration]
+ public CrossReference getReferredMetamodelDeclarationCrossReference_0() { return cReferredMetamodelDeclarationCrossReference_0; }
+
+ //ID
+ public RuleCall getReferredMetamodelDeclarationIDTerminalRuleCall_0_1() { return cReferredMetamodelDeclarationIDTerminalRuleCall_0_1; }
+ }
+ public class MetamodelElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration.Metamodel");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cMetamodelReferenceParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cMetamodelSpecificationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //Metamodel:
+ // MetamodelReference | MetamodelSpecification;
+ @Override public ParserRule getRule() { return rule; }
+
+ //MetamodelReference | MetamodelSpecification
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //MetamodelReference
+ public RuleCall getMetamodelReferenceParserRuleCall_0() { return cMetamodelReferenceParserRuleCall_0; }
+
+ //MetamodelSpecification
+ public RuleCall getMetamodelSpecificationParserRuleCall_1() { return cMetamodelSpecificationParserRuleCall_1; }
+ }
+
+
+ private final ConfigurationScriptElements pConfigurationScript;
+ private final CommandElements pCommand;
+ private final DeclarationElements pDeclaration;
+ private final ImportElements pImport;
+ private final EPackageImportElements pEPackageImport;
+ private final ViatraImportElements pViatraImport;
+ private final MetamodelSpecificationElements pMetamodelSpecification;
+ private final MetamodelEntryElements pMetamodelEntry;
+ private final AllPackageEntryElements pAllPackageEntry;
+ private final MetamodelElementElements pMetamodelElement;
+ private final MetamodelDeclarationElements pMetamodelDeclaration;
+ private final MetamodelReferenceElements pMetamodelReference;
+ private final MetamodelElements pMetamodel;
+
+ private final Grammar grammar;
+
+ private final TerminalsGrammarAccess gaTerminals;
+
+ @Inject
+ public ApplicationConfigurationGrammarAccess(GrammarProvider grammarProvider,
+ TerminalsGrammarAccess gaTerminals) {
+ this.grammar = internalFindGrammar(grammarProvider);
+ this.gaTerminals = gaTerminals;
+ this.pConfigurationScript = new ConfigurationScriptElements();
+ this.pCommand = new CommandElements();
+ this.pDeclaration = new DeclarationElements();
+ this.pImport = new ImportElements();
+ this.pEPackageImport = new EPackageImportElements();
+ this.pViatraImport = new ViatraImportElements();
+ this.pMetamodelSpecification = new MetamodelSpecificationElements();
+ this.pMetamodelEntry = new MetamodelEntryElements();
+ this.pAllPackageEntry = new AllPackageEntryElements();
+ this.pMetamodelElement = new MetamodelElementElements();
+ this.pMetamodelDeclaration = new MetamodelDeclarationElements();
+ this.pMetamodelReference = new MetamodelReferenceElements();
+ this.pMetamodel = new MetamodelElements();
+ }
+
+ protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
+ Grammar grammar = grammarProvider.getGrammar(this);
+ while (grammar != null) {
+ if ("hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration".equals(grammar.getName())) {
+ return grammar;
+ }
+ List grammars = grammar.getUsedGrammars();
+ if (!grammars.isEmpty()) {
+ grammar = grammars.iterator().next();
+ } else {
+ return null;
+ }
+ }
+ return grammar;
+ }
+
+ @Override
+ public Grammar getGrammar() {
+ return grammar;
+ }
+
+
+ public TerminalsGrammarAccess getTerminalsGrammarAccess() {
+ return gaTerminals;
+ }
+
+
+ //ConfigurationScript:
+ // imports+=Import*
+ // commands+=Command*;
+ public ConfigurationScriptElements getConfigurationScriptAccess() {
+ return pConfigurationScript;
+ }
+
+ public ParserRule getConfigurationScriptRule() {
+ return getConfigurationScriptAccess().getRule();
+ }
+
+ //Command:
+ // Declaration
+ // //| Task
+ //;
+ public CommandElements getCommandAccess() {
+ return pCommand;
+ }
+
+ public ParserRule getCommandRule() {
+ return getCommandAccess().getRule();
+ }
+
+ //Declaration:
+ // MetamodelDeclaration
+ // // | PartialModelDeclaration
+ // // | GraphPatternDeclaration
+ // // | SolverConfig
+ //;
+ public DeclarationElements getDeclarationAccess() {
+ return pDeclaration;
+ }
+
+ public ParserRule getDeclarationRule() {
+ return getDeclarationAccess().getRule();
+ }
+
+ /////////////////////////////////////////////////////
+ //// Imports
+ /////////////////////////////////////////////////////
+ //Import:
+ // EPackageImport | ViatraImport;
+ public ImportElements getImportAccess() {
+ return pImport;
+ }
+
+ public ParserRule getImportRule() {
+ return getImportAccess().getRule();
+ }
+
+ //EPackageImport:
+ // "import" "epackage" importedPackage=[ecore::EPackage|STRING];
+ public EPackageImportElements getEPackageImportAccess() {
+ return pEPackageImport;
+ }
+
+ public ParserRule getEPackageImportRule() {
+ return getEPackageImportAccess().getRule();
+ }
+
+ //ViatraImport:
+ // "import" "viatra" importedViatra=[viatra::PatternModel|STRING];
+ public ViatraImportElements getViatraImportAccess() {
+ return pViatraImport;
+ }
+
+ public ParserRule getViatraImportRule() {
+ return getViatraImportAccess().getRule();
+ }
+
+ /////////////////////////////////////////////////////
+ //// Files and Folders
+ /////////////////////////////////////////////////////
+ /// *
+ //FileSpecification: path = STRING;
+ //FileDeclaration: 'file' name = ID '=' specification = FileSpecification;
+ //
+ //FileReference: referred = [FileDeclaration];
+ //File: FileSpecification | FileReference;
+ // * / ///////////////////////////////////////////////////
+ //// Metamodel
+ /////////////////////////////////////////////////////
+ //MetamodelSpecification:
+ // '{' entries+=MetamodelEntry (',' entries+=MetamodelEntry)* '}';
+ public MetamodelSpecificationElements getMetamodelSpecificationAccess() {
+ return pMetamodelSpecification;
+ }
+
+ public ParserRule getMetamodelSpecificationRule() {
+ return getMetamodelSpecificationAccess().getRule();
+ }
+
+ //MetamodelEntry:
+ // MetamodelElement | AllPackageEntry;
+ public MetamodelEntryElements getMetamodelEntryAccess() {
+ return pMetamodelEntry;
+ }
+
+ public ParserRule getMetamodelEntryRule() {
+ return getMetamodelEntryAccess().getRule();
+ }
+
+ //AllPackageEntry:
+ // "package" package=[ecore::EPackage] ("excluding" '{' exclusion+=MetamodelElement (',' exclusion+=MetamodelElement)*
+ // '}')?;
+ public AllPackageEntryElements getAllPackageEntryAccess() {
+ return pAllPackageEntry;
+ }
+
+ public ParserRule getAllPackageEntryRule() {
+ return getAllPackageEntryAccess().getRule();
+ }
+
+ //MetamodelElement:
+ // (package=[ecore::EPackage] '::')? classifier=[ecore::EClassifier] ('.' feature=[ecore::ENamedElement])?;
+ public MetamodelElementElements getMetamodelElementAccess() {
+ return pMetamodelElement;
+ }
+
+ public ParserRule getMetamodelElementRule() {
+ return getMetamodelElementAccess().getRule();
+ }
+
+ //MetamodelDeclaration:
+ // 'metamodel' name=ID specification=MetamodelSpecification;
+ public MetamodelDeclarationElements getMetamodelDeclarationAccess() {
+ return pMetamodelDeclaration;
+ }
+
+ public ParserRule getMetamodelDeclarationRule() {
+ return getMetamodelDeclarationAccess().getRule();
+ }
+
+ //MetamodelReference:
+ // referred=[MetamodelDeclaration];
+ public MetamodelReferenceElements getMetamodelReferenceAccess() {
+ return pMetamodelReference;
+ }
+
+ public ParserRule getMetamodelReferenceRule() {
+ return getMetamodelReferenceAccess().getRule();
+ }
+
+ //Metamodel:
+ // MetamodelReference | MetamodelSpecification;
+ public MetamodelElements getMetamodelAccess() {
+ return pMetamodel;
+ }
+
+ public ParserRule getMetamodelRule() {
+ return getMetamodelAccess().getRule();
+ }
+
+ //terminal ID:
+ // '^'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*;
+ public TerminalRule getIDRule() {
+ return gaTerminals.getIDRule();
+ }
+
+ //terminal INT returns ecore::EInt:
+ // '0'..'9'+;
+ public TerminalRule getINTRule() {
+ return gaTerminals.getINTRule();
+ }
+
+ //terminal STRING:
+ // '"' ('\\' . | !('\\' | '"'))* '"' | "'" ('\\' . | !('\\' | "'"))* "'";
+ public TerminalRule getSTRINGRule() {
+ return gaTerminals.getSTRINGRule();
+ }
+
+ //terminal ML_COMMENT:
+ // '/ *'->'* /';
+ public TerminalRule getML_COMMENTRule() {
+ return gaTerminals.getML_COMMENTRule();
+ }
+
+ //terminal SL_COMMENT:
+ // '//' !('\n' | '\r')* ('\r'? '\n')?;
+ public TerminalRule getSL_COMMENTRule() {
+ return gaTerminals.getSL_COMMENTRule();
+ }
+
+ //terminal WS:
+ // ' ' | '\t' | '\r' | '\n'+;
+ public TerminalRule getWSRule() {
+ return gaTerminals.getWSRule();
+ }
+
+ //terminal ANY_OTHER:
+ // .;
+ public TerminalRule getANY_OTHERRule() {
+ return gaTerminals.getANY_OTHERRule();
+ }
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/validation/AbstractApplicationConfigurationValidator.java b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/validation/AbstractApplicationConfigurationValidator.java
new file mode 100644
index 00000000..66e1d11e
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src-gen/hu/bme/mit/inf/dslreasoner/application/validation/AbstractApplicationConfigurationValidator.java
@@ -0,0 +1,20 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.validation;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
+
+public abstract class AbstractApplicationConfigurationValidator extends AbstractDeclarativeValidator {
+
+ @Override
+ protected List getEPackages() {
+ List result = new ArrayList();
+ result.add(hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage.eINSTANCE);
+ return result;
+ }
+
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext
new file mode 100644
index 00000000..ed83419f
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext
@@ -0,0 +1,127 @@
+grammar hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration with org.eclipse.xtext.common.Terminals
+
+import "http://www.eclipse.org/emf/2002/Ecore" as ecore
+import "http://www.eclipse.org/viatra/query/patternlanguage/PatternLanguage" as viatra
+generate applicationConfiguration "http://www.bme.hu/mit/inf/dslreasoner/application/ApplicationConfiguration"
+
+ConfigurationScript:
+ (imports += Import)*
+ (commands += Command)*
+;
+
+Command :
+ Declaration
+ //| Task
+;
+Declaration :
+// FileDeclaration |
+ MetamodelDeclaration
+// | PartialModelDeclaration
+// | GraphPatternDeclaration
+// | SolverConfig
+;
+
+///////////////////////////////////////////////////
+// Imports
+///////////////////////////////////////////////////
+
+Import: EPackageImport | ViatraImport;
+
+EPackageImport: "import" "epackage" importedPackage=[ecore::EPackage|STRING];
+ViatraImport: "import" "viatra" importedViatra=[viatra::PatternModel|STRING];
+
+///////////////////////////////////////////////////
+// Files and Folders
+///////////////////////////////////////////////////
+/*
+FileSpecification: path = STRING;
+FileDeclaration: 'file' name = ID '=' specification = FileSpecification;
+
+FileReference: referred = [FileDeclaration];
+File: FileSpecification | FileReference;
+*/
+///////////////////////////////////////////////////
+// Metamodel
+///////////////////////////////////////////////////
+
+MetamodelSpecification: '{' (entries += MetamodelEntry) (',' entries += MetamodelEntry)* '}';
+MetamodelEntry: MetamodelElement | AllPackageEntry;
+AllPackageEntry: "package" package=[ecore::EPackage] ("excluding" '{'exclusion +=MetamodelElement (',' exclusion +=MetamodelElement)*'}')?;
+MetamodelElement: (package=[ecore::EPackage] '::')? classifier = [ecore::EClassifier] ('.' feature= [ecore::ENamedElement])?;
+
+MetamodelDeclaration: 'metamodel' name = ID specification = MetamodelSpecification;
+MetamodelReference: referred = [MetamodelDeclaration];
+Metamodel: MetamodelReference | MetamodelSpecification;
+
+///////////////////////////////////////////////////
+// Partial Model
+///////////////////////////////////////////////////
+/*
+PartialModelEntry: path = File;
+PartialModelSpecification: entry += PartialModelEntry ('+' entry += PartialModelEntry)*;
+PartialModelDeclaration: 'partial-model' name = ID '=' specification = PartialModelSpecification;
+PartialModelReference : referred = [PartialModelDeclaration];
+PartialModel: PartialModelSpecification | PartialModelReference;
+*/
+///////////////////////////////////////////////////
+// Patterns
+///////////////////////////////////////////////////
+/*
+PatternSpecification: '{' entries += PatternEntry (',' entries += PatternEntry)* '}';
+PatternEntry: PatternElement | AllPatternEntry;
+AllPatternEntry: package = [viatra::PatternModel] ('excluding' '{' exclusuion += PatternElement (',' exclusuion += PatternElement)* '}')?;
+PatternElement: pattern = [viatra::Pattern];
+
+GraphPatternDeclaration: 'patterns' name = ID specification = PatternSpecification;
+GraphPatternReference: referred = [GraphPatternDeclaration];
+GraphPattern: GraphPatternReference|PatternSpecification;
+*/
+///////////////////////////////////////////////////
+// SolverConfig
+///////////////////////////////////////////////////
+/*
+SolverConfig : SMTSolverConfig | AlloySolverConfig | ViatraSolverConfig;
+
+SMTSolverConfig:
+ 'smt-solver-config' name = ID '{'
+ 'solver-path' '=' solverPath = File
+ '}'
+;
+
+AlloySolverConfig:
+ 'alloy-solver-config' name = ID '{'
+ ('symmetry' '=' symmetry=INT)?
+ '}'
+;
+
+ViatraSolverConfig:
+ 'viatra-solver-config' name = ID '{'
+ ('statecoding' '=' statecoding = ViatraStatecoder)? &
+ ('type-inferencing' '=' typeinferencing = ViatraTypeInferencing)? &
+ ('backtrack-chance' '=' backtrackChance = INT)?
+ '}'
+;
+enum ViatraStatecoder: neighbourhood | identifier;
+enum ViatraTypeInferencing: preliminary | online;
+
+Solver: SMTSolver | AlloySolver | ViatraSolver;
+
+SMTSolver: 'smt-solver' '(' (config = [SMTSolverConfig]) ')';
+AlloySolver: 'alloy-solver' {AlloySolver} '(' (config = [AlloySolverConfig]|'default') ')';
+ViatraSolver: 'viatra-solver' {ViatraSolver} '(' (config= [ViatraSolverConfig]|'default')')';
+
+Task: GenerationTask;
+
+GenerationTask: 'generate' '{'
+ ('metamodel' '=' metamodel = Metamodel) &
+ ('partial-model' '=' partialModel = PartialModel)? &
+ ('patterns' '=' patterns = GraphPattern)? &
+ ('new-objects' '=' size = INT) &
+ ('number' '=' number= INT)? &
+ ('runs' '=' runs = INT)?
+ 'target-folder' '=' tagetFolder = File
+ 'debug-folder' '=' debugFolder = File
+ ('log' '=' targetLogFile = File)?
+ ('statistics' '=' targetStatisticsFile = File)?
+ '}'
+;*/
\ No newline at end of file
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationRuntimeModule.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationRuntimeModule.xtend
new file mode 100644
index 00000000..919dd297
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationRuntimeModule.xtend
@@ -0,0 +1,43 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application
+
+import hu.bme.mit.inf.dslreasoner.application.linking.ApplicationConfigurationLinkingService
+import com.google.inject.Binder
+import com.google.inject.multibindings.Multibinder
+import org.eclipse.viatra.query.patternlanguage.emf.scoping.IMetamodelProviderInstance
+import org.apache.log4j.Logger
+import org.eclipse.viatra.query.patternlanguage.emf.scoping.IMetamodelProvider
+import org.eclipse.viatra.query.patternlanguage.emf.scoping.CompoundMetamodelProviderService
+import org.eclipse.viatra.query.patternlanguage.emf.scoping.MetamodelProviderService
+import org.eclipse.viatra.query.patternlanguage.emf.scoping.ResourceSetMetamodelProviderService
+import org.eclipse.viatra.query.patternlanguage.emf.IGenmodelMappingLoader
+import org.eclipse.viatra.query.patternlanguage.emf.GenmodelExtensionLoader
+
+/**
+ * Use this class to register components to be used at runtime / without the Equinox extension registry.
+ */
+class ApplicationConfigurationRuntimeModule extends AbstractApplicationConfigurationRuntimeModule {
+ override bindILinkingService() {
+ ApplicationConfigurationLinkingService
+ }
+
+ def configureLoggerImplementation(Binder binder) {
+ binder.bind(Logger).toInstance(Logger.getLogger(ApplicationConfigurationRuntimeModule))
+ }
+
+ def Class extends IMetamodelProvider> bindIMetamodelProvider() {
+ CompoundMetamodelProviderService
+ }
+
+ def configureMetamodelProviderInstance(Binder binder) {
+ val metamodelProviderBinder = Multibinder.newSetBinder(binder, IMetamodelProviderInstance)
+ metamodelProviderBinder.addBinding.to(MetamodelProviderService)
+ metamodelProviderBinder.addBinding.to(ResourceSetMetamodelProviderService)
+ }
+
+ def Class extends IGenmodelMappingLoader> bindIGenmodelMappingLoader() {
+ GenmodelExtensionLoader
+ }
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationStandaloneSetup.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationStandaloneSetup.xtend
new file mode 100644
index 00000000..ef07c9b3
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationStandaloneSetup.xtend
@@ -0,0 +1,15 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application
+
+
+/**
+ * Initialization support for running Xtext languages without Equinox extension registry.
+ */
+class ApplicationConfigurationStandaloneSetup extends ApplicationConfigurationStandaloneSetupGenerated {
+
+ def static void doSetup() {
+ new ApplicationConfigurationStandaloneSetup().createInjectorAndDoEMFRegistration()
+ }
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/GenerateApplicationConfiguration.mwe2 b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/GenerateApplicationConfiguration.mwe2
new file mode 100644
index 00000000..9265ce4a
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/GenerateApplicationConfiguration.mwe2
@@ -0,0 +1,43 @@
+module hu.bme.mit.inf.dslreasoner.application.GenerateApplicationConfiguration
+
+import org.eclipse.xtext.xtext.generator.*
+import org.eclipse.xtext.xtext.generator.model.project.*
+
+var rootPath = ".."
+
+Workflow {
+
+ component = XtextGenerator {
+
+ configuration = {
+ project = StandardProjectConfig {
+
+ baseName = "hu.bme.mit.inf.dslreasoner.application"
+ rootPath = rootPath
+
+ eclipsePlugin = {
+ enabled = true
+ }
+ createEclipseMetaData = true
+
+ }
+ code = {
+ encoding = "UTF-8"
+ fileHeader = "/*\n * generated by Xtext \${version}\n */"
+
+ }
+ }
+ language = StandardLanguage {
+ name = "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration"
+ referencedResource = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.genmodel"
+ referencedResource = "platform:/resource/org.eclipse.viatra.query.patternlanguage/model/generated/PatternLanguage.genmodel"
+ fileExtensions = "vsconfig"
+ serializer = {
+ generateStub = false
+ }
+ validator = {
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+ }
+ }
+ }
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/Context.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/Context.xtend
new file mode 100644
index 00000000..8f72caed
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/Context.xtend
@@ -0,0 +1,18 @@
+package hu.bme.mit.inf.dslreasoner.application.execution
+
+import java.io.OutputStream
+import java.util.LinkedList
+import java.util.List
+import java.io.FileWriter
+import org.eclipse.xtend.lib.annotations.Accessors
+
+class Context {
+ @Accessors(PUBLIC_GETTER,PUBLIC_SETTER)
+ var boolean printToConsole = true
+
+ def writeError(Object object) {
+ if(printToConsole) {
+ println(object)
+ }
+ }
+}
\ No newline at end of file
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ExecuteScript.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ExecuteScript.xtend
new file mode 100644
index 00000000..403d00d8
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ExecuteScript.xtend
@@ -0,0 +1,25 @@
+package hu.bme.mit.inf.dslreasoner.application.execution
+
+import org.apache.log4j.Logger
+import org.apache.log4j.LogManager
+import org.apache.log4j.Level
+import java.io.PrintStream
+import java.io.OutputStream
+import java.io.BufferedWriter
+import java.io.Writer
+
+class ExecuteScript {
+ def static void main(String[] args) {
+ val Logger logger = LogManager.getLogger(ExecuteScript);
+ logger.level = Level::DEBUG
+
+ println()
+ System.out.println("asd")
+
+ logger.debug("debug")
+ logger.info("info")
+ logger.warn("warning")
+ logger.error("error")
+ logger.fatal("fatal")
+ }
+}
\ No newline at end of file
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/Executor.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/Executor.xtend
new file mode 100644
index 00000000..4d887423
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/Executor.xtend
@@ -0,0 +1,95 @@
+package hu.bme.mit.inf.dslreasoner.application.execution
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Task
+import java.util.HashMap
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GenerationTask
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Metamodel
+import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace
+import java.util.List
+import org.eclipse.emf.ecore.EClass
+import org.eclipse.emf.ecore.EEnumLiteral
+import org.eclipse.emf.ecore.EReference
+import org.eclipse.emf.ecore.EEnum
+import org.eclipse.emf.ecore.EAttribute
+import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor
+import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
+import org.eclipse.emf.ecore.EObject
+import java.util.LinkedHashMap
+import hu.bme.mit.inf.dslreasoner.viatra2logic.ViatraQuerySetDescriptor
+import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic
+import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic
+import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic
+import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration
+import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2LogicConfiguration
+import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration
+import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod
+import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.StateCoderStrategy
+import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner
+import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
+import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
+import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult
+import org.eclipse.emf.ecore.resource.Resource
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
+import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml
+import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolverConfiguration
+import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolver
+import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore
+import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner
+import java.util.LinkedList
+import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualisation
+import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicStructureBuilder
+import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
+import org.eclipse.emf.ecore.util.EcoreUtil
+import org.eclipse.xtext.EcoreUtil2
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl
+import org.eclipse.emf.ecore.resource.ResourceSet
+import org.eclipse.emf.common.util.URI
+import org.eclipse.emf.ecore.EPackage
+
+class Executor {
+ public def void execute(ConfigurationScript configurationScript) {
+ val tasks = configurationScript.commands.filter(Task)
+ val numberOfModels = tasks.map[it.calculateTaskSteps].reduce[p1, p2|p1+p2]
+ }
+
+ def private dispatch calculateTaskSteps(Task task) {
+ throw new UnsupportedOperationException()
+ }
+ def private dispatch calculateTaskSteps(GenerationTask task) {
+ return task.number * task.runs
+ }
+
+ def private dispatch executeTask(Task task) {
+ throw new UnsupportedOperationException()
+ }
+ def private dispatch executeTask(GenerationTask generationTask) {
+ val metamodel = generationTask.metamodel
+ if(metamodel != null) {
+
+ }
+ }
+
+ def protected loadPackage(ResourceSet rs, String path) {
+ var EObject content = null
+
+ try {
+ val resource = rs.getResource(URI.createURI(path),true)
+ content = resource.contents.get(0)
+ } catch(IllegalArgumentException e) {
+ return null
+ } catch(RuntimeException e) {
+ return null
+ }
+
+ if(content instanceof EPackage) {
+
+ } else return null
+ }
+
+ def loadPatternModel(ResourceSet rs, String path) {
+ var model = null
+
+
+ }
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/MetamodelLoader.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/MetamodelLoader.xtend
new file mode 100644
index 00000000..126dbb7d
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/MetamodelLoader.xtend
@@ -0,0 +1,178 @@
+package hu.bme.mit.inf.dslreasoner.application.execution
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ClassElement
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FeatureElement
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification
+import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor
+import java.util.ArrayList
+import java.util.HashMap
+import java.util.LinkedList
+import java.util.List
+import java.util.Map
+import java.util.Set
+import org.eclipse.emf.common.util.URI
+import org.eclipse.emf.ecore.EAttribute
+import org.eclipse.emf.ecore.EClass
+import org.eclipse.emf.ecore.EDataType
+import org.eclipse.emf.ecore.EEnum
+import org.eclipse.emf.ecore.EEnumLiteral
+import org.eclipse.emf.ecore.ENamedElement
+import org.eclipse.emf.ecore.EPackage
+import org.eclipse.emf.ecore.EReference
+import org.eclipse.emf.ecore.EcorePackage
+import org.eclipse.emf.ecore.resource.Resource
+import org.eclipse.emf.ecore.resource.ResourceSet
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
+import org.eclipse.xtend.lib.annotations.Data
+
+@Data
+class Metamodel {
+ List packages
+ EcoreMetamodelDescriptor descriptor
+}
+
+class MetamodelLoader {
+
+ def private static init() {
+ EcorePackage.eINSTANCE.EClass
+ Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put("ecore",new XMIResourceFactoryImpl)
+ }
+
+ public new() { init }
+
+ def loadMetamodel(List specification, ResourceSet rs, Context context) {
+
+ }
+
+ def loadMetamodel(MetamodelSpecification specification, ResourceSet rs, Context context) {
+ val Map> entry2Packages = new HashMap
+
+ for(entry : specification.entries) {
+ val packagesInEntry = entry.path.path.loadPackageFromPath(rs,context)
+ entry2Packages.put(entry,packagesInEntry)
+ }
+
+ return entry2Packages
+ }
+
+ public def pruneMetamodel(Map> specification, ResourceSet rs, Context context) {
+ val List classes = new LinkedList
+ val List enums = new LinkedList
+ val List literals = new LinkedList
+ val List references = new LinkedList
+ val List attributes = new LinkedList
+
+
+ /** Add all included types */
+ for(entry : specification.entrySet) {
+ val metamodelEntry = entry.key
+ val packages = entry.value
+
+ /** Excluted types */
+ val excludedTypeNames = metamodelEntry.excluding.filter(ClassElement).map[name].toSet
+ /** Excluded features */
+ val excludedFeatureNames = metamodelEntry.excluding.filter(FeatureElement).map[it.container.name -> it.name].toSet
+
+ /** Load the types */
+ for(package : packages) {
+ for(class : package.EClassifiers.filter(EClass)) {
+ classes.addIfNotExcluded(class,excludedTypeNames)
+ }
+ for(enum : package.EClassifiers.filter(EEnum)) {
+ val added = enums.addIfNotExcluded(enum,excludedTypeNames)
+ if(added) {
+ for(literal : enum.ELiterals) {
+ literals.addIfNotExcluded(literal,enum,excludedFeatureNames)
+ }
+ }
+ }
+ }
+ }
+
+ /** Add all included references and attributes*/
+ for(entry : specification.entrySet) {
+ val metamodelEntry = entry.key
+ val packages = entry.value
+
+ /** Excluded features */
+ val excludedFeatureNames = metamodelEntry.excluding.filter(FeatureElement).map[it.container.name -> it.name].toSet
+
+ /** See if type is included */
+ for(package : packages) {
+ for(class : package.EClassifiers.filter(EClass)) {
+ if(classes.contains(class)) {
+ for(reference : class.EReferences) {
+ if(classes.contains(reference.EType)) {
+ references.addIfNotExcluded(reference,class,excludedFeatureNames)
+ }
+ }
+ for(attribute : class.EAttributes) {
+ val type = attribute.EType
+ if(type instanceof EEnum) {
+ if(enums.contains(type)) {
+ attributes.addIfNotExcluded(attribute,class,excludedFeatureNames)
+ } else if(type == EcorePackage.Literals) {
+ if(enums.contains(type)) {
+ attributes.addIfNotExcluded(attribute,class,excludedFeatureNames)
+ }
+ }
+ } else if(supportedEDataType(type as EDataType)) {
+ attributes.addIfNotExcluded(attribute,class,excludedFeatureNames)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ private def supportedEDataType(EDataType dataType) {
+ val extension l = EcorePackage.eINSTANCE
+ return #[EInt, EBoolean, EString, EDouble, EFloat].contains(dataType)
+ }
+
+ private def addIfNotExcluded(
+ List target,
+ T element,
+ Set excluded)
+ {
+ if(excluded.contains(element.name)) {
+ target += element
+ return true
+ } else {
+ return false
+ }
+ }
+ private def addIfNotExcluded(
+ List target,
+ T1 element,
+ ENamedElement container,
+ Set> excluded)
+ {
+ val pair = (container.name) -> (element.name)
+
+ if(excluded.contains(pair)) {
+ target += element
+ }
+ }
+
+ private def List loadPackageFromPath(String path, ResourceSet rs, Context context) throws RuntimeException {
+ var Resource resource;
+ try{
+ resource = rs.getResource(URI.createURI(path),true)
+ } catch(RuntimeException e) {
+ context.writeError('''Unable to load EPackage: Error in path "«path»"!''')
+ return #[]
+ }
+ val res = new ArrayList(resource.contents.size)
+ for(content: resource.contents) {
+ if(content instanceof EPackage) {
+ res += content
+ } else {
+ context.writeError('''Unable to load EPackage: The content of "«path»" is not an EPackage, but "«content.eClass.name»"!''')
+ }
+ }
+ return res
+ }
+}
\ No newline at end of file
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ModelLoader.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ModelLoader.xtend
new file mode 100644
index 00000000..1de7ee22
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ModelLoader.xtend
@@ -0,0 +1,11 @@
+package hu.bme.mit.inf.dslreasoner.application.execution
+
+class ModelLoader {
+ //def loadMetamodels()7
+// val List classes = new LinkedList
+// val List references = new LinkedList
+// val List attributes = new LinkedList
+// val List enums = new LinkedList
+// val List literals = new LinkedList
+//
+}
\ No newline at end of file
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend
new file mode 100644
index 00000000..8c064cd3
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend
@@ -0,0 +1,28 @@
+package hu.bme.mit.inf.dslreasoner.application.execution
+
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification
+import hu.bme.mit.inf.dslreasoner.application.execution.util.VQLParser
+import java.util.LinkedHashMap
+import org.eclipse.emf.ecore.resource.ResourceSet
+
+import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
+
+class QueryLoader {
+ val parser = new VQLParser
+
+ def loadQueries(PatternSpecification specification, ResourceSet rs, Context context) {
+ val uris = specification.entries.map[path].toList
+ val models = parser.parse(uris,rs,context)
+
+ val res = new LinkedHashMap
+ for(entry : specification.entries) {
+ res.put(entry,entry.path.lookup(models))
+ }
+
+ return res
+ }
+
+ def pruneQueries(PatternSpecification specification, ResourceSet rs, Context context) {
+
+ }
+}
\ No newline at end of file
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/util/VQLParser.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/util/VQLParser.xtend
new file mode 100644
index 00000000..9b5c538f
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/util/VQLParser.xtend
@@ -0,0 +1,99 @@
+package hu.bme.mit.inf.dslreasoner.application.execution.util
+
+import com.google.inject.Guice
+import com.google.inject.Injector
+import com.google.inject.Module
+import java.util.LinkedHashMap
+import org.eclipse.emf.common.util.URI
+import org.eclipse.emf.ecore.resource.Resource
+import org.eclipse.emf.ecore.resource.ResourceSet
+import org.eclipse.emf.ecore.util.EcoreUtil
+import org.eclipse.viatra.query.patternlanguage.PatternLanguageStandaloneSetup
+import org.eclipse.viatra.query.patternlanguage.annotations.ExtensionBasedAnnotationValidatorLoader
+import org.eclipse.viatra.query.patternlanguage.annotations.IAnnotationValidatorLoader
+import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageRuntimeModule
+import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageStandaloneSetup
+import org.eclipse.viatra.query.patternlanguage.emf.GenmodelExtensionLoader
+import org.eclipse.viatra.query.patternlanguage.emf.IGenmodelMappingLoader
+import org.eclipse.viatra.query.patternlanguage.emf.eMFPatternLanguage.PatternModel
+import org.eclipse.viatra.query.patternlanguage.emf.specification.SpecificationBuilder
+import org.eclipse.xtext.resource.XtextResourceSet
+import hu.bme.mit.inf.dslreasoner.application.execution.Context
+import java.util.List
+import java.util.HashMap
+import org.eclipse.viatra.query.runtime.api.IQuerySpecification
+
+class MyModule extends EMFPatternLanguageRuntimeModule implements Module {
+ def public Class extends IAnnotationValidatorLoader> bindAnnotationValidatorLoader() {
+ return typeof(ExtensionBasedAnnotationValidatorLoader);
+ }
+ def public Class extends IGenmodelMappingLoader> bindGenmodelMappingLoader() {
+ return typeof(GenmodelExtensionLoader);
+ }
+}
+
+class VQLParser {
+ val Injector injector;
+ val SpecificationBuilder builder = new SpecificationBuilder
+
+ new() {
+ PatternLanguageStandaloneSetup.doSetup
+ EMFPatternLanguageStandaloneSetup.doSetup;
+
+ injector = internalCreateInjector
+ }
+
+ def protected Injector internalCreateInjector() {
+ new EMFPatternLanguageStandaloneSetup().createInjectorAndDoEMFRegistration();
+ val Module module = new MyModule
+ val newInjector = Guice.createInjector(module)
+ return newInjector;
+ }
+
+ public def createResourceSet() {
+ injector.getInstance(XtextResourceSet);
+ }
+
+ /**
+ * Load patterns in two steps: first, the pattern models are are loaded to a resource set, then
+ * the linked patterns are loaded validated and translated to a {@link IQuerySpecification} object.
+ * @returns uri -> (name -> pattern)
+ */
+ public def parse(List uris, ResourceSet resourceSet, Context context) {
+ val res = new LinkedHashMap
+ val uri2resource = new LinkedHashMap
+
+ for(uri : uris) {
+ var Resource resource
+ var PatternModel patternModel
+ try {
+ resource = resourceSet.getResource(URI.createURI(uri),true);
+ patternModel = resource.getContents().get(0) as PatternModel;
+ uri2resource.put(uri,patternModel)
+ } catch(RuntimeException e) {
+ context.writeError('''Unable to load patterns from "«uri»"!''')
+ }
+ }
+
+ for(entry : uri2resource.entrySet) {
+ val uri = entry.key
+ val model = entry.value
+ EcoreUtil.resolveAll(model.eResource)
+ model.eResource.validate(uri, context)
+
+ val map = new LinkedHashMap
+ for(pattern : model.patterns) {
+ val IQuerySpecification> querySpecification = (this.builder as SpecificationBuilder).getOrCreateSpecification(pattern)
+ map.put(querySpecification.fullyQualifiedName.split('.').last,querySpecification)
+ }
+ res.put(uri,map)
+ }
+
+ return res
+ }
+
+ def private validate(Resource resource, String URI, Context context) {
+ val errors = resource.errors
+ errors.forEach[context.writeError('''Error in loading pattern "«URI»": «it»''')]
+ }
+}
\ No newline at end of file
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/generator/ApplicationConfigurationGenerator.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/generator/ApplicationConfigurationGenerator.xtend
new file mode 100644
index 00000000..22b46367
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/generator/ApplicationConfigurationGenerator.xtend
@@ -0,0 +1,25 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.generator
+
+import org.eclipse.emf.ecore.resource.Resource
+import org.eclipse.xtext.generator.AbstractGenerator
+import org.eclipse.xtext.generator.IFileSystemAccess2
+import org.eclipse.xtext.generator.IGeneratorContext
+
+/**
+ * Generates code from your model files on save.
+ *
+ * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation
+ */
+class ApplicationConfigurationGenerator extends AbstractGenerator {
+
+ override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) {
+// fsa.generateFile('greetings.txt', 'People to greet: ' +
+// resource.allContents
+// .filter(typeof(Greeting))
+// .map[name]
+// .join(', '))
+ }
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/linking/ApplicationConfigurationLinkingService.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/linking/ApplicationConfigurationLinkingService.xtend
new file mode 100644
index 00000000..15567f88
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/linking/ApplicationConfigurationLinkingService.xtend
@@ -0,0 +1,56 @@
+package hu.bme.mit.inf.dslreasoner.application.linking
+
+import com.google.inject.Inject
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport
+import java.util.Collections
+import java.util.Optional
+import org.eclipse.emf.ecore.EObject
+import org.eclipse.emf.ecore.EReference
+import org.eclipse.viatra.query.patternlanguage.emf.scoping.IMetamodelProvider
+import org.eclipse.xtext.conversion.IValueConverterService
+import org.eclipse.xtext.conversion.ValueConverterException
+import org.eclipse.xtext.linking.impl.DefaultLinkingService
+import org.eclipse.xtext.nodemodel.ILeafNode
+import org.eclipse.xtext.nodemodel.INode
+
+class ApplicationConfigurationLinkingService extends DefaultLinkingService{
+
+ //@Inject Logger logger
+
+ @Inject IValueConverterService valueConverterService
+
+ @Inject IMetamodelProvider metamodelProvider
+
+ public static extension ApplicationConfigurationPackage pac = ApplicationConfigurationPackage.eINSTANCE
+
+ override getLinkedObjects(EObject context, EReference ref, INode node) {
+ if(context instanceof EPackageImport) {
+ if(ref == EPackageImport_ImportedPackage && node instanceof ILeafNode) {
+ return getEPackage(context as EPackageImport, node as ILeafNode)
+ }
+ } else if(context instanceof ViatraImport) {
+ super.getLinkedObjects(context, ref, node)
+ }
+ return super.getLinkedObjects(context, ref, node)
+ }
+
+ private def getEPackage(EPackageImport packageImport, ILeafNode node) {
+ getMetamodelNsUri(node).flatMap [ uri |
+ Optional.ofNullable(metamodelProvider.loadEPackage(uri, packageImport.eResource.resourceSet))
+ ].map [ ePackage |
+ Collections.singletonList(ePackage as EObject)
+ ].orElse(emptyList)
+ }
+
+ private def getMetamodelNsUri(ILeafNode node) {
+ try {
+ val convertedValue = valueConverterService.toValue(node.text,
+ linkingHelper.getRuleNameFrom(node.grammarElement), node)
+ Optional.of(convertedValue as String)
+ } catch (ValueConverterException e) {
+ Optional.empty
+ }
+ }
+}
\ No newline at end of file
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend
new file mode 100644
index 00000000..4eef53d7
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend
@@ -0,0 +1,94 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.scoping
+
+import org.eclipse.emf.ecore.EObject
+import org.eclipse.emf.ecore.EReference
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage
+import org.eclipse.xtext.EcoreUtil2
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport
+import org.eclipse.xtext.scoping.Scopes
+import org.eclipse.emf.ecore.EClass
+import org.eclipse.emf.ecore.EEnum
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification
+import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry
+
+/**
+ * This class contains custom scoping description.
+ *
+ * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#scoping
+ * on how and when to use it.
+ */
+class ApplicationConfigurationScopeProvider extends AbstractApplicationConfigurationScopeProvider {
+
+ private val language = ApplicationConfigurationPackage.eINSTANCE
+
+ override getScope(EObject context, EReference reference) {
+ val document = EcoreUtil2.getContainerOfType(context,ConfigurationScript)
+ if(context instanceof MetamodelElement) {
+ context.scopeForMetamodelElement(reference,document)
+ } else if(context instanceof MetamodelSpecification) {
+ context.scopeForMetamodelSpecification(reference,document)
+ } else if(context instanceof AllPackageEntry){
+ context.scopeForAllPackageEntry(reference,document)
+ } else {
+ return super.getScope(context,reference)
+ }
+ }
+
+ private def allEPackages(ConfigurationScript document) {
+ return document.imports.filter(EPackageImport).map[it.importedPackage].filterNull
+ }
+
+ private def allEClassifiers(ConfigurationScript document) {
+ document.allEPackages.map[EClassifiers].flatten
+ }
+
+ protected def scopeForMetamodelElement(MetamodelElement context, EReference reference, ConfigurationScript document) {
+ if(reference === language.metamodelEntry_Package) {
+ if(context.classifier !== null) {
+ return Scopes.scopeFor(#[context.classifier.EPackage])
+ } else {
+ return Scopes.scopeFor(document.allEPackages)
+ }
+ } if(reference === language.metamodelElement_Classifier) {
+ if(context.package != null) {
+ return Scopes.scopeFor(context.package.EClassifiers)
+ } else {
+ return Scopes.scopeFor(document.allEClassifiers)
+ }
+ } if (reference === language.metamodelElement_Feature) {
+ val referredClassifier = context.classifier
+ if(referredClassifier instanceof EClass) {
+ return Scopes.scopeFor(referredClassifier.EAllStructuralFeatures)
+ } else if(referredClassifier instanceof EEnum) {
+ return Scopes.scopeFor(referredClassifier.ELiterals)
+ } else {
+ super.getScope(context,reference)
+ }
+ }
+ }
+
+ protected def scopeForMetamodelSpecification(MetamodelSpecification context, EReference reference, ConfigurationScript document) {
+ if(reference === language.metamodelEntry_Package) {
+ return Scopes.scopeFor(document.allEPackages)
+ } else if(reference ===language.metamodelElement_Classifier) {
+ return Scopes.scopeFor(document.allEClassifiers)
+ }
+ }
+
+ protected def scopeForAllPackageEntry(AllPackageEntry context, EReference reference, ConfigurationScript document) {
+ if(reference === language.metamodelEntry_Package) {
+ return Scopes.scopeFor(document.allEPackages)
+ } else if(reference === language.metamodelEntry_Package) {
+ if(context.package === null) {
+ return Scopes.scopeFor(document.allEClassifiers)
+ } else {
+ return Scopes.scopeFor(context.package.EClassifiers)
+ }
+ }
+ }
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/validation/ApplicationConfigurationValidator.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/validation/ApplicationConfigurationValidator.xtend
new file mode 100644
index 00000000..1024cb19
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/validation/ApplicationConfigurationValidator.xtend
@@ -0,0 +1,25 @@
+/*
+ * generated by Xtext 2.10.0
+ */
+package hu.bme.mit.inf.dslreasoner.application.validation
+
+
+/**
+ * This class contains custom validation rules.
+ *
+ * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation
+ */
+class ApplicationConfigurationValidator extends AbstractApplicationConfigurationValidator {
+
+// public static val INVALID_NAME = 'invalidName'
+//
+// @Check
+// def checkGreetingStartsWithCapital(Greeting greeting) {
+// if (!Character.isUpperCase(greeting.name.charAt(0))) {
+// warning('Name should start with a capital',
+// ApplicationConfigurationPackage.Literals.GREETING__NAME,
+// INVALID_NAME)
+// }
+// }
+
+}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/.gitignore
new file mode 100644
index 00000000..a7825f62
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/.gitignore
@@ -0,0 +1,6 @@
+/.ApplicationConfigurationRuntimeModule.java._trace
+/.ApplicationConfigurationRuntimeModule.xtendbin
+/.ApplicationConfigurationStandaloneSetup.java._trace
+/.ApplicationConfigurationStandaloneSetup.xtendbin
+/ApplicationConfigurationRuntimeModule.java
+/ApplicationConfigurationStandaloneSetup.java
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/.gitignore
new file mode 100644
index 00000000..d1f59103
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/.gitignore
@@ -0,0 +1,21 @@
+/.Context.java._trace
+/.Context.xtendbin
+/.ExecuteScript.java._trace
+/.ExecuteScript.xtendbin
+/.Executor.java._trace
+/.Executor.xtendbin
+/.Metamodel.java._trace
+/.MetamodelLoader.java._trace
+/.MetamodelLoader.xtendbin
+/.ModelLoader.java._trace
+/.ModelLoader.xtendbin
+/.ParseUtil.java._trace
+/.QueryLoader.java._trace
+/.QueryLoader.xtendbin
+/Context.java
+/ExecuteScript.java
+/Executor.java
+/Metamodel.java
+/MetamodelLoader.java
+/ModelLoader.java
+/QueryLoader.java
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/util/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/util/.gitignore
new file mode 100644
index 00000000..cf5eb575
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/util/.gitignore
@@ -0,0 +1,5 @@
+/.MyModule.java._trace
+/.VQLParser.java._trace
+/.VQLParser.xtendbin
+/MyModule.java
+/VQLParser.java
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/generator/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/generator/.gitignore
new file mode 100644
index 00000000..2af89e3e
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/generator/.gitignore
@@ -0,0 +1,3 @@
+/.ApplicationConfigurationGenerator.java._trace
+/.ApplicationConfigurationGenerator.xtendbin
+/ApplicationConfigurationGenerator.java
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/linking/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/linking/.gitignore
new file mode 100644
index 00000000..d11d1e72
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/linking/.gitignore
@@ -0,0 +1,3 @@
+/.ApplicationConfigurationLinkingService.java._trace
+/.ApplicationConfigurationLinkingService.xtendbin
+/ApplicationConfigurationLinkingService.java
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/scoping/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/scoping/.gitignore
new file mode 100644
index 00000000..fb3312df
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/scoping/.gitignore
@@ -0,0 +1,3 @@
+/.ApplicationConfigurationScopeProvider.java._trace
+/.ApplicationConfigurationScopeProvider.xtendbin
+/ApplicationConfigurationScopeProvider.java
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/validation/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/validation/.gitignore
new file mode 100644
index 00000000..e80f6f0c
--- /dev/null
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/validation/.gitignore
@@ -0,0 +1,3 @@
+/.ApplicationConfigurationValidator.java._trace
+/.ApplicationConfigurationValidator.xtendbin
+/ApplicationConfigurationValidator.java
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/CanonisedFormulae.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/CanonisedFormulae.xtend
new file mode 100644
index 00000000..e511a961
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/CanonisedFormulae.xtend
@@ -0,0 +1,17 @@
+package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.formulacanonization
+
+import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
+import java.util.Map
+import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition
+import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition
+import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
+import org.eclipse.xtend.lib.annotations.Data
+
+@Data
+class CanonisedFormulae {
+ CharSequence viatraCode
+ Map assertion2ConstraintPattern
+ Map constant2ValuePattern
+ Map relation2ValuePattern
+ Map function2ValuePattern
+}
\ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaCanoniser.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaCanoniser.xtend
new file mode 100644
index 00000000..0af0b36a
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaCanoniser.xtend
@@ -0,0 +1,21 @@
+package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.formulacanonization
+
+import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
+import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition
+import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition
+import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
+import java.util.List
+
+/**
+ * Translates a set of assertions and definitions to viatra patterns.
+ */
+class FormulaCanoniser {
+ def canonise(
+ List assertions,
+ List relations,
+ List constants,
+ List functions)
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaRewriter.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaRewriter.xtend
new file mode 100644
index 00000000..af34a5a7
--- /dev/null
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/formulacanonization/FormulaRewriter.xtend
@@ -0,0 +1,36 @@
+package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.formulacanonization
+
+import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
+import org.eclipse.emf.ecore.util.EcoreUtil
+import java.util.LinkedList
+import java.util.List
+import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
+import org.eclipse.xtend.lib.annotations.Data
+
+
+@Data
+class Clause {
+ List atomicExpressions
+}
+
+/**
+ * Rewrites a term to a first order CNF, where F
+ *
+ * Symbol | -> | expression |
+ * F | -> | Quantified (∨ Quantified)* |
+ * Quantified | -> | (∃x Quantified) | Clause |
+ * Clause | -> | Atomic (∧ Atomic)* |
+ * Atomic | -> | Type(x) | Path (x,y) | x==y | x!=y | F | ¬F |
+ *
+ */
+class FormulaRewriter {
+ public def rewriteExpression(Term expression) {
+ val termToRewrite = EcoreUtil.copy(expression
+ )
+ }
+
+ public def internalRewriteExpression(Term expression) {
+ val List quantifiedVariables = new LinkedList
+ val List clauses = new LinkedList
+ }
+}
\ No newline at end of file
--
cgit v1.2.3-54-g00ecf