Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Haug2012-06-15 08:46:28 -0400
committerJuergen Haug2012-06-15 08:46:28 -0400
commitdb1daef4390d90ef1b3b9ede1f33f4312bcfdf74 (patch)
treec03941c03f79e5ae42ee03b2a327c7c03a5226a7 /plugins/org.eclipse.etrice.core.config/src-gen
parent5c1cfd9219168e79f77c779e9c0fb8d47feee790 (diff)
downloadorg.eclipse.etrice-db1daef4390d90ef1b3b9ede1f33f4312bcfdf74.tar.gz
org.eclipse.etrice-db1daef4390d90ef1b3b9ede1f33f4312bcfdf74.tar.xz
org.eclipse.etrice-db1daef4390d90ef1b3b9ede1f33f4312bcfdf74.zip
[CQ 6485][config, generator, tests] merge attribute config
Diffstat (limited to 'plugins/org.eclipse.etrice.core.config/src-gen')
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/AbstractConfigRuntimeModule.java37
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.ecore66
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.genmodel45
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.xmi378
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/ConfigStandaloneSetupGenerated.java88
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorClassConfig.java43
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorInstanceConfig.java101
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrClassConfig.java81
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrConfig.java84
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrInstanceConfig.java22
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/BooleanLiteral.java54
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigElement.java23
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigFactory.java117
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigModel.java48
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigPackage.java1015
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Import.java82
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/IntLiteral.java54
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Literal.java23
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/NumberLiteral.java22
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/RealLiteral.java54
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/RefPath.java47
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/StringLiteral.java54
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ActorClassConfigImpl.java120
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ActorInstanceConfigImpl.java316
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/AttrClassConfigImpl.java272
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/AttrConfigImpl.java269
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/AttrInstanceConfigImpl.java46
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/BooleanLiteralImpl.java182
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigElementImpl.java48
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigFactoryImpl.java178
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigModelImpl.java127
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigPackageImpl.java539
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ImportImpl.java241
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/IntLiteralImpl.java182
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/LiteralImpl.java48
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/NumberLiteralImpl.java46
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/RealLiteralImpl.java182
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/RefPathImpl.java168
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/StringLiteralImpl.java182
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/util/ConfigAdapterFactory.java260
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/util/ConfigSwitch.java310
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/ConfigAntlrTokenFileProvider.java31
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/ConfigParser.java78
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g1337
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.tokens51
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigLexer.java1149
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigParser.java3740
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/AbstractConfigSemanticSequencer.java183
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/AbstractConfigSyntacticSequencer.java17
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/services/ConfigGrammarAccess.java1206
-rw-r--r--plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/validation/AbstractConfigJavaValidator.java36
51 files changed, 13304 insertions, 778 deletions
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/AbstractConfigRuntimeModule.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/AbstractConfigRuntimeModule.java
index 3d7784a48..62629fabd 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/AbstractConfigRuntimeModule.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/AbstractConfigRuntimeModule.java
@@ -89,6 +89,11 @@ public abstract class AbstractConfigRuntimeModule extends DefaultRuntimeModule {
return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
}
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper> bindIUnorderedGroupHelper() {
+ return org.eclipse.xtext.parser.antlr.UnorderedGroupHelper.class;
+ }
+
// contributed by org.eclipse.xtext.generator.validation.JavaValidatorFragment
@org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.etrice.core.validation.ConfigJavaValidator> bindConfigJavaValidator() {
return org.eclipse.etrice.core.validation.ConfigJavaValidator.class;
@@ -101,7 +106,12 @@ public abstract class AbstractConfigRuntimeModule extends DefaultRuntimeModule {
// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
- binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider.class);
+ binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.SimpleLocalScopeProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
+ return org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider.class;
}
// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
@@ -144,29 +154,4 @@ public abstract class AbstractConfigRuntimeModule extends DefaultRuntimeModule {
return org.eclipse.etrice.core.formatting.ConfigFormatter.class;
}
- // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
- public java.lang.ClassLoader bindClassLoaderToInstance() {
- return getClass().getClassLoader();
- }
-
- // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
- public org.eclipse.xtext.common.types.TypesFactory bindTypesFactoryToInstance() {
- return org.eclipse.xtext.common.types.TypesFactory.eINSTANCE;
- }
-
- // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
- public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
- return org.eclipse.xtext.common.types.access.ClasspathTypeProviderFactory.class;
- }
-
- // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
- public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
- return org.eclipse.xtext.common.types.xtext.ClasspathBasedTypeScopeProvider.class;
- }
-
- // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
- public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
- return org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider.class;
- }
-
}
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.ecore b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.ecore
index f9ec98047..fd16bd2a3 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.ecore
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.ecore
@@ -4,12 +4,66 @@
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="config"
nsURI="http://www.eclipse.org/etrice/core/Config" nsPrefix="config">
<eClassifiers xsi:type="ecore:EClass" name="ConfigModel">
- <eStructuralFeatures xsi:type="ecore:EReference" name="actorClassConfigs" upperBound="-1"
- eType="#//ActorClassConfig" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="actorInstanceConfigs" unique="false"
- upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eOperations name="getActorClassConfigs" upperBound="-1" eType="#//ActorClassConfig">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="body" value="EList&lt;ActorClassConfig> list = new org.eclipse.emf.common.util.BasicEList&lt;ActorClassConfig>();&#xD;&#xA;&#x9; &#x9;&#x9;&#x9;for(ConfigElement element : this.getConfigElements())&#xD;&#xA;&#x9; &#x9;&#x9;&#x9;&#x9;if(element instanceof ActorClassConfig)&#xD;&#xA;&#x9; &#x9;&#x9;&#x9;&#x9;&#x9;list.add((ActorClassConfig) element);&#xD;&#xA;&#x9; &#x9;&#x9; return list;"/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="getActorInstanceConfigs" upperBound="-1" eType="#//ActorInstanceConfig">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="body" value="EList&lt;ActorInstanceConfig> list = new org.eclipse.emf.common.util.BasicEList&lt;ActorInstanceConfig>();&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;for(ConfigElement element : this.getConfigElements())&#xD;&#xA;&#x9;&#x9;&#x9; &#x9;&#x9;if(element instanceof ActorInstanceConfig)&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;list.add((ActorInstanceConfig) element);&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;return list;"/>
+ </eAnnotations>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="imports" upperBound="-1"
+ eType="#//Import" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="configElements" upperBound="-1"
+ eType="#//ConfigElement" containment="true"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ActorClassConfig">
- <eStructuralFeatures xsi:type="ecore:EReference" name="actorClass" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ActorClass"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ConfigElement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ActorClassConfig" eSuperTypes="#//ConfigElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="actor" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ActorClass"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
+ eType="#//AttrClassConfig" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ActorInstanceConfig" eSuperTypes="#//ConfigElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="root" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SubSystemClass"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="path" eType="#//RefPath"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
+ eType="#//AttrInstanceConfig" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AttrConfig">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attribute" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//Attribute"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Literal"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AttrClassConfig" eSuperTypes="#//AttrConfig">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="min" eType="#//NumberLiteral"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="max" eType="#//NumberLiteral"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AttrInstanceConfig" eSuperTypes="#//AttrConfig"/>
+ <eClassifiers xsi:type="ecore:EClass" name="RefPath">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="refs" unique="false" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Import">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="importedNamespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="importURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Literal"/>
+ <eClassifiers xsi:type="ecore:EClass" name="BooleanLiteral" eSuperTypes="#//Literal">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTrue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NumberLiteral" eSuperTypes="#//Literal"/>
+ <eClassifiers xsi:type="ecore:EClass" name="RealLiteral" eSuperTypes="#//NumberLiteral">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IntLiteral" eSuperTypes="#//NumberLiteral">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StringLiteral" eSuperTypes="#//Literal">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</ecore:EPackage>
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.genmodel b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.genmodel
index 53ecbdd08..ee8f6243c 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.genmodel
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.genmodel
@@ -10,11 +10,50 @@
<genPackages prefix="Config" basePackage="org.eclipse.etrice.core" disposableProviderFactory="true"
ecorePackage="Config.ecore#/">
<genClasses ecoreClass="Config.ecore#//ConfigModel">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Config.ecore#//ConfigModel/actorClassConfigs"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Config.ecore#//ConfigModel/actorInstanceConfigs"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Config.ecore#//ConfigModel/imports"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Config.ecore#//ConfigModel/configElements"/>
+ <genOperations ecoreOperation="Config.ecore#//ConfigModel/getActorClassConfigs"/>
+ <genOperations ecoreOperation="Config.ecore#//ConfigModel/getActorInstanceConfigs"/>
</genClasses>
+ <genClasses ecoreClass="Config.ecore#//ConfigElement"/>
<genClasses ecoreClass="Config.ecore#//ActorClassConfig">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Config.ecore#//ActorClassConfig/actorClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Config.ecore#//ActorClassConfig/actor"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Config.ecore#//ActorClassConfig/attributes"/>
+ </genClasses>
+ <genClasses ecoreClass="Config.ecore#//ActorInstanceConfig">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Config.ecore#//ActorInstanceConfig/root"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Config.ecore#//ActorInstanceConfig/path"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Config.ecore#//ActorInstanceConfig/attributes"/>
+ </genClasses>
+ <genClasses ecoreClass="Config.ecore#//AttrConfig">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference Config.ecore#//AttrConfig/attribute"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Config.ecore#//AttrConfig/value"/>
+ </genClasses>
+ <genClasses ecoreClass="Config.ecore#//AttrClassConfig">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Config.ecore#//AttrClassConfig/min"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Config.ecore#//AttrClassConfig/max"/>
+ </genClasses>
+ <genClasses ecoreClass="Config.ecore#//AttrInstanceConfig"/>
+ <genClasses ecoreClass="Config.ecore#//RefPath">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Config.ecore#//RefPath/refs"/>
+ </genClasses>
+ <genClasses ecoreClass="Config.ecore#//Import">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Config.ecore#//Import/importedNamespace"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Config.ecore#//Import/importURI"/>
+ </genClasses>
+ <genClasses ecoreClass="Config.ecore#//Literal"/>
+ <genClasses ecoreClass="Config.ecore#//BooleanLiteral">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Config.ecore#//BooleanLiteral/isTrue"/>
+ </genClasses>
+ <genClasses ecoreClass="Config.ecore#//NumberLiteral"/>
+ <genClasses ecoreClass="Config.ecore#//RealLiteral">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Config.ecore#//RealLiteral/value"/>
+ </genClasses>
+ <genClasses ecoreClass="Config.ecore#//IntLiteral">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Config.ecore#//IntLiteral/value"/>
+ </genClasses>
+ <genClasses ecoreClass="Config.ecore#//StringLiteral">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Config.ecore#//StringLiteral/value"/>
</genClasses>
</genPackages>
</genmodel:GenModel>
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.xmi b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.xmi
index ff1304b63..79974c713 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.xmi
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.xmi
@@ -15,42 +15,404 @@
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//ConfigModel"/>
</type>
<alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="actorClassConfigs" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="imports" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
</elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="actorInstanceConfigs" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="configElements" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
</elements>
</alternatives>
</rules>
+ <rules xsi:type="xtext:ParserRule" name="ConfigElement">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//ConfigElement"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+ </alternatives>
+ </rules>
<rules xsi:type="xtext:ParserRule" name="ActorClassConfig">
<type metamodel="/0/@metamodelDeclarations.0">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//ActorClassConfig"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="ActorClassConfig"/>
- <elements xsi:type="xtext:Assignment" feature="actorClass" operator="=">
+ <elements xsi:type="xtext:Assignment" feature="actor" operator="=">
<terminal xsi:type="xtext:CrossReference">
<type metamodel="/0/@metamodelDeclarations.2">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//ActorClass"/>
</type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
</terminal>
</elements>
<elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="attributes" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
+ </elements>
<elements xsi:type="xtext:Keyword" value="}"/>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="ActorInstanceConfig">
- <type metamodel="/0/@metamodelDeclarations.1">
- <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//ActorInstanceConfig"/>
</type>
<alternatives xsi:type="xtext:Group">
<elements xsi:type="xtext:Keyword" value="ActorInstanceConfig"/>
+ <elements xsi:type="xtext:Assignment" feature="root" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.2">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//SubSystemClass"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="/"/>
+ <elements xsi:type="xtext:Assignment" feature="path" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
+ </elements>
<elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="attributes" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
+ </elements>
<elements xsi:type="xtext:Keyword" value="}"/>
</alternatives>
</rules>
+ <rules xsi:type="xtext:ParserRule" name="AttrConfig">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//AttrConfig"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AttrClassConfig">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//AttrClassConfig"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="attr"/>
+ <elements xsi:type="xtext:Assignment" feature="attribute" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.2">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Attribute"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:UnorderedGroup">
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="min"/>
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Assignment" feature="min" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="max"/>
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Assignment" feature="max" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AttrInstanceConfig">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//AttrInstanceConfig"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="attr"/>
+ <elements xsi:type="xtext:Assignment" feature="attribute" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.2">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/Room#//Attribute"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="RefPath">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//RefPath"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="refs" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="/"/>
+ <elements xsi:type="xtext:Assignment" feature="refs" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Import">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//Import"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="import"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="importedNamespace" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="from"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="model"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="importURI" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ImportedFQN">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
+ <elements xsi:type="xtext:Keyword" cardinality="?" value=".*"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="FQN">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Literal">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//Literal"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="BooleanLiteral">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//BooleanLiteral"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//BooleanLiteral"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="false"/>
+ <elements xsi:type="xtext:Assignment" feature="isTrue" operator="?=">
+ <terminal xsi:type="xtext:Keyword" value="true"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="NumberLiteral">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//NumberLiteral"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="RealLiteral">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//RealLiteral"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//RealLiteral"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="IntLiteral">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//IntLiteral"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//IntLiteral"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="StringLiteral">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//StringLiteral"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/core/Config#//StringLiteral"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Integer">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SignedInteger" definesHiddenTokens="true">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="+"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Hexadecimal" definesHiddenTokens="true">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Real">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Decimal" definesHiddenTokens="true">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="+"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="DotDecimal" definesHiddenTokens="true">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="+"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="DecimalDot" definesHiddenTokens="true">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="+"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+ <elements xsi:type="xtext:Keyword" value="."/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="DecimalExp" definesHiddenTokens="true">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="+"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="+"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="HEX">
+ <type metamodel="/0/@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="0x"/>
+ <elements xsi:type="xtext:Keyword" value="0X"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="+">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="f"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="F"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
</xtext:Grammar>
<xtext:Grammar name="org.eclipse.xtext.common.Terminals" definesHiddenTokens="true" hiddenTokens="/1/@rules.5 /1/@rules.3 /1/@rules.4">
<metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/ConfigStandaloneSetupGenerated.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/ConfigStandaloneSetupGenerated.java
index aa48b185e..680fbd299 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/ConfigStandaloneSetupGenerated.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/ConfigStandaloneSetupGenerated.java
@@ -1,44 +1,44 @@
-
-package org.eclipse.etrice.core;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.xtext.ISetup;
-import org.eclipse.emf.ecore.resource.Resource;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * Generated from StandaloneSetup.xpt!
- */
-@SuppressWarnings("all")
-public class ConfigStandaloneSetupGenerated implements ISetup {
-
- public Injector createInjectorAndDoEMFRegistration() {
- org.eclipse.xtext.common.TerminalsStandaloneSetup.doSetup();
-
- Injector injector = createInjector();
- register(injector);
- return injector;
- }
-
- public Injector createInjector() {
- return Guice.createInjector(new org.eclipse.etrice.core.ConfigRuntimeModule());
- }
-
- public void register(Injector injector) {
- if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/etrice/core/Config")) {
- EPackage.Registry.INSTANCE.put("http://www.eclipse.org/etrice/core/Config", org.eclipse.etrice.core.config.ConfigPackage.eINSTANCE);
- }
-
- org.eclipse.xtext.resource.IResourceFactory resourceFactory = injector.getInstance(org.eclipse.xtext.resource.IResourceFactory.class);
- org.eclipse.xtext.resource.IResourceServiceProvider serviceProvider = injector.getInstance(org.eclipse.xtext.resource.IResourceServiceProvider.class);
- Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("config", resourceFactory);
- org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("config", serviceProvider);
-
-
-
-
-
- }
-}
+
+package org.eclipse.etrice.core;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.ISetup;
+import org.eclipse.emf.ecore.resource.Resource;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+/**
+ * Generated from StandaloneSetup.xpt!
+ */
+@SuppressWarnings("all")
+public class ConfigStandaloneSetupGenerated implements ISetup {
+
+ public Injector createInjectorAndDoEMFRegistration() {
+ org.eclipse.xtext.common.TerminalsStandaloneSetup.doSetup();
+
+ Injector injector = createInjector();
+ register(injector);
+ return injector;
+ }
+
+ public Injector createInjector() {
+ return Guice.createInjector(new org.eclipse.etrice.core.ConfigRuntimeModule());
+ }
+
+ public void register(Injector injector) {
+ if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/etrice/core/Config")) {
+ EPackage.Registry.INSTANCE.put("http://www.eclipse.org/etrice/core/Config", org.eclipse.etrice.core.config.ConfigPackage.eINSTANCE);
+ }
+
+ org.eclipse.xtext.resource.IResourceFactory resourceFactory = injector.getInstance(org.eclipse.xtext.resource.IResourceFactory.class);
+ org.eclipse.xtext.resource.IResourceServiceProvider serviceProvider = injector.getInstance(org.eclipse.xtext.resource.IResourceServiceProvider.class);
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("config", resourceFactory);
+ org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("config", serviceProvider);
+
+
+
+
+
+ }
+}
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorClassConfig.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorClassConfig.java
index 6ee868669..0e6d91c5b 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorClassConfig.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorClassConfig.java
@@ -6,7 +6,7 @@
*/
package org.eclipse.etrice.core.config;
-import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.etrice.core.room.ActorClass;
@@ -18,7 +18,8 @@ import org.eclipse.etrice.core.room.ActorClass;
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.etrice.core.config.ActorClassConfig#getActorClass <em>Actor Class</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.ActorClassConfig#getActor <em>Actor</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.ActorClassConfig#getAttributes <em>Attributes</em>}</li>
* </ul>
* </p>
*
@@ -26,32 +27,48 @@ import org.eclipse.etrice.core.room.ActorClass;
* @model
* @generated
*/
-public interface ActorClassConfig extends EObject
+public interface ActorClassConfig extends ConfigElement
{
/**
- * Returns the value of the '<em><b>Actor Class</b></em>' reference.
+ * Returns the value of the '<em><b>Actor</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Actor Class</em>' reference isn't clear,
+ * If the meaning of the '<em>Actor</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Actor Class</em>' reference.
- * @see #setActorClass(ActorClass)
- * @see org.eclipse.etrice.core.config.ConfigPackage#getActorClassConfig_ActorClass()
+ * @return the value of the '<em>Actor</em>' reference.
+ * @see #setActor(ActorClass)
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getActorClassConfig_Actor()
* @model
* @generated
*/
- ActorClass getActorClass();
+ ActorClass getActor();
/**
- * Sets the value of the '{@link org.eclipse.etrice.core.config.ActorClassConfig#getActorClass <em>Actor Class</em>}' reference.
+ * Sets the value of the '{@link org.eclipse.etrice.core.config.ActorClassConfig#getActor <em>Actor</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @param value the new value of the '<em>Actor Class</em>' reference.
- * @see #getActorClass()
+ * @param value the new value of the '<em>Actor</em>' reference.
+ * @see #getActor()
* @generated
*/
- void setActorClass(ActorClass value);
+ void setActor(ActorClass value);
+
+ /**
+ * Returns the value of the '<em><b>Attributes</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.config.AttrClassConfig}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Attributes</em>' containment reference list.
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getActorClassConfig_Attributes()
+ * @model containment="true"
+ * @generated
+ */
+ EList<AttrClassConfig> getAttributes();
} // ActorClassConfig
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorInstanceConfig.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorInstanceConfig.java
new file mode 100644
index 000000000..3518c8074
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ActorInstanceConfig.java
@@ -0,0 +1,101 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.etrice.core.room.SubSystemClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Actor Instance Config</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.ActorInstanceConfig#getRoot <em>Root</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.ActorInstanceConfig#getPath <em>Path</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.ActorInstanceConfig#getAttributes <em>Attributes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getActorInstanceConfig()
+ * @model
+ * @generated
+ */
+public interface ActorInstanceConfig extends ConfigElement
+{
+ /**
+ * Returns the value of the '<em><b>Root</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Root</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Root</em>' reference.
+ * @see #setRoot(SubSystemClass)
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getActorInstanceConfig_Root()
+ * @model
+ * @generated
+ */
+ SubSystemClass getRoot();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.config.ActorInstanceConfig#getRoot <em>Root</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Root</em>' reference.
+ * @see #getRoot()
+ * @generated
+ */
+ void setRoot(SubSystemClass value);
+
+ /**
+ * Returns the value of the '<em><b>Path</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Path</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Path</em>' containment reference.
+ * @see #setPath(RefPath)
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getActorInstanceConfig_Path()
+ * @model containment="true"
+ * @generated
+ */
+ RefPath getPath();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.config.ActorInstanceConfig#getPath <em>Path</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Path</em>' containment reference.
+ * @see #getPath()
+ * @generated
+ */
+ void setPath(RefPath value);
+
+ /**
+ * Returns the value of the '<em><b>Attributes</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.config.AttrInstanceConfig}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Attributes</em>' containment reference list.
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getActorInstanceConfig_Attributes()
+ * @model containment="true"
+ * @generated
+ */
+ EList<AttrInstanceConfig> getAttributes();
+
+} // ActorInstanceConfig
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrClassConfig.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrClassConfig.java
new file mode 100644
index 000000000..f9f9fd8b3
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrClassConfig.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Attr Class Config</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.AttrClassConfig#getMin <em>Min</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.AttrClassConfig#getMax <em>Max</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getAttrClassConfig()
+ * @model
+ * @generated
+ */
+public interface AttrClassConfig extends AttrConfig
+{
+ /**
+ * Returns the value of the '<em><b>Min</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Min</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Min</em>' containment reference.
+ * @see #setMin(NumberLiteral)
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getAttrClassConfig_Min()
+ * @model containment="true"
+ * @generated
+ */
+ NumberLiteral getMin();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.config.AttrClassConfig#getMin <em>Min</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Min</em>' containment reference.
+ * @see #getMin()
+ * @generated
+ */
+ void setMin(NumberLiteral value);
+
+ /**
+ * Returns the value of the '<em><b>Max</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Max</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Max</em>' containment reference.
+ * @see #setMax(NumberLiteral)
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getAttrClassConfig_Max()
+ * @model containment="true"
+ * @generated
+ */
+ NumberLiteral getMax();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.config.AttrClassConfig#getMax <em>Max</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Max</em>' containment reference.
+ * @see #getMax()
+ * @generated
+ */
+ void setMax(NumberLiteral value);
+
+} // AttrClassConfig
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrConfig.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrConfig.java
new file mode 100644
index 000000000..8bd3e18c3
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrConfig.java
@@ -0,0 +1,84 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.etrice.core.room.Attribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Attr Config</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.AttrConfig#getAttribute <em>Attribute</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.AttrConfig#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getAttrConfig()
+ * @model
+ * @generated
+ */
+public interface AttrConfig extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Attribute</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Attribute</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Attribute</em>' reference.
+ * @see #setAttribute(Attribute)
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getAttrConfig_Attribute()
+ * @model
+ * @generated
+ */
+ Attribute getAttribute();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.config.AttrConfig#getAttribute <em>Attribute</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Attribute</em>' reference.
+ * @see #getAttribute()
+ * @generated
+ */
+ void setAttribute(Attribute value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' containment reference.
+ * @see #setValue(Literal)
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getAttrConfig_Value()
+ * @model containment="true"
+ * @generated
+ */
+ Literal getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.config.AttrConfig#getValue <em>Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' containment reference.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(Literal value);
+
+} // AttrConfig
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrInstanceConfig.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrInstanceConfig.java
new file mode 100644
index 000000000..2caaad75f
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/AttrInstanceConfig.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Attr Instance Config</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getAttrInstanceConfig()
+ * @model
+ * @generated
+ */
+public interface AttrInstanceConfig extends AttrConfig
+{
+} // AttrInstanceConfig
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/BooleanLiteral.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/BooleanLiteral.java
new file mode 100644
index 000000000..87fe90860
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/BooleanLiteral.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Boolean Literal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.BooleanLiteral#isIsTrue <em>Is True</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getBooleanLiteral()
+ * @model
+ * @generated
+ */
+public interface BooleanLiteral extends Literal
+{
+ /**
+ * Returns the value of the '<em><b>Is True</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is True</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is True</em>' attribute.
+ * @see #setIsTrue(boolean)
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getBooleanLiteral_IsTrue()
+ * @model
+ * @generated
+ */
+ boolean isIsTrue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.config.BooleanLiteral#isIsTrue <em>Is True</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is True</em>' attribute.
+ * @see #isIsTrue()
+ * @generated
+ */
+ void setIsTrue(boolean value);
+
+} // BooleanLiteral
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigElement.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigElement.java
new file mode 100644
index 000000000..cb8e913ef
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigElement.java
@@ -0,0 +1,23 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getConfigElement()
+ * @model
+ * @generated
+ */
+public interface ConfigElement extends EObject
+{
+} // ConfigElement
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigFactory.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigFactory.java
index 09163a347..4fb7181ea 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigFactory.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigFactory.java
@@ -36,6 +36,15 @@ public interface ConfigFactory extends EFactory
ConfigModel createConfigModel();
/**
+ * Returns a new object of class '<em>Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Element</em>'.
+ * @generated
+ */
+ ConfigElement createConfigElement();
+
+ /**
* Returns a new object of class '<em>Actor Class Config</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -45,6 +54,114 @@ public interface ConfigFactory extends EFactory
ActorClassConfig createActorClassConfig();
/**
+ * Returns a new object of class '<em>Actor Instance Config</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Actor Instance Config</em>'.
+ * @generated
+ */
+ ActorInstanceConfig createActorInstanceConfig();
+
+ /**
+ * Returns a new object of class '<em>Attr Config</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Attr Config</em>'.
+ * @generated
+ */
+ AttrConfig createAttrConfig();
+
+ /**
+ * Returns a new object of class '<em>Attr Class Config</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Attr Class Config</em>'.
+ * @generated
+ */
+ AttrClassConfig createAttrClassConfig();
+
+ /**
+ * Returns a new object of class '<em>Attr Instance Config</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Attr Instance Config</em>'.
+ * @generated
+ */
+ AttrInstanceConfig createAttrInstanceConfig();
+
+ /**
+ * Returns a new object of class '<em>Ref Path</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ref Path</em>'.
+ * @generated
+ */
+ RefPath createRefPath();
+
+ /**
+ * Returns a new object of class '<em>Import</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Import</em>'.
+ * @generated
+ */
+ Import createImport();
+
+ /**
+ * Returns a new object of class '<em>Literal</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Literal</em>'.
+ * @generated
+ */
+ Literal createLiteral();
+
+ /**
+ * Returns a new object of class '<em>Boolean Literal</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Boolean Literal</em>'.
+ * @generated
+ */
+ BooleanLiteral createBooleanLiteral();
+
+ /**
+ * Returns a new object of class '<em>Number Literal</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Number Literal</em>'.
+ * @generated
+ */
+ NumberLiteral createNumberLiteral();
+
+ /**
+ * Returns a new object of class '<em>Real Literal</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Real Literal</em>'.
+ * @generated
+ */
+ RealLiteral createRealLiteral();
+
+ /**
+ * Returns a new object of class '<em>Int Literal</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Int Literal</em>'.
+ * @generated
+ */
+ IntLiteral createIntLiteral();
+
+ /**
+ * Returns a new object of class '<em>String Literal</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>String Literal</em>'.
+ * @generated
+ */
+ StringLiteral createStringLiteral();
+
+ /**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigModel.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigModel.java
index 27c9244c6..55f508022 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigModel.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigModel.java
@@ -18,8 +18,8 @@ import org.eclipse.emf.ecore.EObject;
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.etrice.core.config.ConfigModel#getActorClassConfigs <em>Actor Class Configs</em>}</li>
- * <li>{@link org.eclipse.etrice.core.config.ConfigModel#getActorInstanceConfigs <em>Actor Instance Configs</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.ConfigModel#getImports <em>Imports</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.ConfigModel#getConfigElements <em>Config Elements</em>}</li>
* </ul>
* </p>
*
@@ -30,35 +30,53 @@ import org.eclipse.emf.ecore.EObject;
public interface ConfigModel extends EObject
{
/**
- * Returns the value of the '<em><b>Actor Class Configs</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.etrice.core.config.ActorClassConfig}.
+ * Returns the value of the '<em><b>Imports</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.config.Import}.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Actor Class Configs</em>' containment reference list isn't clear,
+ * If the meaning of the '<em>Imports</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Actor Class Configs</em>' containment reference list.
- * @see org.eclipse.etrice.core.config.ConfigPackage#getConfigModel_ActorClassConfigs()
+ * @return the value of the '<em>Imports</em>' containment reference list.
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getConfigModel_Imports()
* @model containment="true"
* @generated
*/
- EList<ActorClassConfig> getActorClassConfigs();
+ EList<Import> getImports();
/**
- * Returns the value of the '<em><b>Actor Instance Configs</b></em>' attribute list.
- * The list contents are of type {@link java.lang.String}.
+ * Returns the value of the '<em><b>Config Elements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.core.config.ConfigElement}.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Actor Instance Configs</em>' attribute list isn't clear,
+ * If the meaning of the '<em>Config Elements</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Actor Instance Configs</em>' attribute list.
- * @see org.eclipse.etrice.core.config.ConfigPackage#getConfigModel_ActorInstanceConfigs()
- * @model unique="false"
+ * @return the value of the '<em>Config Elements</em>' containment reference list.
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getConfigModel_ConfigElements()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ConfigElement> getConfigElements();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel body='EList<ActorClassConfig> list = new org.eclipse.emf.common.util.BasicEList<ActorClassConfig>();\r\n\t \t\t\tfor(ConfigElement element : this.getConfigElements())\r\n\t \t\t\t\tif(element instanceof ActorClassConfig)\r\n\t \t\t\t\t\tlist.add((ActorClassConfig) element);\r\n\t \t\t return list;'"
+ * @generated
+ */
+ EList<ActorClassConfig> getActorClassConfigs();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel body='EList<ActorInstanceConfig> list = new org.eclipse.emf.common.util.BasicEList<ActorInstanceConfig>();\r\n\t\t\t\tfor(ConfigElement element : this.getConfigElements())\r\n\t\t\t \t\tif(element instanceof ActorInstanceConfig)\r\n\t\t\t\t\t\tlist.add((ActorInstanceConfig) element);\r\n\t\t\t\treturn list;'"
* @generated
*/
- EList<String> getActorInstanceConfigs();
+ EList<ActorInstanceConfig> getActorInstanceConfigs();
} // ConfigModel
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigPackage.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigPackage.java
index def7ed449..181658036 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigPackage.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/ConfigPackage.java
@@ -71,22 +71,22 @@ public interface ConfigPackage extends EPackage
int CONFIG_MODEL = 0;
/**
- * The feature id for the '<em><b>Actor Class Configs</b></em>' containment reference list.
+ * The feature id for the '<em><b>Imports</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CONFIG_MODEL__ACTOR_CLASS_CONFIGS = 0;
+ int CONFIG_MODEL__IMPORTS = 0;
/**
- * The feature id for the '<em><b>Actor Instance Configs</b></em>' attribute list.
+ * The feature id for the '<em><b>Config Elements</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CONFIG_MODEL__ACTOR_INSTANCE_CONFIGS = 1;
+ int CONFIG_MODEL__CONFIG_ELEMENTS = 1;
/**
* The number of structural features of the '<em>Model</em>' class.
@@ -98,6 +98,25 @@ public interface ConfigPackage extends EPackage
int CONFIG_MODEL_FEATURE_COUNT = 2;
/**
+ * The meta object id for the '{@link org.eclipse.etrice.core.config.impl.ConfigElementImpl <em>Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.ConfigElementImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getConfigElement()
+ * @generated
+ */
+ int CONFIG_ELEMENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIG_ELEMENT_FEATURE_COUNT = 0;
+
+ /**
* The meta object id for the '{@link org.eclipse.etrice.core.config.impl.ActorClassConfigImpl <em>Actor Class Config</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -105,16 +124,25 @@ public interface ConfigPackage extends EPackage
* @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getActorClassConfig()
* @generated
*/
- int ACTOR_CLASS_CONFIG = 1;
+ int ACTOR_CLASS_CONFIG = 2;
+
+ /**
+ * The feature id for the '<em><b>Actor</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_CLASS_CONFIG__ACTOR = CONFIG_ELEMENT_FEATURE_COUNT + 0;
/**
- * The feature id for the '<em><b>Actor Class</b></em>' reference.
+ * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int ACTOR_CLASS_CONFIG__ACTOR_CLASS = 0;
+ int ACTOR_CLASS_CONFIG__ATTRIBUTES = CONFIG_ELEMENT_FEATURE_COUNT + 1;
/**
* The number of structural features of the '<em>Actor Class Config</em>' class.
@@ -123,7 +151,397 @@ public interface ConfigPackage extends EPackage
* @generated
* @ordered
*/
- int ACTOR_CLASS_CONFIG_FEATURE_COUNT = 1;
+ int ACTOR_CLASS_CONFIG_FEATURE_COUNT = CONFIG_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.config.impl.ActorInstanceConfigImpl <em>Actor Instance Config</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.ActorInstanceConfigImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getActorInstanceConfig()
+ * @generated
+ */
+ int ACTOR_INSTANCE_CONFIG = 3;
+
+ /**
+ * The feature id for the '<em><b>Root</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE_CONFIG__ROOT = CONFIG_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE_CONFIG__PATH = CONFIG_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE_CONFIG__ATTRIBUTES = CONFIG_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Actor Instance Config</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_INSTANCE_CONFIG_FEATURE_COUNT = CONFIG_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.config.impl.AttrConfigImpl <em>Attr Config</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.AttrConfigImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getAttrConfig()
+ * @generated
+ */
+ int ATTR_CONFIG = 4;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTR_CONFIG__ATTRIBUTE = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTR_CONFIG__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Attr Config</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTR_CONFIG_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.config.impl.AttrClassConfigImpl <em>Attr Class Config</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.AttrClassConfigImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getAttrClassConfig()
+ * @generated
+ */
+ int ATTR_CLASS_CONFIG = 5;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTR_CLASS_CONFIG__ATTRIBUTE = ATTR_CONFIG__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTR_CLASS_CONFIG__VALUE = ATTR_CONFIG__VALUE;
+
+ /**
+ * The feature id for the '<em><b>Min</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTR_CLASS_CONFIG__MIN = ATTR_CONFIG_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Max</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTR_CLASS_CONFIG__MAX = ATTR_CONFIG_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Attr Class Config</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTR_CLASS_CONFIG_FEATURE_COUNT = ATTR_CONFIG_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.config.impl.AttrInstanceConfigImpl <em>Attr Instance Config</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.AttrInstanceConfigImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getAttrInstanceConfig()
+ * @generated
+ */
+ int ATTR_INSTANCE_CONFIG = 6;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTR_INSTANCE_CONFIG__ATTRIBUTE = ATTR_CONFIG__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTR_INSTANCE_CONFIG__VALUE = ATTR_CONFIG__VALUE;
+
+ /**
+ * The number of structural features of the '<em>Attr Instance Config</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTR_INSTANCE_CONFIG_FEATURE_COUNT = ATTR_CONFIG_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.config.impl.RefPathImpl <em>Ref Path</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.RefPathImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getRefPath()
+ * @generated
+ */
+ int REF_PATH = 7;
+
+ /**
+ * The feature id for the '<em><b>Refs</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_PATH__REFS = 0;
+
+ /**
+ * The number of structural features of the '<em>Ref Path</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REF_PATH_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.config.impl.ImportImpl <em>Import</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.ImportImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getImport()
+ * @generated
+ */
+ int IMPORT = 8;
+
+ /**
+ * The feature id for the '<em><b>Imported Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT__IMPORTED_NAMESPACE = 0;
+
+ /**
+ * The feature id for the '<em><b>Import URI</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT__IMPORT_URI = 1;
+
+ /**
+ * The number of structural features of the '<em>Import</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.config.impl.LiteralImpl <em>Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.LiteralImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getLiteral()
+ * @generated
+ */
+ int LITERAL = 9;
+
+ /**
+ * The number of structural features of the '<em>Literal</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LITERAL_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.config.impl.BooleanLiteralImpl <em>Boolean Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.BooleanLiteralImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getBooleanLiteral()
+ * @generated
+ */
+ int BOOLEAN_LITERAL = 10;
+
+ /**
+ * The feature id for the '<em><b>Is True</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL__IS_TRUE = LITERAL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Boolean Literal</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOLEAN_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.config.impl.NumberLiteralImpl <em>Number Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.NumberLiteralImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getNumberLiteral()
+ * @generated
+ */
+ int NUMBER_LITERAL = 11;
+
+ /**
+ * The number of structural features of the '<em>Number Literal</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NUMBER_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.config.impl.RealLiteralImpl <em>Real Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.RealLiteralImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getRealLiteral()
+ * @generated
+ */
+ int REAL_LITERAL = 12;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REAL_LITERAL__VALUE = NUMBER_LITERAL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Real Literal</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REAL_LITERAL_FEATURE_COUNT = NUMBER_LITERAL_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.config.impl.IntLiteralImpl <em>Int Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.IntLiteralImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getIntLiteral()
+ * @generated
+ */
+ int INT_LITERAL = 13;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INT_LITERAL__VALUE = NUMBER_LITERAL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Int Literal</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INT_LITERAL_FEATURE_COUNT = NUMBER_LITERAL_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.core.config.impl.StringLiteralImpl <em>String Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.StringLiteralImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getStringLiteral()
+ * @generated
+ */
+ int STRING_LITERAL = 14;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>String Literal</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
/**
@@ -137,26 +555,36 @@ public interface ConfigPackage extends EPackage
EClass getConfigModel();
/**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.config.ConfigModel#getActorClassConfigs <em>Actor Class Configs</em>}'.
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.config.ConfigModel#getImports <em>Imports</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Actor Class Configs</em>'.
- * @see org.eclipse.etrice.core.config.ConfigModel#getActorClassConfigs()
+ * @return the meta object for the containment reference list '<em>Imports</em>'.
+ * @see org.eclipse.etrice.core.config.ConfigModel#getImports()
* @see #getConfigModel()
* @generated
*/
- EReference getConfigModel_ActorClassConfigs();
+ EReference getConfigModel_Imports();
/**
- * Returns the meta object for the attribute list '{@link org.eclipse.etrice.core.config.ConfigModel#getActorInstanceConfigs <em>Actor Instance Configs</em>}'.
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.config.ConfigModel#getConfigElements <em>Config Elements</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the attribute list '<em>Actor Instance Configs</em>'.
- * @see org.eclipse.etrice.core.config.ConfigModel#getActorInstanceConfigs()
+ * @return the meta object for the containment reference list '<em>Config Elements</em>'.
+ * @see org.eclipse.etrice.core.config.ConfigModel#getConfigElements()
* @see #getConfigModel()
* @generated
*/
- EAttribute getConfigModel_ActorInstanceConfigs();
+ EReference getConfigModel_ConfigElements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.config.ConfigElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Element</em>'.
+ * @see org.eclipse.etrice.core.config.ConfigElement
+ * @generated
+ */
+ EClass getConfigElement();
/**
* Returns the meta object for class '{@link org.eclipse.etrice.core.config.ActorClassConfig <em>Actor Class Config</em>}'.
@@ -169,15 +597,300 @@ public interface ConfigPackage extends EPackage
EClass getActorClassConfig();
/**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.core.config.ActorClassConfig#getActorClass <em>Actor Class</em>}'.
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.config.ActorClassConfig#getActor <em>Actor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Actor</em>'.
+ * @see org.eclipse.etrice.core.config.ActorClassConfig#getActor()
+ * @see #getActorClassConfig()
+ * @generated
+ */
+ EReference getActorClassConfig_Actor();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.config.ActorClassConfig#getAttributes <em>Attributes</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Actor Class</em>'.
- * @see org.eclipse.etrice.core.config.ActorClassConfig#getActorClass()
+ * @return the meta object for the containment reference list '<em>Attributes</em>'.
+ * @see org.eclipse.etrice.core.config.ActorClassConfig#getAttributes()
* @see #getActorClassConfig()
* @generated
*/
- EReference getActorClassConfig_ActorClass();
+ EReference getActorClassConfig_Attributes();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.config.ActorInstanceConfig <em>Actor Instance Config</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Actor Instance Config</em>'.
+ * @see org.eclipse.etrice.core.config.ActorInstanceConfig
+ * @generated
+ */
+ EClass getActorInstanceConfig();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.config.ActorInstanceConfig#getRoot <em>Root</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Root</em>'.
+ * @see org.eclipse.etrice.core.config.ActorInstanceConfig#getRoot()
+ * @see #getActorInstanceConfig()
+ * @generated
+ */
+ EReference getActorInstanceConfig_Root();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.core.config.ActorInstanceConfig#getPath <em>Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Path</em>'.
+ * @see org.eclipse.etrice.core.config.ActorInstanceConfig#getPath()
+ * @see #getActorInstanceConfig()
+ * @generated
+ */
+ EReference getActorInstanceConfig_Path();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.config.ActorInstanceConfig#getAttributes <em>Attributes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Attributes</em>'.
+ * @see org.eclipse.etrice.core.config.ActorInstanceConfig#getAttributes()
+ * @see #getActorInstanceConfig()
+ * @generated
+ */
+ EReference getActorInstanceConfig_Attributes();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.config.AttrConfig <em>Attr Config</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Attr Config</em>'.
+ * @see org.eclipse.etrice.core.config.AttrConfig
+ * @generated
+ */
+ EClass getAttrConfig();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.core.config.AttrConfig#getAttribute <em>Attribute</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Attribute</em>'.
+ * @see org.eclipse.etrice.core.config.AttrConfig#getAttribute()
+ * @see #getAttrConfig()
+ * @generated
+ */
+ EReference getAttrConfig_Attribute();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.core.config.AttrConfig#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Value</em>'.
+ * @see org.eclipse.etrice.core.config.AttrConfig#getValue()
+ * @see #getAttrConfig()
+ * @generated
+ */
+ EReference getAttrConfig_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.config.AttrClassConfig <em>Attr Class Config</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Attr Class Config</em>'.
+ * @see org.eclipse.etrice.core.config.AttrClassConfig
+ * @generated
+ */
+ EClass getAttrClassConfig();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.core.config.AttrClassConfig#getMin <em>Min</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Min</em>'.
+ * @see org.eclipse.etrice.core.config.AttrClassConfig#getMin()
+ * @see #getAttrClassConfig()
+ * @generated
+ */
+ EReference getAttrClassConfig_Min();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.core.config.AttrClassConfig#getMax <em>Max</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Max</em>'.
+ * @see org.eclipse.etrice.core.config.AttrClassConfig#getMax()
+ * @see #getAttrClassConfig()
+ * @generated
+ */
+ EReference getAttrClassConfig_Max();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.config.AttrInstanceConfig <em>Attr Instance Config</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Attr Instance Config</em>'.
+ * @see org.eclipse.etrice.core.config.AttrInstanceConfig
+ * @generated
+ */
+ EClass getAttrInstanceConfig();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.config.RefPath <em>Ref Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ref Path</em>'.
+ * @see org.eclipse.etrice.core.config.RefPath
+ * @generated
+ */
+ EClass getRefPath();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.etrice.core.config.RefPath#getRefs <em>Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Refs</em>'.
+ * @see org.eclipse.etrice.core.config.RefPath#getRefs()
+ * @see #getRefPath()
+ * @generated
+ */
+ EAttribute getRefPath_Refs();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.config.Import <em>Import</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Import</em>'.
+ * @see org.eclipse.etrice.core.config.Import
+ * @generated
+ */
+ EClass getImport();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.config.Import#getImportedNamespace <em>Imported Namespace</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Imported Namespace</em>'.
+ * @see org.eclipse.etrice.core.config.Import#getImportedNamespace()
+ * @see #getImport()
+ * @generated
+ */
+ EAttribute getImport_ImportedNamespace();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.config.Import#getImportURI <em>Import URI</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Import URI</em>'.
+ * @see org.eclipse.etrice.core.config.Import#getImportURI()
+ * @see #getImport()
+ * @generated
+ */
+ EAttribute getImport_ImportURI();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.config.Literal <em>Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Literal</em>'.
+ * @see org.eclipse.etrice.core.config.Literal
+ * @generated
+ */
+ EClass getLiteral();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.config.BooleanLiteral <em>Boolean Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Boolean Literal</em>'.
+ * @see org.eclipse.etrice.core.config.BooleanLiteral
+ * @generated
+ */
+ EClass getBooleanLiteral();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.config.BooleanLiteral#isIsTrue <em>Is True</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is True</em>'.
+ * @see org.eclipse.etrice.core.config.BooleanLiteral#isIsTrue()
+ * @see #getBooleanLiteral()
+ * @generated
+ */
+ EAttribute getBooleanLiteral_IsTrue();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.config.NumberLiteral <em>Number Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Number Literal</em>'.
+ * @see org.eclipse.etrice.core.config.NumberLiteral
+ * @generated
+ */
+ EClass getNumberLiteral();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.config.RealLiteral <em>Real Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Real Literal</em>'.
+ * @see org.eclipse.etrice.core.config.RealLiteral
+ * @generated
+ */
+ EClass getRealLiteral();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.config.RealLiteral#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.etrice.core.config.RealLiteral#getValue()
+ * @see #getRealLiteral()
+ * @generated
+ */
+ EAttribute getRealLiteral_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.config.IntLiteral <em>Int Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Int Literal</em>'.
+ * @see org.eclipse.etrice.core.config.IntLiteral
+ * @generated
+ */
+ EClass getIntLiteral();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.config.IntLiteral#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.etrice.core.config.IntLiteral#getValue()
+ * @see #getIntLiteral()
+ * @generated
+ */
+ EAttribute getIntLiteral_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.core.config.StringLiteral <em>String Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>String Literal</em>'.
+ * @see org.eclipse.etrice.core.config.StringLiteral
+ * @generated
+ */
+ EClass getStringLiteral();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.core.config.StringLiteral#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.etrice.core.config.StringLiteral#getValue()
+ * @see #getStringLiteral()
+ * @generated
+ */
+ EAttribute getStringLiteral_Value();
/**
* Returns the factory that creates the instances of the model.
@@ -213,20 +926,30 @@ public interface ConfigPackage extends EPackage
EClass CONFIG_MODEL = eINSTANCE.getConfigModel();
/**
- * The meta object literal for the '<em><b>Actor Class Configs</b></em>' containment reference list feature.
+ * The meta object literal for the '<em><b>Imports</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIG_MODEL__IMPORTS = eINSTANCE.getConfigModel_Imports();
+
+ /**
+ * The meta object literal for the '<em><b>Config Elements</b></em>' containment reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference CONFIG_MODEL__ACTOR_CLASS_CONFIGS = eINSTANCE.getConfigModel_ActorClassConfigs();
+ EReference CONFIG_MODEL__CONFIG_ELEMENTS = eINSTANCE.getConfigModel_ConfigElements();
/**
- * The meta object literal for the '<em><b>Actor Instance Configs</b></em>' attribute list feature.
+ * The meta object literal for the '{@link org.eclipse.etrice.core.config.impl.ConfigElementImpl <em>Element</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.ConfigElementImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getConfigElement()
* @generated
*/
- EAttribute CONFIG_MODEL__ACTOR_INSTANCE_CONFIGS = eINSTANCE.getConfigModel_ActorInstanceConfigs();
+ EClass CONFIG_ELEMENT = eINSTANCE.getConfigElement();
/**
* The meta object literal for the '{@link org.eclipse.etrice.core.config.impl.ActorClassConfigImpl <em>Actor Class Config</em>}' class.
@@ -239,12 +962,252 @@ public interface ConfigPackage extends EPackage
EClass ACTOR_CLASS_CONFIG = eINSTANCE.getActorClassConfig();
/**
- * The meta object literal for the '<em><b>Actor Class</b></em>' reference feature.
+ * The meta object literal for the '<em><b>Actor</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACTOR_CLASS_CONFIG__ACTOR = eINSTANCE.getActorClassConfig_Actor();
+
+ /**
+ * The meta object literal for the '<em><b>Attributes</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACTOR_CLASS_CONFIG__ATTRIBUTES = eINSTANCE.getActorClassConfig_Attributes();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.config.impl.ActorInstanceConfigImpl <em>Actor Instance Config</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.ActorInstanceConfigImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getActorInstanceConfig()
+ * @generated
+ */
+ EClass ACTOR_INSTANCE_CONFIG = eINSTANCE.getActorInstanceConfig();
+
+ /**
+ * The meta object literal for the '<em><b>Root</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACTOR_INSTANCE_CONFIG__ROOT = eINSTANCE.getActorInstanceConfig_Root();
+
+ /**
+ * The meta object literal for the '<em><b>Path</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACTOR_INSTANCE_CONFIG__PATH = eINSTANCE.getActorInstanceConfig_Path();
+
+ /**
+ * The meta object literal for the '<em><b>Attributes</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACTOR_INSTANCE_CONFIG__ATTRIBUTES = eINSTANCE.getActorInstanceConfig_Attributes();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.config.impl.AttrConfigImpl <em>Attr Config</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.AttrConfigImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getAttrConfig()
+ * @generated
+ */
+ EClass ATTR_CONFIG = eINSTANCE.getAttrConfig();
+
+ /**
+ * The meta object literal for the '<em><b>Attribute</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ATTR_CONFIG__ATTRIBUTE = eINSTANCE.getAttrConfig_Attribute();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ATTR_CONFIG__VALUE = eINSTANCE.getAttrConfig_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.config.impl.AttrClassConfigImpl <em>Attr Class Config</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.AttrClassConfigImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getAttrClassConfig()
+ * @generated
+ */
+ EClass ATTR_CLASS_CONFIG = eINSTANCE.getAttrClassConfig();
+
+ /**
+ * The meta object literal for the '<em><b>Min</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ATTR_CLASS_CONFIG__MIN = eINSTANCE.getAttrClassConfig_Min();
+
+ /**
+ * The meta object literal for the '<em><b>Max</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ATTR_CLASS_CONFIG__MAX = eINSTANCE.getAttrClassConfig_Max();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.config.impl.AttrInstanceConfigImpl <em>Attr Instance Config</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.AttrInstanceConfigImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getAttrInstanceConfig()
+ * @generated
+ */
+ EClass ATTR_INSTANCE_CONFIG = eINSTANCE.getAttrInstanceConfig();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.config.impl.RefPathImpl <em>Ref Path</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.RefPathImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getRefPath()
+ * @generated
+ */
+ EClass REF_PATH = eINSTANCE.getRefPath();
+
+ /**
+ * The meta object literal for the '<em><b>Refs</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REF_PATH__REFS = eINSTANCE.getRefPath_Refs();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.config.impl.ImportImpl <em>Import</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.ImportImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getImport()
+ * @generated
+ */
+ EClass IMPORT = eINSTANCE.getImport();
+
+ /**
+ * The meta object literal for the '<em><b>Imported Namespace</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMPORT__IMPORTED_NAMESPACE = eINSTANCE.getImport_ImportedNamespace();
+
+ /**
+ * The meta object literal for the '<em><b>Import URI</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMPORT__IMPORT_URI = eINSTANCE.getImport_ImportURI();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.config.impl.LiteralImpl <em>Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.LiteralImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getLiteral()
+ * @generated
+ */
+ EClass LITERAL = eINSTANCE.getLiteral();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.config.impl.BooleanLiteralImpl <em>Boolean Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.BooleanLiteralImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getBooleanLiteral()
+ * @generated
+ */
+ EClass BOOLEAN_LITERAL = eINSTANCE.getBooleanLiteral();
+
+ /**
+ * The meta object literal for the '<em><b>Is True</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BOOLEAN_LITERAL__IS_TRUE = eINSTANCE.getBooleanLiteral_IsTrue();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.config.impl.NumberLiteralImpl <em>Number Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.NumberLiteralImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getNumberLiteral()
+ * @generated
+ */
+ EClass NUMBER_LITERAL = eINSTANCE.getNumberLiteral();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.config.impl.RealLiteralImpl <em>Real Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.RealLiteralImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getRealLiteral()
+ * @generated
+ */
+ EClass REAL_LITERAL = eINSTANCE.getRealLiteral();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REAL_LITERAL__VALUE = eINSTANCE.getRealLiteral_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.config.impl.IntLiteralImpl <em>Int Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.IntLiteralImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getIntLiteral()
+ * @generated
+ */
+ EClass INT_LITERAL = eINSTANCE.getIntLiteral();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute INT_LITERAL__VALUE = eINSTANCE.getIntLiteral_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.core.config.impl.StringLiteralImpl <em>String Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.core.config.impl.StringLiteralImpl
+ * @see org.eclipse.etrice.core.config.impl.ConfigPackageImpl#getStringLiteral()
+ * @generated
+ */
+ EClass STRING_LITERAL = eINSTANCE.getStringLiteral();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference ACTOR_CLASS_CONFIG__ACTOR_CLASS = eINSTANCE.getActorClassConfig_ActorClass();
+ EAttribute STRING_LITERAL__VALUE = eINSTANCE.getStringLiteral_Value();
}
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Import.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Import.java
new file mode 100644
index 000000000..41e340a6c
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Import.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Import</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.Import#getImportedNamespace <em>Imported Namespace</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.Import#getImportURI <em>Import URI</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getImport()
+ * @model
+ * @generated
+ */
+public interface Import extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Imported Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Imported Namespace</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Imported Namespace</em>' attribute.
+ * @see #setImportedNamespace(String)
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getImport_ImportedNamespace()
+ * @model
+ * @generated
+ */
+ String getImportedNamespace();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.config.Import#getImportedNamespace <em>Imported Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Imported Namespace</em>' attribute.
+ * @see #getImportedNamespace()
+ * @generated
+ */
+ void setImportedNamespace(String value);
+
+ /**
+ * Returns the value of the '<em><b>Import URI</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Import URI</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Import URI</em>' attribute.
+ * @see #setImportURI(String)
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getImport_ImportURI()
+ * @model
+ * @generated
+ */
+ String getImportURI();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.config.Import#getImportURI <em>Import URI</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Import URI</em>' attribute.
+ * @see #getImportURI()
+ * @generated
+ */
+ void setImportURI(String value);
+
+} // Import
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/IntLiteral.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/IntLiteral.java
new file mode 100644
index 000000000..d20edffaa
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/IntLiteral.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Int Literal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.IntLiteral#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getIntLiteral()
+ * @model
+ * @generated
+ */
+public interface IntLiteral extends NumberLiteral
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(int)
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getIntLiteral_Value()
+ * @model
+ * @generated
+ */
+ int getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.config.IntLiteral#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(int value);
+
+} // IntLiteral
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Literal.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Literal.java
new file mode 100644
index 000000000..7d91b19a1
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/Literal.java
@@ -0,0 +1,23 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Literal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getLiteral()
+ * @model
+ * @generated
+ */
+public interface Literal extends EObject
+{
+} // Literal
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/NumberLiteral.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/NumberLiteral.java
new file mode 100644
index 000000000..e3f819a33
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/NumberLiteral.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Number Literal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getNumberLiteral()
+ * @model
+ * @generated
+ */
+public interface NumberLiteral extends Literal
+{
+} // NumberLiteral
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/RealLiteral.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/RealLiteral.java
new file mode 100644
index 000000000..785450d9b
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/RealLiteral.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Real Literal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.RealLiteral#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getRealLiteral()
+ * @model
+ * @generated
+ */
+public interface RealLiteral extends NumberLiteral
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(double)
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getRealLiteral_Value()
+ * @model
+ * @generated
+ */
+ double getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.config.RealLiteral#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(double value);
+
+} // RealLiteral
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/RefPath.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/RefPath.java
new file mode 100644
index 000000000..961a1c97a
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/RefPath.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ref Path</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.RefPath#getRefs <em>Refs</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getRefPath()
+ * @model
+ * @generated
+ */
+public interface RefPath extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Refs</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Refs</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Refs</em>' attribute list.
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getRefPath_Refs()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getRefs();
+
+} // RefPath
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/StringLiteral.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/StringLiteral.java
new file mode 100644
index 000000000..1baefaeb8
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/StringLiteral.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>String Literal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.StringLiteral#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getStringLiteral()
+ * @model
+ * @generated
+ */
+public interface StringLiteral extends Literal
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.etrice.core.config.ConfigPackage#getStringLiteral_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.core.config.StringLiteral#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // StringLiteral
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ActorClassConfigImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ActorClassConfigImpl.java
index 093369978..f4885bd84 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ActorClassConfigImpl.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ActorClassConfigImpl.java
@@ -6,15 +6,23 @@
*/
package org.eclipse.etrice.core.config.impl;
+import java.util.Collection;
+
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.etrice.core.config.ActorClassConfig;
+import org.eclipse.etrice.core.config.AttrClassConfig;
import org.eclipse.etrice.core.config.ConfigPackage;
import org.eclipse.etrice.core.room.ActorClass;
@@ -26,23 +34,34 @@ import org.eclipse.etrice.core.room.ActorClass;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.etrice.core.config.impl.ActorClassConfigImpl#getActorClass <em>Actor Class</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.impl.ActorClassConfigImpl#getActor <em>Actor</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.impl.ActorClassConfigImpl#getAttributes <em>Attributes</em>}</li>
* </ul>
* </p>
*
* @generated
*/
-public class ActorClassConfigImpl extends MinimalEObjectImpl.Container implements ActorClassConfig
+public class ActorClassConfigImpl extends ConfigElementImpl implements ActorClassConfig
{
/**
- * The cached value of the '{@link #getActorClass() <em>Actor Class</em>}' reference.
+ * The cached value of the '{@link #getActor() <em>Actor</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getActor()
+ * @generated
+ * @ordered
+ */
+ protected ActorClass actor;
+
+ /**
+ * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getActorClass()
+ * @see #getAttributes()
* @generated
* @ordered
*/
- protected ActorClass actorClass;
+ protected EList<AttrClassConfig> attributes;
/**
* <!-- begin-user-doc -->
@@ -70,19 +89,20 @@ public class ActorClassConfigImpl extends MinimalEObjectImpl.Container implement
* <!-- end-user-doc -->
* @generated
*/
- public ActorClass getActorClass()
+ @Override
+public ActorClass getActor()
{
- if (actorClass != null && actorClass.eIsProxy())
+ if (actor != null && actor.eIsProxy())
{
- InternalEObject oldActorClass = (InternalEObject)actorClass;
- actorClass = (ActorClass)eResolveProxy(oldActorClass);
- if (actorClass != oldActorClass)
+ InternalEObject oldActor = (InternalEObject)actor;
+ actor = (ActorClass)eResolveProxy(oldActor);
+ if (actor != oldActor)
{
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConfigPackage.ACTOR_CLASS_CONFIG__ACTOR_CLASS, oldActorClass, actorClass));
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConfigPackage.ACTOR_CLASS_CONFIG__ACTOR, oldActor, actor));
}
}
- return actorClass;
+ return actor;
}
/**
@@ -90,9 +110,9 @@ public class ActorClassConfigImpl extends MinimalEObjectImpl.Container implement
* <!-- end-user-doc -->
* @generated
*/
- public ActorClass basicGetActorClass()
+ public ActorClass basicGetActor()
{
- return actorClass;
+ return actor;
}
/**
@@ -100,12 +120,44 @@ public class ActorClassConfigImpl extends MinimalEObjectImpl.Container implement
* <!-- end-user-doc -->
* @generated
*/
- public void setActorClass(ActorClass newActorClass)
+ @Override
+public void setActor(ActorClass newActor)
{
- ActorClass oldActorClass = actorClass;
- actorClass = newActorClass;
+ ActorClass oldActor = actor;
+ actor = newActor;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ConfigPackage.ACTOR_CLASS_CONFIG__ACTOR_CLASS, oldActorClass, actorClass));
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigPackage.ACTOR_CLASS_CONFIG__ACTOR, oldActor, actor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EList<AttrClassConfig> getAttributes()
+ {
+ if (attributes == null)
+ {
+ attributes = new EObjectContainmentEList<AttrClassConfig>(AttrClassConfig.class, this, ConfigPackage.ACTOR_CLASS_CONFIG__ATTRIBUTES);
+ }
+ return attributes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ACTOR_CLASS_CONFIG__ATTRIBUTES:
+ return ((InternalEList<?>)getAttributes()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
@@ -118,9 +170,11 @@ public class ActorClassConfigImpl extends MinimalEObjectImpl.Container implement
{
switch (featureID)
{
- case ConfigPackage.ACTOR_CLASS_CONFIG__ACTOR_CLASS:
- if (resolve) return getActorClass();
- return basicGetActorClass();
+ case ConfigPackage.ACTOR_CLASS_CONFIG__ACTOR:
+ if (resolve) return getActor();
+ return basicGetActor();
+ case ConfigPackage.ACTOR_CLASS_CONFIG__ATTRIBUTES:
+ return getAttributes();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -130,13 +184,18 @@ public class ActorClassConfigImpl extends MinimalEObjectImpl.Container implement
* <!-- end-user-doc -->
* @generated
*/
+ @SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue)
{
switch (featureID)
{
- case ConfigPackage.ACTOR_CLASS_CONFIG__ACTOR_CLASS:
- setActorClass((ActorClass)newValue);
+ case ConfigPackage.ACTOR_CLASS_CONFIG__ACTOR:
+ setActor((ActorClass)newValue);
+ return;
+ case ConfigPackage.ACTOR_CLASS_CONFIG__ATTRIBUTES:
+ getAttributes().clear();
+ getAttributes().addAll((Collection<? extends AttrClassConfig>)newValue);
return;
}
super.eSet(featureID, newValue);
@@ -152,8 +211,11 @@ public class ActorClassConfigImpl extends MinimalEObjectImpl.Container implement
{
switch (featureID)
{
- case ConfigPackage.ACTOR_CLASS_CONFIG__ACTOR_CLASS:
- setActorClass((ActorClass)null);
+ case ConfigPackage.ACTOR_CLASS_CONFIG__ACTOR:
+ setActor((ActorClass)null);
+ return;
+ case ConfigPackage.ACTOR_CLASS_CONFIG__ATTRIBUTES:
+ getAttributes().clear();
return;
}
super.eUnset(featureID);
@@ -169,8 +231,10 @@ public class ActorClassConfigImpl extends MinimalEObjectImpl.Container implement
{
switch (featureID)
{
- case ConfigPackage.ACTOR_CLASS_CONFIG__ACTOR_CLASS:
- return actorClass != null;
+ case ConfigPackage.ACTOR_CLASS_CONFIG__ACTOR:
+ return actor != null;
+ case ConfigPackage.ACTOR_CLASS_CONFIG__ATTRIBUTES:
+ return attributes != null && !attributes.isEmpty();
}
return super.eIsSet(featureID);
}
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ActorInstanceConfigImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ActorInstanceConfigImpl.java
new file mode 100644
index 000000000..1a9a6ee60
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ActorInstanceConfigImpl.java
@@ -0,0 +1,316 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.etrice.core.config.ActorInstanceConfig;
+import org.eclipse.etrice.core.config.AttrInstanceConfig;
+import org.eclipse.etrice.core.config.ConfigPackage;
+import org.eclipse.etrice.core.config.RefPath;
+
+import org.eclipse.etrice.core.room.SubSystemClass;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Actor Instance Config</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.impl.ActorInstanceConfigImpl#getRoot <em>Root</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.impl.ActorInstanceConfigImpl#getPath <em>Path</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.impl.ActorInstanceConfigImpl#getAttributes <em>Attributes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ActorInstanceConfigImpl extends ConfigElementImpl implements ActorInstanceConfig
+{
+ /**
+ * The cached value of the '{@link #getRoot() <em>Root</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRoot()
+ * @generated
+ * @ordered
+ */
+ protected SubSystemClass root;
+
+ /**
+ * The cached value of the '{@link #getPath() <em>Path</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPath()
+ * @generated
+ * @ordered
+ */
+ protected RefPath path;
+
+ /**
+ * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributes()
+ * @generated
+ * @ordered
+ */
+ protected EList<AttrInstanceConfig> attributes;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActorInstanceConfigImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ConfigPackage.Literals.ACTOR_INSTANCE_CONFIG;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public SubSystemClass getRoot()
+ {
+ if (root != null && root.eIsProxy())
+ {
+ InternalEObject oldRoot = (InternalEObject)root;
+ root = (SubSystemClass)eResolveProxy(oldRoot);
+ if (root != oldRoot)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConfigPackage.ACTOR_INSTANCE_CONFIG__ROOT, oldRoot, root));
+ }
+ }
+ return root;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SubSystemClass basicGetRoot()
+ {
+ return root;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public void setRoot(SubSystemClass newRoot)
+ {
+ SubSystemClass oldRoot = root;
+ root = newRoot;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigPackage.ACTOR_INSTANCE_CONFIG__ROOT, oldRoot, root));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public RefPath getPath()
+ {
+ return path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPath(RefPath newPath, NotificationChain msgs)
+ {
+ RefPath oldPath = path;
+ path = newPath;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ConfigPackage.ACTOR_INSTANCE_CONFIG__PATH, oldPath, newPath);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public void setPath(RefPath newPath)
+ {
+ if (newPath != path)
+ {
+ NotificationChain msgs = null;
+ if (path != null)
+ msgs = ((InternalEObject)path).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ConfigPackage.ACTOR_INSTANCE_CONFIG__PATH, null, msgs);
+ if (newPath != null)
+ msgs = ((InternalEObject)newPath).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ConfigPackage.ACTOR_INSTANCE_CONFIG__PATH, null, msgs);
+ msgs = basicSetPath(newPath, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigPackage.ACTOR_INSTANCE_CONFIG__PATH, newPath, newPath));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EList<AttrInstanceConfig> getAttributes()
+ {
+ if (attributes == null)
+ {
+ attributes = new EObjectContainmentEList<AttrInstanceConfig>(AttrInstanceConfig.class, this, ConfigPackage.ACTOR_INSTANCE_CONFIG__ATTRIBUTES);
+ }
+ return attributes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG__PATH:
+ return basicSetPath(null, msgs);
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG__ATTRIBUTES:
+ return ((InternalEList<?>)getAttributes()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG__ROOT:
+ if (resolve) return getRoot();
+ return basicGetRoot();
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG__PATH:
+ return getPath();
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG__ATTRIBUTES:
+ return getAttributes();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG__ROOT:
+ setRoot((SubSystemClass)newValue);
+ return;
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG__PATH:
+ setPath((RefPath)newValue);
+ return;
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG__ATTRIBUTES:
+ getAttributes().clear();
+ getAttributes().addAll((Collection<? extends AttrInstanceConfig>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG__ROOT:
+ setRoot((SubSystemClass)null);
+ return;
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG__PATH:
+ setPath((RefPath)null);
+ return;
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG__ATTRIBUTES:
+ getAttributes().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG__ROOT:
+ return root != null;
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG__PATH:
+ return path != null;
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG__ATTRIBUTES:
+ return attributes != null && !attributes.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ActorInstanceConfigImpl
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/AttrClassConfigImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/AttrClassConfigImpl.java
new file mode 100644
index 000000000..de83ae8a4
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/AttrClassConfigImpl.java
@@ -0,0 +1,272 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.etrice.core.config.AttrClassConfig;
+import org.eclipse.etrice.core.config.ConfigPackage;
+import org.eclipse.etrice.core.config.NumberLiteral;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Attr Class Config</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.impl.AttrClassConfigImpl#getMin <em>Min</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.impl.AttrClassConfigImpl#getMax <em>Max</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AttrClassConfigImpl extends AttrConfigImpl implements AttrClassConfig
+{
+ /**
+ * The cached value of the '{@link #getMin() <em>Min</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMin()
+ * @generated
+ * @ordered
+ */
+ protected NumberLiteral min;
+
+ /**
+ * The cached value of the '{@link #getMax() <em>Max</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMax()
+ * @generated
+ * @ordered
+ */
+ protected NumberLiteral max;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AttrClassConfigImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ConfigPackage.Literals.ATTR_CLASS_CONFIG;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public NumberLiteral getMin()
+ {
+ return min;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMin(NumberLiteral newMin, NotificationChain msgs)
+ {
+ NumberLiteral oldMin = min;
+ min = newMin;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ConfigPackage.ATTR_CLASS_CONFIG__MIN, oldMin, newMin);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public void setMin(NumberLiteral newMin)
+ {
+ if (newMin != min)
+ {
+ NotificationChain msgs = null;
+ if (min != null)
+ msgs = ((InternalEObject)min).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ConfigPackage.ATTR_CLASS_CONFIG__MIN, null, msgs);
+ if (newMin != null)
+ msgs = ((InternalEObject)newMin).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ConfigPackage.ATTR_CLASS_CONFIG__MIN, null, msgs);
+ msgs = basicSetMin(newMin, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigPackage.ATTR_CLASS_CONFIG__MIN, newMin, newMin));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public NumberLiteral getMax()
+ {
+ return max;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMax(NumberLiteral newMax, NotificationChain msgs)
+ {
+ NumberLiteral oldMax = max;
+ max = newMax;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ConfigPackage.ATTR_CLASS_CONFIG__MAX, oldMax, newMax);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public void setMax(NumberLiteral newMax)
+ {
+ if (newMax != max)
+ {
+ NotificationChain msgs = null;
+ if (max != null)
+ msgs = ((InternalEObject)max).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ConfigPackage.ATTR_CLASS_CONFIG__MAX, null, msgs);
+ if (newMax != null)
+ msgs = ((InternalEObject)newMax).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ConfigPackage.ATTR_CLASS_CONFIG__MAX, null, msgs);
+ msgs = basicSetMax(newMax, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigPackage.ATTR_CLASS_CONFIG__MAX, newMax, newMax));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ATTR_CLASS_CONFIG__MIN:
+ return basicSetMin(null, msgs);
+ case ConfigPackage.ATTR_CLASS_CONFIG__MAX:
+ return basicSetMax(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ATTR_CLASS_CONFIG__MIN:
+ return getMin();
+ case ConfigPackage.ATTR_CLASS_CONFIG__MAX:
+ return getMax();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ATTR_CLASS_CONFIG__MIN:
+ setMin((NumberLiteral)newValue);
+ return;
+ case ConfigPackage.ATTR_CLASS_CONFIG__MAX:
+ setMax((NumberLiteral)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ATTR_CLASS_CONFIG__MIN:
+ setMin((NumberLiteral)null);
+ return;
+ case ConfigPackage.ATTR_CLASS_CONFIG__MAX:
+ setMax((NumberLiteral)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ATTR_CLASS_CONFIG__MIN:
+ return min != null;
+ case ConfigPackage.ATTR_CLASS_CONFIG__MAX:
+ return max != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AttrClassConfigImpl
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/AttrConfigImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/AttrConfigImpl.java
new file mode 100644
index 000000000..eb646bfab
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/AttrConfigImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.etrice.core.config.AttrConfig;
+import org.eclipse.etrice.core.config.ConfigPackage;
+import org.eclipse.etrice.core.config.Literal;
+
+import org.eclipse.etrice.core.room.Attribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Attr Config</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.impl.AttrConfigImpl#getAttribute <em>Attribute</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.impl.AttrConfigImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AttrConfigImpl extends MinimalEObjectImpl.Container implements AttrConfig
+{
+ /**
+ * The cached value of the '{@link #getAttribute() <em>Attribute</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttribute()
+ * @generated
+ * @ordered
+ */
+ protected Attribute attribute;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected Literal value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AttrConfigImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ConfigPackage.Literals.ATTR_CONFIG;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public Attribute getAttribute()
+ {
+ if (attribute != null && attribute.eIsProxy())
+ {
+ InternalEObject oldAttribute = (InternalEObject)attribute;
+ attribute = (Attribute)eResolveProxy(oldAttribute);
+ if (attribute != oldAttribute)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConfigPackage.ATTR_CONFIG__ATTRIBUTE, oldAttribute, attribute));
+ }
+ }
+ return attribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Attribute basicGetAttribute()
+ {
+ return attribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public void setAttribute(Attribute newAttribute)
+ {
+ Attribute oldAttribute = attribute;
+ attribute = newAttribute;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigPackage.ATTR_CONFIG__ATTRIBUTE, oldAttribute, attribute));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public Literal getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetValue(Literal newValue, NotificationChain msgs)
+ {
+ Literal oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ConfigPackage.ATTR_CONFIG__VALUE, oldValue, newValue);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public void setValue(Literal newValue)
+ {
+ if (newValue != value)
+ {
+ NotificationChain msgs = null;
+ if (value != null)
+ msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ConfigPackage.ATTR_CONFIG__VALUE, null, msgs);
+ if (newValue != null)
+ msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ConfigPackage.ATTR_CONFIG__VALUE, null, msgs);
+ msgs = basicSetValue(newValue, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigPackage.ATTR_CONFIG__VALUE, newValue, newValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ATTR_CONFIG__VALUE:
+ return basicSetValue(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ATTR_CONFIG__ATTRIBUTE:
+ if (resolve) return getAttribute();
+ return basicGetAttribute();
+ case ConfigPackage.ATTR_CONFIG__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ATTR_CONFIG__ATTRIBUTE:
+ setAttribute((Attribute)newValue);
+ return;
+ case ConfigPackage.ATTR_CONFIG__VALUE:
+ setValue((Literal)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ATTR_CONFIG__ATTRIBUTE:
+ setAttribute((Attribute)null);
+ return;
+ case ConfigPackage.ATTR_CONFIG__VALUE:
+ setValue((Literal)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.ATTR_CONFIG__ATTRIBUTE:
+ return attribute != null;
+ case ConfigPackage.ATTR_CONFIG__VALUE:
+ return value != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AttrConfigImpl
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/AttrInstanceConfigImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/AttrInstanceConfigImpl.java
new file mode 100644
index 000000000..9c3388fe3
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/AttrInstanceConfigImpl.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.etrice.core.config.AttrInstanceConfig;
+import org.eclipse.etrice.core.config.ConfigPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Attr Instance Config</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class AttrInstanceConfigImpl extends AttrConfigImpl implements AttrInstanceConfig
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AttrInstanceConfigImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ConfigPackage.Literals.ATTR_INSTANCE_CONFIG;
+ }
+
+} //AttrInstanceConfigImpl
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/BooleanLiteralImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/BooleanLiteralImpl.java
new file mode 100644
index 000000000..806782607
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/BooleanLiteralImpl.java
@@ -0,0 +1,182 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.etrice.core.config.BooleanLiteral;
+import org.eclipse.etrice.core.config.ConfigPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Boolean Literal</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.impl.BooleanLiteralImpl#isIsTrue <em>Is True</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BooleanLiteralImpl extends LiteralImpl implements BooleanLiteral
+{
+ /**
+ * The default value of the '{@link #isIsTrue() <em>Is True</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsTrue()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_TRUE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsTrue() <em>Is True</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsTrue()
+ * @generated
+ * @ordered
+ */
+ protected boolean isTrue = IS_TRUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BooleanLiteralImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ConfigPackage.Literals.BOOLEAN_LITERAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public boolean isIsTrue()
+ {
+ return isTrue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public void setIsTrue(boolean newIsTrue)
+ {
+ boolean oldIsTrue = isTrue;
+ isTrue = newIsTrue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigPackage.BOOLEAN_LITERAL__IS_TRUE, oldIsTrue, isTrue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.BOOLEAN_LITERAL__IS_TRUE:
+ return isIsTrue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.BOOLEAN_LITERAL__IS_TRUE:
+ setIsTrue((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.BOOLEAN_LITERAL__IS_TRUE:
+ setIsTrue(IS_TRUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.BOOLEAN_LITERAL__IS_TRUE:
+ return isTrue != IS_TRUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isTrue: ");
+ result.append(isTrue);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BooleanLiteralImpl
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigElementImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigElementImpl.java
new file mode 100644
index 000000000..b6b21c28e
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigElementImpl.java
@@ -0,0 +1,48 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.etrice.core.config.ConfigElement;
+import org.eclipse.etrice.core.config.ConfigPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ConfigElementImpl extends MinimalEObjectImpl.Container implements ConfigElement
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigElementImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ConfigPackage.Literals.CONFIG_ELEMENT;
+ }
+
+} //ConfigElementImpl
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigFactoryImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigFactoryImpl.java
index 0f2cd8400..1de8f11ad 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigFactoryImpl.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigFactoryImpl.java
@@ -69,7 +69,20 @@ public class ConfigFactoryImpl extends EFactoryImpl implements ConfigFactory
switch (eClass.getClassifierID())
{
case ConfigPackage.CONFIG_MODEL: return createConfigModel();
+ case ConfigPackage.CONFIG_ELEMENT: return createConfigElement();
case ConfigPackage.ACTOR_CLASS_CONFIG: return createActorClassConfig();
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG: return createActorInstanceConfig();
+ case ConfigPackage.ATTR_CONFIG: return createAttrConfig();
+ case ConfigPackage.ATTR_CLASS_CONFIG: return createAttrClassConfig();
+ case ConfigPackage.ATTR_INSTANCE_CONFIG: return createAttrInstanceConfig();
+ case ConfigPackage.REF_PATH: return createRefPath();
+ case ConfigPackage.IMPORT: return createImport();
+ case ConfigPackage.LITERAL: return createLiteral();
+ case ConfigPackage.BOOLEAN_LITERAL: return createBooleanLiteral();
+ case ConfigPackage.NUMBER_LITERAL: return createNumberLiteral();
+ case ConfigPackage.REAL_LITERAL: return createRealLiteral();
+ case ConfigPackage.INT_LITERAL: return createIntLiteral();
+ case ConfigPackage.STRING_LITERAL: return createStringLiteral();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
@@ -80,7 +93,8 @@ public class ConfigFactoryImpl extends EFactoryImpl implements ConfigFactory
* <!-- end-user-doc -->
* @generated
*/
- public ConfigModel createConfigModel()
+ @Override
+public ConfigModel createConfigModel()
{
ConfigModelImpl configModel = new ConfigModelImpl();
return configModel;
@@ -91,7 +105,20 @@ public class ConfigFactoryImpl extends EFactoryImpl implements ConfigFactory
* <!-- end-user-doc -->
* @generated
*/
- public ActorClassConfig createActorClassConfig()
+ @Override
+public ConfigElement createConfigElement()
+ {
+ ConfigElementImpl configElement = new ConfigElementImpl();
+ return configElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public ActorClassConfig createActorClassConfig()
{
ActorClassConfigImpl actorClassConfig = new ActorClassConfigImpl();
return actorClassConfig;
@@ -102,7 +129,152 @@ public class ConfigFactoryImpl extends EFactoryImpl implements ConfigFactory
* <!-- end-user-doc -->
* @generated
*/
- public ConfigPackage getConfigPackage()
+ @Override
+public ActorInstanceConfig createActorInstanceConfig()
+ {
+ ActorInstanceConfigImpl actorInstanceConfig = new ActorInstanceConfigImpl();
+ return actorInstanceConfig;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public AttrConfig createAttrConfig()
+ {
+ AttrConfigImpl attrConfig = new AttrConfigImpl();
+ return attrConfig;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public AttrClassConfig createAttrClassConfig()
+ {
+ AttrClassConfigImpl attrClassConfig = new AttrClassConfigImpl();
+ return attrClassConfig;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public AttrInstanceConfig createAttrInstanceConfig()
+ {
+ AttrInstanceConfigImpl attrInstanceConfig = new AttrInstanceConfigImpl();
+ return attrInstanceConfig;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public RefPath createRefPath()
+ {
+ RefPathImpl refPath = new RefPathImpl();
+ return refPath;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public Import createImport()
+ {
+ ImportImpl import_ = new ImportImpl();
+ return import_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public Literal createLiteral()
+ {
+ LiteralImpl literal = new LiteralImpl();
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public BooleanLiteral createBooleanLiteral()
+ {
+ BooleanLiteralImpl booleanLiteral = new BooleanLiteralImpl();
+ return booleanLiteral;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public NumberLiteral createNumberLiteral()
+ {
+ NumberLiteralImpl numberLiteral = new NumberLiteralImpl();
+ return numberLiteral;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public RealLiteral createRealLiteral()
+ {
+ RealLiteralImpl realLiteral = new RealLiteralImpl();
+ return realLiteral;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public IntLiteral createIntLiteral()
+ {
+ IntLiteralImpl intLiteral = new IntLiteralImpl();
+ return intLiteral;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public StringLiteral createStringLiteral()
+ {
+ StringLiteralImpl stringLiteral = new StringLiteralImpl();
+ return stringLiteral;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public ConfigPackage getConfigPackage()
{
return (ConfigPackage)getEPackage();
}
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigModelImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigModelImpl.java
index 47672debc..df458af38 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigModelImpl.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigModelImpl.java
@@ -17,13 +17,15 @@ import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-import org.eclipse.emf.ecore.util.EDataTypeEList;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.etrice.core.config.ActorClassConfig;
+import org.eclipse.etrice.core.config.ActorInstanceConfig;
+import org.eclipse.etrice.core.config.ConfigElement;
import org.eclipse.etrice.core.config.ConfigModel;
import org.eclipse.etrice.core.config.ConfigPackage;
+import org.eclipse.etrice.core.config.Import;
/**
* <!-- begin-user-doc -->
@@ -32,8 +34,8 @@ import org.eclipse.etrice.core.config.ConfigPackage;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.etrice.core.config.impl.ConfigModelImpl#getActorClassConfigs <em>Actor Class Configs</em>}</li>
- * <li>{@link org.eclipse.etrice.core.config.impl.ConfigModelImpl#getActorInstanceConfigs <em>Actor Instance Configs</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.impl.ConfigModelImpl#getImports <em>Imports</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.impl.ConfigModelImpl#getConfigElements <em>Config Elements</em>}</li>
* </ul>
* </p>
*
@@ -42,24 +44,24 @@ import org.eclipse.etrice.core.config.ConfigPackage;
public class ConfigModelImpl extends MinimalEObjectImpl.Container implements ConfigModel
{
/**
- * The cached value of the '{@link #getActorClassConfigs() <em>Actor Class Configs</em>}' containment reference list.
+ * The cached value of the '{@link #getImports() <em>Imports</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getActorClassConfigs()
+ * @see #getImports()
* @generated
* @ordered
*/
- protected EList<ActorClassConfig> actorClassConfigs;
+ protected EList<Import> imports;
/**
- * The cached value of the '{@link #getActorInstanceConfigs() <em>Actor Instance Configs</em>}' attribute list.
+ * The cached value of the '{@link #getConfigElements() <em>Config Elements</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getActorInstanceConfigs()
+ * @see #getConfigElements()
* @generated
* @ordered
*/
- protected EList<String> actorInstanceConfigs;
+ protected EList<ConfigElement> configElements;
/**
* <!-- begin-user-doc -->
@@ -87,13 +89,14 @@ public class ConfigModelImpl extends MinimalEObjectImpl.Container implements Con
* <!-- end-user-doc -->
* @generated
*/
- public EList<ActorClassConfig> getActorClassConfigs()
+ @Override
+public EList<Import> getImports()
{
- if (actorClassConfigs == null)
+ if (imports == null)
{
- actorClassConfigs = new EObjectContainmentEList<ActorClassConfig>(ActorClassConfig.class, this, ConfigPackage.CONFIG_MODEL__ACTOR_CLASS_CONFIGS);
+ imports = new EObjectContainmentEList<Import>(Import.class, this, ConfigPackage.CONFIG_MODEL__IMPORTS);
}
- return actorClassConfigs;
+ return imports;
}
/**
@@ -101,13 +104,44 @@ public class ConfigModelImpl extends MinimalEObjectImpl.Container implements Con
* <!-- end-user-doc -->
* @generated
*/
- public EList<String> getActorInstanceConfigs()
+ @Override
+public EList<ConfigElement> getConfigElements()
{
- if (actorInstanceConfigs == null)
+ if (configElements == null)
{
- actorInstanceConfigs = new EDataTypeEList<String>(String.class, this, ConfigPackage.CONFIG_MODEL__ACTOR_INSTANCE_CONFIGS);
+ configElements = new EObjectContainmentEList<ConfigElement>(ConfigElement.class, this, ConfigPackage.CONFIG_MODEL__CONFIG_ELEMENTS);
}
- return actorInstanceConfigs;
+ return configElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EList<ActorClassConfig> getActorClassConfigs()
+ {
+ EList<ActorClassConfig> list = new org.eclipse.emf.common.util.BasicEList<ActorClassConfig>();
+ for(ConfigElement element : this.getConfigElements())
+ if(element instanceof ActorClassConfig)
+ list.add((ActorClassConfig) element);
+ return list;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EList<ActorInstanceConfig> getActorInstanceConfigs()
+ {
+ EList<ActorInstanceConfig> list = new org.eclipse.emf.common.util.BasicEList<ActorInstanceConfig>();
+ for(ConfigElement element : this.getConfigElements())
+ if(element instanceof ActorInstanceConfig)
+ list.add((ActorInstanceConfig) element);
+ return list;
}
/**
@@ -120,8 +154,10 @@ public class ConfigModelImpl extends MinimalEObjectImpl.Container implements Con
{
switch (featureID)
{
- case ConfigPackage.CONFIG_MODEL__ACTOR_CLASS_CONFIGS:
- return ((InternalEList<?>)getActorClassConfigs()).basicRemove(otherEnd, msgs);
+ case ConfigPackage.CONFIG_MODEL__IMPORTS:
+ return ((InternalEList<?>)getImports()).basicRemove(otherEnd, msgs);
+ case ConfigPackage.CONFIG_MODEL__CONFIG_ELEMENTS:
+ return ((InternalEList<?>)getConfigElements()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
@@ -136,10 +172,10 @@ public class ConfigModelImpl extends MinimalEObjectImpl.Container implements Con
{
switch (featureID)
{
- case ConfigPackage.CONFIG_MODEL__ACTOR_CLASS_CONFIGS:
- return getActorClassConfigs();
- case ConfigPackage.CONFIG_MODEL__ACTOR_INSTANCE_CONFIGS:
- return getActorInstanceConfigs();
+ case ConfigPackage.CONFIG_MODEL__IMPORTS:
+ return getImports();
+ case ConfigPackage.CONFIG_MODEL__CONFIG_ELEMENTS:
+ return getConfigElements();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -155,13 +191,13 @@ public class ConfigModelImpl extends MinimalEObjectImpl.Container implements Con
{
switch (featureID)
{
- case ConfigPackage.CONFIG_MODEL__ACTOR_CLASS_CONFIGS:
- getActorClassConfigs().clear();
- getActorClassConfigs().addAll((Collection<? extends ActorClassConfig>)newValue);
+ case ConfigPackage.CONFIG_MODEL__IMPORTS:
+ getImports().clear();
+ getImports().addAll((Collection<? extends Import>)newValue);
return;
- case ConfigPackage.CONFIG_MODEL__ACTOR_INSTANCE_CONFIGS:
- getActorInstanceConfigs().clear();
- getActorInstanceConfigs().addAll((Collection<? extends String>)newValue);
+ case ConfigPackage.CONFIG_MODEL__CONFIG_ELEMENTS:
+ getConfigElements().clear();
+ getConfigElements().addAll((Collection<? extends ConfigElement>)newValue);
return;
}
super.eSet(featureID, newValue);
@@ -177,11 +213,11 @@ public class ConfigModelImpl extends MinimalEObjectImpl.Container implements Con
{
switch (featureID)
{
- case ConfigPackage.CONFIG_MODEL__ACTOR_CLASS_CONFIGS:
- getActorClassConfigs().clear();
+ case ConfigPackage.CONFIG_MODEL__IMPORTS:
+ getImports().clear();
return;
- case ConfigPackage.CONFIG_MODEL__ACTOR_INSTANCE_CONFIGS:
- getActorInstanceConfigs().clear();
+ case ConfigPackage.CONFIG_MODEL__CONFIG_ELEMENTS:
+ getConfigElements().clear();
return;
}
super.eUnset(featureID);
@@ -197,29 +233,12 @@ public class ConfigModelImpl extends MinimalEObjectImpl.Container implements Con
{
switch (featureID)
{
- case ConfigPackage.CONFIG_MODEL__ACTOR_CLASS_CONFIGS:
- return actorClassConfigs != null && !actorClassConfigs.isEmpty();
- case ConfigPackage.CONFIG_MODEL__ACTOR_INSTANCE_CONFIGS:
- return actorInstanceConfigs != null && !actorInstanceConfigs.isEmpty();
+ case ConfigPackage.CONFIG_MODEL__IMPORTS:
+ return imports != null && !imports.isEmpty();
+ case ConfigPackage.CONFIG_MODEL__CONFIG_ELEMENTS:
+ return configElements != null && !configElements.isEmpty();
}
return super.eIsSet(featureID);
}
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString()
- {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (actorInstanceConfigs: ");
- result.append(actorInstanceConfigs);
- result.append(')');
- return result.toString();
- }
-
} //ConfigModelImpl
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigPackageImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigPackageImpl.java
index 57206db03..a853f9099 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigPackageImpl.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ConfigPackageImpl.java
@@ -14,9 +14,22 @@ import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.eclipse.etrice.core.config.ActorClassConfig;
+import org.eclipse.etrice.core.config.ActorInstanceConfig;
+import org.eclipse.etrice.core.config.AttrClassConfig;
+import org.eclipse.etrice.core.config.AttrConfig;
+import org.eclipse.etrice.core.config.AttrInstanceConfig;
+import org.eclipse.etrice.core.config.BooleanLiteral;
+import org.eclipse.etrice.core.config.ConfigElement;
import org.eclipse.etrice.core.config.ConfigFactory;
import org.eclipse.etrice.core.config.ConfigModel;
import org.eclipse.etrice.core.config.ConfigPackage;
+import org.eclipse.etrice.core.config.Import;
+import org.eclipse.etrice.core.config.IntLiteral;
+import org.eclipse.etrice.core.config.Literal;
+import org.eclipse.etrice.core.config.NumberLiteral;
+import org.eclipse.etrice.core.config.RealLiteral;
+import org.eclipse.etrice.core.config.RefPath;
+import org.eclipse.etrice.core.config.StringLiteral;
import org.eclipse.etrice.core.room.RoomPackage;
@@ -40,9 +53,100 @@ public class ConfigPackageImpl extends EPackageImpl implements ConfigPackage
* <!-- end-user-doc -->
* @generated
*/
+ private EClass configElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
private EClass actorClassConfigEClass = null;
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass actorInstanceConfigEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass attrConfigEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass attrClassConfigEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass attrInstanceConfigEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refPathEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass importEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass literalEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass booleanLiteralEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass numberLiteralEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass realLiteralEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass intLiteralEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stringLiteralEClass = null;
+
+ /**
* Creates an instance of the model <b>Package</b>, registered with
* {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
@@ -113,7 +217,8 @@ public class ConfigPackageImpl extends EPackageImpl implements ConfigPackage
* <!-- end-user-doc -->
* @generated
*/
- public EClass getConfigModel()
+ @Override
+public EClass getConfigModel()
{
return configModelEClass;
}
@@ -123,7 +228,8 @@ public class ConfigPackageImpl extends EPackageImpl implements ConfigPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getConfigModel_ActorClassConfigs()
+ @Override
+public EReference getConfigModel_Imports()
{
return (EReference)configModelEClass.getEStructuralFeatures().get(0);
}
@@ -133,9 +239,10 @@ public class ConfigPackageImpl extends EPackageImpl implements ConfigPackage
* <!-- end-user-doc -->
* @generated
*/
- public EAttribute getConfigModel_ActorInstanceConfigs()
+ @Override
+public EReference getConfigModel_ConfigElements()
{
- return (EAttribute)configModelEClass.getEStructuralFeatures().get(1);
+ return (EReference)configModelEClass.getEStructuralFeatures().get(1);
}
/**
@@ -143,7 +250,19 @@ public class ConfigPackageImpl extends EPackageImpl implements ConfigPackage
* <!-- end-user-doc -->
* @generated
*/
- public EClass getActorClassConfig()
+ @Override
+public EClass getConfigElement()
+ {
+ return configElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EClass getActorClassConfig()
{
return actorClassConfigEClass;
}
@@ -153,7 +272,8 @@ public class ConfigPackageImpl extends EPackageImpl implements ConfigPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getActorClassConfig_ActorClass()
+ @Override
+public EReference getActorClassConfig_Actor()
{
return (EReference)actorClassConfigEClass.getEStructuralFeatures().get(0);
}
@@ -163,7 +283,305 @@ public class ConfigPackageImpl extends EPackageImpl implements ConfigPackage
* <!-- end-user-doc -->
* @generated
*/
- public ConfigFactory getConfigFactory()
+ @Override
+public EReference getActorClassConfig_Attributes()
+ {
+ return (EReference)actorClassConfigEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EClass getActorInstanceConfig()
+ {
+ return actorInstanceConfigEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EReference getActorInstanceConfig_Root()
+ {
+ return (EReference)actorInstanceConfigEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EReference getActorInstanceConfig_Path()
+ {
+ return (EReference)actorInstanceConfigEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EReference getActorInstanceConfig_Attributes()
+ {
+ return (EReference)actorInstanceConfigEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EClass getAttrConfig()
+ {
+ return attrConfigEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EReference getAttrConfig_Attribute()
+ {
+ return (EReference)attrConfigEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EReference getAttrConfig_Value()
+ {
+ return (EReference)attrConfigEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EClass getAttrClassConfig()
+ {
+ return attrClassConfigEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EReference getAttrClassConfig_Min()
+ {
+ return (EReference)attrClassConfigEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EReference getAttrClassConfig_Max()
+ {
+ return (EReference)attrClassConfigEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EClass getAttrInstanceConfig()
+ {
+ return attrInstanceConfigEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EClass getRefPath()
+ {
+ return refPathEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EAttribute getRefPath_Refs()
+ {
+ return (EAttribute)refPathEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EClass getImport()
+ {
+ return importEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EAttribute getImport_ImportedNamespace()
+ {
+ return (EAttribute)importEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EAttribute getImport_ImportURI()
+ {
+ return (EAttribute)importEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EClass getLiteral()
+ {
+ return literalEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EClass getBooleanLiteral()
+ {
+ return booleanLiteralEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EAttribute getBooleanLiteral_IsTrue()
+ {
+ return (EAttribute)booleanLiteralEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EClass getNumberLiteral()
+ {
+ return numberLiteralEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EClass getRealLiteral()
+ {
+ return realLiteralEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EAttribute getRealLiteral_Value()
+ {
+ return (EAttribute)realLiteralEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EClass getIntLiteral()
+ {
+ return intLiteralEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EAttribute getIntLiteral_Value()
+ {
+ return (EAttribute)intLiteralEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EClass getStringLiteral()
+ {
+ return stringLiteralEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EAttribute getStringLiteral_Value()
+ {
+ return (EAttribute)stringLiteralEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public ConfigFactory getConfigFactory()
{
return (ConfigFactory)getEFactoryInstance();
}
@@ -189,11 +607,52 @@ public class ConfigPackageImpl extends EPackageImpl implements ConfigPackage
// Create classes and their features
configModelEClass = createEClass(CONFIG_MODEL);
- createEReference(configModelEClass, CONFIG_MODEL__ACTOR_CLASS_CONFIGS);
- createEAttribute(configModelEClass, CONFIG_MODEL__ACTOR_INSTANCE_CONFIGS);
+ createEReference(configModelEClass, CONFIG_MODEL__IMPORTS);
+ createEReference(configModelEClass, CONFIG_MODEL__CONFIG_ELEMENTS);
+
+ configElementEClass = createEClass(CONFIG_ELEMENT);
actorClassConfigEClass = createEClass(ACTOR_CLASS_CONFIG);
- createEReference(actorClassConfigEClass, ACTOR_CLASS_CONFIG__ACTOR_CLASS);
+ createEReference(actorClassConfigEClass, ACTOR_CLASS_CONFIG__ACTOR);
+ createEReference(actorClassConfigEClass, ACTOR_CLASS_CONFIG__ATTRIBUTES);
+
+ actorInstanceConfigEClass = createEClass(ACTOR_INSTANCE_CONFIG);
+ createEReference(actorInstanceConfigEClass, ACTOR_INSTANCE_CONFIG__ROOT);
+ createEReference(actorInstanceConfigEClass, ACTOR_INSTANCE_CONFIG__PATH);
+ createEReference(actorInstanceConfigEClass, ACTOR_INSTANCE_CONFIG__ATTRIBUTES);
+
+ attrConfigEClass = createEClass(ATTR_CONFIG);
+ createEReference(attrConfigEClass, ATTR_CONFIG__ATTRIBUTE);
+ createEReference(attrConfigEClass, ATTR_CONFIG__VALUE);
+
+ attrClassConfigEClass = createEClass(ATTR_CLASS_CONFIG);
+ createEReference(attrClassConfigEClass, ATTR_CLASS_CONFIG__MIN);
+ createEReference(attrClassConfigEClass, ATTR_CLASS_CONFIG__MAX);
+
+ attrInstanceConfigEClass = createEClass(ATTR_INSTANCE_CONFIG);
+
+ refPathEClass = createEClass(REF_PATH);
+ createEAttribute(refPathEClass, REF_PATH__REFS);
+
+ importEClass = createEClass(IMPORT);
+ createEAttribute(importEClass, IMPORT__IMPORTED_NAMESPACE);
+ createEAttribute(importEClass, IMPORT__IMPORT_URI);
+
+ literalEClass = createEClass(LITERAL);
+
+ booleanLiteralEClass = createEClass(BOOLEAN_LITERAL);
+ createEAttribute(booleanLiteralEClass, BOOLEAN_LITERAL__IS_TRUE);
+
+ numberLiteralEClass = createEClass(NUMBER_LITERAL);
+
+ realLiteralEClass = createEClass(REAL_LITERAL);
+ createEAttribute(realLiteralEClass, REAL_LITERAL__VALUE);
+
+ intLiteralEClass = createEClass(INT_LITERAL);
+ createEAttribute(intLiteralEClass, INT_LITERAL__VALUE);
+
+ stringLiteralEClass = createEClass(STRING_LITERAL);
+ createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE);
}
/**
@@ -228,14 +687,68 @@ public class ConfigPackageImpl extends EPackageImpl implements ConfigPackage
// Set bounds for type parameters
// Add supertypes to classes
+ actorClassConfigEClass.getESuperTypes().add(this.getConfigElement());
+ actorInstanceConfigEClass.getESuperTypes().add(this.getConfigElement());
+ attrClassConfigEClass.getESuperTypes().add(this.getAttrConfig());
+ attrInstanceConfigEClass.getESuperTypes().add(this.getAttrConfig());
+ booleanLiteralEClass.getESuperTypes().add(this.getLiteral());
+ numberLiteralEClass.getESuperTypes().add(this.getLiteral());
+ realLiteralEClass.getESuperTypes().add(this.getNumberLiteral());
+ intLiteralEClass.getESuperTypes().add(this.getNumberLiteral());
+ stringLiteralEClass.getESuperTypes().add(this.getLiteral());
// Initialize classes and features; add operations and parameters
initEClass(configModelEClass, ConfigModel.class, "ConfigModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getConfigModel_ActorClassConfigs(), this.getActorClassConfig(), null, "actorClassConfigs", null, 0, -1, ConfigModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getConfigModel_ActorInstanceConfigs(), ecorePackage.getEString(), "actorInstanceConfigs", null, 0, -1, ConfigModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getConfigModel_Imports(), this.getImport(), null, "imports", null, 0, -1, ConfigModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getConfigModel_ConfigElements(), this.getConfigElement(), null, "configElements", null, 0, -1, ConfigModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ addEOperation(configModelEClass, this.getActorClassConfig(), "getActorClassConfigs", 0, -1, IS_UNIQUE, IS_ORDERED);
+
+ addEOperation(configModelEClass, this.getActorInstanceConfig(), "getActorInstanceConfigs", 0, -1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(configElementEClass, ConfigElement.class, "ConfigElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(actorClassConfigEClass, ActorClassConfig.class, "ActorClassConfig", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getActorClassConfig_ActorClass(), theRoomPackage.getActorClass(), null, "actorClass", null, 0, 1, ActorClassConfig.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getActorClassConfig_Actor(), theRoomPackage.getActorClass(), null, "actor", null, 0, 1, ActorClassConfig.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getActorClassConfig_Attributes(), this.getAttrClassConfig(), null, "attributes", null, 0, -1, ActorClassConfig.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(actorInstanceConfigEClass, ActorInstanceConfig.class, "ActorInstanceConfig", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getActorInstanceConfig_Root(), theRoomPackage.getSubSystemClass(), null, "root", null, 0, 1, ActorInstanceConfig.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getActorInstanceConfig_Path(), this.getRefPath(), null, "path", null, 0, 1, ActorInstanceConfig.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getActorInstanceConfig_Attributes(), this.getAttrInstanceConfig(), null, "attributes", null, 0, -1, ActorInstanceConfig.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(attrConfigEClass, AttrConfig.class, "AttrConfig", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAttrConfig_Attribute(), theRoomPackage.getAttribute(), null, "attribute", null, 0, 1, AttrConfig.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAttrConfig_Value(), this.getLiteral(), null, "value", null, 0, 1, AttrConfig.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(attrClassConfigEClass, AttrClassConfig.class, "AttrClassConfig", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAttrClassConfig_Min(), this.getNumberLiteral(), null, "min", null, 0, 1, AttrClassConfig.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAttrClassConfig_Max(), this.getNumberLiteral(), null, "max", null, 0, 1, AttrClassConfig.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(attrInstanceConfigEClass, AttrInstanceConfig.class, "AttrInstanceConfig", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(refPathEClass, RefPath.class, "RefPath", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRefPath_Refs(), ecorePackage.getEString(), "refs", null, 0, -1, RefPath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(importEClass, Import.class, "Import", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getImport_ImportedNamespace(), ecorePackage.getEString(), "importedNamespace", null, 0, 1, Import.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImport_ImportURI(), ecorePackage.getEString(), "importURI", null, 0, 1, Import.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(literalEClass, Literal.class, "Literal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(booleanLiteralEClass, BooleanLiteral.class, "BooleanLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getBooleanLiteral_IsTrue(), ecorePackage.getEBoolean(), "isTrue", null, 0, 1, BooleanLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(numberLiteralEClass, NumberLiteral.class, "NumberLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(realLiteralEClass, RealLiteral.class, "RealLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRealLiteral_Value(), ecorePackage.getEDouble(), "value", null, 0, 1, RealLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(intLiteralEClass, IntLiteral.class, "IntLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getIntLiteral_Value(), ecorePackage.getEInt(), "value", null, 0, 1, IntLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(stringLiteralEClass, StringLiteral.class, "StringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getStringLiteral_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Create resource
createResource(eNS_URI);
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ImportImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ImportImpl.java
new file mode 100644
index 000000000..e955365ae
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/ImportImpl.java
@@ -0,0 +1,241 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.etrice.core.config.ConfigPackage;
+import org.eclipse.etrice.core.config.Import;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Import</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.impl.ImportImpl#getImportedNamespace <em>Imported Namespace</em>}</li>
+ * <li>{@link org.eclipse.etrice.core.config.impl.ImportImpl#getImportURI <em>Import URI</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImportImpl extends MinimalEObjectImpl.Container implements Import
+{
+ /**
+ * The default value of the '{@link #getImportedNamespace() <em>Imported Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImportedNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final String IMPORTED_NAMESPACE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getImportedNamespace() <em>Imported Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImportedNamespace()
+ * @generated
+ * @ordered
+ */
+ protected String importedNamespace = IMPORTED_NAMESPACE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getImportURI() <em>Import URI</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImportURI()
+ * @generated
+ * @ordered
+ */
+ protected static final String IMPORT_URI_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getImportURI() <em>Import URI</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImportURI()
+ * @generated
+ * @ordered
+ */
+ protected String importURI = IMPORT_URI_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImportImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ConfigPackage.Literals.IMPORT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public String getImportedNamespace()
+ {
+ return importedNamespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public void setImportedNamespace(String newImportedNamespace)
+ {
+ String oldImportedNamespace = importedNamespace;
+ importedNamespace = newImportedNamespace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigPackage.IMPORT__IMPORTED_NAMESPACE, oldImportedNamespace, importedNamespace));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public String getImportURI()
+ {
+ return importURI;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public void setImportURI(String newImportURI)
+ {
+ String oldImportURI = importURI;
+ importURI = newImportURI;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigPackage.IMPORT__IMPORT_URI, oldImportURI, importURI));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.IMPORT__IMPORTED_NAMESPACE:
+ return getImportedNamespace();
+ case ConfigPackage.IMPORT__IMPORT_URI:
+ return getImportURI();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.IMPORT__IMPORTED_NAMESPACE:
+ setImportedNamespace((String)newValue);
+ return;
+ case ConfigPackage.IMPORT__IMPORT_URI:
+ setImportURI((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.IMPORT__IMPORTED_NAMESPACE:
+ setImportedNamespace(IMPORTED_NAMESPACE_EDEFAULT);
+ return;
+ case ConfigPackage.IMPORT__IMPORT_URI:
+ setImportURI(IMPORT_URI_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.IMPORT__IMPORTED_NAMESPACE:
+ return IMPORTED_NAMESPACE_EDEFAULT == null ? importedNamespace != null : !IMPORTED_NAMESPACE_EDEFAULT.equals(importedNamespace);
+ case ConfigPackage.IMPORT__IMPORT_URI:
+ return IMPORT_URI_EDEFAULT == null ? importURI != null : !IMPORT_URI_EDEFAULT.equals(importURI);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (importedNamespace: ");
+ result.append(importedNamespace);
+ result.append(", importURI: ");
+ result.append(importURI);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ImportImpl
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/IntLiteralImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/IntLiteralImpl.java
new file mode 100644
index 000000000..32088b63f
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/IntLiteralImpl.java
@@ -0,0 +1,182 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.etrice.core.config.ConfigPackage;
+import org.eclipse.etrice.core.config.IntLiteral;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Int Literal</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.impl.IntLiteralImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IntLiteralImpl extends NumberLiteralImpl implements IntLiteral
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final int VALUE_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected int value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IntLiteralImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ConfigPackage.Literals.INT_LITERAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public void setValue(int newValue)
+ {
+ int oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigPackage.INT_LITERAL__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.INT_LITERAL__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.INT_LITERAL__VALUE:
+ setValue((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.INT_LITERAL__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.INT_LITERAL__VALUE:
+ return value != VALUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //IntLiteralImpl
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/LiteralImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/LiteralImpl.java
new file mode 100644
index 000000000..38d74d581
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/LiteralImpl.java
@@ -0,0 +1,48 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.etrice.core.config.ConfigPackage;
+import org.eclipse.etrice.core.config.Literal;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Literal</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class LiteralImpl extends MinimalEObjectImpl.Container implements Literal
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LiteralImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ConfigPackage.Literals.LITERAL;
+ }
+
+} //LiteralImpl
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/NumberLiteralImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/NumberLiteralImpl.java
new file mode 100644
index 000000000..bb0954791
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/NumberLiteralImpl.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.etrice.core.config.ConfigPackage;
+import org.eclipse.etrice.core.config.NumberLiteral;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Number Literal</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class NumberLiteralImpl extends LiteralImpl implements NumberLiteral
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NumberLiteralImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ConfigPackage.Literals.NUMBER_LITERAL;
+ }
+
+} //NumberLiteralImpl
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/RealLiteralImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/RealLiteralImpl.java
new file mode 100644
index 000000000..3d235550e
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/RealLiteralImpl.java
@@ -0,0 +1,182 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.etrice.core.config.ConfigPackage;
+import org.eclipse.etrice.core.config.RealLiteral;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Real Literal</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.impl.RealLiteralImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RealLiteralImpl extends NumberLiteralImpl implements RealLiteral
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final double VALUE_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected double value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RealLiteralImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ConfigPackage.Literals.REAL_LITERAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public double getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public void setValue(double newValue)
+ {
+ double oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigPackage.REAL_LITERAL__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.REAL_LITERAL__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.REAL_LITERAL__VALUE:
+ setValue((Double)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.REAL_LITERAL__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.REAL_LITERAL__VALUE:
+ return value != VALUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RealLiteralImpl
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/RefPathImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/RefPathImpl.java
new file mode 100644
index 000000000..3ea4b9a57
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/RefPathImpl.java
@@ -0,0 +1,168 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+import org.eclipse.etrice.core.config.ConfigPackage;
+import org.eclipse.etrice.core.config.RefPath;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ref Path</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.impl.RefPathImpl#getRefs <em>Refs</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefPathImpl extends MinimalEObjectImpl.Container implements RefPath
+{
+ /**
+ * The cached value of the '{@link #getRefs() <em>Refs</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> refs;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefPathImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ConfigPackage.Literals.REF_PATH;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public EList<String> getRefs()
+ {
+ if (refs == null)
+ {
+ refs = new EDataTypeEList<String>(String.class, this, ConfigPackage.REF_PATH__REFS);
+ }
+ return refs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.REF_PATH__REFS:
+ return getRefs();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.REF_PATH__REFS:
+ getRefs().clear();
+ getRefs().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.REF_PATH__REFS:
+ getRefs().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.REF_PATH__REFS:
+ return refs != null && !refs.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (refs: ");
+ result.append(refs);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RefPathImpl
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/StringLiteralImpl.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/StringLiteralImpl.java
new file mode 100644
index 000000000..d38be8a9e
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/impl/StringLiteralImpl.java
@@ -0,0 +1,182 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.etrice.core.config.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.etrice.core.config.ConfigPackage;
+import org.eclipse.etrice.core.config.StringLiteral;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>String Literal</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.core.config.impl.StringLiteralImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StringLiteralImpl extends LiteralImpl implements StringLiteral
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StringLiteralImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ConfigPackage.Literals.STRING_LITERAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ConfigPackage.STRING_LITERAL__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.STRING_LITERAL__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.STRING_LITERAL__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.STRING_LITERAL__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ConfigPackage.STRING_LITERAL__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //StringLiteralImpl
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/util/ConfigAdapterFactory.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/util/ConfigAdapterFactory.java
index 1497f42ff..d412c79a6 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/util/ConfigAdapterFactory.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/util/ConfigAdapterFactory.java
@@ -84,11 +84,76 @@ public class ConfigAdapterFactory extends AdapterFactoryImpl
return createConfigModelAdapter();
}
@Override
+ public Adapter caseConfigElement(ConfigElement object)
+ {
+ return createConfigElementAdapter();
+ }
+ @Override
public Adapter caseActorClassConfig(ActorClassConfig object)
{
return createActorClassConfigAdapter();
}
@Override
+ public Adapter caseActorInstanceConfig(ActorInstanceConfig object)
+ {
+ return createActorInstanceConfigAdapter();
+ }
+ @Override
+ public Adapter caseAttrConfig(AttrConfig object)
+ {
+ return createAttrConfigAdapter();
+ }
+ @Override
+ public Adapter caseAttrClassConfig(AttrClassConfig object)
+ {
+ return createAttrClassConfigAdapter();
+ }
+ @Override
+ public Adapter caseAttrInstanceConfig(AttrInstanceConfig object)
+ {
+ return createAttrInstanceConfigAdapter();
+ }
+ @Override
+ public Adapter caseRefPath(RefPath object)
+ {
+ return createRefPathAdapter();
+ }
+ @Override
+ public Adapter caseImport(Import object)
+ {
+ return createImportAdapter();
+ }
+ @Override
+ public Adapter caseLiteral(Literal object)
+ {
+ return createLiteralAdapter();
+ }
+ @Override
+ public Adapter caseBooleanLiteral(BooleanLiteral object)
+ {
+ return createBooleanLiteralAdapter();
+ }
+ @Override
+ public Adapter caseNumberLiteral(NumberLiteral object)
+ {
+ return createNumberLiteralAdapter();
+ }
+ @Override
+ public Adapter caseRealLiteral(RealLiteral object)
+ {
+ return createRealLiteralAdapter();
+ }
+ @Override
+ public Adapter caseIntLiteral(IntLiteral object)
+ {
+ return createIntLiteralAdapter();
+ }
+ @Override
+ public Adapter caseStringLiteral(StringLiteral object)
+ {
+ return createStringLiteralAdapter();
+ }
+ @Override
public Adapter defaultCase(EObject object)
{
return createEObjectAdapter();
@@ -126,6 +191,21 @@ public class ConfigAdapterFactory extends AdapterFactoryImpl
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.config.ConfigElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * 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.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.core.config.ConfigElement
+ * @generated
+ */
+ public Adapter createConfigElementAdapter()
+ {
+ return null;
+ }
+
+ /**
* Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.config.ActorClassConfig <em>Actor Class Config</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
@@ -141,6 +221,186 @@ public class ConfigAdapterFactory extends AdapterFactoryImpl
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.config.ActorInstanceConfig <em>Actor Instance Config</em>}'.
+ * <!-- begin-user-doc -->
+ * 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.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.core.config.ActorInstanceConfig
+ * @generated
+ */
+ public Adapter createActorInstanceConfigAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.config.AttrConfig <em>Attr Config</em>}'.
+ * <!-- begin-user-doc -->
+ * 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.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.core.config.AttrConfig
+ * @generated
+ */
+ public Adapter createAttrConfigAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.config.AttrClassConfig <em>Attr Class Config</em>}'.
+ * <!-- begin-user-doc -->
+ * 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.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.core.config.AttrClassConfig
+ * @generated
+ */
+ public Adapter createAttrClassConfigAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.config.AttrInstanceConfig <em>Attr Instance Config</em>}'.
+ * <!-- begin-user-doc -->
+ * 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.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.core.config.AttrInstanceConfig
+ * @generated
+ */
+ public Adapter createAttrInstanceConfigAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.config.RefPath <em>Ref Path</em>}'.
+ * <!-- begin-user-doc -->
+ * 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.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.core.config.RefPath
+ * @generated
+ */
+ public Adapter createRefPathAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.config.Import <em>Import</em>}'.
+ * <!-- begin-user-doc -->
+ * 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.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.core.config.Import
+ * @generated
+ */
+ public Adapter createImportAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.config.Literal <em>Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * 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.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.core.config.Literal
+ * @generated
+ */
+ public Adapter createLiteralAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.config.BooleanLiteral <em>Boolean Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * 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.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.core.config.BooleanLiteral
+ * @generated
+ */
+ public Adapter createBooleanLiteralAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.config.NumberLiteral <em>Number Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * 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.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.core.config.NumberLiteral
+ * @generated
+ */
+ public Adapter createNumberLiteralAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.config.RealLiteral <em>Real Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * 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.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.core.config.RealLiteral
+ * @generated
+ */
+ public Adapter createRealLiteralAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.config.IntLiteral <em>Int Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * 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.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.core.config.IntLiteral
+ * @generated
+ */
+ public Adapter createIntLiteralAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.core.config.StringLiteral <em>String Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * 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.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.core.config.StringLiteral
+ * @generated
+ */
+ public Adapter createStringLiteralAdapter()
+ {
+ return null;
+ }
+
+ /**
* Creates a new adapter for the default case.
* <!-- begin-user-doc -->
* This default implementation returns null.
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/util/ConfigSwitch.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/util/ConfigSwitch.java
index 210dd4db6..ecc170767 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/util/ConfigSwitch.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/config/util/ConfigSwitch.java
@@ -83,10 +83,112 @@ public class ConfigSwitch<T> extends Switch<T>
if (result == null) result = defaultCase(theEObject);
return result;
}
+ case ConfigPackage.CONFIG_ELEMENT:
+ {
+ ConfigElement configElement = (ConfigElement)theEObject;
+ T result = caseConfigElement(configElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
case ConfigPackage.ACTOR_CLASS_CONFIG:
{
ActorClassConfig actorClassConfig = (ActorClassConfig)theEObject;
T result = caseActorClassConfig(actorClassConfig);
+ if (result == null) result = caseConfigElement(actorClassConfig);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG:
+ {
+ ActorInstanceConfig actorInstanceConfig = (ActorInstanceConfig)theEObject;
+ T result = caseActorInstanceConfig(actorInstanceConfig);
+ if (result == null) result = caseConfigElement(actorInstanceConfig);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigPackage.ATTR_CONFIG:
+ {
+ AttrConfig attrConfig = (AttrConfig)theEObject;
+ T result = caseAttrConfig(attrConfig);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigPackage.ATTR_CLASS_CONFIG:
+ {
+ AttrClassConfig attrClassConfig = (AttrClassConfig)theEObject;
+ T result = caseAttrClassConfig(attrClassConfig);
+ if (result == null) result = caseAttrConfig(attrClassConfig);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigPackage.ATTR_INSTANCE_CONFIG:
+ {
+ AttrInstanceConfig attrInstanceConfig = (AttrInstanceConfig)theEObject;
+ T result = caseAttrInstanceConfig(attrInstanceConfig);
+ if (result == null) result = caseAttrConfig(attrInstanceConfig);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigPackage.REF_PATH:
+ {
+ RefPath refPath = (RefPath)theEObject;
+ T result = caseRefPath(refPath);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigPackage.IMPORT:
+ {
+ Import import_ = (Import)theEObject;
+ T result = caseImport(import_);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigPackage.LITERAL:
+ {
+ Literal literal = (Literal)theEObject;
+ T result = caseLiteral(literal);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigPackage.BOOLEAN_LITERAL:
+ {
+ BooleanLiteral booleanLiteral = (BooleanLiteral)theEObject;
+ T result = caseBooleanLiteral(booleanLiteral);
+ if (result == null) result = caseLiteral(booleanLiteral);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigPackage.NUMBER_LITERAL:
+ {
+ NumberLiteral numberLiteral = (NumberLiteral)theEObject;
+ T result = caseNumberLiteral(numberLiteral);
+ if (result == null) result = caseLiteral(numberLiteral);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigPackage.REAL_LITERAL:
+ {
+ RealLiteral realLiteral = (RealLiteral)theEObject;
+ T result = caseRealLiteral(realLiteral);
+ if (result == null) result = caseNumberLiteral(realLiteral);
+ if (result == null) result = caseLiteral(realLiteral);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigPackage.INT_LITERAL:
+ {
+ IntLiteral intLiteral = (IntLiteral)theEObject;
+ T result = caseIntLiteral(intLiteral);
+ if (result == null) result = caseNumberLiteral(intLiteral);
+ if (result == null) result = caseLiteral(intLiteral);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ConfigPackage.STRING_LITERAL:
+ {
+ StringLiteral stringLiteral = (StringLiteral)theEObject;
+ T result = caseStringLiteral(stringLiteral);
+ if (result == null) result = caseLiteral(stringLiteral);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -111,6 +213,22 @@ public class ConfigSwitch<T> extends Switch<T>
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfigElement(ConfigElement object)
+ {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>Actor Class Config</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
@@ -127,6 +245,198 @@ public class ConfigSwitch<T> extends Switch<T>
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Actor Instance Config</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Actor Instance Config</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseActorInstanceConfig(ActorInstanceConfig object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Attr Config</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Attr Config</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAttrConfig(AttrConfig object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Attr Class Config</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Attr Class Config</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAttrClassConfig(AttrClassConfig object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Attr Instance Config</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Attr Instance Config</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAttrInstanceConfig(AttrInstanceConfig object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ref Path</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ref Path</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefPath(RefPath object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Import</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Import</em>'.
+ * @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 '<em>Literal</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Literal</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLiteral(Literal object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Boolean Literal</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Boolean Literal</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBooleanLiteral(BooleanLiteral object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Number Literal</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Number Literal</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNumberLiteral(NumberLiteral object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Real Literal</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Real Literal</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRealLiteral(RealLiteral object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Int Literal</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Int Literal</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIntLiteral(IntLiteral object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>String Literal</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>String Literal</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStringLiteral(StringLiteral object)
+ {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/ConfigAntlrTokenFileProvider.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/ConfigAntlrTokenFileProvider.java
index fdd47642c..0aae983f7 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/ConfigAntlrTokenFileProvider.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/ConfigAntlrTokenFileProvider.java
@@ -1,15 +1,16 @@
-/*
-* generated by Xtext
-*/
-package org.eclipse.etrice.core.parser.antlr;
-
-import java.io.InputStream;
-import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
-
-public class ConfigAntlrTokenFileProvider implements IAntlrTokenFileProvider {
-
- public InputStream getAntlrTokenFile() {
- ClassLoader classLoader = getClass().getClassLoader();
- return classLoader.getResourceAsStream("org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.tokens");
- }
-}
+/*
+* generated by Xtext
+*/
+package org.eclipse.etrice.core.parser.antlr;
+
+import java.io.InputStream;
+import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
+
+public class ConfigAntlrTokenFileProvider implements IAntlrTokenFileProvider {
+
+ @Override
+ public InputStream getAntlrTokenFile() {
+ ClassLoader classLoader = getClass().getClassLoader();
+ return classLoader.getResourceAsStream("org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.tokens");
+ }
+}
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/ConfigParser.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/ConfigParser.java
index 2b7ad294f..db66f38bd 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/ConfigParser.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/ConfigParser.java
@@ -1,39 +1,39 @@
-/*
-* generated by Xtext
-*/
-package org.eclipse.etrice.core.parser.antlr;
-
-import com.google.inject.Inject;
-
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.etrice.core.services.ConfigGrammarAccess;
-
-public class ConfigParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
-
- @Inject
- private ConfigGrammarAccess grammarAccess;
-
- @Override
- protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
- tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
- }
-
- @Override
- protected org.eclipse.etrice.core.parser.antlr.internal.InternalConfigParser createParser(XtextTokenStream stream) {
- return new org.eclipse.etrice.core.parser.antlr.internal.InternalConfigParser(stream, getGrammarAccess());
- }
-
- @Override
- protected String getDefaultRuleName() {
- return "ConfigModel";
- }
-
- public ConfigGrammarAccess getGrammarAccess() {
- return this.grammarAccess;
- }
-
- public void setGrammarAccess(ConfigGrammarAccess grammarAccess) {
- this.grammarAccess = grammarAccess;
- }
-
-}
+/*
+* generated by Xtext
+*/
+package org.eclipse.etrice.core.parser.antlr;
+
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.etrice.core.services.ConfigGrammarAccess;
+
+public class ConfigParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
+
+ @Inject
+ private ConfigGrammarAccess grammarAccess;
+
+ @Override
+ protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
+ tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+ }
+
+ @Override
+ protected org.eclipse.etrice.core.parser.antlr.internal.InternalConfigParser createParser(XtextTokenStream stream) {
+ return new org.eclipse.etrice.core.parser.antlr.internal.InternalConfigParser(stream, getGrammarAccess());
+ }
+
+ @Override
+ protected String getDefaultRuleName() {
+ return "ConfigModel";
+ }
+
+ public ConfigGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(ConfigGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+}
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g
index fc9c87e5d..4a2bc0f49 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g
@@ -80,17 +80,17 @@ ruleConfigModel returns [EObject current=null]
((
(
{
- newCompositeNode(grammarAccess.getConfigModelAccess().getActorClassConfigsActorClassConfigParserRuleCall_0_0());
+ newCompositeNode(grammarAccess.getConfigModelAccess().getImportsImportParserRuleCall_0_0());
}
- lv_actorClassConfigs_0_0=ruleActorClassConfig {
+ lv_imports_0_0=ruleImport {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConfigModelRule());
}
add(
$current,
- "actorClassConfigs",
- lv_actorClassConfigs_0_0,
- "ActorClassConfig");
+ "imports",
+ lv_imports_0_0,
+ "Import");
afterParserOrEnumRuleCall();
}
@@ -98,17 +98,17 @@ ruleConfigModel returns [EObject current=null]
)*(
(
{
- newCompositeNode(grammarAccess.getConfigModelAccess().getActorInstanceConfigsActorInstanceConfigParserRuleCall_1_0());
+ newCompositeNode(grammarAccess.getConfigModelAccess().getConfigElementsConfigElementParserRuleCall_1_0());
}
- lv_actorInstanceConfigs_1_0=ruleActorInstanceConfig {
+ lv_configElements_1_0=ruleConfigElement {
if ($current==null) {
$current = createModelElementForParent(grammarAccess.getConfigModelRule());
}
add(
$current,
- "actorInstanceConfigs",
- lv_actorInstanceConfigs_1_0,
- "ActorInstanceConfig");
+ "configElements",
+ lv_configElements_1_0,
+ "ConfigElement");
afterParserOrEnumRuleCall();
}
@@ -120,6 +120,46 @@ ruleConfigModel returns [EObject current=null]
+// Entry rule entryRuleConfigElement
+entryRuleConfigElement returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getConfigElementRule()); }
+ iv_ruleConfigElement=ruleConfigElement
+ { $current=$iv_ruleConfigElement.current; }
+ EOF
+;
+
+// Rule ConfigElement
+ruleConfigElement returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getConfigElementAccess().getActorClassConfigParserRuleCall_0());
+ }
+ this_ActorClassConfig_0=ruleActorClassConfig
+ {
+ $current = $this_ActorClassConfig_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getConfigElementAccess().getActorInstanceConfigParserRuleCall_1());
+ }
+ this_ActorInstanceConfig_1=ruleActorInstanceConfig
+ {
+ $current = $this_ActorInstanceConfig_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
// Entry rule entryRuleActorClassConfig
entryRuleActorClassConfig returns [EObject current=null]
:
@@ -145,19 +185,39 @@ ruleActorClassConfig returns [EObject current=null]
$current = createModelElement(grammarAccess.getActorClassConfigRule());
}
}
- otherlv_1=RULE_ID
- {
- newLeafNode(otherlv_1, grammarAccess.getActorClassConfigAccess().getActorClassActorClassCrossReference_1_0());
- }
+ {
+ newCompositeNode(grammarAccess.getActorClassConfigAccess().getActorActorClassCrossReference_1_0());
+ }
+ ruleFQN {
+ afterParserOrEnumRuleCall();
+ }
)
) otherlv_2='{'
{
newLeafNode(otherlv_2, grammarAccess.getActorClassConfigAccess().getLeftCurlyBracketKeyword_2());
}
- otherlv_3='}'
+(
+(
+ {
+ newCompositeNode(grammarAccess.getActorClassConfigAccess().getAttributesAttrClassConfigParserRuleCall_3_0());
+ }
+ lv_attributes_3_0=ruleAttrClassConfig {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorClassConfigRule());
+ }
+ add(
+ $current,
+ "attributes",
+ lv_attributes_3_0,
+ "AttrClassConfig");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_4='}'
{
- newLeafNode(otherlv_3, grammarAccess.getActorClassConfigAccess().getRightCurlyBracketKeyword_3());
+ newLeafNode(otherlv_4, grammarAccess.getActorClassConfigAccess().getRightCurlyBracketKeyword_4());
}
)
;
@@ -167,43 +227,1268 @@ ruleActorClassConfig returns [EObject current=null]
// Entry rule entryRuleActorInstanceConfig
-entryRuleActorInstanceConfig returns [String current=null]
+entryRuleActorInstanceConfig returns [EObject current=null]
:
- { newCompositeNode(grammarAccess.getActorInstanceConfigRule()); }
+ { newCompositeNode(grammarAccess.getActorInstanceConfigRule()); }
iv_ruleActorInstanceConfig=ruleActorInstanceConfig
- { $current=$iv_ruleActorInstanceConfig.current.getText(); }
+ { $current=$iv_ruleActorInstanceConfig.current; }
EOF
;
// Rule ActorInstanceConfig
-ruleActorInstanceConfig returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ruleActorInstanceConfig returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='ActorInstanceConfig'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getActorInstanceConfigAccess().getActorInstanceConfigKeyword_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getActorInstanceConfigRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getActorInstanceConfigAccess().getRootSubSystemClassCrossReference_1_0());
+ }
+ ruleFQN {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2='/'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getActorInstanceConfigAccess().getSolidusKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getActorInstanceConfigAccess().getPathRefPathParserRuleCall_3_0());
+ }
+ lv_path_3_0=ruleRefPath {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorInstanceConfigRule());
+ }
+ set(
+ $current,
+ "path",
+ lv_path_3_0,
+ "RefPath");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4='{'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getActorInstanceConfigAccess().getLeftCurlyBracketKeyword_4());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getActorInstanceConfigAccess().getAttributesAttrInstanceConfigParserRuleCall_5_0());
+ }
+ lv_attributes_5_0=ruleAttrInstanceConfig {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorInstanceConfigRule());
+ }
+ add(
+ $current,
+ "attributes",
+ lv_attributes_5_0,
+ "AttrInstanceConfig");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_6='}'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getActorInstanceConfigAccess().getRightCurlyBracketKeyword_6());
+ }
+)
+;
+
+
+
+
+
+
+
+// Entry rule entryRuleAttrClassConfig
+entryRuleAttrClassConfig returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAttrClassConfigRule()); }
+ iv_ruleAttrClassConfig=ruleAttrClassConfig
+ { $current=$iv_ruleAttrClassConfig.current; }
+ EOF
+;
+
+// Rule AttrClassConfig
+ruleAttrClassConfig returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='attr'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getAttrClassConfigAccess().getAttrKeyword_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAttrClassConfigRule());
+ }
+ }
+ otherlv_1=RULE_ID
+ {
+ newLeafNode(otherlv_1, grammarAccess.getAttrClassConfigAccess().getAttributeAttributeCrossReference_1_0());
+ }
+
+)
+)( otherlv_2='='
+ {
+ newLeafNode(otherlv_2, grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getAttrClassConfigAccess().getValueLiteralParserRuleCall_2_1_0());
+ }
+ lv_value_3_0=ruleLiteral {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAttrClassConfigRule());
+ }
+ set(
+ $current,
+ "value",
+ lv_value_3_0,
+ "Literal");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?( otherlv_4='{'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getAttrClassConfigAccess().getLeftCurlyBracketKeyword_3_0());
+ }
+(
+
+(
+ {
+ getUnorderedGroupHelper().enter(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1());
+ }
+ (
+ (
+
+ (
+ {getUnorderedGroupHelper().canSelect(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1(), 0)}?=>(
+ {
+ getUnorderedGroupHelper().select(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1(), 0);
+ }
+ ({true}?=>( otherlv_6='min'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getAttrClassConfigAccess().getMinKeyword_3_1_0_0());
+ }
+ otherlv_7='='
+ {
+ newLeafNode(otherlv_7, grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_3_1_0_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getAttrClassConfigAccess().getMinNumberLiteralParserRuleCall_3_1_0_2_0());
+ }
+ lv_min_8_0=ruleNumberLiteral {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAttrClassConfigRule());
+ }
+ set(
+ $current,
+ "min",
+ lv_min_8_0,
+ "NumberLiteral");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))
+ {
+ getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1());
+ }
+ )
+ ) |
+
+ (
+ {getUnorderedGroupHelper().canSelect(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1(), 1)}?=>(
+ {
+ getUnorderedGroupHelper().select(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1(), 1);
+ }
+ ({true}?=>( otherlv_9='max'
+ {
+ newLeafNode(otherlv_9, grammarAccess.getAttrClassConfigAccess().getMaxKeyword_3_1_1_0());
+ }
+ otherlv_10='='
+ {
+ newLeafNode(otherlv_10, grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_3_1_1_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getAttrClassConfigAccess().getMaxNumberLiteralParserRuleCall_3_1_1_2_0());
+ }
+ lv_max_11_0=ruleNumberLiteral {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAttrClassConfigRule());
+ }
+ set(
+ $current,
+ "max",
+ lv_max_11_0,
+ "NumberLiteral");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))
+ {
+ getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1());
+ }
+ )
+ )
+
+ )*
+ )
+)
+ {
+ getUnorderedGroupHelper().leave(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1());
+ }
+
+) otherlv_12='}'
+ {
+ newLeafNode(otherlv_12, grammarAccess.getAttrClassConfigAccess().getRightCurlyBracketKeyword_3_2());
+ }
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleAttrInstanceConfig
+entryRuleAttrInstanceConfig returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAttrInstanceConfigRule()); }
+ iv_ruleAttrInstanceConfig=ruleAttrInstanceConfig
+ { $current=$iv_ruleAttrInstanceConfig.current; }
+ EOF
+;
+
+// Rule AttrInstanceConfig
+ruleAttrInstanceConfig returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='attr'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getAttrInstanceConfigAccess().getAttrKeyword_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAttrInstanceConfigRule());
+ }
+ }
+ otherlv_1=RULE_ID
+ {
+ newLeafNode(otherlv_1, grammarAccess.getAttrInstanceConfigAccess().getAttributeAttributeCrossReference_1_0());
+ }
+
+)
+)( otherlv_2='='
+ {
+ newLeafNode(otherlv_2, grammarAccess.getAttrInstanceConfigAccess().getEqualsSignKeyword_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getAttrInstanceConfigAccess().getValueLiteralParserRuleCall_2_1_0());
+ }
+ lv_value_3_0=ruleLiteral {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAttrInstanceConfigRule());
+ }
+ set(
+ $current,
+ "value",
+ lv_value_3_0,
+ "Literal");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?)
+;
+
+
+
+
+
+// Entry rule entryRuleRefPath
+entryRuleRefPath returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRefPathRule()); }
+ iv_ruleRefPath=ruleRefPath
+ { $current=$iv_ruleRefPath.current; }
+ EOF
+;
+
+// Rule RefPath
+ruleRefPath returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_refs_0_0=RULE_ID
+ {
+ newLeafNode(lv_refs_0_0, grammarAccess.getRefPathAccess().getRefsIDTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRefPathRule());
+ }
+ addWithLastConsumed(
+ $current,
+ "refs",
+ lv_refs_0_0,
+ "ID");
+ }
+
+)
+)( otherlv_1='/'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getRefPathAccess().getSolidusKeyword_1_0());
+ }
+(
+(
+ lv_refs_2_0=RULE_ID
+ {
+ newLeafNode(lv_refs_2_0, grammarAccess.getRefPathAccess().getRefsIDTerminalRuleCall_1_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRefPathRule());
+ }
+ addWithLastConsumed(
+ $current,
+ "refs",
+ lv_refs_2_0,
+ "ID");
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// 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(); }:
+( otherlv_0='import'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0());
+ }
+(((
(
- kw='ActorInstanceConfig'
+ {
+ newCompositeNode(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0_0_0());
+ }
+ lv_importedNamespace_1_0=ruleImportedFQN {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getImportRule());
+ }
+ set(
+ $current,
+ "importedNamespace",
+ lv_importedNamespace_1_0,
+ "ImportedFQN");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2='from'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getImportAccess().getFromKeyword_1_0_1());
+ }
+)
+ | otherlv_3='model'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getImportAccess().getModelKeyword_1_1());
+ }
+)(
+(
+ lv_importURI_4_0=RULE_STRING
+ {
+ newLeafNode(lv_importURI_4_0, grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getImportRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "importURI",
+ lv_importURI_4_0,
+ "STRING");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleImportedFQN
+entryRuleImportedFQN returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getImportedFQNRule()); }
+ iv_ruleImportedFQN=ruleImportedFQN
+ { $current=$iv_ruleImportedFQN.current.getText(); }
+ EOF
+;
+
+// Rule ImportedFQN
+ruleImportedFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0());
+ }
+ this_FQN_0=ruleFQN {
+ $current.merge(this_FQN_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+(
+ kw='.*'
{
$current.merge(kw);
- newLeafNode(kw, grammarAccess.getActorInstanceConfigAccess().getActorInstanceConfigKeyword_0());
+ newLeafNode(kw, grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1());
+ }
+)?)
+ ;
+
+
+
+
+
+// Entry rule entryRuleFQN
+entryRuleFQN returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getFQNRule()); }
+ iv_ruleFQN=ruleFQN
+ { $current=$iv_ruleFQN.current.getText(); }
+ EOF
+;
+
+// Rule FQN
+ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_ID_0=RULE_ID {
+ $current.merge(this_ID_0);
}
- kw='{'
+ {
+ newLeafNode(this_ID_0, grammarAccess.getFQNAccess().getIDTerminalRuleCall_0());
+ }
+(
+ kw='.'
{
$current.merge(kw);
- newLeafNode(kw, grammarAccess.getActorInstanceConfigAccess().getLeftCurlyBracketKeyword_1());
+ newLeafNode(kw, grammarAccess.getFQNAccess().getFullStopKeyword_1_0());
+ }
+ this_ID_2=RULE_ID {
+ $current.merge(this_ID_2);
+ }
+
+ {
+ newLeafNode(this_ID_2, grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1());
+ }
+)*)
+ ;
+
+
+
+
+
+// Entry rule entryRuleLiteral
+entryRuleLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getLiteralRule()); }
+ iv_ruleLiteral=ruleLiteral
+ { $current=$iv_ruleLiteral.current; }
+ EOF
+;
+
+// Rule Literal
+ruleLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0());
+ }
+ this_BooleanLiteral_0=ruleBooleanLiteral
+ {
+ $current = $this_BooleanLiteral_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_1());
+ }
+ this_NumberLiteral_1=ruleNumberLiteral
+ {
+ $current = $this_NumberLiteral_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2());
+ }
+ this_StringLiteral_2=ruleStringLiteral
+ {
+ $current = $this_StringLiteral_2.current;
+ afterParserOrEnumRuleCall();
}
+)
+;
+
+
+
+
- kw='}'
+// Entry rule entryRuleBooleanLiteral
+entryRuleBooleanLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getBooleanLiteralRule()); }
+ iv_ruleBooleanLiteral=ruleBooleanLiteral
+ { $current=$iv_ruleBooleanLiteral.current; }
+ EOF
+;
+
+// Rule BooleanLiteral
+ruleBooleanLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0(),
+ $current);
+ }
+)( otherlv_1='false'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0());
+ }
+
+ |(
+(
+ lv_isTrue_2_0= 'true'
+ {
+ newLeafNode(lv_isTrue_2_0, grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getBooleanLiteralRule());
+ }
+ setWithLastConsumed($current, "isTrue", true, "true");
+ }
+
+)
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleNumberLiteral
+entryRuleNumberLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNumberLiteralRule()); }
+ iv_ruleNumberLiteral=ruleNumberLiteral
+ { $current=$iv_ruleNumberLiteral.current; }
+ EOF
+;
+
+// Rule NumberLiteral
+ruleNumberLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0());
+ }
+ this_IntLiteral_0=ruleIntLiteral
+ {
+ $current = $this_IntLiteral_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getNumberLiteralAccess().getRealLiteralParserRuleCall_1());
+ }
+ this_RealLiteral_1=ruleRealLiteral
+ {
+ $current = $this_RealLiteral_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleRealLiteral
+entryRuleRealLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRealLiteralRule()); }
+ iv_ruleRealLiteral=ruleRealLiteral
+ { $current=$iv_ruleRealLiteral.current; }
+ EOF
+;
+
+// Rule RealLiteral
+ruleRealLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getRealLiteralAccess().getRealLiteralAction_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0());
+ }
+ lv_value_1_0=ruleReal {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRealLiteralRule());
+ }
+ set(
+ $current,
+ "value",
+ lv_value_1_0,
+ "Real");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleIntLiteral
+entryRuleIntLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getIntLiteralRule()); }
+ iv_ruleIntLiteral=ruleIntLiteral
+ { $current=$iv_ruleIntLiteral.current; }
+ EOF
+;
+
+// Rule IntLiteral
+ruleIntLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getIntLiteralAccess().getIntLiteralAction_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0());
+ }
+ lv_value_1_0=ruleInteger {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getIntLiteralRule());
+ }
+ set(
+ $current,
+ "value",
+ lv_value_1_0,
+ "Integer");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleStringLiteral
+entryRuleStringLiteral returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStringLiteralRule()); }
+ iv_ruleStringLiteral=ruleStringLiteral
+ { $current=$iv_ruleStringLiteral.current; }
+ EOF
+;
+
+// Rule StringLiteral
+ruleStringLiteral returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getStringLiteralAccess().getStringLiteralAction_0(),
+ $current);
+ }
+)(
+(
+ lv_value_1_0=RULE_STRING
+ {
+ newLeafNode(lv_value_1_0, grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getStringLiteralRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_1_0,
+ "STRING");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleInteger
+entryRuleInteger returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getIntegerRule()); }
+ iv_ruleInteger=ruleInteger
+ { $current=$iv_ruleInteger.current.getText(); }
+ EOF
+;
+
+// Rule Integer
+ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0());
+ }
+ this_SignedInteger_0=ruleSignedInteger {
+ $current.merge(this_SignedInteger_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1());
+ }
+ this_Hexadecimal_1=ruleHexadecimal {
+ $current.merge(this_Hexadecimal_1);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleSignedInteger
+entryRuleSignedInteger returns [String current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getSignedIntegerRule()); }
+ iv_ruleSignedInteger=ruleSignedInteger
+ { $current=$iv_ruleSignedInteger.current.getText(); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule SignedInteger
+ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+((
+ kw='+'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0());
+ }
+
+ |
+ kw='-'
{
$current.merge(kw);
- newLeafNode(kw, grammarAccess.getActorInstanceConfigAccess().getRightCurlyBracketKeyword_2());
+ newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1());
+ }
+)? this_INT_2=RULE_INT {
+ $current.merge(this_INT_2);
+ }
+
+ {
+ newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1());
}
)
;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleHexadecimal
+entryRuleHexadecimal returns [String current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getHexadecimalRule()); }
+ iv_ruleHexadecimal=ruleHexadecimal
+ { $current=$iv_ruleHexadecimal.current.getText(); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule Hexadecimal
+ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+ this_HEX_0=RULE_HEX {
+ $current.merge(this_HEX_0);
+ }
+
+ {
+ newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall());
+ }
+
+ ;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleReal
+entryRuleReal returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getRealRule()); }
+ iv_ruleReal=ruleReal
+ { $current=$iv_ruleReal.current.getText(); }
+ EOF
+;
+
+// Rule Real
+ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getRealAccess().getDecimalParserRuleCall_0());
+ }
+ this_Decimal_0=ruleDecimal {
+ $current.merge(this_Decimal_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1());
+ }
+ this_DotDecimal_1=ruleDotDecimal {
+ $current.merge(this_DotDecimal_1);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2());
+ }
+ this_DecimalDot_2=ruleDecimalDot {
+ $current.merge(this_DecimalDot_2);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3());
+ }
+ this_DecimalExp_3=ruleDecimalExp {
+ $current.merge(this_DecimalExp_3);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleDecimal
+entryRuleDecimal returns [String current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getDecimalRule()); }
+ iv_ruleDecimal=ruleDecimal
+ { $current=$iv_ruleDecimal.current.getText(); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule Decimal
+ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+((
+ kw='+'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0());
+ }
+
+ |
+ kw='-'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1());
+ }
+)? this_INT_2=RULE_INT {
+ $current.merge(this_INT_2);
+ }
+
+ {
+ newLeafNode(this_INT_2, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1());
+ }
+
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalAccess().getFullStopKeyword_2());
+ }
+ this_INT_4=RULE_INT {
+ $current.merge(this_INT_4);
+ }
+
+ {
+ newLeafNode(this_INT_4, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3());
+ }
+)
+ ;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleDotDecimal
+entryRuleDotDecimal returns [String current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getDotDecimalRule()); }
+ iv_ruleDotDecimal=ruleDotDecimal
+ { $current=$iv_ruleDotDecimal.current.getText(); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule DotDecimal
+ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+((
+ kw='+'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0());
+ }
+
+ |
+ kw='-'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1());
+ }
+)?
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1());
+ }
+ this_INT_3=RULE_INT {
+ $current.merge(this_INT_3);
+ }
+
+ {
+ newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2());
+ }
+)
+ ;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleDecimalDot
+entryRuleDecimalDot returns [String current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getDecimalDotRule()); }
+ iv_ruleDecimalDot=ruleDecimalDot
+ { $current=$iv_ruleDecimalDot.current.getText(); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule DecimalDot
+ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+((
+ kw='+'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0());
+ }
+
+ |
+ kw='-'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1());
+ }
+)? this_INT_2=RULE_INT {
+ $current.merge(this_INT_2);
+ }
+
+ {
+ newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1());
+ }
+
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2());
+ }
+)
+ ;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleDecimalExp
+entryRuleDecimalExp returns [String current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getDecimalExpRule()); }
+ iv_ruleDecimalExp=ruleDecimalExp
+ { $current=$iv_ruleDecimalExp.current.getText(); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule DecimalExp
+ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+((
+ kw='+'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0());
+ }
+
+ |
+ kw='-'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1());
+ }
+)? this_INT_2=RULE_INT {
+ $current.merge(this_INT_2);
+ }
+
+ {
+ newLeafNode(this_INT_2, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1());
+ }
+
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalExpAccess().getFullStopKeyword_2());
+ }
+ this_INT_4=RULE_INT {
+ $current.merge(this_INT_4);
+ }
+
+ {
+ newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3());
+ }
+ this_ID_5=RULE_ID {
+ $current.merge(this_ID_5);
+ }
+
+ {
+ newLeafNode(this_ID_5, grammarAccess.getDecimalExpAccess().getIDTerminalRuleCall_4());
+ }
+(
+ kw='+'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0());
+ }
+
+ |
+ kw='-'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1());
+ }
+)? this_INT_8=RULE_INT {
+ $current.merge(this_INT_8);
+ }
+
+ {
+ newLeafNode(this_INT_8, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6());
+ }
+)
+ ;
+finally {
+ myHiddenTokenState.restore();
+}
+
+RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F')+;
RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.tokens b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.tokens
index 536f0772f..c55cc6ea4 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.tokens
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.tokens
@@ -1,15 +1,44 @@
RULE_ID=4
-RULE_STRING=6
+T__29=29
+T__28=28
+T__27=27
+T__26=26
+T__25=25
+T__24=24
+T__23=23
+T__22=22
+RULE_ANY_OTHER=11
+T__21=21
+T__20=20
+RULE_SL_COMMENT=9
+RULE_ML_COMMENT=8
+T__19=19
+RULE_HEX=7
+RULE_STRING=5
+T__16=16
+T__15=15
+T__18=18
+T__17=17
T__12=12
-T__11=11
T__14=14
T__13=13
-RULE_ANY_OTHER=10
-RULE_INT=5
-RULE_WS=9
-RULE_SL_COMMENT=8
-RULE_ML_COMMENT=7
-'ActorInstanceConfig'=14
-'}'=13
-'ActorClassConfig'=11
-'{'=12
+RULE_INT=6
+RULE_WS=10
+'true'=27
+'}'=14
+'/'=16
+'model'=23
+'ActorClassConfig'=12
+'{'=13
+'.*'=24
+'ActorInstanceConfig'=15
+'attr'=17
+'false'=26
+'='=18
+'-'=29
+'+'=28
+'min'=19
+'.'=25
+'max'=20
+'import'=21
+'from'=22
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigLexer.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigLexer.java
index 0a2b913cd..da69c6515 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigLexer.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigLexer.java
@@ -13,17 +13,32 @@ import java.util.ArrayList;
@SuppressWarnings("all")
public class InternalConfigLexer extends Lexer {
public static final int RULE_ID=4;
- public static final int RULE_STRING=6;
+ public static final int T__29=29;
+ public static final int T__28=28;
+ public static final int T__27=27;
+ public static final int T__26=26;
+ public static final int T__25=25;
+ public static final int T__24=24;
+ public static final int T__23=23;
+ public static final int T__22=22;
+ public static final int RULE_ANY_OTHER=11;
+ public static final int T__21=21;
+ public static final int T__20=20;
+ public static final int EOF=-1;
+ public static final int RULE_SL_COMMENT=9;
+ public static final int RULE_ML_COMMENT=8;
+ public static final int T__19=19;
+ public static final int RULE_STRING=5;
+ public static final int RULE_HEX=7;
+ public static final int T__16=16;
+ public static final int T__15=15;
+ public static final int T__18=18;
+ public static final int T__17=17;
public static final int T__12=12;
- public static final int T__11=11;
public static final int T__14=14;
public static final int T__13=13;
- public static final int RULE_ANY_OTHER=10;
- public static final int RULE_INT=5;
- public static final int RULE_WS=9;
- public static final int RULE_SL_COMMENT=8;
- public static final int EOF=-1;
- public static final int RULE_ML_COMMENT=7;
+ public static final int RULE_INT=6;
+ public static final int RULE_WS=10;
// delegates
// delegators
@@ -38,10 +53,10 @@ public class InternalConfigLexer extends Lexer {
}
public String getGrammarFileName() { return "../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g"; }
- // $ANTLR start "T__11"
- public final void mT__11() throws RecognitionException {
+ // $ANTLR start "T__12"
+ public final void mT__12() throws RecognitionException {
try {
- int _type = T__11;
+ int _type = T__12;
int _channel = DEFAULT_TOKEN_CHANNEL;
// ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:11:7: ( 'ActorClassConfig' )
// ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:11:9: 'ActorClassConfig'
@@ -57,12 +72,12 @@ public class InternalConfigLexer extends Lexer {
finally {
}
}
- // $ANTLR end "T__11"
+ // $ANTLR end "T__12"
- // $ANTLR start "T__12"
- public final void mT__12() throws RecognitionException {
+ // $ANTLR start "T__13"
+ public final void mT__13() throws RecognitionException {
try {
- int _type = T__12;
+ int _type = T__13;
int _channel = DEFAULT_TOKEN_CHANNEL;
// ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:12:7: ( '{' )
// ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:12:9: '{'
@@ -77,12 +92,12 @@ public class InternalConfigLexer extends Lexer {
finally {
}
}
- // $ANTLR end "T__12"
+ // $ANTLR end "T__13"
- // $ANTLR start "T__13"
- public final void mT__13() throws RecognitionException {
+ // $ANTLR start "T__14"
+ public final void mT__14() throws RecognitionException {
try {
- int _type = T__13;
+ int _type = T__14;
int _channel = DEFAULT_TOKEN_CHANNEL;
// ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:13:7: ( '}' )
// ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:13:9: '}'
@@ -97,12 +112,12 @@ public class InternalConfigLexer extends Lexer {
finally {
}
}
- // $ANTLR end "T__13"
+ // $ANTLR end "T__14"
- // $ANTLR start "T__14"
- public final void mT__14() throws RecognitionException {
+ // $ANTLR start "T__15"
+ public final void mT__15() throws RecognitionException {
try {
- int _type = T__14;
+ int _type = T__15;
int _channel = DEFAULT_TOKEN_CHANNEL;
// ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:14:7: ( 'ActorInstanceConfig' )
// ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:14:9: 'ActorInstanceConfig'
@@ -118,26 +133,418 @@ public class InternalConfigLexer extends Lexer {
finally {
}
}
- // $ANTLR end "T__14"
+ // $ANTLR end "T__15"
- // $ANTLR start "RULE_ID"
- public final void mRULE_ID() throws RecognitionException {
+ // $ANTLR start "T__16"
+ public final void mT__16() throws RecognitionException {
try {
- int _type = RULE_ID;
+ int _type = T__16;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:208:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:208:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:15:7: ( '/' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:15:9: '/'
{
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:208:11: ( '^' )?
+ 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;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:16:7: ( 'attr' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:16:9: 'attr'
+ {
+ match("attr");
+
+
+ }
+
+ 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;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:17:7: ( '=' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:17:9: '='
+ {
+ match('=');
+
+ }
+
+ 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;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:18:7: ( 'min' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:18:9: 'min'
+ {
+ match("min");
+
+
+ }
+
+ 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;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:19:7: ( 'max' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:19:9: 'max'
+ {
+ match("max");
+
+
+ }
+
+ 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;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:20:7: ( 'import' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:20:9: 'import'
+ {
+ match("import");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "T__22"
+ public final void mT__22() throws RecognitionException {
+ try {
+ int _type = T__22;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:21:7: ( 'from' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:21:9: 'from'
+ {
+ match("from");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__22"
+
+ // $ANTLR start "T__23"
+ public final void mT__23() throws RecognitionException {
+ try {
+ int _type = T__23;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:22:7: ( 'model' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:22:9: 'model'
+ {
+ match("model");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__23"
+
+ // $ANTLR start "T__24"
+ public final void mT__24() throws RecognitionException {
+ try {
+ int _type = T__24;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:23:7: ( '.*' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:23:9: '.*'
+ {
+ match(".*");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__24"
+
+ // $ANTLR start "T__25"
+ public final void mT__25() throws RecognitionException {
+ try {
+ int _type = T__25;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:24:7: ( '.' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:24:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__25"
+
+ // $ANTLR start "T__26"
+ public final void mT__26() throws RecognitionException {
+ try {
+ int _type = T__26;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:25:7: ( 'false' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:25:9: 'false'
+ {
+ match("false");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__26"
+
+ // $ANTLR start "T__27"
+ public final void mT__27() throws RecognitionException {
+ try {
+ int _type = T__27;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:26:7: ( 'true' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:26:9: 'true'
+ {
+ match("true");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__27"
+
+ // $ANTLR start "T__28"
+ public final void mT__28() throws RecognitionException {
+ try {
+ int _type = T__28;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:27:7: ( '+' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:27:9: '+'
+ {
+ match('+');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__28"
+
+ // $ANTLR start "T__29"
+ public final void mT__29() throws RecognitionException {
+ try {
+ int _type = T__29;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:28:7: ( '-' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:28:9: '-'
+ {
+ match('-');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__29"
+
+ // $ANTLR start "RULE_HEX"
+ public final void mRULE_HEX() throws RecognitionException {
+ try {
+ int _type = RULE_HEX;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1491:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1491:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1491:12: ( '0x' | '0X' )
int alt1=2;
int LA1_0 = input.LA(1);
- if ( (LA1_0=='^') ) {
- alt1=1;
+ if ( (LA1_0=='0') ) {
+ int LA1_1 = input.LA(2);
+
+ if ( (LA1_1=='x') ) {
+ alt1=1;
+ }
+ else if ( (LA1_1=='X') ) {
+ 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 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:208:11: '^'
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1491:13: '0x'
+ {
+ match("0x");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1491:18: '0X'
+ {
+ match("0X");
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1491:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+ int cnt2=0;
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||(LA2_0>='a' && LA2_0<='f')) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt2 >= 1 ) break loop2;
+ EarlyExitException eee =
+ new EarlyExitException(2, input);
+ throw eee;
+ }
+ cnt2++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_HEX"
+
+ // $ANTLR start "RULE_ID"
+ public final void mRULE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1493:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1493:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1493:11: ( '^' )?
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0=='^') ) {
+ alt3=1;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1493:11: '^'
{
match('^');
@@ -155,18 +562,18 @@ public class InternalConfigLexer extends Lexer {
recover(mse);
throw mse;}
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:208:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
- loop2:
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1493:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop4:
do {
- int alt2=2;
- int LA2_0 = input.LA(1);
+ int alt4=2;
+ int LA4_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;
+ if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+ alt4=1;
}
- switch (alt2) {
+ switch (alt4) {
case 1 :
// ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:
{
@@ -184,7 +591,7 @@ public class InternalConfigLexer extends Lexer {
break;
default :
- break loop2;
+ break loop4;
}
} while (true);
@@ -204,24 +611,24 @@ public class InternalConfigLexer extends Lexer {
try {
int _type = RULE_INT;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:210:10: ( ( '0' .. '9' )+ )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:210:12: ( '0' .. '9' )+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1495:10: ( ( '0' .. '9' )+ )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1495:12: ( '0' .. '9' )+
{
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:210:12: ( '0' .. '9' )+
- int cnt3=0;
- loop3:
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1495:12: ( '0' .. '9' )+
+ int cnt5=0;
+ loop5:
do {
- int alt3=2;
- int LA3_0 = input.LA(1);
+ int alt5=2;
+ int LA5_0 = input.LA(1);
- if ( ((LA3_0>='0' && LA3_0<='9')) ) {
- alt3=1;
+ if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+ alt5=1;
}
- switch (alt3) {
+ switch (alt5) {
case 1 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:210:13: '0' .. '9'
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1495:13: '0' .. '9'
{
matchRange('0','9');
@@ -229,12 +636,12 @@ public class InternalConfigLexer extends Lexer {
break;
default :
- if ( cnt3 >= 1 ) break loop3;
+ if ( cnt5 >= 1 ) break loop5;
EarlyExitException eee =
- new EarlyExitException(3, input);
+ new EarlyExitException(5, input);
throw eee;
}
- cnt3++;
+ cnt5++;
} while (true);
@@ -253,47 +660,47 @@ public class InternalConfigLexer extends Lexer {
try {
int _type = RULE_STRING;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:212:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:212:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1497:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1497:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
{
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:212:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
- int alt6=2;
- int LA6_0 = input.LA(1);
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1497:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ int alt8=2;
+ int LA8_0 = input.LA(1);
- if ( (LA6_0=='\"') ) {
- alt6=1;
+ if ( (LA8_0=='\"') ) {
+ alt8=1;
}
- else if ( (LA6_0=='\'') ) {
- alt6=2;
+ else if ( (LA8_0=='\'') ) {
+ alt8=2;
}
else {
NoViableAltException nvae =
- new NoViableAltException("", 6, 0, input);
+ new NoViableAltException("", 8, 0, input);
throw nvae;
}
- switch (alt6) {
+ switch (alt8) {
case 1 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:212:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1497:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
{
match('\"');
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:212:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
- loop4:
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1497:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop6:
do {
- int alt4=3;
- int LA4_0 = input.LA(1);
+ int alt6=3;
+ int LA6_0 = input.LA(1);
- if ( (LA4_0=='\\') ) {
- alt4=1;
+ if ( (LA6_0=='\\') ) {
+ alt6=1;
}
- else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
- alt4=2;
+ else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+ alt6=2;
}
- switch (alt4) {
+ switch (alt6) {
case 1 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:212:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1497:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
{
match('\\');
if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
@@ -309,7 +716,7 @@ public class InternalConfigLexer extends Lexer {
}
break;
case 2 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:212:66: ~ ( ( '\\\\' | '\"' ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1497:66: ~ ( ( '\\\\' | '\"' ) )
{
if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
input.consume();
@@ -325,7 +732,7 @@ public class InternalConfigLexer extends Lexer {
break;
default :
- break loop4;
+ break loop6;
}
} while (true);
@@ -334,26 +741,26 @@ public class InternalConfigLexer extends Lexer {
}
break;
case 2 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:212:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1497:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
{
match('\'');
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:212:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
- loop5:
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1497:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop7:
do {
- int alt5=3;
- int LA5_0 = input.LA(1);
+ int alt7=3;
+ int LA7_0 = input.LA(1);
- if ( (LA5_0=='\\') ) {
- alt5=1;
+ if ( (LA7_0=='\\') ) {
+ alt7=1;
}
- else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
- alt5=2;
+ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+ alt7=2;
}
- switch (alt5) {
+ switch (alt7) {
case 1 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:212:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1497:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
{
match('\\');
if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
@@ -369,7 +776,7 @@ public class InternalConfigLexer extends Lexer {
}
break;
case 2 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:212:137: ~ ( ( '\\\\' | '\\'' ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1497:137: ~ ( ( '\\\\' | '\\'' ) )
{
if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
input.consume();
@@ -385,7 +792,7 @@ public class InternalConfigLexer extends Lexer {
break;
default :
- break loop5;
+ break loop7;
}
} while (true);
@@ -412,37 +819,37 @@ public class InternalConfigLexer extends Lexer {
try {
int _type = RULE_ML_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:214:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:214:19: '/*' ( options {greedy=false; } : . )* '*/'
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1499:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1499:19: '/*' ( options {greedy=false; } : . )* '*/'
{
match("/*");
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:214:24: ( options {greedy=false; } : . )*
- loop7:
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1499:24: ( options {greedy=false; } : . )*
+ loop9:
do {
- int alt7=2;
- int LA7_0 = input.LA(1);
+ int alt9=2;
+ int LA9_0 = input.LA(1);
- if ( (LA7_0=='*') ) {
- int LA7_1 = input.LA(2);
+ if ( (LA9_0=='*') ) {
+ int LA9_1 = input.LA(2);
- if ( (LA7_1=='/') ) {
- alt7=2;
+ if ( (LA9_1=='/') ) {
+ alt9=2;
}
- else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
- alt7=1;
+ else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+ alt9=1;
}
}
- else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
- alt7=1;
+ else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+ alt9=1;
}
- switch (alt7) {
+ switch (alt9) {
case 1 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:214:52: .
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1499:52: .
{
matchAny();
@@ -450,7 +857,7 @@ public class InternalConfigLexer extends Lexer {
break;
default :
- break loop7;
+ break loop9;
}
} while (true);
@@ -472,25 +879,25 @@ public class InternalConfigLexer extends Lexer {
try {
int _type = RULE_SL_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:216:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:216:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1501:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1501:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
{
match("//");
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:216:24: (~ ( ( '\\n' | '\\r' ) ) )*
- loop8:
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1501:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop10:
do {
- int alt8=2;
- int LA8_0 = input.LA(1);
+ int alt10=2;
+ int LA10_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;
+ if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+ alt10=1;
}
- switch (alt8) {
+ switch (alt10) {
case 1 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:216:24: ~ ( ( '\\n' | '\\r' ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1501: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();
@@ -506,31 +913,31 @@ public class InternalConfigLexer extends Lexer {
break;
default :
- break loop8;
+ break loop10;
}
} while (true);
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:216:40: ( ( '\\r' )? '\\n' )?
- int alt10=2;
- int LA10_0 = input.LA(1);
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1501:40: ( ( '\\r' )? '\\n' )?
+ int alt12=2;
+ int LA12_0 = input.LA(1);
- if ( (LA10_0=='\n'||LA10_0=='\r') ) {
- alt10=1;
+ if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+ alt12=1;
}
- switch (alt10) {
+ switch (alt12) {
case 1 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:216:41: ( '\\r' )? '\\n'
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1501:41: ( '\\r' )? '\\n'
{
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:216:41: ( '\\r' )?
- int alt9=2;
- int LA9_0 = input.LA(1);
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1501:41: ( '\\r' )?
+ int alt11=2;
+ int LA11_0 = input.LA(1);
- if ( (LA9_0=='\r') ) {
- alt9=1;
+ if ( (LA11_0=='\r') ) {
+ alt11=1;
}
- switch (alt9) {
+ switch (alt11) {
case 1 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:216:41: '\\r'
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1501:41: '\\r'
{
match('\r');
@@ -562,22 +969,22 @@ public class InternalConfigLexer extends Lexer {
try {
int _type = RULE_WS;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:218:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:218:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1503:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1503:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
{
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:218:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
- int cnt11=0;
- loop11:
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1503:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt13=0;
+ loop13:
do {
- int alt11=2;
- int LA11_0 = input.LA(1);
+ int alt13=2;
+ int LA13_0 = input.LA(1);
- if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
- alt11=1;
+ if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+ alt13=1;
}
- switch (alt11) {
+ switch (alt13) {
case 1 :
// ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:
{
@@ -595,12 +1002,12 @@ public class InternalConfigLexer extends Lexer {
break;
default :
- if ( cnt11 >= 1 ) break loop11;
+ if ( cnt13 >= 1 ) break loop13;
EarlyExitException eee =
- new EarlyExitException(11, input);
+ new EarlyExitException(13, input);
throw eee;
}
- cnt11++;
+ cnt13++;
} while (true);
@@ -619,8 +1026,8 @@ public class InternalConfigLexer extends Lexer {
try {
int _type = RULE_ANY_OTHER;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:220:16: ( . )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:220:18: .
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1505:16: ( . )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1505:18: .
{
matchAny();
@@ -635,82 +1042,187 @@ public class InternalConfigLexer extends Lexer {
// $ANTLR end "RULE_ANY_OTHER"
public void mTokens() throws RecognitionException {
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:8: ( T__11 | T__12 | T__13 | T__14 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
- int alt12=11;
- alt12 = dfa12.predict(input);
- switch (alt12) {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt14=26;
+ alt14 = dfa14.predict(input);
+ switch (alt14) {
case 1 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:10: T__11
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:10: T__12
{
- mT__11();
+ mT__12();
}
break;
case 2 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:16: T__12
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:16: T__13
{
- mT__12();
+ mT__13();
}
break;
case 3 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:22: T__13
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:22: T__14
{
- mT__13();
+ mT__14();
}
break;
case 4 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:28: T__14
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:28: T__15
{
- mT__14();
+ mT__15();
}
break;
case 5 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:34: RULE_ID
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:34: T__16
{
- mRULE_ID();
+ mT__16();
}
break;
case 6 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:42: RULE_INT
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:40: T__17
{
- mRULE_INT();
+ mT__17();
}
break;
case 7 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:51: RULE_STRING
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:46: T__18
{
- mRULE_STRING();
+ mT__18();
}
break;
case 8 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:63: RULE_ML_COMMENT
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:52: T__19
{
- mRULE_ML_COMMENT();
+ mT__19();
}
break;
case 9 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:79: RULE_SL_COMMENT
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:58: T__20
{
- mRULE_SL_COMMENT();
+ mT__20();
}
break;
case 10 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:95: RULE_WS
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:64: T__21
{
- mRULE_WS();
+ mT__21();
}
break;
case 11 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:103: RULE_ANY_OTHER
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:70: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:76: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:82: T__24
+ {
+ mT__24();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:88: T__25
+ {
+ mT__25();
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:94: T__26
+ {
+ mT__26();
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:100: T__27
+ {
+ mT__27();
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:106: T__28
+ {
+ mT__28();
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:112: T__29
+ {
+ mT__29();
+
+ }
+ break;
+ case 19 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:118: RULE_HEX
+ {
+ mRULE_HEX();
+
+ }
+ break;
+ case 20 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:127: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 21 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:135: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 22 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:144: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 23 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:156: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 24 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:172: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 25 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:188: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 26 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:196: RULE_ANY_OTHER
{
mRULE_ANY_OTHER();
@@ -722,170 +1234,259 @@ public class InternalConfigLexer extends Lexer {
}
- protected DFA12 dfa12 = new DFA12(this);
- static final String DFA12_eotS =
- "\1\uffff\1\15\2\uffff\1\13\2\uffff\3\13\2\uffff\1\15\10\uffff\27"+
- "\15\1\56\1\15\1\uffff\2\15\1\62\1\uffff";
- static final String DFA12_eofS =
- "\63\uffff";
- static final String DFA12_minS =
- "\1\0\1\143\2\uffff\1\101\2\uffff\2\0\1\52\2\uffff\1\164\10\uffff"+
- "\1\157\1\162\1\103\1\154\1\156\1\141\2\163\1\164\1\163\1\141\1\103"+
- "\1\156\1\157\1\143\1\156\1\145\1\146\1\103\1\151\1\157\1\147\1\156"+
- "\1\60\1\146\1\uffff\1\151\1\147\1\60\1\uffff";
- static final String DFA12_maxS =
- "\1\uffff\1\143\2\uffff\1\172\2\uffff\2\uffff\1\57\2\uffff\1\164"+
- "\10\uffff\1\157\1\162\1\111\1\154\1\156\1\141\2\163\1\164\1\163"+
- "\1\141\1\103\1\156\1\157\1\143\1\156\1\145\1\146\1\103\1\151\1\157"+
- "\1\147\1\156\1\172\1\146\1\uffff\1\151\1\147\1\172\1\uffff";
- static final String DFA12_acceptS =
- "\2\uffff\1\2\1\3\1\uffff\1\5\1\6\3\uffff\1\12\1\13\1\uffff\1\5"+
- "\1\2\1\3\1\6\1\7\1\10\1\11\1\12\31\uffff\1\1\3\uffff\1\4";
- static final String DFA12_specialS =
- "\1\2\6\uffff\1\0\1\1\52\uffff}>";
- static final String[] DFA12_transitionS = {
- "\11\13\2\12\2\13\1\12\22\13\1\12\1\13\1\7\4\13\1\10\7\13\1"+
- "\11\12\6\7\13\1\1\31\5\3\13\1\4\1\5\1\13\32\5\1\2\1\13\1\3\uff82"+
- "\13",
- "\1\14",
+ protected DFA14 dfa14 = new DFA14(this);
+ static final String DFA14_eotS =
+ "\1\uffff\1\27\2\uffff\1\34\1\27\1\uffff\3\27\1\46\1\27\2\uffff"+
+ "\1\53\1\25\2\uffff\2\25\2\uffff\1\27\6\uffff\1\27\1\uffff\6\27\2"+
+ "\uffff\1\27\6\uffff\2\27\1\71\1\72\6\27\1\101\2\uffff\2\27\1\104"+
+ "\1\27\1\106\1\27\1\uffff\1\111\1\27\1\uffff\1\113\1\uffff\2\27\1"+
+ "\uffff\1\116\1\uffff\2\27\1\uffff\20\27\1\141\1\27\1\uffff\2\27"+
+ "\1\145\1\uffff";
+ static final String DFA14_eofS =
+ "\146\uffff";
+ static final String DFA14_minS =
+ "\1\0\1\143\2\uffff\1\52\1\164\1\uffff\1\141\1\155\1\141\1\52\1"+
+ "\162\2\uffff\1\130\1\101\2\uffff\2\0\2\uffff\1\164\6\uffff\1\164"+
+ "\1\uffff\1\156\1\170\1\144\1\160\1\157\1\154\2\uffff\1\165\6\uffff"+
+ "\1\157\1\162\2\60\1\145\1\157\1\155\1\163\1\145\1\162\1\60\2\uffff"+
+ "\1\154\1\162\1\60\1\145\1\60\1\103\1\uffff\1\60\1\164\1\uffff\1"+
+ "\60\1\uffff\1\154\1\156\1\uffff\1\60\1\uffff\1\141\1\163\1\uffff"+
+ "\1\163\1\164\1\163\1\141\1\103\1\156\1\157\1\143\1\156\1\145\1\146"+
+ "\1\103\1\151\1\157\1\147\1\156\1\60\1\146\1\uffff\1\151\1\147\1"+
+ "\60\1\uffff";
+ static final String DFA14_maxS =
+ "\1\uffff\1\143\2\uffff\1\57\1\164\1\uffff\1\157\1\155\1\162\1\52"+
+ "\1\162\2\uffff\1\170\1\172\2\uffff\2\uffff\2\uffff\1\164\6\uffff"+
+ "\1\164\1\uffff\1\156\1\170\1\144\1\160\1\157\1\154\2\uffff\1\165"+
+ "\6\uffff\1\157\1\162\2\172\1\145\1\157\1\155\1\163\1\145\1\162\1"+
+ "\172\2\uffff\1\154\1\162\1\172\1\145\1\172\1\111\1\uffff\1\172\1"+
+ "\164\1\uffff\1\172\1\uffff\1\154\1\156\1\uffff\1\172\1\uffff\1\141"+
+ "\1\163\1\uffff\1\163\1\164\1\163\1\141\1\103\1\156\1\157\1\143\1"+
+ "\156\1\145\1\146\1\103\1\151\1\157\1\147\1\156\1\172\1\146\1\uffff"+
+ "\1\151\1\147\1\172\1\uffff";
+ static final String DFA14_acceptS =
+ "\2\uffff\1\2\1\3\2\uffff\1\7\5\uffff\1\21\1\22\2\uffff\1\24\1\25"+
+ "\2\uffff\1\31\1\32\1\uffff\1\24\1\2\1\3\1\27\1\30\1\5\1\uffff\1"+
+ "\7\6\uffff\1\15\1\16\1\uffff\1\21\1\22\1\23\1\25\1\26\1\31\13\uffff"+
+ "\1\10\1\11\6\uffff\1\6\2\uffff\1\13\1\uffff\1\20\2\uffff\1\14\1"+
+ "\uffff\1\17\2\uffff\1\12\22\uffff\1\1\3\uffff\1\4";
+ static final String DFA14_specialS =
+ "\1\1\21\uffff\1\2\1\0\122\uffff}>";
+ static final String[] DFA14_transitionS = {
+ "\11\25\2\24\2\25\1\24\22\25\1\24\1\25\1\22\4\25\1\23\3\25\1"+
+ "\14\1\25\1\15\1\12\1\4\1\16\11\21\3\25\1\6\3\25\1\1\31\20\3"+
+ "\25\1\17\1\20\1\25\1\5\4\20\1\11\2\20\1\10\3\20\1\7\6\20\1\13"+
+ "\6\20\1\2\1\25\1\3\uff82\25",
+ "\1\26",
"",
"",
- "\32\15\4\uffff\1\15\1\uffff\32\15",
+ "\1\32\4\uffff\1\33",
+ "\1\35",
"",
+ "\1\40\7\uffff\1\37\5\uffff\1\41",
+ "\1\42",
+ "\1\44\20\uffff\1\43",
+ "\1\45",
+ "\1\47",
"",
- "\0\21",
- "\0\21",
- "\1\22\4\uffff\1\23",
"",
+ "\1\52\37\uffff\1\52",
+ "\32\27\4\uffff\1\27\1\uffff\32\27",
"",
- "\1\25",
"",
+ "\0\54",
+ "\0\54",
"",
"",
+ "\1\56",
+ "",
"",
"",
"",
"",
"",
- "\1\26",
- "\1\27",
- "\1\30\5\uffff\1\31",
- "\1\32",
- "\1\33",
- "\1\34",
- "\1\35",
- "\1\36",
- "\1\37",
- "\1\40",
- "\1\41",
- "\1\42",
- "\1\43",
- "\1\44",
- "\1\45",
- "\1\46",
- "\1\47",
- "\1\50",
- "\1\51",
- "\1\52",
- "\1\53",
- "\1\54",
- "\1\55",
- "\12\15\7\uffff\32\15\4\uffff\1\15\1\uffff\32\15",
"\1\57",
"",
"\1\60",
"\1\61",
- "\12\15\7\uffff\32\15\4\uffff\1\15\1\uffff\32\15",
+ "\1\62",
+ "\1\63",
+ "\1\64",
+ "\1\65",
+ "",
+ "",
+ "\1\66",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\67",
+ "\1\70",
+ "\12\27\7\uffff\32\27\4\uffff\1\27\1\uffff\32\27",
+ "\12\27\7\uffff\32\27\4\uffff\1\27\1\uffff\32\27",
+ "\1\73",
+ "\1\74",
+ "\1\75",
+ "\1\76",
+ "\1\77",
+ "\1\100",
+ "\12\27\7\uffff\32\27\4\uffff\1\27\1\uffff\32\27",
+ "",
+ "",
+ "\1\102",
+ "\1\103",
+ "\12\27\7\uffff\32\27\4\uffff\1\27\1\uffff\32\27",
+ "\1\105",
+ "\12\27\7\uffff\32\27\4\uffff\1\27\1\uffff\32\27",
+ "\1\107\5\uffff\1\110",
+ "",
+ "\12\27\7\uffff\32\27\4\uffff\1\27\1\uffff\32\27",
+ "\1\112",
+ "",
+ "\12\27\7\uffff\32\27\4\uffff\1\27\1\uffff\32\27",
+ "",
+ "\1\114",
+ "\1\115",
+ "",
+ "\12\27\7\uffff\32\27\4\uffff\1\27\1\uffff\32\27",
+ "",
+ "\1\117",
+ "\1\120",
+ "",
+ "\1\121",
+ "\1\122",
+ "\1\123",
+ "\1\124",
+ "\1\125",
+ "\1\126",
+ "\1\127",
+ "\1\130",
+ "\1\131",
+ "\1\132",
+ "\1\133",
+ "\1\134",
+ "\1\135",
+ "\1\136",
+ "\1\137",
+ "\1\140",
+ "\12\27\7\uffff\32\27\4\uffff\1\27\1\uffff\32\27",
+ "\1\142",
+ "",
+ "\1\143",
+ "\1\144",
+ "\12\27\7\uffff\32\27\4\uffff\1\27\1\uffff\32\27",
""
};
- 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 final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+ static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+ static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+ static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+ static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+ static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+ static final short[][] DFA14_transition;
static {
- int numStates = DFA12_transitionS.length;
- DFA12_transition = new short[numStates][];
+ int numStates = DFA14_transitionS.length;
+ DFA14_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
- DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
+ DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
}
}
- class DFA12 extends DFA {
+ class DFA14 extends DFA {
- public DFA12(BaseRecognizer recognizer) {
+ public DFA14(BaseRecognizer recognizer) {
this.recognizer = recognizer;
- this.decisionNumber = 12;
- this.eot = DFA12_eot;
- this.eof = DFA12_eof;
- this.min = DFA12_min;
- this.max = DFA12_max;
- this.accept = DFA12_accept;
- this.special = DFA12_special;
- this.transition = DFA12_transition;
+ this.decisionNumber = 14;
+ this.eot = DFA14_eot;
+ this.eof = DFA14_eof;
+ this.min = DFA14_min;
+ this.max = DFA14_max;
+ this.accept = DFA14_accept;
+ this.special = DFA14_special;
+ this.transition = DFA14_transition;
}
public String getDescription() {
- return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+ return "1:1: Tokens : ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
IntStream input = _input;
int _s = s;
switch ( s ) {
case 0 :
- int LA12_7 = input.LA(1);
+ int LA14_19 = input.LA(1);
s = -1;
- if ( ((LA12_7>='\u0000' && LA12_7<='\uFFFF')) ) {s = 17;}
+ if ( ((LA14_19>='\u0000' && LA14_19<='\uFFFF')) ) {s = 44;}
- else s = 11;
+ else s = 21;
if ( s>=0 ) return s;
break;
case 1 :
- int LA12_8 = input.LA(1);
+ int LA14_0 = input.LA(1);
s = -1;
- if ( ((LA12_8>='\u0000' && LA12_8<='\uFFFF')) ) {s = 17;}
+ if ( (LA14_0=='A') ) {s = 1;}
- else s = 11;
+ else if ( (LA14_0=='{') ) {s = 2;}
- if ( s>=0 ) return s;
- break;
- case 2 :
- int LA12_0 = input.LA(1);
+ else if ( (LA14_0=='}') ) {s = 3;}
- s = -1;
- if ( (LA12_0=='A') ) {s = 1;}
+ else if ( (LA14_0=='/') ) {s = 4;}
+
+ else if ( (LA14_0=='a') ) {s = 5;}
- else if ( (LA12_0=='{') ) {s = 2;}
+ else if ( (LA14_0=='=') ) {s = 6;}
- else if ( (LA12_0=='}') ) {s = 3;}
+ else if ( (LA14_0=='m') ) {s = 7;}
- else if ( (LA12_0=='^') ) {s = 4;}
+ else if ( (LA14_0=='i') ) {s = 8;}
- else if ( ((LA12_0>='B' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='z')) ) {s = 5;}
+ else if ( (LA14_0=='f') ) {s = 9;}
- else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 6;}
+ else if ( (LA14_0=='.') ) {s = 10;}
- else if ( (LA12_0=='\"') ) {s = 7;}
+ else if ( (LA14_0=='t') ) {s = 11;}
- else if ( (LA12_0=='\'') ) {s = 8;}
+ else if ( (LA14_0=='+') ) {s = 12;}
- else if ( (LA12_0=='/') ) {s = 9;}
+ else if ( (LA14_0=='-') ) {s = 13;}
- else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 10;}
+ else if ( (LA14_0=='0') ) {s = 14;}
+
+ else if ( (LA14_0=='^') ) {s = 15;}
+
+ else if ( ((LA14_0>='B' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='b' && LA14_0<='e')||(LA14_0>='g' && LA14_0<='h')||(LA14_0>='j' && LA14_0<='l')||(LA14_0>='n' && LA14_0<='s')||(LA14_0>='u' && LA14_0<='z')) ) {s = 16;}
+
+ else if ( ((LA14_0>='1' && LA14_0<='9')) ) {s = 17;}
+
+ else if ( (LA14_0=='\"') ) {s = 18;}
+
+ else if ( (LA14_0=='\'') ) {s = 19;}
+
+ else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 20;}
+
+ else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='&')||(LA14_0>='(' && LA14_0<='*')||LA14_0==','||(LA14_0>=':' && LA14_0<='<')||(LA14_0>='>' && LA14_0<='@')||(LA14_0>='[' && LA14_0<=']')||LA14_0=='`'||LA14_0=='|'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 21;}
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA14_18 = input.LA(1);
+
+ s = -1;
+ if ( ((LA14_18>='\u0000' && LA14_18<='\uFFFF')) ) {s = 44;}
- 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<='\uFFFF')) ) {s = 11;}
+ else s = 21;
if ( s>=0 ) return s;
break;
}
NoViableAltException nvae =
- new NoViableAltException(getDescription(), 12, _s, input);
+ new NoViableAltException(getDescription(), 14, _s, input);
error(nvae);
throw nvae;
}
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigParser.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigParser.java
index c232925ec..ada0dda59 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigParser.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigParser.java
@@ -21,20 +21,35 @@ import java.util.ArrayList;
@SuppressWarnings("all")
public class InternalConfigParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
- "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'ActorClassConfig'", "'{'", "'}'", "'ActorInstanceConfig'"
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_HEX", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'ActorClassConfig'", "'{'", "'}'", "'ActorInstanceConfig'", "'/'", "'attr'", "'='", "'min'", "'max'", "'import'", "'from'", "'model'", "'.*'", "'.'", "'false'", "'true'", "'+'", "'-'"
};
public static final int RULE_ID=4;
- public static final int RULE_STRING=6;
+ public static final int T__29=29;
+ public static final int T__28=28;
+ public static final int T__27=27;
+ public static final int T__26=26;
+ public static final int T__25=25;
+ public static final int T__24=24;
+ public static final int T__23=23;
+ public static final int T__22=22;
+ public static final int RULE_ANY_OTHER=11;
+ public static final int T__21=21;
+ public static final int T__20=20;
+ public static final int RULE_SL_COMMENT=9;
+ public static final int EOF=-1;
+ public static final int RULE_ML_COMMENT=8;
+ public static final int T__19=19;
+ public static final int RULE_HEX=7;
+ public static final int RULE_STRING=5;
+ public static final int T__16=16;
+ public static final int T__15=15;
+ public static final int T__18=18;
+ public static final int T__17=17;
public static final int T__12=12;
- public static final int T__11=11;
public static final int T__14=14;
public static final int T__13=13;
- public static final int RULE_ANY_OTHER=10;
- public static final int RULE_INT=5;
- public static final int RULE_WS=9;
- public static final int RULE_SL_COMMENT=8;
- public static final int EOF=-1;
- public static final int RULE_ML_COMMENT=7;
+ public static final int RULE_INT=6;
+ public static final int RULE_WS=10;
// delegates
// delegators
@@ -111,47 +126,47 @@ public class InternalConfigParser extends AbstractInternalAntlrParser {
// $ANTLR start "ruleConfigModel"
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:76:1: ruleConfigModel returns [EObject current=null] : ( ( (lv_actorClassConfigs_0_0= ruleActorClassConfig ) )* ( (lv_actorInstanceConfigs_1_0= ruleActorInstanceConfig ) )* ) ;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:76:1: ruleConfigModel returns [EObject current=null] : ( ( (lv_imports_0_0= ruleImport ) )* ( (lv_configElements_1_0= ruleConfigElement ) )* ) ;
public final EObject ruleConfigModel() throws RecognitionException {
EObject current = null;
- EObject lv_actorClassConfigs_0_0 = null;
+ EObject lv_imports_0_0 = null;
- AntlrDatatypeRuleToken lv_actorInstanceConfigs_1_0 = null;
+ EObject lv_configElements_1_0 = null;
enterRule();
try {
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:79:28: ( ( ( (lv_actorClassConfigs_0_0= ruleActorClassConfig ) )* ( (lv_actorInstanceConfigs_1_0= ruleActorInstanceConfig ) )* ) )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:80:1: ( ( (lv_actorClassConfigs_0_0= ruleActorClassConfig ) )* ( (lv_actorInstanceConfigs_1_0= ruleActorInstanceConfig ) )* )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:79:28: ( ( ( (lv_imports_0_0= ruleImport ) )* ( (lv_configElements_1_0= ruleConfigElement ) )* ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:80:1: ( ( (lv_imports_0_0= ruleImport ) )* ( (lv_configElements_1_0= ruleConfigElement ) )* )
{
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:80:1: ( ( (lv_actorClassConfigs_0_0= ruleActorClassConfig ) )* ( (lv_actorInstanceConfigs_1_0= ruleActorInstanceConfig ) )* )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:80:2: ( (lv_actorClassConfigs_0_0= ruleActorClassConfig ) )* ( (lv_actorInstanceConfigs_1_0= ruleActorInstanceConfig ) )*
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:80:1: ( ( (lv_imports_0_0= ruleImport ) )* ( (lv_configElements_1_0= ruleConfigElement ) )* )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:80:2: ( (lv_imports_0_0= ruleImport ) )* ( (lv_configElements_1_0= ruleConfigElement ) )*
{
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:80:2: ( (lv_actorClassConfigs_0_0= ruleActorClassConfig ) )*
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:80:2: ( (lv_imports_0_0= ruleImport ) )*
loop1:
do {
int alt1=2;
int LA1_0 = input.LA(1);
- if ( (LA1_0==11) ) {
+ if ( (LA1_0==21) ) {
alt1=1;
}
switch (alt1) {
case 1 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:81:1: (lv_actorClassConfigs_0_0= ruleActorClassConfig )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:81:1: (lv_imports_0_0= ruleImport )
{
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:81:1: (lv_actorClassConfigs_0_0= ruleActorClassConfig )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:82:3: lv_actorClassConfigs_0_0= ruleActorClassConfig
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:81:1: (lv_imports_0_0= ruleImport )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:82:3: lv_imports_0_0= ruleImport
{
- newCompositeNode(grammarAccess.getConfigModelAccess().getActorClassConfigsActorClassConfigParserRuleCall_0_0());
+ newCompositeNode(grammarAccess.getConfigModelAccess().getImportsImportParserRuleCall_0_0());
- pushFollow(FOLLOW_ruleActorClassConfig_in_ruleConfigModel131);
- lv_actorClassConfigs_0_0=ruleActorClassConfig();
+ pushFollow(FOLLOW_ruleImport_in_ruleConfigModel131);
+ lv_imports_0_0=ruleImport();
state._fsp--;
@@ -161,9 +176,9 @@ public class InternalConfigParser extends AbstractInternalAntlrParser {
}
add(
current,
- "actorClassConfigs",
- lv_actorClassConfigs_0_0,
- "ActorClassConfig");
+ "imports",
+ lv_imports_0_0,
+ "Import");
afterParserOrEnumRuleCall();
@@ -178,29 +193,29 @@ public class InternalConfigParser extends AbstractInternalAntlrParser {
}
} while (true);
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:98:3: ( (lv_actorInstanceConfigs_1_0= ruleActorInstanceConfig ) )*
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:98:3: ( (lv_configElements_1_0= ruleConfigElement ) )*
loop2:
do {
int alt2=2;
int LA2_0 = input.LA(1);
- if ( (LA2_0==14) ) {
+ if ( (LA2_0==12||LA2_0==15) ) {
alt2=1;
}
switch (alt2) {
case 1 :
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:99:1: (lv_actorInstanceConfigs_1_0= ruleActorInstanceConfig )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:99:1: (lv_configElements_1_0= ruleConfigElement )
{
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:99:1: (lv_actorInstanceConfigs_1_0= ruleActorInstanceConfig )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:100:3: lv_actorInstanceConfigs_1_0= ruleActorInstanceConfig
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:99:1: (lv_configElements_1_0= ruleConfigElement )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:100:3: lv_configElements_1_0= ruleConfigElement
{
- newCompositeNode(grammarAccess.getConfigModelAccess().getActorInstanceConfigsActorInstanceConfigParserRuleCall_1_0());
+ newCompositeNode(grammarAccess.getConfigModelAccess().getConfigElementsConfigElementParserRuleCall_1_0());
- pushFollow(FOLLOW_ruleActorInstanceConfig_in_ruleConfigModel153);
- lv_actorInstanceConfigs_1_0=ruleActorInstanceConfig();
+ pushFollow(FOLLOW_ruleConfigElement_in_ruleConfigModel153);
+ lv_configElements_1_0=ruleConfigElement();
state._fsp--;
@@ -210,9 +225,9 @@ public class InternalConfigParser extends AbstractInternalAntlrParser {
}
add(
current,
- "actorInstanceConfigs",
- lv_actorInstanceConfigs_1_0,
- "ActorInstanceConfig");
+ "configElements",
+ lv_configElements_1_0,
+ "ConfigElement");
afterParserOrEnumRuleCall();
@@ -247,8 +262,133 @@ public class InternalConfigParser extends AbstractInternalAntlrParser {
// $ANTLR end "ruleConfigModel"
+ // $ANTLR start "entryRuleConfigElement"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:124:1: entryRuleConfigElement returns [EObject current=null] : iv_ruleConfigElement= ruleConfigElement EOF ;
+ public final EObject entryRuleConfigElement() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleConfigElement = null;
+
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:125:2: (iv_ruleConfigElement= ruleConfigElement EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:126:2: iv_ruleConfigElement= ruleConfigElement EOF
+ {
+ newCompositeNode(grammarAccess.getConfigElementRule());
+ pushFollow(FOLLOW_ruleConfigElement_in_entryRuleConfigElement190);
+ iv_ruleConfigElement=ruleConfigElement();
+
+ state._fsp--;
+
+ current =iv_ruleConfigElement;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleConfigElement200);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleConfigElement"
+
+
+ // $ANTLR start "ruleConfigElement"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:133:1: ruleConfigElement returns [EObject current=null] : (this_ActorClassConfig_0= ruleActorClassConfig | this_ActorInstanceConfig_1= ruleActorInstanceConfig ) ;
+ public final EObject ruleConfigElement() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_ActorClassConfig_0 = null;
+
+ EObject this_ActorInstanceConfig_1 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:136:28: ( (this_ActorClassConfig_0= ruleActorClassConfig | this_ActorInstanceConfig_1= ruleActorInstanceConfig ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:137:1: (this_ActorClassConfig_0= ruleActorClassConfig | this_ActorInstanceConfig_1= ruleActorInstanceConfig )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:137:1: (this_ActorClassConfig_0= ruleActorClassConfig | this_ActorInstanceConfig_1= ruleActorInstanceConfig )
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==12) ) {
+ alt3=1;
+ }
+ else if ( (LA3_0==15) ) {
+ alt3=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 3, 0, input);
+
+ throw nvae;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:138:5: this_ActorClassConfig_0= ruleActorClassConfig
+ {
+
+ newCompositeNode(grammarAccess.getConfigElementAccess().getActorClassConfigParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleActorClassConfig_in_ruleConfigElement247);
+ this_ActorClassConfig_0=ruleActorClassConfig();
+
+ state._fsp--;
+
+
+ current = this_ActorClassConfig_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:148:5: this_ActorInstanceConfig_1= ruleActorInstanceConfig
+ {
+
+ newCompositeNode(grammarAccess.getConfigElementAccess().getActorInstanceConfigParserRuleCall_1());
+
+ pushFollow(FOLLOW_ruleActorInstanceConfig_in_ruleConfigElement274);
+ this_ActorInstanceConfig_1=ruleActorInstanceConfig();
+
+ state._fsp--;
+
+
+ current = this_ActorInstanceConfig_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleConfigElement"
+
+
// $ANTLR start "entryRuleActorClassConfig"
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:124:1: entryRuleActorClassConfig returns [EObject current=null] : iv_ruleActorClassConfig= ruleActorClassConfig EOF ;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:164:1: entryRuleActorClassConfig returns [EObject current=null] : iv_ruleActorClassConfig= ruleActorClassConfig EOF ;
public final EObject entryRuleActorClassConfig() throws RecognitionException {
EObject current = null;
@@ -256,17 +396,17 @@ public class InternalConfigParser extends AbstractInternalAntlrParser {
try {
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:125:2: (iv_ruleActorClassConfig= ruleActorClassConfig EOF )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:126:2: iv_ruleActorClassConfig= ruleActorClassConfig EOF
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:165:2: (iv_ruleActorClassConfig= ruleActorClassConfig EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:166:2: iv_ruleActorClassConfig= ruleActorClassConfig EOF
{
newCompositeNode(grammarAccess.getActorClassConfigRule());
- pushFollow(FOLLOW_ruleActorClassConfig_in_entryRuleActorClassConfig190);
+ pushFollow(FOLLOW_ruleActorClassConfig_in_entryRuleActorClassConfig309);
iv_ruleActorClassConfig=ruleActorClassConfig();
state._fsp--;
current =iv_ruleActorClassConfig;
- match(input,EOF,FOLLOW_EOF_in_entryRuleActorClassConfig200);
+ match(input,EOF,FOLLOW_EOF_in_entryRuleActorClassConfig319);
}
@@ -284,56 +424,113 @@ public class InternalConfigParser extends AbstractInternalAntlrParser {
// $ANTLR start "ruleActorClassConfig"
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:133:1: ruleActorClassConfig returns [EObject current=null] : (otherlv_0= 'ActorClassConfig' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' otherlv_3= '}' ) ;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:173:1: ruleActorClassConfig returns [EObject current=null] : (otherlv_0= 'ActorClassConfig' ( ( ruleFQN ) ) otherlv_2= '{' ( (lv_attributes_3_0= ruleAttrClassConfig ) )* otherlv_4= '}' ) ;
public final EObject ruleActorClassConfig() 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;
+ EObject lv_attributes_3_0 = null;
+
enterRule();
try {
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:136:28: ( (otherlv_0= 'ActorClassConfig' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' otherlv_3= '}' ) )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:137:1: (otherlv_0= 'ActorClassConfig' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' otherlv_3= '}' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:176:28: ( (otherlv_0= 'ActorClassConfig' ( ( ruleFQN ) ) otherlv_2= '{' ( (lv_attributes_3_0= ruleAttrClassConfig ) )* otherlv_4= '}' ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:177:1: (otherlv_0= 'ActorClassConfig' ( ( ruleFQN ) ) otherlv_2= '{' ( (lv_attributes_3_0= ruleAttrClassConfig ) )* otherlv_4= '}' )
{
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:137:1: (otherlv_0= 'ActorClassConfig' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' otherlv_3= '}' )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:137:3: otherlv_0= 'ActorClassConfig' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' otherlv_3= '}'
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:177:1: (otherlv_0= 'ActorClassConfig' ( ( ruleFQN ) ) otherlv_2= '{' ( (lv_attributes_3_0= ruleAttrClassConfig ) )* otherlv_4= '}' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:177:3: otherlv_0= 'ActorClassConfig' ( ( ruleFQN ) ) otherlv_2= '{' ( (lv_attributes_3_0= ruleAttrClassConfig ) )* otherlv_4= '}'
{
- otherlv_0=(Token)match(input,11,FOLLOW_11_in_ruleActorClassConfig237);
+ otherlv_0=(Token)match(input,12,FOLLOW_12_in_ruleActorClassConfig356);
newLeafNode(otherlv_0, grammarAccess.getActorClassConfigAccess().getActorClassConfigKeyword_0());
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:141:1: ( (otherlv_1= RULE_ID ) )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:142:1: (otherlv_1= RULE_ID )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:181:1: ( ( ruleFQN ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:182:1: ( ruleFQN )
{
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:142:1: (otherlv_1= RULE_ID )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:143:3: otherlv_1= RULE_ID
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:182:1: ( ruleFQN )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:183:3: ruleFQN
{
if (current==null) {
current = createModelElement(grammarAccess.getActorClassConfigRule());
}
- otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleActorClassConfig257);
+
+ newCompositeNode(grammarAccess.getActorClassConfigAccess().getActorActorClassCrossReference_1_0());
+
+ pushFollow(FOLLOW_ruleFQN_in_ruleActorClassConfig379);
+ ruleFQN();
- newLeafNode(otherlv_1, grammarAccess.getActorClassConfigAccess().getActorClassActorClassCrossReference_1_0());
-
+ state._fsp--;
+
+
+ afterParserOrEnumRuleCall();
+
}
}
- otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleActorClassConfig269);
+ otherlv_2=(Token)match(input,13,FOLLOW_13_in_ruleActorClassConfig391);
newLeafNode(otherlv_2, grammarAccess.getActorClassConfigAccess().getLeftCurlyBracketKeyword_2());
- otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleActorClassConfig281);
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:200:1: ( (lv_attributes_3_0= ruleAttrClassConfig ) )*
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0==17) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:201:1: (lv_attributes_3_0= ruleAttrClassConfig )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:201:1: (lv_attributes_3_0= ruleAttrClassConfig )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:202:3: lv_attributes_3_0= ruleAttrClassConfig
+ {
+
+ newCompositeNode(grammarAccess.getActorClassConfigAccess().getAttributesAttrClassConfigParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruleAttrClassConfig_in_ruleActorClassConfig412);
+ lv_attributes_3_0=ruleAttrClassConfig();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getActorClassConfigRule());
+ }
+ add(
+ current,
+ "attributes",
+ lv_attributes_3_0,
+ "AttrClassConfig");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+ otherlv_4=(Token)match(input,14,FOLLOW_14_in_ruleActorClassConfig425);
- newLeafNode(otherlv_3, grammarAccess.getActorClassConfigAccess().getRightCurlyBracketKeyword_3());
+ newLeafNode(otherlv_4, grammarAccess.getActorClassConfigAccess().getRightCurlyBracketKeyword_4());
}
@@ -356,25 +553,25 @@ public class InternalConfigParser extends AbstractInternalAntlrParser {
// $ANTLR start "entryRuleActorInstanceConfig"
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:170:1: entryRuleActorInstanceConfig returns [String current=null] : iv_ruleActorInstanceConfig= ruleActorInstanceConfig EOF ;
- public final String entryRuleActorInstanceConfig() throws RecognitionException {
- String current = null;
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:230:1: entryRuleActorInstanceConfig returns [EObject current=null] : iv_ruleActorInstanceConfig= ruleActorInstanceConfig EOF ;
+ public final EObject entryRuleActorInstanceConfig() throws RecognitionException {
+ EObject current = null;
- AntlrDatatypeRuleToken iv_ruleActorInstanceConfig = null;
+ EObject iv_ruleActorInstanceConfig = null;
try {
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:171:2: (iv_ruleActorInstanceConfig= ruleActorInstanceConfig EOF )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:172:2: iv_ruleActorInstanceConfig= ruleActorInstanceConfig EOF
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:231:2: (iv_ruleActorInstanceConfig= ruleActorInstanceConfig EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:232:2: iv_ruleActorInstanceConfig= ruleActorInstanceConfig EOF
{
newCompositeNode(grammarAccess.getActorInstanceConfigRule());
- pushFollow(FOLLOW_ruleActorInstanceConfig_in_entryRuleActorInstanceConfig318);
+ pushFollow(FOLLOW_ruleActorInstanceConfig_in_entryRuleActorInstanceConfig461);
iv_ruleActorInstanceConfig=ruleActorInstanceConfig();
state._fsp--;
- current =iv_ruleActorInstanceConfig.getText();
- match(input,EOF,FOLLOW_EOF_in_entryRuleActorInstanceConfig329);
+ current =iv_ruleActorInstanceConfig;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleActorInstanceConfig471);
}
@@ -392,35 +589,3200 @@ public class InternalConfigParser extends AbstractInternalAntlrParser {
// $ANTLR start "ruleActorInstanceConfig"
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:179:1: ruleActorInstanceConfig returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'ActorInstanceConfig' kw= '{' kw= '}' ) ;
- public final AntlrDatatypeRuleToken ruleActorInstanceConfig() throws RecognitionException {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:239:1: ruleActorInstanceConfig returns [EObject current=null] : (otherlv_0= 'ActorInstanceConfig' ( ( ruleFQN ) ) otherlv_2= '/' ( (lv_path_3_0= ruleRefPath ) ) otherlv_4= '{' ( (lv_attributes_5_0= ruleAttrInstanceConfig ) )* otherlv_6= '}' ) ;
+ public final EObject ruleActorInstanceConfig() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ Token otherlv_6=null;
+ EObject lv_path_3_0 = null;
+
+ EObject lv_attributes_5_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:242:28: ( (otherlv_0= 'ActorInstanceConfig' ( ( ruleFQN ) ) otherlv_2= '/' ( (lv_path_3_0= ruleRefPath ) ) otherlv_4= '{' ( (lv_attributes_5_0= ruleAttrInstanceConfig ) )* otherlv_6= '}' ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:243:1: (otherlv_0= 'ActorInstanceConfig' ( ( ruleFQN ) ) otherlv_2= '/' ( (lv_path_3_0= ruleRefPath ) ) otherlv_4= '{' ( (lv_attributes_5_0= ruleAttrInstanceConfig ) )* otherlv_6= '}' )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:243:1: (otherlv_0= 'ActorInstanceConfig' ( ( ruleFQN ) ) otherlv_2= '/' ( (lv_path_3_0= ruleRefPath ) ) otherlv_4= '{' ( (lv_attributes_5_0= ruleAttrInstanceConfig ) )* otherlv_6= '}' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:243:3: otherlv_0= 'ActorInstanceConfig' ( ( ruleFQN ) ) otherlv_2= '/' ( (lv_path_3_0= ruleRefPath ) ) otherlv_4= '{' ( (lv_attributes_5_0= ruleAttrInstanceConfig ) )* otherlv_6= '}'
+ {
+ otherlv_0=(Token)match(input,15,FOLLOW_15_in_ruleActorInstanceConfig508);
+
+ newLeafNode(otherlv_0, grammarAccess.getActorInstanceConfigAccess().getActorInstanceConfigKeyword_0());
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:247:1: ( ( ruleFQN ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:248:1: ( ruleFQN )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:248:1: ( ruleFQN )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:249:3: ruleFQN
+ {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getActorInstanceConfigRule());
+ }
+
+
+ newCompositeNode(grammarAccess.getActorInstanceConfigAccess().getRootSubSystemClassCrossReference_1_0());
+
+ pushFollow(FOLLOW_ruleFQN_in_ruleActorInstanceConfig531);
+ ruleFQN();
+
+ state._fsp--;
+
+
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleActorInstanceConfig543);
+
+ newLeafNode(otherlv_2, grammarAccess.getActorInstanceConfigAccess().getSolidusKeyword_2());
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:266:1: ( (lv_path_3_0= ruleRefPath ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:267:1: (lv_path_3_0= ruleRefPath )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:267:1: (lv_path_3_0= ruleRefPath )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:268:3: lv_path_3_0= ruleRefPath
+ {
+
+ newCompositeNode(grammarAccess.getActorInstanceConfigAccess().getPathRefPathParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruleRefPath_in_ruleActorInstanceConfig564);
+ lv_path_3_0=ruleRefPath();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getActorInstanceConfigRule());
+ }
+ set(
+ current,
+ "path",
+ lv_path_3_0,
+ "RefPath");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_4=(Token)match(input,13,FOLLOW_13_in_ruleActorInstanceConfig576);
+
+ newLeafNode(otherlv_4, grammarAccess.getActorInstanceConfigAccess().getLeftCurlyBracketKeyword_4());
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:288:1: ( (lv_attributes_5_0= ruleAttrInstanceConfig ) )*
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==17) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:289:1: (lv_attributes_5_0= ruleAttrInstanceConfig )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:289:1: (lv_attributes_5_0= ruleAttrInstanceConfig )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:290:3: lv_attributes_5_0= ruleAttrInstanceConfig
+ {
+
+ newCompositeNode(grammarAccess.getActorInstanceConfigAccess().getAttributesAttrInstanceConfigParserRuleCall_5_0());
+
+ pushFollow(FOLLOW_ruleAttrInstanceConfig_in_ruleActorInstanceConfig597);
+ lv_attributes_5_0=ruleAttrInstanceConfig();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getActorInstanceConfigRule());
+ }
+ add(
+ current,
+ "attributes",
+ lv_attributes_5_0,
+ "AttrInstanceConfig");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+ otherlv_6=(Token)match(input,14,FOLLOW_14_in_ruleActorInstanceConfig610);
+
+ newLeafNode(otherlv_6, grammarAccess.getActorInstanceConfigAccess().getRightCurlyBracketKeyword_6());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleActorInstanceConfig"
+
+
+ // $ANTLR start "entryRuleAttrClassConfig"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:320:1: entryRuleAttrClassConfig returns [EObject current=null] : iv_ruleAttrClassConfig= ruleAttrClassConfig EOF ;
+ public final EObject entryRuleAttrClassConfig() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAttrClassConfig = null;
+
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:321:2: (iv_ruleAttrClassConfig= ruleAttrClassConfig EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:322:2: iv_ruleAttrClassConfig= ruleAttrClassConfig EOF
+ {
+ newCompositeNode(grammarAccess.getAttrClassConfigRule());
+ pushFollow(FOLLOW_ruleAttrClassConfig_in_entryRuleAttrClassConfig648);
+ iv_ruleAttrClassConfig=ruleAttrClassConfig();
+
+ state._fsp--;
+
+ current =iv_ruleAttrClassConfig;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAttrClassConfig658);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAttrClassConfig"
+
+
+ // $ANTLR start "ruleAttrClassConfig"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:329:1: ruleAttrClassConfig returns [EObject current=null] : (otherlv_0= 'attr' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '=' ( (lv_value_3_0= ruleLiteral ) ) )? (otherlv_4= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) ) )* ) ) ) otherlv_12= '}' )? ) ;
+ public final EObject ruleAttrClassConfig() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+ Token otherlv_4=null;
+ Token otherlv_6=null;
+ Token otherlv_7=null;
+ Token otherlv_9=null;
+ Token otherlv_10=null;
+ Token otherlv_12=null;
+ EObject lv_value_3_0 = null;
+
+ EObject lv_min_8_0 = null;
+
+ EObject lv_max_11_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:332:28: ( (otherlv_0= 'attr' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '=' ( (lv_value_3_0= ruleLiteral ) ) )? (otherlv_4= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) ) )* ) ) ) otherlv_12= '}' )? ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:333:1: (otherlv_0= 'attr' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '=' ( (lv_value_3_0= ruleLiteral ) ) )? (otherlv_4= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) ) )* ) ) ) otherlv_12= '}' )? )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:333:1: (otherlv_0= 'attr' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '=' ( (lv_value_3_0= ruleLiteral ) ) )? (otherlv_4= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) ) )* ) ) ) otherlv_12= '}' )? )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:333:3: otherlv_0= 'attr' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '=' ( (lv_value_3_0= ruleLiteral ) ) )? (otherlv_4= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) ) )* ) ) ) otherlv_12= '}' )?
+ {
+ otherlv_0=(Token)match(input,17,FOLLOW_17_in_ruleAttrClassConfig695);
+
+ newLeafNode(otherlv_0, grammarAccess.getAttrClassConfigAccess().getAttrKeyword_0());
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:337:1: ( (otherlv_1= RULE_ID ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:338:1: (otherlv_1= RULE_ID )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:338:1: (otherlv_1= RULE_ID )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:339:3: otherlv_1= RULE_ID
+ {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getAttrClassConfigRule());
+ }
+
+ otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAttrClassConfig715);
+
+ newLeafNode(otherlv_1, grammarAccess.getAttrClassConfigAccess().getAttributeAttributeCrossReference_1_0());
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:350:2: (otherlv_2= '=' ( (lv_value_3_0= ruleLiteral ) ) )?
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==18) ) {
+ alt6=1;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:350:4: otherlv_2= '=' ( (lv_value_3_0= ruleLiteral ) )
+ {
+ otherlv_2=(Token)match(input,18,FOLLOW_18_in_ruleAttrClassConfig728);
+
+ newLeafNode(otherlv_2, grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_2_0());
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:354:1: ( (lv_value_3_0= ruleLiteral ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:355:1: (lv_value_3_0= ruleLiteral )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:355:1: (lv_value_3_0= ruleLiteral )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:356:3: lv_value_3_0= ruleLiteral
+ {
+
+ newCompositeNode(grammarAccess.getAttrClassConfigAccess().getValueLiteralParserRuleCall_2_1_0());
+
+ pushFollow(FOLLOW_ruleLiteral_in_ruleAttrClassConfig749);
+ lv_value_3_0=ruleLiteral();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAttrClassConfigRule());
+ }
+ set(
+ current,
+ "value",
+ lv_value_3_0,
+ "Literal");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:372:4: (otherlv_4= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) ) )* ) ) ) otherlv_12= '}' )?
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0==13) ) {
+ alt8=1;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:372:6: otherlv_4= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) ) )* ) ) ) otherlv_12= '}'
+ {
+ otherlv_4=(Token)match(input,13,FOLLOW_13_in_ruleAttrClassConfig764);
+
+ newLeafNode(otherlv_4, grammarAccess.getAttrClassConfigAccess().getLeftCurlyBracketKeyword_3_0());
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:376:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) ) )* ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:378:1: ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) ) )* ) )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:378:1: ( ( ( ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) ) )* ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:379:2: ( ( ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) ) )* )
+ {
+
+ getUnorderedGroupHelper().enter(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1());
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:382:2: ( ( ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) ) )* )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:383:3: ( ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) ) )*
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:383:3: ( ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) ) )*
+ loop7:
+ do {
+ int alt7=3;
+ int LA7_0 = input.LA(1);
+
+ if ( LA7_0 ==19 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1(), 0) ) {
+ alt7=1;
+ }
+ else if ( LA7_0 ==20 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1(), 1) ) {
+ alt7=2;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:385:4: ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:385:4: ({...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:386:5: {...}? => ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) )
+ {
+ if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1(), 0) ) {
+ throw new FailedPredicateException(input, "ruleAttrClassConfig", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1(), 0)");
+ }
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:386:114: ( ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:387:6: ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) )
+ {
+
+ getUnorderedGroupHelper().select(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1(), 0);
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:390:6: ({...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:390:7: {...}? => (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) )
+ {
+ if ( !((true)) ) {
+ throw new FailedPredicateException(input, "ruleAttrClassConfig", "true");
+ }
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:390:16: (otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:390:18: otherlv_6= 'min' otherlv_7= '=' ( (lv_min_8_0= ruleNumberLiteral ) )
+ {
+ otherlv_6=(Token)match(input,19,FOLLOW_19_in_ruleAttrClassConfig822);
+
+ newLeafNode(otherlv_6, grammarAccess.getAttrClassConfigAccess().getMinKeyword_3_1_0_0());
+
+ otherlv_7=(Token)match(input,18,FOLLOW_18_in_ruleAttrClassConfig834);
+
+ newLeafNode(otherlv_7, grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_3_1_0_1());
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:398:1: ( (lv_min_8_0= ruleNumberLiteral ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:399:1: (lv_min_8_0= ruleNumberLiteral )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:399:1: (lv_min_8_0= ruleNumberLiteral )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:400:3: lv_min_8_0= ruleNumberLiteral
+ {
+
+ newCompositeNode(grammarAccess.getAttrClassConfigAccess().getMinNumberLiteralParserRuleCall_3_1_0_2_0());
+
+ pushFollow(FOLLOW_ruleNumberLiteral_in_ruleAttrClassConfig855);
+ lv_min_8_0=ruleNumberLiteral();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAttrClassConfigRule());
+ }
+ set(
+ current,
+ "min",
+ lv_min_8_0,
+ "NumberLiteral");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1());
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:423:4: ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:423:4: ({...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:424:5: {...}? => ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) )
+ {
+ if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1(), 1) ) {
+ throw new FailedPredicateException(input, "ruleAttrClassConfig", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1(), 1)");
+ }
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:424:114: ( ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:425:6: ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) )
+ {
+
+ getUnorderedGroupHelper().select(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1(), 1);
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:428:6: ({...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:428:7: {...}? => (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) )
+ {
+ if ( !((true)) ) {
+ throw new FailedPredicateException(input, "ruleAttrClassConfig", "true");
+ }
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:428:16: (otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:428:18: otherlv_9= 'max' otherlv_10= '=' ( (lv_max_11_0= ruleNumberLiteral ) )
+ {
+ otherlv_9=(Token)match(input,20,FOLLOW_20_in_ruleAttrClassConfig923);
+
+ newLeafNode(otherlv_9, grammarAccess.getAttrClassConfigAccess().getMaxKeyword_3_1_1_0());
+
+ otherlv_10=(Token)match(input,18,FOLLOW_18_in_ruleAttrClassConfig935);
+
+ newLeafNode(otherlv_10, grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_3_1_1_1());
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:436:1: ( (lv_max_11_0= ruleNumberLiteral ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:437:1: (lv_max_11_0= ruleNumberLiteral )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:437:1: (lv_max_11_0= ruleNumberLiteral )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:438:3: lv_max_11_0= ruleNumberLiteral
+ {
+
+ newCompositeNode(grammarAccess.getAttrClassConfigAccess().getMaxNumberLiteralParserRuleCall_3_1_1_2_0());
+
+ pushFollow(FOLLOW_ruleNumberLiteral_in_ruleAttrClassConfig956);
+ lv_max_11_0=ruleNumberLiteral();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAttrClassConfigRule());
+ }
+ set(
+ current,
+ "max",
+ lv_max_11_0,
+ "NumberLiteral");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1());
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+
+ getUnorderedGroupHelper().leave(grammarAccess.getAttrClassConfigAccess().getUnorderedGroup_3_1());
+
+
+ }
+
+ otherlv_12=(Token)match(input,14,FOLLOW_14_in_ruleAttrClassConfig1009);
+
+ newLeafNode(otherlv_12, grammarAccess.getAttrClassConfigAccess().getRightCurlyBracketKeyword_3_2());
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAttrClassConfig"
+
+
+ // $ANTLR start "entryRuleAttrInstanceConfig"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:480:1: entryRuleAttrInstanceConfig returns [EObject current=null] : iv_ruleAttrInstanceConfig= ruleAttrInstanceConfig EOF ;
+ public final EObject entryRuleAttrInstanceConfig() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAttrInstanceConfig = null;
+
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:481:2: (iv_ruleAttrInstanceConfig= ruleAttrInstanceConfig EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:482:2: iv_ruleAttrInstanceConfig= ruleAttrInstanceConfig EOF
+ {
+ newCompositeNode(grammarAccess.getAttrInstanceConfigRule());
+ pushFollow(FOLLOW_ruleAttrInstanceConfig_in_entryRuleAttrInstanceConfig1047);
+ iv_ruleAttrInstanceConfig=ruleAttrInstanceConfig();
+
+ state._fsp--;
+
+ current =iv_ruleAttrInstanceConfig;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAttrInstanceConfig1057);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAttrInstanceConfig"
+
+
+ // $ANTLR start "ruleAttrInstanceConfig"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:489:1: ruleAttrInstanceConfig returns [EObject current=null] : (otherlv_0= 'attr' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '=' ( (lv_value_3_0= ruleLiteral ) ) )? ) ;
+ public final EObject ruleAttrInstanceConfig() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token otherlv_2=null;
+ EObject lv_value_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:492:28: ( (otherlv_0= 'attr' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '=' ( (lv_value_3_0= ruleLiteral ) ) )? ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:493:1: (otherlv_0= 'attr' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '=' ( (lv_value_3_0= ruleLiteral ) ) )? )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:493:1: (otherlv_0= 'attr' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '=' ( (lv_value_3_0= ruleLiteral ) ) )? )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:493:3: otherlv_0= 'attr' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '=' ( (lv_value_3_0= ruleLiteral ) ) )?
+ {
+ otherlv_0=(Token)match(input,17,FOLLOW_17_in_ruleAttrInstanceConfig1094);
+
+ newLeafNode(otherlv_0, grammarAccess.getAttrInstanceConfigAccess().getAttrKeyword_0());
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:497:1: ( (otherlv_1= RULE_ID ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:498:1: (otherlv_1= RULE_ID )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:498:1: (otherlv_1= RULE_ID )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:499:3: otherlv_1= RULE_ID
+ {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getAttrInstanceConfigRule());
+ }
+
+ otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAttrInstanceConfig1114);
+
+ newLeafNode(otherlv_1, grammarAccess.getAttrInstanceConfigAccess().getAttributeAttributeCrossReference_1_0());
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:510:2: (otherlv_2= '=' ( (lv_value_3_0= ruleLiteral ) ) )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0==18) ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:510:4: otherlv_2= '=' ( (lv_value_3_0= ruleLiteral ) )
+ {
+ otherlv_2=(Token)match(input,18,FOLLOW_18_in_ruleAttrInstanceConfig1127);
+
+ newLeafNode(otherlv_2, grammarAccess.getAttrInstanceConfigAccess().getEqualsSignKeyword_2_0());
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:514:1: ( (lv_value_3_0= ruleLiteral ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:515:1: (lv_value_3_0= ruleLiteral )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:515:1: (lv_value_3_0= ruleLiteral )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:516:3: lv_value_3_0= ruleLiteral
+ {
+
+ newCompositeNode(grammarAccess.getAttrInstanceConfigAccess().getValueLiteralParserRuleCall_2_1_0());
+
+ pushFollow(FOLLOW_ruleLiteral_in_ruleAttrInstanceConfig1148);
+ lv_value_3_0=ruleLiteral();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAttrInstanceConfigRule());
+ }
+ set(
+ current,
+ "value",
+ lv_value_3_0,
+ "Literal");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAttrInstanceConfig"
+
+
+ // $ANTLR start "entryRuleRefPath"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:540:1: entryRuleRefPath returns [EObject current=null] : iv_ruleRefPath= ruleRefPath EOF ;
+ public final EObject entryRuleRefPath() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleRefPath = null;
+
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:541:2: (iv_ruleRefPath= ruleRefPath EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:542:2: iv_ruleRefPath= ruleRefPath EOF
+ {
+ newCompositeNode(grammarAccess.getRefPathRule());
+ pushFollow(FOLLOW_ruleRefPath_in_entryRuleRefPath1186);
+ iv_ruleRefPath=ruleRefPath();
+
+ state._fsp--;
+
+ current =iv_ruleRefPath;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRefPath1196);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleRefPath"
+
+
+ // $ANTLR start "ruleRefPath"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:549:1: ruleRefPath returns [EObject current=null] : ( ( (lv_refs_0_0= RULE_ID ) ) (otherlv_1= '/' ( (lv_refs_2_0= RULE_ID ) ) )* ) ;
+ public final EObject ruleRefPath() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_refs_0_0=null;
+ Token otherlv_1=null;
+ Token lv_refs_2_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:552:28: ( ( ( (lv_refs_0_0= RULE_ID ) ) (otherlv_1= '/' ( (lv_refs_2_0= RULE_ID ) ) )* ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:553:1: ( ( (lv_refs_0_0= RULE_ID ) ) (otherlv_1= '/' ( (lv_refs_2_0= RULE_ID ) ) )* )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:553:1: ( ( (lv_refs_0_0= RULE_ID ) ) (otherlv_1= '/' ( (lv_refs_2_0= RULE_ID ) ) )* )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:553:2: ( (lv_refs_0_0= RULE_ID ) ) (otherlv_1= '/' ( (lv_refs_2_0= RULE_ID ) ) )*
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:553:2: ( (lv_refs_0_0= RULE_ID ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:554:1: (lv_refs_0_0= RULE_ID )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:554:1: (lv_refs_0_0= RULE_ID )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:555:3: lv_refs_0_0= RULE_ID
+ {
+ lv_refs_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRefPath1238);
+
+ newLeafNode(lv_refs_0_0, grammarAccess.getRefPathAccess().getRefsIDTerminalRuleCall_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRefPathRule());
+ }
+ addWithLastConsumed(
+ current,
+ "refs",
+ lv_refs_0_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:571:2: (otherlv_1= '/' ( (lv_refs_2_0= RULE_ID ) ) )*
+ loop10:
+ do {
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0==16) ) {
+ alt10=1;
+ }
+
+
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:571:4: otherlv_1= '/' ( (lv_refs_2_0= RULE_ID ) )
+ {
+ otherlv_1=(Token)match(input,16,FOLLOW_16_in_ruleRefPath1256);
+
+ newLeafNode(otherlv_1, grammarAccess.getRefPathAccess().getSolidusKeyword_1_0());
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:575:1: ( (lv_refs_2_0= RULE_ID ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:576:1: (lv_refs_2_0= RULE_ID )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:576:1: (lv_refs_2_0= RULE_ID )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:577:3: lv_refs_2_0= RULE_ID
+ {
+ lv_refs_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRefPath1273);
+
+ newLeafNode(lv_refs_2_0, grammarAccess.getRefPathAccess().getRefsIDTerminalRuleCall_1_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRefPathRule());
+ }
+ addWithLastConsumed(
+ current,
+ "refs",
+ lv_refs_2_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop10;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleRefPath"
+
+
+ // $ANTLR start "entryRuleImport"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:601:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ;
+ public final EObject entryRuleImport() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleImport = null;
+
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:602:2: (iv_ruleImport= ruleImport EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:603:2: iv_ruleImport= ruleImport EOF
+ {
+ newCompositeNode(grammarAccess.getImportRule());
+ pushFollow(FOLLOW_ruleImport_in_entryRuleImport1316);
+ iv_ruleImport=ruleImport();
+
+ state._fsp--;
+
+ current =iv_ruleImport;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleImport1326);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleImport"
+
+
+ // $ANTLR start "ruleImport"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:610:1: ruleImport returns [EObject current=null] : (otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) ) ) ;
+ public final EObject ruleImport() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ Token otherlv_3=null;
+ Token lv_importURI_4_0=null;
+ AntlrDatatypeRuleToken lv_importedNamespace_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:613:28: ( (otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:614:1: (otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) ) )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:614:1: (otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:614:3: otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) )
+ {
+ otherlv_0=(Token)match(input,21,FOLLOW_21_in_ruleImport1363);
+
+ newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0());
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:618:1: ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' )
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0==RULE_ID) ) {
+ alt11=1;
+ }
+ else if ( (LA11_0==23) ) {
+ alt11=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 11, 0, input);
+
+ throw nvae;
+ }
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:618:2: ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:618:2: ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:618:3: ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from'
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:618:3: ( (lv_importedNamespace_1_0= ruleImportedFQN ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:619:1: (lv_importedNamespace_1_0= ruleImportedFQN )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:619:1: (lv_importedNamespace_1_0= ruleImportedFQN )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:620:3: lv_importedNamespace_1_0= ruleImportedFQN
+ {
+
+ newCompositeNode(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0_0_0());
+
+ pushFollow(FOLLOW_ruleImportedFQN_in_ruleImport1386);
+ lv_importedNamespace_1_0=ruleImportedFQN();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getImportRule());
+ }
+ set(
+ current,
+ "importedNamespace",
+ lv_importedNamespace_1_0,
+ "ImportedFQN");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,22,FOLLOW_22_in_ruleImport1398);
+
+ newLeafNode(otherlv_2, grammarAccess.getImportAccess().getFromKeyword_1_0_1());
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:641:7: otherlv_3= 'model'
+ {
+ otherlv_3=(Token)match(input,23,FOLLOW_23_in_ruleImport1417);
+
+ newLeafNode(otherlv_3, grammarAccess.getImportAccess().getModelKeyword_1_1());
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:645:2: ( (lv_importURI_4_0= RULE_STRING ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:646:1: (lv_importURI_4_0= RULE_STRING )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:646:1: (lv_importURI_4_0= RULE_STRING )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:647:3: lv_importURI_4_0= RULE_STRING
+ {
+ lv_importURI_4_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImport1435);
+
+ newLeafNode(lv_importURI_4_0, grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getImportRule());
+ }
+ setWithLastConsumed(
+ current,
+ "importURI",
+ lv_importURI_4_0,
+ "STRING");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleImport"
+
+
+ // $ANTLR start "entryRuleImportedFQN"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:671:1: entryRuleImportedFQN returns [String current=null] : iv_ruleImportedFQN= ruleImportedFQN EOF ;
+ public final String entryRuleImportedFQN() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleImportedFQN = null;
+
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:672:2: (iv_ruleImportedFQN= ruleImportedFQN EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:673:2: iv_ruleImportedFQN= ruleImportedFQN EOF
+ {
+ newCompositeNode(grammarAccess.getImportedFQNRule());
+ pushFollow(FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN1477);
+ iv_ruleImportedFQN=ruleImportedFQN();
+
+ state._fsp--;
+
+ current =iv_ruleImportedFQN.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleImportedFQN1488);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleImportedFQN"
+
+
+ // $ANTLR start "ruleImportedFQN"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:680:1: ruleImportedFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_FQN_0= ruleFQN (kw= '.*' )? ) ;
+ public final AntlrDatatypeRuleToken ruleImportedFQN() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
+ AntlrDatatypeRuleToken this_FQN_0 = null;
+
enterRule();
try {
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:182:28: ( (kw= 'ActorInstanceConfig' kw= '{' kw= '}' ) )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:183:1: (kw= 'ActorInstanceConfig' kw= '{' kw= '}' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:683:28: ( (this_FQN_0= ruleFQN (kw= '.*' )? ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:684:1: (this_FQN_0= ruleFQN (kw= '.*' )? )
{
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:183:1: (kw= 'ActorInstanceConfig' kw= '{' kw= '}' )
- // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:184:2: kw= 'ActorInstanceConfig' kw= '{' kw= '}'
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:684:1: (this_FQN_0= ruleFQN (kw= '.*' )? )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:685:5: this_FQN_0= ruleFQN (kw= '.*' )?
{
- kw=(Token)match(input,14,FOLLOW_14_in_ruleActorInstanceConfig367);
+
+ newCompositeNode(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleFQN_in_ruleImportedFQN1535);
+ this_FQN_0=ruleFQN();
+
+ state._fsp--;
+
+
+ current.merge(this_FQN_0);
+
+
+ afterParserOrEnumRuleCall();
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:695:1: (kw= '.*' )?
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0==24) ) {
+ alt12=1;
+ }
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:696:2: kw= '.*'
+ {
+ kw=(Token)match(input,24,FOLLOW_24_in_ruleImportedFQN1554);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1());
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleImportedFQN"
+
+
+ // $ANTLR start "entryRuleFQN"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:709:1: entryRuleFQN returns [String current=null] : iv_ruleFQN= ruleFQN EOF ;
+ public final String entryRuleFQN() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleFQN = null;
+
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:710:2: (iv_ruleFQN= ruleFQN EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:711:2: iv_ruleFQN= ruleFQN EOF
+ {
+ newCompositeNode(grammarAccess.getFQNRule());
+ pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN1597);
+ iv_ruleFQN=ruleFQN();
+
+ state._fsp--;
+
+ current =iv_ruleFQN.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleFQN1608);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleFQN"
+
+
+ // $ANTLR start "ruleFQN"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:718:1: ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
+ public final AntlrDatatypeRuleToken ruleFQN() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token this_ID_0=null;
+ Token kw=null;
+ Token this_ID_2=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:721:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:722:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:722:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:722:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
+ {
+ this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN1648);
+
+ current.merge(this_ID_0);
+
+
+ newLeafNode(this_ID_0, grammarAccess.getFQNAccess().getIDTerminalRuleCall_0());
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:729:1: (kw= '.' this_ID_2= RULE_ID )*
+ loop13:
+ do {
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0==25) ) {
+ alt13=1;
+ }
+
+
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:730:2: kw= '.' this_ID_2= RULE_ID
+ {
+ kw=(Token)match(input,25,FOLLOW_25_in_ruleFQN1667);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getFQNAccess().getFullStopKeyword_1_0());
+
+ this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN1682);
+
+ current.merge(this_ID_2);
+
+
+ newLeafNode(this_ID_2, grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1());
+
+
+ }
+ break;
+
+ default :
+ break loop13;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleFQN"
+
+
+ // $ANTLR start "entryRuleLiteral"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:750:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
+ public final EObject entryRuleLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleLiteral = null;
+
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:751:2: (iv_ruleLiteral= ruleLiteral EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:752:2: iv_ruleLiteral= ruleLiteral EOF
+ {
+ newCompositeNode(grammarAccess.getLiteralRule());
+ pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral1729);
+ iv_ruleLiteral=ruleLiteral();
+
+ state._fsp--;
+
+ current =iv_ruleLiteral;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral1739);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleLiteral"
+
+
+ // $ANTLR start "ruleLiteral"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:759:1: ruleLiteral returns [EObject current=null] : (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral ) ;
+ public final EObject ruleLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_BooleanLiteral_0 = null;
+
+ EObject this_NumberLiteral_1 = null;
+
+ EObject this_StringLiteral_2 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:762:28: ( (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:763:1: (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:763:1: (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral )
+ int alt14=3;
+ switch ( input.LA(1) ) {
+ case 26:
+ case 27:
+ {
+ alt14=1;
+ }
+ break;
+ case RULE_INT:
+ case RULE_HEX:
+ case 25:
+ case 28:
+ case 29:
+ {
+ alt14=2;
+ }
+ break;
+ case RULE_STRING:
+ {
+ alt14=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 14, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:764:5: this_BooleanLiteral_0= ruleBooleanLiteral
+ {
+
+ newCompositeNode(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleBooleanLiteral_in_ruleLiteral1786);
+ this_BooleanLiteral_0=ruleBooleanLiteral();
+
+ state._fsp--;
+
+
+ current = this_BooleanLiteral_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:774:5: this_NumberLiteral_1= ruleNumberLiteral
+ {
+
+ newCompositeNode(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_1());
+
+ pushFollow(FOLLOW_ruleNumberLiteral_in_ruleLiteral1813);
+ this_NumberLiteral_1=ruleNumberLiteral();
+
+ state._fsp--;
+
+
+ current = this_NumberLiteral_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:784:5: this_StringLiteral_2= ruleStringLiteral
+ {
+
+ newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2());
+
+ pushFollow(FOLLOW_ruleStringLiteral_in_ruleLiteral1840);
+ this_StringLiteral_2=ruleStringLiteral();
+
+ state._fsp--;
+
+
+ current = this_StringLiteral_2;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleLiteral"
+
+
+ // $ANTLR start "entryRuleBooleanLiteral"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:800:1: entryRuleBooleanLiteral returns [EObject current=null] : iv_ruleBooleanLiteral= ruleBooleanLiteral EOF ;
+ public final EObject entryRuleBooleanLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleBooleanLiteral = null;
+
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:801:2: (iv_ruleBooleanLiteral= ruleBooleanLiteral EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:802:2: iv_ruleBooleanLiteral= ruleBooleanLiteral EOF
+ {
+ newCompositeNode(grammarAccess.getBooleanLiteralRule());
+ pushFollow(FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1875);
+ iv_ruleBooleanLiteral=ruleBooleanLiteral();
+
+ state._fsp--;
+
+ current =iv_ruleBooleanLiteral;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanLiteral1885);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleBooleanLiteral"
+
+
+ // $ANTLR start "ruleBooleanLiteral"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:809:1: ruleBooleanLiteral returns [EObject current=null] : ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ;
+ public final EObject ruleBooleanLiteral() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token lv_isTrue_2_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:812:28: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:813:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:813:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:813:2: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:813:2: ()
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:814:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0(),
+ current);
+
+
+ }
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:819:2: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
+ int alt15=2;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0==26) ) {
+ alt15=1;
+ }
+ else if ( (LA15_0==27) ) {
+ alt15=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 15, 0, input);
+
+ throw nvae;
+ }
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:819:4: otherlv_1= 'false'
+ {
+ otherlv_1=(Token)match(input,26,FOLLOW_26_in_ruleBooleanLiteral1932);
+
+ newLeafNode(otherlv_1, grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:824:6: ( (lv_isTrue_2_0= 'true' ) )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:824:6: ( (lv_isTrue_2_0= 'true' ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:825:1: (lv_isTrue_2_0= 'true' )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:825:1: (lv_isTrue_2_0= 'true' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:826:3: lv_isTrue_2_0= 'true'
+ {
+ lv_isTrue_2_0=(Token)match(input,27,FOLLOW_27_in_ruleBooleanLiteral1956);
+
+ newLeafNode(lv_isTrue_2_0, grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getBooleanLiteralRule());
+ }
+ setWithLastConsumed(current, "isTrue", true, "true");
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleBooleanLiteral"
+
+
+ // $ANTLR start "entryRuleNumberLiteral"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:847:1: entryRuleNumberLiteral returns [EObject current=null] : iv_ruleNumberLiteral= ruleNumberLiteral EOF ;
+ public final EObject entryRuleNumberLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNumberLiteral = null;
+
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:848:2: (iv_ruleNumberLiteral= ruleNumberLiteral EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:849:2: iv_ruleNumberLiteral= ruleNumberLiteral EOF
+ {
+ newCompositeNode(grammarAccess.getNumberLiteralRule());
+ pushFollow(FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral2006);
+ iv_ruleNumberLiteral=ruleNumberLiteral();
+
+ state._fsp--;
+
+ current =iv_ruleNumberLiteral;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNumberLiteral2016);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNumberLiteral"
+
+
+ // $ANTLR start "ruleNumberLiteral"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:856:1: ruleNumberLiteral returns [EObject current=null] : (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral ) ;
+ public final EObject ruleNumberLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_IntLiteral_0 = null;
+
+ EObject this_RealLiteral_1 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:859:28: ( (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:860:1: (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:860:1: (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral )
+ int alt16=2;
+ switch ( input.LA(1) ) {
+ case 28:
+ {
+ int LA16_1 = input.LA(2);
+
+ if ( (LA16_1==RULE_INT) ) {
+ int LA16_3 = input.LA(3);
+
+ if ( (LA16_3==25) ) {
+ alt16=2;
+ }
+ else if ( (LA16_3==EOF||(LA16_3>=13 && LA16_3<=14)||LA16_3==17||(LA16_3>=19 && LA16_3<=20)) ) {
+ alt16=1;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 16, 3, input);
+
+ throw nvae;
+ }
+ }
+ else if ( (LA16_1==25) ) {
+ alt16=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 16, 1, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 29:
+ {
+ int LA16_2 = input.LA(2);
+
+ if ( (LA16_2==RULE_INT) ) {
+ int LA16_3 = input.LA(3);
+
+ if ( (LA16_3==25) ) {
+ alt16=2;
+ }
+ else if ( (LA16_3==EOF||(LA16_3>=13 && LA16_3<=14)||LA16_3==17||(LA16_3>=19 && LA16_3<=20)) ) {
+ alt16=1;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 16, 3, input);
+
+ throw nvae;
+ }
+ }
+ else if ( (LA16_2==25) ) {
+ alt16=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 16, 2, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case RULE_INT:
+ {
+ int LA16_3 = input.LA(2);
+
+ if ( (LA16_3==25) ) {
+ alt16=2;
+ }
+ else if ( (LA16_3==EOF||(LA16_3>=13 && LA16_3<=14)||LA16_3==17||(LA16_3>=19 && LA16_3<=20)) ) {
+ alt16=1;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 16, 3, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case RULE_HEX:
+ {
+ alt16=1;
+ }
+ break;
+ case 25:
+ {
+ alt16=2;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 16, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:861:5: this_IntLiteral_0= ruleIntLiteral
+ {
+
+ newCompositeNode(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleIntLiteral_in_ruleNumberLiteral2063);
+ this_IntLiteral_0=ruleIntLiteral();
+
+ state._fsp--;
+
+
+ current = this_IntLiteral_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:871:5: this_RealLiteral_1= ruleRealLiteral
+ {
+
+ newCompositeNode(grammarAccess.getNumberLiteralAccess().getRealLiteralParserRuleCall_1());
+
+ pushFollow(FOLLOW_ruleRealLiteral_in_ruleNumberLiteral2090);
+ this_RealLiteral_1=ruleRealLiteral();
+
+ state._fsp--;
+
+
+ current = this_RealLiteral_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNumberLiteral"
+
+
+ // $ANTLR start "entryRuleRealLiteral"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:887:1: entryRuleRealLiteral returns [EObject current=null] : iv_ruleRealLiteral= ruleRealLiteral EOF ;
+ public final EObject entryRuleRealLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleRealLiteral = null;
+
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:888:2: (iv_ruleRealLiteral= ruleRealLiteral EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:889:2: iv_ruleRealLiteral= ruleRealLiteral EOF
+ {
+ newCompositeNode(grammarAccess.getRealLiteralRule());
+ pushFollow(FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral2125);
+ iv_ruleRealLiteral=ruleRealLiteral();
+
+ state._fsp--;
+
+ current =iv_ruleRealLiteral;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRealLiteral2135);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleRealLiteral"
+
+
+ // $ANTLR start "ruleRealLiteral"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:896:1: ruleRealLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleReal ) ) ) ;
+ public final EObject ruleRealLiteral() throws RecognitionException {
+ EObject current = null;
+
+ AntlrDatatypeRuleToken lv_value_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:899:28: ( ( () ( (lv_value_1_0= ruleReal ) ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:900:1: ( () ( (lv_value_1_0= ruleReal ) ) )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:900:1: ( () ( (lv_value_1_0= ruleReal ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:900:2: () ( (lv_value_1_0= ruleReal ) )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:900:2: ()
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:901:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getRealLiteralAccess().getRealLiteralAction_0(),
+ current);
+
+
+ }
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:906:2: ( (lv_value_1_0= ruleReal ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:907:1: (lv_value_1_0= ruleReal )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:907:1: (lv_value_1_0= ruleReal )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:908:3: lv_value_1_0= ruleReal
+ {
+
+ newCompositeNode(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleReal_in_ruleRealLiteral2190);
+ lv_value_1_0=ruleReal();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRealLiteralRule());
+ }
+ set(
+ current,
+ "value",
+ lv_value_1_0,
+ "Real");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleRealLiteral"
+
+
+ // $ANTLR start "entryRuleIntLiteral"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:932:1: entryRuleIntLiteral returns [EObject current=null] : iv_ruleIntLiteral= ruleIntLiteral EOF ;
+ public final EObject entryRuleIntLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleIntLiteral = null;
+
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:933:2: (iv_ruleIntLiteral= ruleIntLiteral EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:934:2: iv_ruleIntLiteral= ruleIntLiteral EOF
+ {
+ newCompositeNode(grammarAccess.getIntLiteralRule());
+ pushFollow(FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral2226);
+ iv_ruleIntLiteral=ruleIntLiteral();
+
+ state._fsp--;
+
+ current =iv_ruleIntLiteral;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleIntLiteral2236);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleIntLiteral"
+
+
+ // $ANTLR start "ruleIntLiteral"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:941:1: ruleIntLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleInteger ) ) ) ;
+ public final EObject ruleIntLiteral() throws RecognitionException {
+ EObject current = null;
+
+ AntlrDatatypeRuleToken lv_value_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:944:28: ( ( () ( (lv_value_1_0= ruleInteger ) ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:945:1: ( () ( (lv_value_1_0= ruleInteger ) ) )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:945:1: ( () ( (lv_value_1_0= ruleInteger ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:945:2: () ( (lv_value_1_0= ruleInteger ) )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:945:2: ()
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:946:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getIntLiteralAccess().getIntLiteralAction_0(),
+ current);
+
+
+ }
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:951:2: ( (lv_value_1_0= ruleInteger ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:952:1: (lv_value_1_0= ruleInteger )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:952:1: (lv_value_1_0= ruleInteger )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:953:3: lv_value_1_0= ruleInteger
+ {
+
+ newCompositeNode(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleInteger_in_ruleIntLiteral2291);
+ lv_value_1_0=ruleInteger();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getIntLiteralRule());
+ }
+ set(
+ current,
+ "value",
+ lv_value_1_0,
+ "Integer");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleIntLiteral"
+
+
+ // $ANTLR start "entryRuleStringLiteral"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:977:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ;
+ public final EObject entryRuleStringLiteral() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleStringLiteral = null;
+
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:978:2: (iv_ruleStringLiteral= ruleStringLiteral EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:979:2: iv_ruleStringLiteral= ruleStringLiteral EOF
+ {
+ newCompositeNode(grammarAccess.getStringLiteralRule());
+ pushFollow(FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral2327);
+ iv_ruleStringLiteral=ruleStringLiteral();
+
+ state._fsp--;
+
+ current =iv_ruleStringLiteral;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStringLiteral2337);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleStringLiteral"
+
+
+ // $ANTLR start "ruleStringLiteral"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:986:1: ruleStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_STRING ) ) ) ;
+ public final EObject ruleStringLiteral() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_1_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:989:28: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:990:1: ( () ( (lv_value_1_0= RULE_STRING ) ) )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:990:1: ( () ( (lv_value_1_0= RULE_STRING ) ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:990:2: () ( (lv_value_1_0= RULE_STRING ) )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:990:2: ()
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:991:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getStringLiteralAccess().getStringLiteralAction_0(),
+ current);
+
+
+ }
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:996:2: ( (lv_value_1_0= RULE_STRING ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:997:1: (lv_value_1_0= RULE_STRING )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:997:1: (lv_value_1_0= RULE_STRING )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:998:3: lv_value_1_0= RULE_STRING
+ {
+ lv_value_1_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleStringLiteral2388);
+
+ newLeafNode(lv_value_1_0, grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getStringLiteralRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_1_0,
+ "STRING");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleStringLiteral"
+
+
+ // $ANTLR start "entryRuleInteger"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1022:1: entryRuleInteger returns [String current=null] : iv_ruleInteger= ruleInteger EOF ;
+ public final String entryRuleInteger() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleInteger = null;
+
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1023:2: (iv_ruleInteger= ruleInteger EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1024:2: iv_ruleInteger= ruleInteger EOF
+ {
+ newCompositeNode(grammarAccess.getIntegerRule());
+ pushFollow(FOLLOW_ruleInteger_in_entryRuleInteger2430);
+ iv_ruleInteger=ruleInteger();
+
+ state._fsp--;
+
+ current =iv_ruleInteger.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleInteger2441);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleInteger"
+
+
+ // $ANTLR start "ruleInteger"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1031:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) ;
+ public final AntlrDatatypeRuleToken ruleInteger() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ AntlrDatatypeRuleToken this_SignedInteger_0 = null;
+
+ AntlrDatatypeRuleToken this_Hexadecimal_1 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1034:28: ( (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1035:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1035:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
+ int alt17=2;
+ int LA17_0 = input.LA(1);
+
+ if ( (LA17_0==RULE_INT||(LA17_0>=28 && LA17_0<=29)) ) {
+ alt17=1;
+ }
+ else if ( (LA17_0==RULE_HEX) ) {
+ alt17=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 17, 0, input);
+
+ throw nvae;
+ }
+ switch (alt17) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1036:5: this_SignedInteger_0= ruleSignedInteger
+ {
+
+ newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleSignedInteger_in_ruleInteger2488);
+ this_SignedInteger_0=ruleSignedInteger();
+
+ state._fsp--;
+
+
+ current.merge(this_SignedInteger_0);
+
+
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1048:5: this_Hexadecimal_1= ruleHexadecimal
+ {
+
+ newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1());
+
+ pushFollow(FOLLOW_ruleHexadecimal_in_ruleInteger2521);
+ this_Hexadecimal_1=ruleHexadecimal();
+
+ state._fsp--;
+
+
+ current.merge(this_Hexadecimal_1);
+
+
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleInteger"
+
+
+ // $ANTLR start "entryRuleSignedInteger"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1066:1: entryRuleSignedInteger returns [String current=null] : iv_ruleSignedInteger= ruleSignedInteger EOF ;
+ public final String entryRuleSignedInteger() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleSignedInteger = null;
+
+
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1070:2: (iv_ruleSignedInteger= ruleSignedInteger EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1071:2: iv_ruleSignedInteger= ruleSignedInteger EOF
+ {
+ newCompositeNode(grammarAccess.getSignedIntegerRule());
+ pushFollow(FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger2573);
+ iv_ruleSignedInteger=ruleSignedInteger();
+
+ state._fsp--;
+
+ current =iv_ruleSignedInteger.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSignedInteger2584);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSignedInteger"
+
+
+ // $ANTLR start "ruleSignedInteger"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1081:1: ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) ;
+ public final AntlrDatatypeRuleToken ruleSignedInteger() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+ Token this_INT_2=null;
+
+ enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1085:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1086:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1086:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1086:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1086:2: (kw= '+' | kw= '-' )?
+ int alt18=3;
+ int LA18_0 = input.LA(1);
+
+ if ( (LA18_0==28) ) {
+ alt18=1;
+ }
+ else if ( (LA18_0==29) ) {
+ alt18=2;
+ }
+ switch (alt18) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1087:2: kw= '+'
+ {
+ kw=(Token)match(input,28,FOLLOW_28_in_ruleSignedInteger2627);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1094:2: kw= '-'
+ {
+ kw=(Token)match(input,29,FOLLOW_29_in_ruleSignedInteger2646);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1());
+
+
+ }
+ break;
+
+ }
+
+ this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSignedInteger2663);
+
+ current.merge(this_INT_2);
+
+
+ newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSignedInteger"
+
+
+ // $ANTLR start "entryRuleHexadecimal"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1117:1: entryRuleHexadecimal returns [String current=null] : iv_ruleHexadecimal= ruleHexadecimal EOF ;
+ public final String entryRuleHexadecimal() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleHexadecimal = null;
+
+
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1121:2: (iv_ruleHexadecimal= ruleHexadecimal EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1122:2: iv_ruleHexadecimal= ruleHexadecimal EOF
+ {
+ newCompositeNode(grammarAccess.getHexadecimalRule());
+ pushFollow(FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal2719);
+ iv_ruleHexadecimal=ruleHexadecimal();
+
+ state._fsp--;
+
+ current =iv_ruleHexadecimal.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleHexadecimal2730);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleHexadecimal"
+
+
+ // $ANTLR start "ruleHexadecimal"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1132:1: ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_HEX_0= RULE_HEX ;
+ public final AntlrDatatypeRuleToken ruleHexadecimal() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token this_HEX_0=null;
+
+ enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1136:28: (this_HEX_0= RULE_HEX )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1137:5: this_HEX_0= RULE_HEX
+ {
+ this_HEX_0=(Token)match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleHexadecimal2773);
+
+ current.merge(this_HEX_0);
+
+
+ newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall());
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "ruleHexadecimal"
+
+
+ // $ANTLR start "entryRuleReal"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1155:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
+ public final String entryRuleReal() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleReal = null;
+
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1156:2: (iv_ruleReal= ruleReal EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1157:2: iv_ruleReal= ruleReal EOF
+ {
+ newCompositeNode(grammarAccess.getRealRule());
+ pushFollow(FOLLOW_ruleReal_in_entryRuleReal2822);
+ iv_ruleReal=ruleReal();
+
+ state._fsp--;
+
+ current =iv_ruleReal.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleReal2833);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleReal"
+
+
+ // $ANTLR start "ruleReal"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1164:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) ;
+ public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ AntlrDatatypeRuleToken this_Decimal_0 = null;
+
+ AntlrDatatypeRuleToken this_DotDecimal_1 = null;
+
+ AntlrDatatypeRuleToken this_DecimalDot_2 = null;
+
+ AntlrDatatypeRuleToken this_DecimalExp_3 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1167:28: ( (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1168:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1168:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
+ int alt19=4;
+ alt19 = dfa19.predict(input);
+ switch (alt19) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1169:5: this_Decimal_0= ruleDecimal
+ {
+
+ newCompositeNode(grammarAccess.getRealAccess().getDecimalParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleDecimal_in_ruleReal2880);
+ this_Decimal_0=ruleDecimal();
+
+ state._fsp--;
+
+
+ current.merge(this_Decimal_0);
+
+
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1181:5: this_DotDecimal_1= ruleDotDecimal
+ {
+
+ newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1());
+
+ pushFollow(FOLLOW_ruleDotDecimal_in_ruleReal2913);
+ this_DotDecimal_1=ruleDotDecimal();
+
+ state._fsp--;
+
+
+ current.merge(this_DotDecimal_1);
+
+
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1193:5: this_DecimalDot_2= ruleDecimalDot
+ {
+
+ newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2());
+
+ pushFollow(FOLLOW_ruleDecimalDot_in_ruleReal2946);
+ this_DecimalDot_2=ruleDecimalDot();
+
+ state._fsp--;
+
+
+ current.merge(this_DecimalDot_2);
+
+
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1205:5: this_DecimalExp_3= ruleDecimalExp
+ {
+
+ newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3());
+
+ pushFollow(FOLLOW_ruleDecimalExp_in_ruleReal2979);
+ this_DecimalExp_3=ruleDecimalExp();
+
+ state._fsp--;
+
+
+ current.merge(this_DecimalExp_3);
+
+
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleReal"
+
+
+ // $ANTLR start "entryRuleDecimal"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1223:1: entryRuleDecimal returns [String current=null] : iv_ruleDecimal= ruleDecimal EOF ;
+ public final String entryRuleDecimal() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleDecimal = null;
+
+
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1227:2: (iv_ruleDecimal= ruleDecimal EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1228:2: iv_ruleDecimal= ruleDecimal EOF
+ {
+ newCompositeNode(grammarAccess.getDecimalRule());
+ pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal3031);
+ iv_ruleDecimal=ruleDecimal();
+
+ state._fsp--;
+
+ current =iv_ruleDecimal.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal3042);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleDecimal"
+
+
+ // $ANTLR start "ruleDecimal"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1238:1: ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) ;
+ public final AntlrDatatypeRuleToken ruleDecimal() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+ Token this_INT_2=null;
+ Token this_INT_4=null;
+
+ enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1242:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1243:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1243:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1243:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1243:2: (kw= '+' | kw= '-' )?
+ int alt20=3;
+ int LA20_0 = input.LA(1);
+
+ if ( (LA20_0==28) ) {
+ alt20=1;
+ }
+ else if ( (LA20_0==29) ) {
+ alt20=2;
+ }
+ switch (alt20) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1244:2: kw= '+'
+ {
+ kw=(Token)match(input,28,FOLLOW_28_in_ruleDecimal3085);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1251:2: kw= '-'
+ {
+ kw=(Token)match(input,29,FOLLOW_29_in_ruleDecimal3104);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1());
+
+
+ }
+ break;
+
+ }
+
+ this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal3121);
+
+ current.merge(this_INT_2);
+
+
+ newLeafNode(this_INT_2, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1());
+
+ kw=(Token)match(input,25,FOLLOW_25_in_ruleDecimal3139);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalAccess().getFullStopKeyword_2());
+
+ this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal3154);
+
+ current.merge(this_INT_4);
+
+
+ newLeafNode(this_INT_4, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "ruleDecimal"
+
+
+ // $ANTLR start "entryRuleDotDecimal"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1287:1: entryRuleDotDecimal returns [String current=null] : iv_ruleDotDecimal= ruleDotDecimal EOF ;
+ public final String entryRuleDotDecimal() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleDotDecimal = null;
+
+
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1291:2: (iv_ruleDotDecimal= ruleDotDecimal EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1292:2: iv_ruleDotDecimal= ruleDotDecimal EOF
+ {
+ newCompositeNode(grammarAccess.getDotDecimalRule());
+ pushFollow(FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal3210);
+ iv_ruleDotDecimal=ruleDotDecimal();
+
+ state._fsp--;
+
+ current =iv_ruleDotDecimal.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDotDecimal3221);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleDotDecimal"
+
+
+ // $ANTLR start "ruleDotDecimal"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1302:1: ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) ;
+ public final AntlrDatatypeRuleToken ruleDotDecimal() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+ Token this_INT_3=null;
+
+ enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1306:28: ( ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1307:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1307:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1307:2: (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1307:2: (kw= '+' | kw= '-' )?
+ int alt21=3;
+ int LA21_0 = input.LA(1);
+
+ if ( (LA21_0==28) ) {
+ alt21=1;
+ }
+ else if ( (LA21_0==29) ) {
+ alt21=2;
+ }
+ switch (alt21) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1308:2: kw= '+'
+ {
+ kw=(Token)match(input,28,FOLLOW_28_in_ruleDotDecimal3264);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1315:2: kw= '-'
+ {
+ kw=(Token)match(input,29,FOLLOW_29_in_ruleDotDecimal3283);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1());
+
+
+ }
+ break;
+
+ }
+
+ kw=(Token)match(input,25,FOLLOW_25_in_ruleDotDecimal3298);
current.merge(kw);
- newLeafNode(kw, grammarAccess.getActorInstanceConfigAccess().getActorInstanceConfigKeyword_0());
+ newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1());
+
+ this_INT_3=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDotDecimal3313);
+
+ current.merge(this_INT_3);
- kw=(Token)match(input,12,FOLLOW_12_in_ruleActorInstanceConfig380);
+
+ newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "ruleDotDecimal"
+
+
+ // $ANTLR start "entryRuleDecimalDot"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1344:1: entryRuleDecimalDot returns [String current=null] : iv_ruleDecimalDot= ruleDecimalDot EOF ;
+ public final String entryRuleDecimalDot() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleDecimalDot = null;
+
+
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1348:2: (iv_ruleDecimalDot= ruleDecimalDot EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1349:2: iv_ruleDecimalDot= ruleDecimalDot EOF
+ {
+ newCompositeNode(grammarAccess.getDecimalDotRule());
+ pushFollow(FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot3369);
+ iv_ruleDecimalDot=ruleDecimalDot();
+
+ state._fsp--;
+
+ current =iv_ruleDecimalDot.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalDot3380);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleDecimalDot"
+
+
+ // $ANTLR start "ruleDecimalDot"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1359:1: ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) ;
+ public final AntlrDatatypeRuleToken ruleDecimalDot() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+ Token this_INT_2=null;
+
+ enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1363:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1364:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1364:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1364:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.'
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1364:2: (kw= '+' | kw= '-' )?
+ int alt22=3;
+ int LA22_0 = input.LA(1);
+
+ if ( (LA22_0==28) ) {
+ alt22=1;
+ }
+ else if ( (LA22_0==29) ) {
+ alt22=2;
+ }
+ switch (alt22) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1365:2: kw= '+'
+ {
+ kw=(Token)match(input,28,FOLLOW_28_in_ruleDecimalDot3423);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1372:2: kw= '-'
+ {
+ kw=(Token)match(input,29,FOLLOW_29_in_ruleDecimalDot3442);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1());
+
+
+ }
+ break;
+
+ }
+
+ this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalDot3459);
+
+ current.merge(this_INT_2);
+
+
+ newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1());
+
+ kw=(Token)match(input,25,FOLLOW_25_in_ruleDecimalDot3477);
current.merge(kw);
- newLeafNode(kw, grammarAccess.getActorInstanceConfigAccess().getLeftCurlyBracketKeyword_1());
+ newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2());
- kw=(Token)match(input,13,FOLLOW_13_in_ruleActorInstanceConfig393);
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "ruleDecimalDot"
+
+
+ // $ANTLR start "entryRuleDecimalExp"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1401:1: entryRuleDecimalExp returns [String current=null] : iv_ruleDecimalExp= ruleDecimalExp EOF ;
+ public final String entryRuleDecimalExp() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleDecimalExp = null;
+
+
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1405:2: (iv_ruleDecimalExp= ruleDecimalExp EOF )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1406:2: iv_ruleDecimalExp= ruleDecimalExp EOF
+ {
+ newCompositeNode(grammarAccess.getDecimalExpRule());
+ pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp3528);
+ iv_ruleDecimalExp=ruleDecimalExp();
+
+ state._fsp--;
+
+ current =iv_ruleDecimalExp.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp3539);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleDecimalExp"
+
+
+ // $ANTLR start "ruleDecimalExp"
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1416:1: ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_ID_5= RULE_ID (kw= '+' | kw= '-' )? this_INT_8= RULE_INT ) ;
+ public final AntlrDatatypeRuleToken ruleDecimalExp() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+ Token this_INT_2=null;
+ Token this_INT_4=null;
+ Token this_ID_5=null;
+ Token this_INT_8=null;
+
+ enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1420:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_ID_5= RULE_ID (kw= '+' | kw= '-' )? this_INT_8= RULE_INT ) )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1421:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_ID_5= RULE_ID (kw= '+' | kw= '-' )? this_INT_8= RULE_INT )
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1421:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_ID_5= RULE_ID (kw= '+' | kw= '-' )? this_INT_8= RULE_INT )
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1421:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_ID_5= RULE_ID (kw= '+' | kw= '-' )? this_INT_8= RULE_INT
+ {
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1421:2: (kw= '+' | kw= '-' )?
+ int alt23=3;
+ int LA23_0 = input.LA(1);
+
+ if ( (LA23_0==28) ) {
+ alt23=1;
+ }
+ else if ( (LA23_0==29) ) {
+ alt23=2;
+ }
+ switch (alt23) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1422:2: kw= '+'
+ {
+ kw=(Token)match(input,28,FOLLOW_28_in_ruleDecimalExp3582);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1429:2: kw= '-'
+ {
+ kw=(Token)match(input,29,FOLLOW_29_in_ruleDecimalExp3601);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1());
+
+
+ }
+ break;
+
+ }
+
+ this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp3618);
+
+ current.merge(this_INT_2);
+
+
+ newLeafNode(this_INT_2, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1());
+
+ kw=(Token)match(input,25,FOLLOW_25_in_ruleDecimalExp3636);
current.merge(kw);
- newLeafNode(kw, grammarAccess.getActorInstanceConfigAccess().getRightCurlyBracketKeyword_2());
+ newLeafNode(kw, grammarAccess.getDecimalExpAccess().getFullStopKeyword_2());
+
+ this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp3651);
+
+ current.merge(this_INT_4);
+
+
+ newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3());
+
+ this_ID_5=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleDecimalExp3671);
+
+ current.merge(this_ID_5);
+
+
+ newLeafNode(this_ID_5, grammarAccess.getDecimalExpAccess().getIDTerminalRuleCall_4());
+
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1461:1: (kw= '+' | kw= '-' )?
+ int alt24=3;
+ int LA24_0 = input.LA(1);
+
+ if ( (LA24_0==28) ) {
+ alt24=1;
+ }
+ else if ( (LA24_0==29) ) {
+ alt24=2;
+ }
+ switch (alt24) {
+ case 1 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1462:2: kw= '+'
+ {
+ kw=(Token)match(input,28,FOLLOW_28_in_ruleDecimalExp3690);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1469:2: kw= '-'
+ {
+ kw=(Token)match(input,29,FOLLOW_29_in_ruleDecimalExp3709);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1());
+
+
+ }
+ break;
+
+ }
+
+ this_INT_8=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp3726);
+
+ current.merge(this_INT_8);
+
+
+ newLeafNode(this_INT_8, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6());
}
@@ -436,30 +3798,212 @@ public class InternalConfigParser extends AbstractInternalAntlrParser {
appendSkippedTokens();
}
finally {
+
+ myHiddenTokenState.restore();
+
}
return current;
}
- // $ANTLR end "ruleActorInstanceConfig"
+ // $ANTLR end "ruleDecimalExp"
// Delegated rules
+ protected DFA19 dfa19 = new DFA19(this);
+ static final String DFA19_eotS =
+ "\12\uffff";
+ static final String DFA19_eofS =
+ "\5\uffff\1\7\1\10\3\uffff";
+ static final String DFA19_minS =
+ "\3\6\1\31\1\uffff\1\6\1\4\3\uffff";
+ static final String DFA19_maxS =
+ "\1\35\3\31\1\uffff\2\24\3\uffff";
+ static final String DFA19_acceptS =
+ "\4\uffff\1\2\2\uffff\1\3\1\1\1\4";
+ static final String DFA19_specialS =
+ "\12\uffff}>";
+ static final String[] DFA19_transitionS = {
+ "\1\3\22\uffff\1\4\2\uffff\1\1\1\2",
+ "\1\3\22\uffff\1\4",
+ "\1\3\22\uffff\1\4",
+ "\1\5",
+ "",
+ "\1\6\6\uffff\2\7\2\uffff\1\7\1\uffff\2\7",
+ "\1\11\10\uffff\2\10\2\uffff\1\10\1\uffff\2\10",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA19_eot = DFA.unpackEncodedString(DFA19_eotS);
+ static final short[] DFA19_eof = DFA.unpackEncodedString(DFA19_eofS);
+ static final char[] DFA19_min = DFA.unpackEncodedStringToUnsignedChars(DFA19_minS);
+ static final char[] DFA19_max = DFA.unpackEncodedStringToUnsignedChars(DFA19_maxS);
+ static final short[] DFA19_accept = DFA.unpackEncodedString(DFA19_acceptS);
+ static final short[] DFA19_special = DFA.unpackEncodedString(DFA19_specialS);
+ static final short[][] DFA19_transition;
+
+ static {
+ int numStates = DFA19_transitionS.length;
+ DFA19_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA19_transition[i] = DFA.unpackEncodedString(DFA19_transitionS[i]);
+ }
+ }
+
+ class DFA19 extends DFA {
+
+ public DFA19(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 19;
+ this.eot = DFA19_eot;
+ this.eof = DFA19_eof;
+ this.min = DFA19_min;
+ this.max = DFA19_max;
+ this.accept = DFA19_accept;
+ this.special = DFA19_special;
+ this.transition = DFA19_transition;
+ }
+ public String getDescription() {
+ return "1168:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )";
+ }
+ }
public static final BitSet FOLLOW_ruleConfigModel_in_entryRuleConfigModel75 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleConfigModel85 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleActorClassConfig_in_ruleConfigModel131 = new BitSet(new long[]{0x0000000000004802L});
- public static final BitSet FOLLOW_ruleActorInstanceConfig_in_ruleConfigModel153 = new BitSet(new long[]{0x0000000000004002L});
- public static final BitSet FOLLOW_ruleActorClassConfig_in_entryRuleActorClassConfig190 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleActorClassConfig200 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_11_in_ruleActorClassConfig237 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleActorClassConfig257 = new BitSet(new long[]{0x0000000000001000L});
- public static final BitSet FOLLOW_12_in_ruleActorClassConfig269 = new BitSet(new long[]{0x0000000000002000L});
- public static final BitSet FOLLOW_13_in_ruleActorClassConfig281 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleActorInstanceConfig_in_entryRuleActorInstanceConfig318 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleActorInstanceConfig329 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_14_in_ruleActorInstanceConfig367 = new BitSet(new long[]{0x0000000000001000L});
- public static final BitSet FOLLOW_12_in_ruleActorInstanceConfig380 = new BitSet(new long[]{0x0000000000002000L});
- public static final BitSet FOLLOW_13_in_ruleActorInstanceConfig393 = new BitSet(new long[]{0x0000000000000002L});
-
-} \ No newline at end of file
+ public static final BitSet FOLLOW_ruleImport_in_ruleConfigModel131 = new BitSet(new long[]{0x0000000000209002L});
+ public static final BitSet FOLLOW_ruleConfigElement_in_ruleConfigModel153 = new BitSet(new long[]{0x0000000000009002L});
+ public static final BitSet FOLLOW_ruleConfigElement_in_entryRuleConfigElement190 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleConfigElement200 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleActorClassConfig_in_ruleConfigElement247 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleActorInstanceConfig_in_ruleConfigElement274 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleActorClassConfig_in_entryRuleActorClassConfig309 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleActorClassConfig319 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_12_in_ruleActorClassConfig356 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleFQN_in_ruleActorClassConfig379 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_13_in_ruleActorClassConfig391 = new BitSet(new long[]{0x0000000000024000L});
+ public static final BitSet FOLLOW_ruleAttrClassConfig_in_ruleActorClassConfig412 = new BitSet(new long[]{0x0000000000024000L});
+ public static final BitSet FOLLOW_14_in_ruleActorClassConfig425 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleActorInstanceConfig_in_entryRuleActorInstanceConfig461 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleActorInstanceConfig471 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_15_in_ruleActorInstanceConfig508 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleFQN_in_ruleActorInstanceConfig531 = new BitSet(new long[]{0x0000000000010000L});
+ public static final BitSet FOLLOW_16_in_ruleActorInstanceConfig543 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleRefPath_in_ruleActorInstanceConfig564 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_13_in_ruleActorInstanceConfig576 = new BitSet(new long[]{0x0000000000024000L});
+ public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_ruleActorInstanceConfig597 = new BitSet(new long[]{0x0000000000024000L});
+ public static final BitSet FOLLOW_14_in_ruleActorInstanceConfig610 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAttrClassConfig_in_entryRuleAttrClassConfig648 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAttrClassConfig658 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_ruleAttrClassConfig695 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleAttrClassConfig715 = new BitSet(new long[]{0x0000000000042002L});
+ public static final BitSet FOLLOW_18_in_ruleAttrClassConfig728 = new BitSet(new long[]{0x000000003E0000E0L});
+ public static final BitSet FOLLOW_ruleLiteral_in_ruleAttrClassConfig749 = new BitSet(new long[]{0x0000000000002002L});
+ public static final BitSet FOLLOW_13_in_ruleAttrClassConfig764 = new BitSet(new long[]{0x0000000000184000L});
+ public static final BitSet FOLLOW_19_in_ruleAttrClassConfig822 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_18_in_ruleAttrClassConfig834 = new BitSet(new long[]{0x00000000320000C0L});
+ public static final BitSet FOLLOW_ruleNumberLiteral_in_ruleAttrClassConfig855 = new BitSet(new long[]{0x0000000000184000L});
+ public static final BitSet FOLLOW_20_in_ruleAttrClassConfig923 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_18_in_ruleAttrClassConfig935 = new BitSet(new long[]{0x00000000320000C0L});
+ public static final BitSet FOLLOW_ruleNumberLiteral_in_ruleAttrClassConfig956 = new BitSet(new long[]{0x0000000000184000L});
+ public static final BitSet FOLLOW_14_in_ruleAttrClassConfig1009 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_entryRuleAttrInstanceConfig1047 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAttrInstanceConfig1057 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_ruleAttrInstanceConfig1094 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleAttrInstanceConfig1114 = new BitSet(new long[]{0x0000000000040002L});
+ public static final BitSet FOLLOW_18_in_ruleAttrInstanceConfig1127 = new BitSet(new long[]{0x000000003E0000E0L});
+ public static final BitSet FOLLOW_ruleLiteral_in_ruleAttrInstanceConfig1148 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRefPath_in_entryRuleRefPath1186 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRefPath1196 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleRefPath1238 = new BitSet(new long[]{0x0000000000010002L});
+ public static final BitSet FOLLOW_16_in_ruleRefPath1256 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleRefPath1273 = new BitSet(new long[]{0x0000000000010002L});
+ public static final BitSet FOLLOW_ruleImport_in_entryRuleImport1316 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleImport1326 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_21_in_ruleImport1363 = new BitSet(new long[]{0x0000000000800010L});
+ public static final BitSet FOLLOW_ruleImportedFQN_in_ruleImport1386 = new BitSet(new long[]{0x0000000000400000L});
+ public static final BitSet FOLLOW_22_in_ruleImport1398 = new BitSet(new long[]{0x0000000000000020L});
+ public static final BitSet FOLLOW_23_in_ruleImport1417 = new BitSet(new long[]{0x0000000000000020L});
+ public static final BitSet FOLLOW_RULE_STRING_in_ruleImport1435 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN1477 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleImportedFQN1488 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleFQN_in_ruleImportedFQN1535 = new BitSet(new long[]{0x0000000001000002L});
+ public static final BitSet FOLLOW_24_in_ruleImportedFQN1554 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN1597 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleFQN1608 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleFQN1648 = new BitSet(new long[]{0x0000000002000002L});
+ public static final BitSet FOLLOW_25_in_ruleFQN1667 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleFQN1682 = new BitSet(new long[]{0x0000000002000002L});
+ public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral1729 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLiteral1739 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBooleanLiteral_in_ruleLiteral1786 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNumberLiteral_in_ruleLiteral1813 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStringLiteral_in_ruleLiteral1840 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1875 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral1885 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_26_in_ruleBooleanLiteral1932 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_27_in_ruleBooleanLiteral1956 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral2006 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral2016 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIntLiteral_in_ruleNumberLiteral2063 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRealLiteral_in_ruleNumberLiteral2090 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral2125 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRealLiteral2135 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleReal_in_ruleRealLiteral2190 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral2226 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleIntLiteral2236 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInteger_in_ruleIntLiteral2291 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral2327 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral2337 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_STRING_in_ruleStringLiteral2388 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger2430 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInteger2441 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSignedInteger_in_ruleInteger2488 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleHexadecimal_in_ruleInteger2521 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger2573 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSignedInteger2584 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_28_in_ruleSignedInteger2627 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_29_in_ruleSignedInteger2646 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleSignedInteger2663 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal2719 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleHexadecimal2730 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_HEX_in_ruleHexadecimal2773 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleReal_in_entryRuleReal2822 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleReal2833 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDecimal_in_ruleReal2880 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDotDecimal_in_ruleReal2913 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDecimalDot_in_ruleReal2946 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDecimalExp_in_ruleReal2979 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal3031 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDecimal3042 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_28_in_ruleDecimal3085 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_29_in_ruleDecimal3104 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal3121 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleDecimal3139 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal3154 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal3210 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDotDecimal3221 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_28_in_ruleDotDecimal3264 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_29_in_ruleDotDecimal3283 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleDotDecimal3298 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleDotDecimal3313 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot3369 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDecimalDot3380 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_28_in_ruleDecimalDot3423 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_29_in_ruleDecimalDot3442 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalDot3459 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleDecimalDot3477 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp3528 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp3539 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_28_in_ruleDecimalExp3582 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_29_in_ruleDecimalExp3601 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp3618 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_25_in_ruleDecimalExp3636 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp3651 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleDecimalExp3671 = new BitSet(new long[]{0x0000000030000040L});
+ public static final BitSet FOLLOW_28_in_ruleDecimalExp3690 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_29_in_ruleDecimalExp3709 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp3726 = new BitSet(new long[]{0x0000000000000002L});
+
+}
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/AbstractConfigSemanticSequencer.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/AbstractConfigSemanticSequencer.java
index 9641b9be5..af86a9310 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/AbstractConfigSemanticSequencer.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/AbstractConfigSemanticSequencer.java
@@ -4,8 +4,17 @@ import com.google.inject.Inject;
import com.google.inject.Provider;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.etrice.core.config.ActorClassConfig;
+import org.eclipse.etrice.core.config.ActorInstanceConfig;
+import org.eclipse.etrice.core.config.AttrClassConfig;
+import org.eclipse.etrice.core.config.AttrInstanceConfig;
+import org.eclipse.etrice.core.config.BooleanLiteral;
import org.eclipse.etrice.core.config.ConfigModel;
import org.eclipse.etrice.core.config.ConfigPackage;
+import org.eclipse.etrice.core.config.Import;
+import org.eclipse.etrice.core.config.IntLiteral;
+import org.eclipse.etrice.core.config.RealLiteral;
+import org.eclipse.etrice.core.config.RefPath;
+import org.eclipse.etrice.core.config.StringLiteral;
import org.eclipse.etrice.core.services.ConfigGrammarAccess;
import org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor;
import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
@@ -44,45 +53,205 @@ public class AbstractConfigSemanticSequencer extends AbstractSemanticSequencer {
this.genericSequencer.init(sequencer, sequenceAcceptor, errorAcceptor);
}
+ @Override
public void createSequence(EObject context, EObject semanticObject) {
if(semanticObject.eClass().getEPackage() == ConfigPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
case ConfigPackage.ACTOR_CLASS_CONFIG:
- if(context == grammarAccess.getActorClassConfigRule()) {
+ if(context == grammarAccess.getActorClassConfigRule() ||
+ context == grammarAccess.getConfigElementRule()) {
sequence_ActorClassConfig(context, (ActorClassConfig) semanticObject);
return;
}
else break;
+ case ConfigPackage.ACTOR_INSTANCE_CONFIG:
+ if(context == grammarAccess.getActorInstanceConfigRule() ||
+ context == grammarAccess.getConfigElementRule()) {
+ sequence_ActorInstanceConfig(context, (ActorInstanceConfig) semanticObject);
+ return;
+ }
+ else break;
+ case ConfigPackage.ATTR_CLASS_CONFIG:
+ if(context == grammarAccess.getAttrClassConfigRule() ||
+ context == grammarAccess.getAttrConfigRule()) {
+ sequence_AttrClassConfig(context, (AttrClassConfig) semanticObject);
+ return;
+ }
+ else break;
+ case ConfigPackage.ATTR_INSTANCE_CONFIG:
+ if(context == grammarAccess.getAttrConfigRule() ||
+ context == grammarAccess.getAttrInstanceConfigRule()) {
+ sequence_AttrInstanceConfig(context, (AttrInstanceConfig) semanticObject);
+ return;
+ }
+ else break;
+ case ConfigPackage.BOOLEAN_LITERAL:
+ if(context == grammarAccess.getBooleanLiteralRule() ||
+ context == grammarAccess.getLiteralRule()) {
+ sequence_BooleanLiteral(context, (BooleanLiteral) semanticObject);
+ return;
+ }
+ else break;
case ConfigPackage.CONFIG_MODEL:
if(context == grammarAccess.getConfigModelRule()) {
sequence_ConfigModel(context, (ConfigModel) semanticObject);
return;
}
else break;
+ case ConfigPackage.IMPORT:
+ if(context == grammarAccess.getImportRule()) {
+ sequence_Import(context, (Import) semanticObject);
+ return;
+ }
+ else break;
+ case ConfigPackage.INT_LITERAL:
+ if(context == grammarAccess.getIntLiteralRule() ||
+ context == grammarAccess.getLiteralRule() ||
+ context == grammarAccess.getNumberLiteralRule()) {
+ sequence_IntLiteral(context, (IntLiteral) semanticObject);
+ return;
+ }
+ else break;
+ case ConfigPackage.REAL_LITERAL:
+ if(context == grammarAccess.getLiteralRule() ||
+ context == grammarAccess.getNumberLiteralRule() ||
+ context == grammarAccess.getRealLiteralRule()) {
+ sequence_RealLiteral(context, (RealLiteral) semanticObject);
+ return;
+ }
+ else break;
+ case ConfigPackage.REF_PATH:
+ if(context == grammarAccess.getRefPathRule()) {
+ sequence_RefPath(context, (RefPath) semanticObject);
+ return;
+ }
+ else break;
+ case ConfigPackage.STRING_LITERAL:
+ if(context == grammarAccess.getLiteralRule() ||
+ context == grammarAccess.getStringLiteralRule()) {
+ sequence_StringLiteral(context, (StringLiteral) semanticObject);
+ return;
+ }
+ else break;
}
if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
/**
* Constraint:
- * actorClass=[ActorClass|ID]
+ * (actor=[ActorClass|FQN] attributes+=AttrClassConfig*)
*/
protected void sequence_ActorClassConfig(EObject context, ActorClassConfig semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (root=[SubSystemClass|FQN] path=RefPath attributes+=AttrInstanceConfig*)
+ */
+ protected void sequence_ActorInstanceConfig(EObject context, ActorInstanceConfig semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (attribute=[Attribute|ID] value=Literal? (min=NumberLiteral? max=NumberLiteral?)?)
+ */
+ protected void sequence_AttrClassConfig(EObject context, AttrClassConfig semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (attribute=[Attribute|ID] value=Literal?)
+ */
+ protected void sequence_AttrInstanceConfig(EObject context, AttrInstanceConfig semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (isTrue?='true'?)
+ */
+ protected void sequence_BooleanLiteral(EObject context, BooleanLiteral semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (imports+=Import* configElements+=ConfigElement*)
+ */
+ protected void sequence_ConfigModel(EObject context, ConfigModel semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (importedNamespace=ImportedFQN? importURI=STRING)
+ */
+ protected void sequence_Import(EObject context, Import semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * value=Integer
+ */
+ protected void sequence_IntLiteral(EObject context, IntLiteral semanticObject) {
if(errorAcceptor != null) {
- if(transientValues.isValueTransient(semanticObject, ConfigPackage.Literals.ACTOR_CLASS_CONFIG__ACTOR_CLASS) == ValueTransient.YES)
- errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ConfigPackage.Literals.ACTOR_CLASS_CONFIG__ACTOR_CLASS));
+ if(transientValues.isValueTransient(semanticObject, ConfigPackage.Literals.INT_LITERAL__VALUE) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ConfigPackage.Literals.INT_LITERAL__VALUE));
}
INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
- feeder.accept(grammarAccess.getActorClassConfigAccess().getActorClassActorClassIDTerminalRuleCall_1_0_1(), semanticObject.getActorClass());
+ feeder.accept(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0(), semanticObject.getValue());
feeder.finish();
}
/**
* Constraint:
- * (actorClassConfigs+=ActorClassConfig* actorInstanceConfigs+=ActorInstanceConfig*)
+ * value=Real
*/
- protected void sequence_ConfigModel(EObject context, ConfigModel semanticObject) {
+ protected void sequence_RealLiteral(EObject context, RealLiteral semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, ConfigPackage.Literals.REAL_LITERAL__VALUE) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ConfigPackage.Literals.REAL_LITERAL__VALUE));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0(), semanticObject.getValue());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * (refs+=ID refs+=ID*)
+ */
+ protected void sequence_RefPath(EObject context, RefPath semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
+
+
+ /**
+ * Constraint:
+ * value=STRING
+ */
+ protected void sequence_StringLiteral(EObject context, StringLiteral semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, ConfigPackage.Literals.STRING_LITERAL__VALUE) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ConfigPackage.Literals.STRING_LITERAL__VALUE));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0(), semanticObject.getValue());
+ feeder.finish();
+ }
}
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/AbstractConfigSyntacticSequencer.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/AbstractConfigSyntacticSequencer.java
index af77eb774..0d927a00e 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/AbstractConfigSyntacticSequencer.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/serializer/AbstractConfigSyntacticSequencer.java
@@ -8,6 +8,9 @@ import org.eclipse.xtext.IGrammarAccess;
import org.eclipse.xtext.RuleCall;
import org.eclipse.xtext.nodemodel.INode;
import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
+import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
@@ -15,10 +18,12 @@ import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
public class AbstractConfigSyntacticSequencer extends AbstractSyntacticSequencer {
protected ConfigGrammarAccess grammarAccess;
+ protected AbstractElementAlias match_AttrClassConfig___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q;
@Inject
protected void init(IGrammarAccess access) {
grammarAccess = (ConfigGrammarAccess) access;
+ match_AttrClassConfig___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttrClassConfigAccess().getLeftCurlyBracketKeyword_3_0()), new TokenAlias(false, false, grammarAccess.getAttrClassConfigAccess().getRightCurlyBracketKeyword_3_2()));
}
@Override
@@ -33,8 +38,18 @@ public class AbstractConfigSyntacticSequencer extends AbstractSyntacticSequencer
List<INode> transitionNodes = collectNodes(fromNode, toNode);
for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
- acceptNodes(getLastNavigableState(), syntaxNodes);
+ if(match_AttrClassConfig___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q.equals(syntax))
+ emit_AttrClassConfig___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
+ else acceptNodes(getLastNavigableState(), syntaxNodes);
}
}
+ /**
+ * Syntax:
+ * ('{' '}')?
+ */
+ protected void emit_AttrClassConfig___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
}
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/services/ConfigGrammarAccess.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/services/ConfigGrammarAccess.java
index cf713a8bd..05b8a602a 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/services/ConfigGrammarAccess.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/services/ConfigGrammarAccess.java
@@ -20,99 +20,936 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
public class ConfigModelElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ConfigModel");
private final Group cGroup = (Group)rule.eContents().get(1);
- private final Assignment cActorClassConfigsAssignment_0 = (Assignment)cGroup.eContents().get(0);
- private final RuleCall cActorClassConfigsActorClassConfigParserRuleCall_0_0 = (RuleCall)cActorClassConfigsAssignment_0.eContents().get(0);
- private final Assignment cActorInstanceConfigsAssignment_1 = (Assignment)cGroup.eContents().get(1);
- private final RuleCall cActorInstanceConfigsActorInstanceConfigParserRuleCall_1_0 = (RuleCall)cActorInstanceConfigsAssignment_1.eContents().get(0);
+ 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 cConfigElementsAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cConfigElementsConfigElementParserRuleCall_1_0 = (RuleCall)cConfigElementsAssignment_1.eContents().get(0);
- //ConfigModel:
- // actorClassConfigs+=ActorClassConfig* actorInstanceConfigs+=ActorInstanceConfig*;
+ /// *
+ // * Postprocessor:
+ // * getActor(Class|Instance)Config()
+ // * / ConfigModel:
+ // imports+=Import* configElements+=ConfigElement*;
+ @Override
public ParserRule getRule() { return rule; }
- //actorClassConfigs+=ActorClassConfig* actorInstanceConfigs+=ActorInstanceConfig*
+ //imports+=Import* configElements+=ConfigElement*
public Group getGroup() { return cGroup; }
- //actorClassConfigs+=ActorClassConfig*
- public Assignment getActorClassConfigsAssignment_0() { return cActorClassConfigsAssignment_0; }
+ //imports+=Import*
+ public Assignment getImportsAssignment_0() { return cImportsAssignment_0; }
- //ActorClassConfig
- public RuleCall getActorClassConfigsActorClassConfigParserRuleCall_0_0() { return cActorClassConfigsActorClassConfigParserRuleCall_0_0; }
+ //Import
+ public RuleCall getImportsImportParserRuleCall_0_0() { return cImportsImportParserRuleCall_0_0; }
+
+ //configElements+=ConfigElement*
+ public Assignment getConfigElementsAssignment_1() { return cConfigElementsAssignment_1; }
+
+ //ConfigElement
+ public RuleCall getConfigElementsConfigElementParserRuleCall_1_0() { return cConfigElementsConfigElementParserRuleCall_1_0; }
+ }
+
+ public class ConfigElementElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ConfigElement");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cActorClassConfigParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cActorInstanceConfigParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //ConfigElement:
+ // ActorClassConfig | ActorInstanceConfig;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //ActorClassConfig | ActorInstanceConfig
+ public Alternatives getAlternatives() { return cAlternatives; }
- //actorInstanceConfigs+=ActorInstanceConfig*
- public Assignment getActorInstanceConfigsAssignment_1() { return cActorInstanceConfigsAssignment_1; }
+ //ActorClassConfig
+ public RuleCall getActorClassConfigParserRuleCall_0() { return cActorClassConfigParserRuleCall_0; }
//ActorInstanceConfig
- public RuleCall getActorInstanceConfigsActorInstanceConfigParserRuleCall_1_0() { return cActorInstanceConfigsActorInstanceConfigParserRuleCall_1_0; }
+ public RuleCall getActorInstanceConfigParserRuleCall_1() { return cActorInstanceConfigParserRuleCall_1; }
}
public class ActorClassConfigElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorClassConfig");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cActorClassConfigKeyword_0 = (Keyword)cGroup.eContents().get(0);
- private final Assignment cActorClassAssignment_1 = (Assignment)cGroup.eContents().get(1);
- private final CrossReference cActorClassActorClassCrossReference_1_0 = (CrossReference)cActorClassAssignment_1.eContents().get(0);
- private final RuleCall cActorClassActorClassIDTerminalRuleCall_1_0_1 = (RuleCall)cActorClassActorClassCrossReference_1_0.eContents().get(1);
+ private final Assignment cActorAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cActorActorClassCrossReference_1_0 = (CrossReference)cActorAssignment_1.eContents().get(0);
+ private final RuleCall cActorActorClassFQNParserRuleCall_1_0_1 = (RuleCall)cActorActorClassCrossReference_1_0.eContents().get(1);
private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
- private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cAttributesAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cAttributesAttrClassConfigParserRuleCall_3_0 = (RuleCall)cAttributesAssignment_3.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
- //ActorClassConfig:
- // "ActorClassConfig" actorClass=[room::ActorClass] "{" "}";
+ /// *
+ // * Validation:
+ // * duplicates config, attributes
+ // * / ActorClassConfig:
+ // "ActorClassConfig" actor=[room::ActorClass|FQN] "{" attributes+=AttrClassConfig* "}";
+ @Override
public ParserRule getRule() { return rule; }
- //"ActorClassConfig" actorClass=[room::ActorClass] "{" "}"
+ //"ActorClassConfig" actor=[room::ActorClass|FQN] "{" attributes+=AttrClassConfig* "}"
public Group getGroup() { return cGroup; }
//"ActorClassConfig"
public Keyword getActorClassConfigKeyword_0() { return cActorClassConfigKeyword_0; }
- //actorClass=[room::ActorClass]
- public Assignment getActorClassAssignment_1() { return cActorClassAssignment_1; }
+ //actor=[room::ActorClass|FQN]
+ public Assignment getActorAssignment_1() { return cActorAssignment_1; }
- //[room::ActorClass]
- public CrossReference getActorClassActorClassCrossReference_1_0() { return cActorClassActorClassCrossReference_1_0; }
+ //[room::ActorClass|FQN]
+ public CrossReference getActorActorClassCrossReference_1_0() { return cActorActorClassCrossReference_1_0; }
- //ID
- public RuleCall getActorClassActorClassIDTerminalRuleCall_1_0_1() { return cActorClassActorClassIDTerminalRuleCall_1_0_1; }
+ //FQN
+ public RuleCall getActorActorClassFQNParserRuleCall_1_0_1() { return cActorActorClassFQNParserRuleCall_1_0_1; }
//"{"
public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+ //attributes+=AttrClassConfig*
+ public Assignment getAttributesAssignment_3() { return cAttributesAssignment_3; }
+
+ //AttrClassConfig
+ public RuleCall getAttributesAttrClassConfigParserRuleCall_3_0() { return cAttributesAttrClassConfigParserRuleCall_3_0; }
+
//"}"
- public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
+ public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
}
public class ActorInstanceConfigElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorInstanceConfig");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Keyword cActorInstanceConfigKeyword_0 = (Keyword)cGroup.eContents().get(0);
- private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
- private final Keyword cRightCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cRootAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cRootSubSystemClassCrossReference_1_0 = (CrossReference)cRootAssignment_1.eContents().get(0);
+ private final RuleCall cRootSubSystemClassFQNParserRuleCall_1_0_1 = (RuleCall)cRootSubSystemClassCrossReference_1_0.eContents().get(1);
+ private final Keyword cSolidusKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cPathAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cPathRefPathParserRuleCall_3_0 = (RuleCall)cPathAssignment_3.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+ private final Assignment cAttributesAssignment_5 = (Assignment)cGroup.eContents().get(5);
+ private final RuleCall cAttributesAttrInstanceConfigParserRuleCall_5_0 = (RuleCall)cAttributesAssignment_5.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
- //// ActorInstanceConfig MySS.AR1.AR2 {
- //// min = 1
- //// max = 5
- //// }
- //ActorInstanceConfig:
- // "ActorInstanceConfig" / * root=[room::SubSystemClass|FQN] '/' path=RefPath * / "{" "}";
+ /// *
+ // * Validation:
+ // * duplicates config, attributes
+ // * valid instance reference
+ // * Proposal:
+ // * attributes
+ // * / ActorInstanceConfig:
+ // "ActorInstanceConfig" root=[room::SubSystemClass|FQN] "/" path=RefPath "{" attributes+=AttrInstanceConfig* "}";
+ @Override
public ParserRule getRule() { return rule; }
- //"ActorInstanceConfig" / * root=[room::SubSystemClass|FQN] '/' path=RefPath * / "{" "}"
+ //"ActorInstanceConfig" root=[room::SubSystemClass|FQN] "/" path=RefPath "{" attributes+=AttrInstanceConfig* "}"
public Group getGroup() { return cGroup; }
//"ActorInstanceConfig"
public Keyword getActorInstanceConfigKeyword_0() { return cActorInstanceConfigKeyword_0; }
- /// * root=[room::SubSystemClass|FQN] '/' path=RefPath * / "{"
- public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
+ //root=[room::SubSystemClass|FQN]
+ public Assignment getRootAssignment_1() { return cRootAssignment_1; }
+
+ //[room::SubSystemClass|FQN]
+ public CrossReference getRootSubSystemClassCrossReference_1_0() { return cRootSubSystemClassCrossReference_1_0; }
+
+ //FQN
+ public RuleCall getRootSubSystemClassFQNParserRuleCall_1_0_1() { return cRootSubSystemClassFQNParserRuleCall_1_0_1; }
+
+ //"/"
+ public Keyword getSolidusKeyword_2() { return cSolidusKeyword_2; }
+
+ //path=RefPath
+ public Assignment getPathAssignment_3() { return cPathAssignment_3; }
+
+ //RefPath
+ public RuleCall getPathRefPathParserRuleCall_3_0() { return cPathRefPathParserRuleCall_3_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
+
+ //attributes+=AttrInstanceConfig*
+ public Assignment getAttributesAssignment_5() { return cAttributesAssignment_5; }
+
+ //AttrInstanceConfig
+ public RuleCall getAttributesAttrInstanceConfigParserRuleCall_5_0() { return cAttributesAttrInstanceConfigParserRuleCall_5_0; }
//"}"
- public Keyword getRightCurlyBracketKeyword_2() { return cRightCurlyBracketKeyword_2; }
+ public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+ }
+
+ public class AttrConfigElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttrConfig");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cAttrClassConfigParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cAttrInstanceConfigParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ /// *
+ // * Validation:
+ // * correct value type
+ // * Proposal:
+ // * correct Literal
+ // * / AttrConfig:
+ // AttrClassConfig | AttrInstanceConfig;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //AttrClassConfig | AttrInstanceConfig
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //AttrClassConfig
+ public RuleCall getAttrClassConfigParserRuleCall_0() { return cAttrClassConfigParserRuleCall_0; }
+
+ //AttrInstanceConfig
+ public RuleCall getAttrInstanceConfigParserRuleCall_1() { return cAttrInstanceConfigParserRuleCall_1; }
+ }
+
+ public class AttrClassConfigElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttrClassConfig");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cAttrKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cAttributeAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cAttributeAttributeCrossReference_1_0 = (CrossReference)cAttributeAssignment_1.eContents().get(0);
+ private final RuleCall cAttributeAttributeIDTerminalRuleCall_1_0_1 = (RuleCall)cAttributeAttributeCrossReference_1_0.eContents().get(1);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cEqualsSignKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Assignment cValueAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+ private final RuleCall cValueLiteralParserRuleCall_2_1_0 = (RuleCall)cValueAssignment_2_1.eContents().get(0);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Keyword cLeftCurlyBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+ private final UnorderedGroup cUnorderedGroup_3_1 = (UnorderedGroup)cGroup_3.eContents().get(1);
+ private final Group cGroup_3_1_0 = (Group)cUnorderedGroup_3_1.eContents().get(0);
+ private final Keyword cMinKeyword_3_1_0_0 = (Keyword)cGroup_3_1_0.eContents().get(0);
+ private final Keyword cEqualsSignKeyword_3_1_0_1 = (Keyword)cGroup_3_1_0.eContents().get(1);
+ private final Assignment cMinAssignment_3_1_0_2 = (Assignment)cGroup_3_1_0.eContents().get(2);
+ private final RuleCall cMinNumberLiteralParserRuleCall_3_1_0_2_0 = (RuleCall)cMinAssignment_3_1_0_2.eContents().get(0);
+ private final Group cGroup_3_1_1 = (Group)cUnorderedGroup_3_1.eContents().get(1);
+ private final Keyword cMaxKeyword_3_1_1_0 = (Keyword)cGroup_3_1_1.eContents().get(0);
+ private final Keyword cEqualsSignKeyword_3_1_1_1 = (Keyword)cGroup_3_1_1.eContents().get(1);
+ private final Assignment cMaxAssignment_3_1_1_2 = (Assignment)cGroup_3_1_1.eContents().get(2);
+ private final RuleCall cMaxNumberLiteralParserRuleCall_3_1_1_2_0 = (RuleCall)cMaxAssignment_3_1_1_2.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
+
+ /// *
+ // * Validation:
+ // * correct min, max type + available
+ // * min <= value <= max
+ // * if !value -> min <= attribute.defaultValue <= max
+ // *
+ // * / AttrClassConfig:
+ // "attr" attribute=[room::Attribute] ("=" value=Literal)? ("{" (("min" "=" min=NumberLiteral)? & ("max" "="
+ // max=NumberLiteral)?) "}")?;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //"attr" attribute=[room::Attribute] ("=" value=Literal)? ("{" (("min" "=" min=NumberLiteral)? & ("max" "="
+ //max=NumberLiteral)?) "}")?
+ public Group getGroup() { return cGroup; }
+
+ //"attr"
+ public Keyword getAttrKeyword_0() { return cAttrKeyword_0; }
+
+ //attribute=[room::Attribute]
+ public Assignment getAttributeAssignment_1() { return cAttributeAssignment_1; }
+
+ //[room::Attribute]
+ public CrossReference getAttributeAttributeCrossReference_1_0() { return cAttributeAttributeCrossReference_1_0; }
+
+ //ID
+ public RuleCall getAttributeAttributeIDTerminalRuleCall_1_0_1() { return cAttributeAttributeIDTerminalRuleCall_1_0_1; }
+
+ //("=" value=Literal)?
+ public Group getGroup_2() { return cGroup_2; }
+
+ //"="
+ public Keyword getEqualsSignKeyword_2_0() { return cEqualsSignKeyword_2_0; }
+
+ //value=Literal
+ public Assignment getValueAssignment_2_1() { return cValueAssignment_2_1; }
+
+ //Literal
+ public RuleCall getValueLiteralParserRuleCall_2_1_0() { return cValueLiteralParserRuleCall_2_1_0; }
+
+ //("{" (("min" "=" min=NumberLiteral)? & ("max" "=" max=NumberLiteral)?) "}")?
+ public Group getGroup_3() { return cGroup_3; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_3_0() { return cLeftCurlyBracketKeyword_3_0; }
+
+ //("min" "=" min=NumberLiteral)? & ("max" "=" max=NumberLiteral)?
+ public UnorderedGroup getUnorderedGroup_3_1() { return cUnorderedGroup_3_1; }
+
+ //("min" "=" min=NumberLiteral)?
+ public Group getGroup_3_1_0() { return cGroup_3_1_0; }
+
+ //"min"
+ public Keyword getMinKeyword_3_1_0_0() { return cMinKeyword_3_1_0_0; }
+
+ //"="
+ public Keyword getEqualsSignKeyword_3_1_0_1() { return cEqualsSignKeyword_3_1_0_1; }
+
+ //min=NumberLiteral
+ public Assignment getMinAssignment_3_1_0_2() { return cMinAssignment_3_1_0_2; }
+
+ //NumberLiteral
+ public RuleCall getMinNumberLiteralParserRuleCall_3_1_0_2_0() { return cMinNumberLiteralParserRuleCall_3_1_0_2_0; }
+
+ //("max" "=" max=NumberLiteral)?
+ public Group getGroup_3_1_1() { return cGroup_3_1_1; }
+
+ //"max"
+ public Keyword getMaxKeyword_3_1_1_0() { return cMaxKeyword_3_1_1_0; }
+
+ //"="
+ public Keyword getEqualsSignKeyword_3_1_1_1() { return cEqualsSignKeyword_3_1_1_1; }
+
+ //max=NumberLiteral
+ public Assignment getMaxAssignment_3_1_1_2() { return cMaxAssignment_3_1_1_2; }
+
+ //NumberLiteral
+ public RuleCall getMaxNumberLiteralParserRuleCall_3_1_1_2_0() { return cMaxNumberLiteralParserRuleCall_3_1_1_2_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_3_2() { return cRightCurlyBracketKeyword_3_2; }
+ }
+
+ public class AttrInstanceConfigElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttrInstanceConfig");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cAttrKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cAttributeAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cAttributeAttributeCrossReference_1_0 = (CrossReference)cAttributeAssignment_1.eContents().get(0);
+ private final RuleCall cAttributeAttributeIDTerminalRuleCall_1_0_1 = (RuleCall)cAttributeAttributeCrossReference_1_0.eContents().get(1);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cEqualsSignKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Assignment cValueAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+ private final RuleCall cValueLiteralParserRuleCall_2_1_0 = (RuleCall)cValueAssignment_2_1.eContents().get(0);
+
+ //AttrInstanceConfig:
+ // "attr" attribute=[room::Attribute] ("=" value=Literal)?;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //"attr" attribute=[room::Attribute] ("=" value=Literal)?
+ public Group getGroup() { return cGroup; }
+
+ //"attr"
+ public Keyword getAttrKeyword_0() { return cAttrKeyword_0; }
+
+ //attribute=[room::Attribute]
+ public Assignment getAttributeAssignment_1() { return cAttributeAssignment_1; }
+
+ //[room::Attribute]
+ public CrossReference getAttributeAttributeCrossReference_1_0() { return cAttributeAttributeCrossReference_1_0; }
+
+ //ID
+ public RuleCall getAttributeAttributeIDTerminalRuleCall_1_0_1() { return cAttributeAttributeIDTerminalRuleCall_1_0_1; }
+
+ //("=" value=Literal)?
+ public Group getGroup_2() { return cGroup_2; }
+
+ //"="
+ public Keyword getEqualsSignKeyword_2_0() { return cEqualsSignKeyword_2_0; }
+
+ //value=Literal
+ public Assignment getValueAssignment_2_1() { return cValueAssignment_2_1; }
+
+ //Literal
+ public RuleCall getValueLiteralParserRuleCall_2_1_0() { return cValueLiteralParserRuleCall_2_1_0; }
+ }
+
+ public class RefPathElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RefPath");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cRefsAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cRefsIDTerminalRuleCall_0_0 = (RuleCall)cRefsAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cSolidusKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cRefsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cRefsIDTerminalRuleCall_1_1_0 = (RuleCall)cRefsAssignment_1_1.eContents().get(0);
+
+ /// *
+ // * Proposal:
+ // * for ActorInstanceConfig
+ // * / RefPath:
+ // refs+=ID ("/" refs+=ID)*;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //refs+=ID ("/" refs+=ID)*
+ public Group getGroup() { return cGroup; }
+
+ //refs+=ID
+ public Assignment getRefsAssignment_0() { return cRefsAssignment_0; }
+
+ //ID
+ public RuleCall getRefsIDTerminalRuleCall_0_0() { return cRefsIDTerminalRuleCall_0_0; }
+
+ //("/" refs+=ID)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"/"
+ public Keyword getSolidusKeyword_1_0() { return cSolidusKeyword_1_0; }
+
+ //refs+=ID
+ public Assignment getRefsAssignment_1_1() { return cRefsAssignment_1_1; }
+
+ //ID
+ public RuleCall getRefsIDTerminalRuleCall_1_1_0() { return cRefsIDTerminalRuleCall_1_1_0; }
+ }
+
+ public class ImportElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Import");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
+ private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
+ private final Assignment cImportedNamespaceAssignment_1_0_0 = (Assignment)cGroup_1_0.eContents().get(0);
+ private final RuleCall cImportedNamespaceImportedFQNParserRuleCall_1_0_0_0 = (RuleCall)cImportedNamespaceAssignment_1_0_0.eContents().get(0);
+ private final Keyword cFromKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1);
+ private final Keyword cModelKeyword_1_1 = (Keyword)cAlternatives_1.eContents().get(1);
+ private final Assignment cImportURIAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cImportURISTRINGTerminalRuleCall_2_0 = (RuleCall)cImportURIAssignment_2.eContents().get(0);
+
+ //// -------------------- from org.eclipse.etrice.core.Room.xtext ---------------
+ //Import:
+ // "import" (importedNamespace=ImportedFQN "from" | "model") importURI=STRING;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //"import" (importedNamespace=ImportedFQN "from" | "model") importURI=STRING
+ public Group getGroup() { return cGroup; }
+
+ //"import"
+ public Keyword getImportKeyword_0() { return cImportKeyword_0; }
+
+ //importedNamespace=ImportedFQN "from" | "model"
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //importedNamespace=ImportedFQN "from"
+ public Group getGroup_1_0() { return cGroup_1_0; }
+
+ //importedNamespace=ImportedFQN
+ public Assignment getImportedNamespaceAssignment_1_0_0() { return cImportedNamespaceAssignment_1_0_0; }
+
+ //ImportedFQN
+ public RuleCall getImportedNamespaceImportedFQNParserRuleCall_1_0_0_0() { return cImportedNamespaceImportedFQNParserRuleCall_1_0_0_0; }
+
+ //"from"
+ public Keyword getFromKeyword_1_0_1() { return cFromKeyword_1_0_1; }
+
+ //"model"
+ public Keyword getModelKeyword_1_1() { return cModelKeyword_1_1; }
+
+ //importURI=STRING
+ public Assignment getImportURIAssignment_2() { return cImportURIAssignment_2; }
+
+ //STRING
+ public RuleCall getImportURISTRINGTerminalRuleCall_2_0() { return cImportURISTRINGTerminalRuleCall_2_0; }
+ }
+
+ public class ImportedFQNElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ImportedFQN");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final RuleCall cFQNParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+ private final Keyword cFullStopAsteriskKeyword_1 = (Keyword)cGroup.eContents().get(1);
+
+ //ImportedFQN:
+ // FQN ".*"?;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //FQN ".*"?
+ public Group getGroup() { return cGroup; }
+
+ //FQN
+ public RuleCall getFQNParserRuleCall_0() { return cFQNParserRuleCall_0; }
+
+ //".*"?
+ public Keyword getFullStopAsteriskKeyword_1() { return cFullStopAsteriskKeyword_1; }
+ }
+
+ public class FQNElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FQN");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final RuleCall cIDTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
+
+ //FQN:
+ // ID ("." ID)*;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //ID ("." ID)*
+ public Group getGroup() { return cGroup; }
+
+ //ID
+ public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; }
+
+ //("." ID)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"."
+ public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
+
+ //ID
+ public RuleCall getIDTerminalRuleCall_1_1() { return cIDTerminalRuleCall_1_1; }
+ }
+
+ public class LiteralElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Literal");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cBooleanLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cNumberLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cStringLiteralParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+
+ //// -----------------------------------------------------------------------------
+ ////enum Unit:
+ //// N|
+ //// W|
+ //// S = 's'|
+ //// KG = 'kg'|
+ //// M = 'm'|
+ //// C|
+ //// NM|
+ //// RPM|
+ //// V|
+ //// A|
+ //// HZ = 'Hz'|
+ //// KW
+ ////;
+ //// Value Types for Attributes
+ //Literal:
+ // BooleanLiteral | NumberLiteral | StringLiteral;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //BooleanLiteral | NumberLiteral | StringLiteral
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //BooleanLiteral
+ public RuleCall getBooleanLiteralParserRuleCall_0() { return cBooleanLiteralParserRuleCall_0; }
+
+ //NumberLiteral
+ public RuleCall getNumberLiteralParserRuleCall_1() { return cNumberLiteralParserRuleCall_1; }
+
+ //StringLiteral
+ public RuleCall getStringLiteralParserRuleCall_2() { return cStringLiteralParserRuleCall_2; }
+ }
+
+ public class BooleanLiteralElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BooleanLiteral");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cBooleanLiteralAction_0 = (Action)cGroup.eContents().get(0);
+ private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
+ private final Keyword cFalseKeyword_1_0 = (Keyword)cAlternatives_1.eContents().get(0);
+ private final Assignment cIsTrueAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1);
+ private final Keyword cIsTrueTrueKeyword_1_1_0 = (Keyword)cIsTrueAssignment_1_1.eContents().get(0);
+
+ //BooleanLiteral:
+ // {BooleanLiteral} ("false" | isTrue?="true");
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //{BooleanLiteral} ("false" | isTrue?="true")
+ public Group getGroup() { return cGroup; }
+
+ //{BooleanLiteral}
+ public Action getBooleanLiteralAction_0() { return cBooleanLiteralAction_0; }
+
+ //"false" | isTrue?="true"
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //"false"
+ public Keyword getFalseKeyword_1_0() { return cFalseKeyword_1_0; }
+
+ //isTrue?="true"
+ public Assignment getIsTrueAssignment_1_1() { return cIsTrueAssignment_1_1; }
+
+ //"true"
+ public Keyword getIsTrueTrueKeyword_1_1_0() { return cIsTrueTrueKeyword_1_1_0; }
+ }
+
+ public class NumberLiteralElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NumberLiteral");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cIntLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cRealLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //NumberLiteral:
+ // IntLiteral | RealLiteral;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //IntLiteral | RealLiteral
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //IntLiteral
+ public RuleCall getIntLiteralParserRuleCall_0() { return cIntLiteralParserRuleCall_0; }
+
+ //RealLiteral
+ public RuleCall getRealLiteralParserRuleCall_1() { return cRealLiteralParserRuleCall_1; }
+ }
+
+ public class RealLiteralElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RealLiteral");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cRealLiteralAction_0 = (Action)cGroup.eContents().get(0);
+ private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cValueRealParserRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0);
+
+ //RealLiteral:
+ // {RealLiteral} value=Real;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //{RealLiteral} value=Real
+ public Group getGroup() { return cGroup; }
+
+ //{RealLiteral}
+ public Action getRealLiteralAction_0() { return cRealLiteralAction_0; }
+
+ //value=Real
+ public Assignment getValueAssignment_1() { return cValueAssignment_1; }
+
+ //Real
+ public RuleCall getValueRealParserRuleCall_1_0() { return cValueRealParserRuleCall_1_0; }
+ }
+
+ public class IntLiteralElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "IntLiteral");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cIntLiteralAction_0 = (Action)cGroup.eContents().get(0);
+ private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cValueIntegerParserRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0);
+
+ //IntLiteral:
+ // {IntLiteral} value=Integer;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //{IntLiteral} value=Integer
+ public Group getGroup() { return cGroup; }
+
+ //{IntLiteral}
+ public Action getIntLiteralAction_0() { return cIntLiteralAction_0; }
+
+ //value=Integer
+ public Assignment getValueAssignment_1() { return cValueAssignment_1; }
+
+ //Integer
+ public RuleCall getValueIntegerParserRuleCall_1_0() { return cValueIntegerParserRuleCall_1_0; }
+ }
+
+ public class StringLiteralElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StringLiteral");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cStringLiteralAction_0 = (Action)cGroup.eContents().get(0);
+ private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cValueSTRINGTerminalRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0);
+
+ //StringLiteral:
+ // {StringLiteral} value=STRING;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //{StringLiteral} value=STRING
+ public Group getGroup() { return cGroup; }
+
+ //{StringLiteral}
+ public Action getStringLiteralAction_0() { return cStringLiteralAction_0; }
+
+ //value=STRING
+ public Assignment getValueAssignment_1() { return cValueAssignment_1; }
+
+ //STRING
+ public RuleCall getValueSTRINGTerminalRuleCall_1_0() { return cValueSTRINGTerminalRuleCall_1_0; }
+ }
+
+ public class IntegerElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Integer");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cSignedIntegerParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cHexadecimalParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //Integer returns ecore::EInt:
+ // SignedInteger | Hexadecimal;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //SignedInteger | Hexadecimal
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //SignedInteger
+ public RuleCall getSignedIntegerParserRuleCall_0() { return cSignedIntegerParserRuleCall_0; }
+
+ //Hexadecimal
+ public RuleCall getHexadecimalParserRuleCall_1() { return cHexadecimalParserRuleCall_1; }
+ }
+
+ public class SignedIntegerElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SignedInteger");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
+ private final Keyword cPlusSignKeyword_0_0 = (Keyword)cAlternatives_0.eContents().get(0);
+ private final Keyword cHyphenMinusKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
+ private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
+
+ //SignedInteger hidden():
+ // ("+" | "-")? INT;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //("+" | "-")? INT
+ public Group getGroup() { return cGroup; }
+
+ //("+" | "-")?
+ public Alternatives getAlternatives_0() { return cAlternatives_0; }
+
+ //"+"
+ public Keyword getPlusSignKeyword_0_0() { return cPlusSignKeyword_0_0; }
+
+ //"-"
+ public Keyword getHyphenMinusKeyword_0_1() { return cHyphenMinusKeyword_0_1; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
+ }
+
+ public class HexadecimalElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Hexadecimal");
+ private final RuleCall cHEXTerminalRuleCall = (RuleCall)rule.eContents().get(1);
+
+ //Hexadecimal hidden():
+ // HEX;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //HEX
+ public RuleCall getHEXTerminalRuleCall() { return cHEXTerminalRuleCall; }
+ }
+
+ public class RealElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Real");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cDecimalParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cDotDecimalParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cDecimalDotParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+ private final RuleCall cDecimalExpParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
+
+ //Real returns ecore::EDouble:
+ // Decimal | DotDecimal | DecimalDot | DecimalExp;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //Decimal | DotDecimal | DecimalDot | DecimalExp
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //Decimal
+ public RuleCall getDecimalParserRuleCall_0() { return cDecimalParserRuleCall_0; }
+
+ //DotDecimal
+ public RuleCall getDotDecimalParserRuleCall_1() { return cDotDecimalParserRuleCall_1; }
+
+ //DecimalDot
+ public RuleCall getDecimalDotParserRuleCall_2() { return cDecimalDotParserRuleCall_2; }
+
+ //DecimalExp
+ public RuleCall getDecimalExpParserRuleCall_3() { return cDecimalExpParserRuleCall_3; }
+ }
+
+ public class DecimalElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Decimal");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
+ private final Keyword cPlusSignKeyword_0_0 = (Keyword)cAlternatives_0.eContents().get(0);
+ private final Keyword cHyphenMinusKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
+ private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
+ private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final RuleCall cINTTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
+
+ //Decimal hidden():
+ // ("+" | "-")? INT "." INT;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //("+" | "-")? INT "." INT
+ public Group getGroup() { return cGroup; }
+
+ //("+" | "-")?
+ public Alternatives getAlternatives_0() { return cAlternatives_0; }
+
+ //"+"
+ public Keyword getPlusSignKeyword_0_0() { return cPlusSignKeyword_0_0; }
+
+ //"-"
+ public Keyword getHyphenMinusKeyword_0_1() { return cHyphenMinusKeyword_0_1; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
+
+ //"."
+ public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_3() { return cINTTerminalRuleCall_3; }
+ }
+
+ public class DotDecimalElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DotDecimal");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
+ private final Keyword cPlusSignKeyword_0_0 = (Keyword)cAlternatives_0.eContents().get(0);
+ private final Keyword cHyphenMinusKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
+ private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final RuleCall cINTTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
+
+ //DotDecimal hidden():
+ // ("+" | "-")? "." INT;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //("+" | "-")? "." INT
+ public Group getGroup() { return cGroup; }
+
+ //("+" | "-")?
+ public Alternatives getAlternatives_0() { return cAlternatives_0; }
+
+ //"+"
+ public Keyword getPlusSignKeyword_0_0() { return cPlusSignKeyword_0_0; }
+
+ //"-"
+ public Keyword getHyphenMinusKeyword_0_1() { return cHyphenMinusKeyword_0_1; }
+
+ //"."
+ public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_2() { return cINTTerminalRuleCall_2; }
+ }
+
+ public class DecimalDotElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DecimalDot");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
+ private final Keyword cPlusSignKeyword_0_0 = (Keyword)cAlternatives_0.eContents().get(0);
+ private final Keyword cHyphenMinusKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
+ private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
+ private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
+
+ //DecimalDot hidden():
+ // ("+" | "-")? INT ".";
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //("+" | "-")? INT "."
+ public Group getGroup() { return cGroup; }
+
+ //("+" | "-")?
+ public Alternatives getAlternatives_0() { return cAlternatives_0; }
+
+ //"+"
+ public Keyword getPlusSignKeyword_0_0() { return cPlusSignKeyword_0_0; }
+
+ //"-"
+ public Keyword getHyphenMinusKeyword_0_1() { return cHyphenMinusKeyword_0_1; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
+
+ //"."
+ public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; }
+ }
+
+ public class DecimalExpElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DecimalExp");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
+ private final Keyword cPlusSignKeyword_0_0 = (Keyword)cAlternatives_0.eContents().get(0);
+ private final Keyword cHyphenMinusKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
+ private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
+ private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final RuleCall cINTTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
+ private final RuleCall cIDTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4);
+ private final Alternatives cAlternatives_5 = (Alternatives)cGroup.eContents().get(5);
+ private final Keyword cPlusSignKeyword_5_0 = (Keyword)cAlternatives_5.eContents().get(0);
+ private final Keyword cHyphenMinusKeyword_5_1 = (Keyword)cAlternatives_5.eContents().get(1);
+ private final RuleCall cINTTerminalRuleCall_6 = (RuleCall)cGroup.eContents().get(6);
+
+ //DecimalExp hidden():
+ // ("+" | "-")? INT "." INT ID ("+" | "-")? INT;
+ @Override
+ public ParserRule getRule() { return rule; }
+
+ //("+" | "-")? INT "." INT ID ("+" | "-")? INT
+ public Group getGroup() { return cGroup; }
+
+ //("+" | "-")?
+ public Alternatives getAlternatives_0() { return cAlternatives_0; }
+
+ //"+"
+ public Keyword getPlusSignKeyword_0_0() { return cPlusSignKeyword_0_0; }
+
+ //"-"
+ public Keyword getHyphenMinusKeyword_0_1() { return cHyphenMinusKeyword_0_1; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
+
+ //"."
+ public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_3() { return cINTTerminalRuleCall_3; }
+
+ //ID
+ public RuleCall getIDTerminalRuleCall_4() { return cIDTerminalRuleCall_4; }
+
+ //("+" | "-")?
+ public Alternatives getAlternatives_5() { return cAlternatives_5; }
+
+ //"+"
+ public Keyword getPlusSignKeyword_5_0() { return cPlusSignKeyword_5_0; }
+
+ //"-"
+ public Keyword getHyphenMinusKeyword_5_1() { return cHyphenMinusKeyword_5_1; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_6() { return cINTTerminalRuleCall_6; }
}
private ConfigModelElements pConfigModel;
+ private ConfigElementElements pConfigElement;
private ActorClassConfigElements pActorClassConfig;
private ActorInstanceConfigElements pActorInstanceConfig;
+ private AttrConfigElements pAttrConfig;
+ private AttrClassConfigElements pAttrClassConfig;
+ private AttrInstanceConfigElements pAttrInstanceConfig;
+ private RefPathElements pRefPath;
+ private ImportElements pImport;
+ private ImportedFQNElements pImportedFQN;
+ private FQNElements pFQN;
+ private LiteralElements pLiteral;
+ private BooleanLiteralElements pBooleanLiteral;
+ private NumberLiteralElements pNumberLiteral;
+ private RealLiteralElements pRealLiteral;
+ private IntLiteralElements pIntLiteral;
+ private StringLiteralElements pStringLiteral;
+ private IntegerElements pInteger;
+ private SignedIntegerElements pSignedInteger;
+ private HexadecimalElements pHexadecimal;
+ private RealElements pReal;
+ private DecimalElements pDecimal;
+ private DotDecimalElements pDotDecimal;
+ private DecimalDotElements pDecimalDot;
+ private DecimalExpElements pDecimalExp;
+ private TerminalRule tHEX;
private final GrammarProvider grammarProvider;
@@ -125,6 +962,7 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
this.gaTerminals = gaTerminals;
}
+ @Override
public Grammar getGrammar() {
return grammarProvider.getGrammar(this);
}
@@ -135,8 +973,11 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
}
- //ConfigModel:
- // actorClassConfigs+=ActorClassConfig* actorInstanceConfigs+=ActorInstanceConfig*;
+ /// *
+ // * Postprocessor:
+ // * getActor(Class|Instance)Config()
+ // * / ConfigModel:
+ // imports+=Import* configElements+=ConfigElement*;
public ConfigModelElements getConfigModelAccess() {
return (pConfigModel != null) ? pConfigModel : (pConfigModel = new ConfigModelElements());
}
@@ -145,8 +986,21 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
return getConfigModelAccess().getRule();
}
- //ActorClassConfig:
- // "ActorClassConfig" actorClass=[room::ActorClass] "{" "}";
+ //ConfigElement:
+ // ActorClassConfig | ActorInstanceConfig;
+ public ConfigElementElements getConfigElementAccess() {
+ return (pConfigElement != null) ? pConfigElement : (pConfigElement = new ConfigElementElements());
+ }
+
+ public ParserRule getConfigElementRule() {
+ return getConfigElementAccess().getRule();
+ }
+
+ /// *
+ // * Validation:
+ // * duplicates config, attributes
+ // * / ActorClassConfig:
+ // "ActorClassConfig" actor=[room::ActorClass|FQN] "{" attributes+=AttrClassConfig* "}";
public ActorClassConfigElements getActorClassConfigAccess() {
return (pActorClassConfig != null) ? pActorClassConfig : (pActorClassConfig = new ActorClassConfigElements());
}
@@ -155,12 +1009,14 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
return getActorClassConfigAccess().getRule();
}
- //// ActorInstanceConfig MySS.AR1.AR2 {
- //// min = 1
- //// max = 5
- //// }
- //ActorInstanceConfig:
- // "ActorInstanceConfig" / * root=[room::SubSystemClass|FQN] '/' path=RefPath * / "{" "}";
+ /// *
+ // * Validation:
+ // * duplicates config, attributes
+ // * valid instance reference
+ // * Proposal:
+ // * attributes
+ // * / ActorInstanceConfig:
+ // "ActorInstanceConfig" root=[room::SubSystemClass|FQN] "/" path=RefPath "{" attributes+=AttrInstanceConfig* "}";
public ActorInstanceConfigElements getActorInstanceConfigAccess() {
return (pActorInstanceConfig != null) ? pActorInstanceConfig : (pActorInstanceConfig = new ActorInstanceConfigElements());
}
@@ -169,6 +1025,256 @@ public class ConfigGrammarAccess extends AbstractGrammarElementFinder {
return getActorInstanceConfigAccess().getRule();
}
+ /// *
+ // * Validation:
+ // * correct value type
+ // * Proposal:
+ // * correct Literal
+ // * / AttrConfig:
+ // AttrClassConfig | AttrInstanceConfig;
+ public AttrConfigElements getAttrConfigAccess() {
+ return (pAttrConfig != null) ? pAttrConfig : (pAttrConfig = new AttrConfigElements());
+ }
+
+ public ParserRule getAttrConfigRule() {
+ return getAttrConfigAccess().getRule();
+ }
+
+ /// *
+ // * Validation:
+ // * correct min, max type + available
+ // * min <= value <= max
+ // * if !value -> min <= attribute.defaultValue <= max
+ // *
+ // * / AttrClassConfig:
+ // "attr" attribute=[room::Attribute] ("=" value=Literal)? ("{" (("min" "=" min=NumberLiteral)? & ("max" "="
+ // max=NumberLiteral)?) "}")?;
+ public AttrClassConfigElements getAttrClassConfigAccess() {
+ return (pAttrClassConfig != null) ? pAttrClassConfig : (pAttrClassConfig = new AttrClassConfigElements());
+ }
+
+ public ParserRule getAttrClassConfigRule() {
+ return getAttrClassConfigAccess().getRule();
+ }
+
+ //AttrInstanceConfig:
+ // "attr" attribute=[room::Attribute] ("=" value=Literal)?;
+ public AttrInstanceConfigElements getAttrInstanceConfigAccess() {
+ return (pAttrInstanceConfig != null) ? pAttrInstanceConfig : (pAttrInstanceConfig = new AttrInstanceConfigElements());
+ }
+
+ public ParserRule getAttrInstanceConfigRule() {
+ return getAttrInstanceConfigAccess().getRule();
+ }
+
+ /// *
+ // * Proposal:
+ // * for ActorInstanceConfig
+ // * / RefPath:
+ // refs+=ID ("/" refs+=ID)*;
+ public RefPathElements getRefPathAccess() {
+ return (pRefPath != null) ? pRefPath : (pRefPath = new RefPathElements());
+ }
+
+ public ParserRule getRefPathRule() {
<