diff --git a/src/languages/de.evoal.languages.model.base/model/model.ecore b/src/languages/de.evoal.languages.model.base/model/model.ecore index 143ea8c7fd535e929019f7c39d0e479131ce872a..469ab870e1b05ce719786f6787d81df6c09a3c2d 100644 --- a/src/languages/de.evoal.languages.model.base/model/model.ecore +++ b/src/languages/de.evoal.languages.model.base/model/model.ecore @@ -379,6 +379,12 @@ eType="#//Value" containment="true"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Instance" eSuperTypes="#//Literal"> + <eOperations name="findAttribute" eType="#//Attribute"> + <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> + <details key="body" value="return this.getAttributes()
 .stream()
 .filter(n -> name.equals(n.getDefinition().getName()))
 .findFirst()
 .orElse(null);"/> + </eAnnotations> + <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eOperations> <eStructuralFeatures xsi:type="ecore:EReference" name="definition" lowerBound="1" eType="#//TypeDefinition"/> <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1" diff --git a/src/languages/de.evoal.languages.model.base/model/model.genmodel b/src/languages/de.evoal.languages.model.base/model/model.genmodel index 6024b206f035ce588411784e6198a4fac514882d..4ef979ffcfb5f4719a484787e30100c08224d74a 100644 --- a/src/languages/de.evoal.languages.model.base/model/model.genmodel +++ b/src/languages/de.evoal.languages.model.base/model/model.genmodel @@ -173,6 +173,9 @@ <genClasses ecoreClass="model.ecore#//Instance"> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model.ecore#//Instance/definition"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model.ecore#//Instance/attributes"/> + <genOperations ecoreOperation="model.ecore#//Instance/findAttribute" body="return this.getAttributes()
 .stream()
 .filter(n -> name.equals(n.getDefinition().getName()))
 .findFirst()
 .orElse(null);"> + <genParameters ecoreParameter="model.ecore#//Instance/findAttribute/name"/> + </genOperations> </genClasses> <genClasses ecoreClass="model.ecore#//Attribute"> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference model.ecore#//Attribute/definition"/> diff --git a/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/BasePackage.java b/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/BasePackage.java index 1e825e035b5a010a3401d7110fac150fba7d4ed2..fe39e80e4d3cea2efa4c75f5cb0b9daebb37d967 100644 --- a/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/BasePackage.java +++ b/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/BasePackage.java @@ -1748,6 +1748,15 @@ public interface BasePackage extends EPackage { */ int INSTANCE___GET_VALUE = LITERAL___GET_VALUE; + /** + * The operation id for the '<em>Find Attribute</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int INSTANCE___FIND_ATTRIBUTE__STRING = LITERAL_OPERATION_COUNT + 0; + /** * The number of operations of the '<em>Instance</em>' class. * <!-- begin-user-doc --> @@ -1755,7 +1764,7 @@ public interface BasePackage extends EPackage { * @generated * @ordered */ - int INSTANCE_OPERATION_COUNT = LITERAL_OPERATION_COUNT + 0; + int INSTANCE_OPERATION_COUNT = LITERAL_OPERATION_COUNT + 1; /** * The meta object id for the '{@link de.evoal.languages.model.base.impl.AttributeImpl <em>Attribute</em>}' class. @@ -2853,6 +2862,16 @@ public interface BasePackage extends EPackage { */ EReference getInstance_Attributes(); + /** + * Returns the meta object for the '{@link de.evoal.languages.model.base.Instance#findAttribute(java.lang.String) <em>Find Attribute</em>}' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the '<em>Find Attribute</em>' operation. + * @see de.evoal.languages.model.base.Instance#findAttribute(java.lang.String) + * @generated + */ + EOperation getInstance__FindAttribute__String(); + /** * Returns the meta object for class '{@link de.evoal.languages.model.base.Attribute <em>Attribute</em>}'. * <!-- begin-user-doc --> @@ -3800,6 +3819,14 @@ public interface BasePackage extends EPackage { */ EReference INSTANCE__ATTRIBUTES = eINSTANCE.getInstance_Attributes(); + /** + * The meta object literal for the '<em><b>Find Attribute</b></em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EOperation INSTANCE___FIND_ATTRIBUTE__STRING = eINSTANCE.getInstance__FindAttribute__String(); + /** * The meta object literal for the '{@link de.evoal.languages.model.base.impl.AttributeImpl <em>Attribute</em>}' class. * <!-- begin-user-doc --> diff --git a/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/Instance.java b/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/Instance.java index 9c77064922d8279928ca90721cc335b6c2b6c51e..507ec681c3af13bed06a375aec86f14107194733 100644 --- a/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/Instance.java +++ b/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/Instance.java @@ -56,4 +56,12 @@ public interface Instance extends Literal { */ EList<Attribute> getAttributes(); + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model nameRequired="true" + * @generated + */ + Attribute findAttribute(String name); + } // Instance diff --git a/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/impl/BasePackageImpl.java b/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/impl/BasePackageImpl.java index 4266a5e443f6ae8a716889907d37f4cdb6e429aa..494860c82fc29a1bc627a6d2f0c4dab965922beb 100644 --- a/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/impl/BasePackageImpl.java +++ b/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/impl/BasePackageImpl.java @@ -1417,6 +1417,16 @@ public class BasePackageImpl extends EPackageImpl implements BasePackage { return (EReference)instanceEClass.getEStructuralFeatures().get(1); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EOperation getInstance__FindAttribute__String() { + return instanceEClass.getEOperations().get(0); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1653,6 +1663,7 @@ public class BasePackageImpl extends EPackageImpl implements BasePackage { instanceEClass = createEClass(INSTANCE); createEReference(instanceEClass, INSTANCE__DEFINITION); createEReference(instanceEClass, INSTANCE__ATTRIBUTES); + createEOperation(instanceEClass, INSTANCE___FIND_ATTRIBUTE__STRING); attributeEClass = createEClass(ATTRIBUTE); createEReference(attributeEClass, ATTRIBUTE__DEFINITION); @@ -1862,6 +1873,9 @@ public class BasePackageImpl extends EPackageImpl implements BasePackage { initEReference(getInstance_Definition(), this.getTypeDefinition(), null, "definition", null, 1, 1, Instance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getInstance_Attributes(), this.getAttribute(), null, "attributes", null, 0, -1, Instance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + EOperation op = initEOperation(getInstance__FindAttribute__String(), this.getAttribute(), "findAttribute", 0, 1, IS_UNIQUE, IS_ORDERED); + addEParameter(op, ecorePackage.getEString(), "name", 1, 1, IS_UNIQUE, IS_ORDERED); + initEClass(attributeEClass, Attribute.class, "Attribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getAttribute_Definition(), this.getAttributeDefinition(), null, "definition", null, 1, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getAttribute_Value(), this.getValue(), null, "value", null, 0, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); diff --git a/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/impl/InstanceImpl.java b/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/impl/InstanceImpl.java index 2235356f70392cc5fc12bd30428d2acf7d4b8925..91206e2e8d7960cb5ccc8ea60327393691a5feb9 100644 --- a/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/impl/InstanceImpl.java +++ b/src/languages/de.evoal.languages.model.base/src-gen/de/evoal/languages/model/base/impl/InstanceImpl.java @@ -7,6 +7,7 @@ import de.evoal.languages.model.base.BasePackage; import de.evoal.languages.model.base.Instance; import de.evoal.languages.model.base.TypeDefinition; +import java.lang.reflect.InvocationTargetException; import java.util.Collection; import org.eclipse.emf.common.notify.Notification; @@ -129,6 +130,20 @@ public class InstanceImpl extends LiteralImpl implements Instance { return attributes; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Attribute findAttribute(final String name) { + return this.getAttributes() + .stream() + .filter(n -> name.equals(n.getDefinition().getName())) + .findFirst() + .orElse(null); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -214,4 +229,18 @@ public class InstanceImpl extends LiteralImpl implements Instance { return super.eIsSet(featureID); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException { + switch (operationID) { + case BasePackage.INSTANCE___FIND_ATTRIBUTE__STRING: + return findAttribute((String)arguments.get(0)); + } + return super.eInvoke(operationID, arguments); + } + } //InstanceImpl diff --git a/src/languages/de.evoal.languages.model.ddl.dsl.ide/src-gen/de/evoal/languages/model/ddl/dsl/ide/contentassist/antlr/internal/InternalDataDescriptionLanguage.g b/src/languages/de.evoal.languages.model.ddl.dsl.ide/src-gen/de/evoal/languages/model/ddl/dsl/ide/contentassist/antlr/internal/InternalDataDescriptionLanguage.g index 6e7ddd221d74618f635b2ab52dfc07a6e0ad3322..550279cd638e144c85e01422606c261ed2f43af8 100644 --- a/src/languages/de.evoal.languages.model.ddl.dsl.ide/src-gen/de/evoal/languages/model/ddl/dsl/ide/contentassist/antlr/internal/InternalDataDescriptionLanguage.g +++ b/src/languages/de.evoal.languages.model.ddl.dsl.ide/src-gen/de/evoal/languages/model/ddl/dsl/ide/contentassist/antlr/internal/InternalDataDescriptionLanguage.g @@ -6512,9 +6512,9 @@ rule__DataReferenceRule__DefinitionAssignment ( { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_0()); } ( - { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_0_1()); } - ruleStringOrId - { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_0_1()); } + { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_0_1()); } + ruleQualifiedName + { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_0_1()); } ) { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_0()); } ) diff --git a/src/languages/de.evoal.languages.model.ddl.dsl.ide/src-gen/de/evoal/languages/model/ddl/dsl/ide/contentassist/antlr/internal/InternalDataDescriptionLanguageParser.java b/src/languages/de.evoal.languages.model.ddl.dsl.ide/src-gen/de/evoal/languages/model/ddl/dsl/ide/contentassist/antlr/internal/InternalDataDescriptionLanguageParser.java index f7c5e037d746dd90d5ad60568b869f2cfb211df4..e8571f0ebfaf0ee66f2725a35d92e94dba3031f2 100644 --- a/src/languages/de.evoal.languages.model.ddl.dsl.ide/src-gen/de/evoal/languages/model/ddl/dsl/ide/contentassist/antlr/internal/InternalDataDescriptionLanguageParser.java +++ b/src/languages/de.evoal.languages.model.ddl.dsl.ide/src-gen/de/evoal/languages/model/ddl/dsl/ide/contentassist/antlr/internal/InternalDataDescriptionLanguageParser.java @@ -21575,34 +21575,34 @@ public class InternalDataDescriptionLanguageParser extends AbstractInternalConte // $ANTLR start "rule__DataReferenceRule__DefinitionAssignment" - // InternalDataDescriptionLanguage.g:6507:1: rule__DataReferenceRule__DefinitionAssignment : ( ( ruleStringOrId ) ) ; + // InternalDataDescriptionLanguage.g:6507:1: rule__DataReferenceRule__DefinitionAssignment : ( ( ruleQualifiedName ) ) ; public final void rule__DataReferenceRule__DefinitionAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalDataDescriptionLanguage.g:6511:1: ( ( ( ruleStringOrId ) ) ) - // InternalDataDescriptionLanguage.g:6512:2: ( ( ruleStringOrId ) ) + // InternalDataDescriptionLanguage.g:6511:1: ( ( ( ruleQualifiedName ) ) ) + // InternalDataDescriptionLanguage.g:6512:2: ( ( ruleQualifiedName ) ) { - // InternalDataDescriptionLanguage.g:6512:2: ( ( ruleStringOrId ) ) - // InternalDataDescriptionLanguage.g:6513:3: ( ruleStringOrId ) + // InternalDataDescriptionLanguage.g:6512:2: ( ( ruleQualifiedName ) ) + // InternalDataDescriptionLanguage.g:6513:3: ( ruleQualifiedName ) { if ( state.backtracking==0 ) { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_0()); } - // InternalDataDescriptionLanguage.g:6514:3: ( ruleStringOrId ) - // InternalDataDescriptionLanguage.g:6515:4: ruleStringOrId + // InternalDataDescriptionLanguage.g:6514:3: ( ruleQualifiedName ) + // InternalDataDescriptionLanguage.g:6515:4: ruleQualifiedName { if ( state.backtracking==0 ) { - before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_0_1()); + before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_0_1()); } pushFollow(FOLLOW_2); - ruleStringOrId(); + ruleQualifiedName(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_0_1()); + after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_0_1()); } } diff --git a/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/DataDescriptionLanguage.xtextbin b/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/DataDescriptionLanguage.xtextbin index 6f1de12b50f4d21b13f420db20e115c29dcdb209..510e4bcf0dcf13beffa7c34ea655c448582e666a 100644 Binary files a/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/DataDescriptionLanguage.xtextbin and b/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/DataDescriptionLanguage.xtextbin differ diff --git a/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/parser/antlr/internal/InternalDataDescriptionLanguage.g b/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/parser/antlr/internal/InternalDataDescriptionLanguage.g index 27d7392dce29ca6c107fb926f8a9e35c7b761dfa..d4e93bf36c898516939f85ce58edf38173a174c4 100644 --- a/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/parser/antlr/internal/InternalDataDescriptionLanguage.g +++ b/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/parser/antlr/internal/InternalDataDescriptionLanguage.g @@ -806,7 +806,7 @@ ruleDataReferenceRule returns [EObject current=null] { newCompositeNode(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_0()); } - ruleStringOrId + ruleQualifiedName { afterParserOrEnumRuleCall(); } diff --git a/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/parser/antlr/internal/InternalDataDescriptionLanguageParser.java b/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/parser/antlr/internal/InternalDataDescriptionLanguageParser.java index d82e0bb778fc4fe3ebe8deb05b380fdbad14dd1d..052598b4547294b688ed1539cad2f9c8fc8fb6d4 100644 --- a/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/parser/antlr/internal/InternalDataDescriptionLanguageParser.java +++ b/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/parser/antlr/internal/InternalDataDescriptionLanguageParser.java @@ -2211,7 +2211,7 @@ public class InternalDataDescriptionLanguageParser extends AbstractInternalAntlr // $ANTLR start "ruleDataReferenceRule" - // InternalDataDescriptionLanguage.g:789:1: ruleDataReferenceRule returns [EObject current=null] : ( ( ruleStringOrId ) ) ; + // InternalDataDescriptionLanguage.g:789:1: ruleDataReferenceRule returns [EObject current=null] : ( ( ruleQualifiedName ) ) ; public final EObject ruleDataReferenceRule() throws RecognitionException { EObject current = null; @@ -2219,14 +2219,14 @@ public class InternalDataDescriptionLanguageParser extends AbstractInternalAntlr enterRule(); try { - // InternalDataDescriptionLanguage.g:795:2: ( ( ( ruleStringOrId ) ) ) - // InternalDataDescriptionLanguage.g:796:2: ( ( ruleStringOrId ) ) + // InternalDataDescriptionLanguage.g:795:2: ( ( ( ruleQualifiedName ) ) ) + // InternalDataDescriptionLanguage.g:796:2: ( ( ruleQualifiedName ) ) { - // InternalDataDescriptionLanguage.g:796:2: ( ( ruleStringOrId ) ) - // InternalDataDescriptionLanguage.g:797:3: ( ruleStringOrId ) + // InternalDataDescriptionLanguage.g:796:2: ( ( ruleQualifiedName ) ) + // InternalDataDescriptionLanguage.g:797:3: ( ruleQualifiedName ) { - // InternalDataDescriptionLanguage.g:797:3: ( ruleStringOrId ) - // InternalDataDescriptionLanguage.g:798:4: ruleStringOrId + // InternalDataDescriptionLanguage.g:797:3: ( ruleQualifiedName ) + // InternalDataDescriptionLanguage.g:798:4: ruleQualifiedName { if ( state.backtracking==0 ) { @@ -2246,7 +2246,7 @@ public class InternalDataDescriptionLanguageParser extends AbstractInternalAntlr } pushFollow(FOLLOW_2); - ruleStringOrId(); + ruleQualifiedName(); state._fsp--; if (state.failed) return current; diff --git a/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/serializer/DataDescriptionLanguageSemanticSequencer.java b/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/serializer/DataDescriptionLanguageSemanticSequencer.java index 9b2e91be3a655051a58008bc7cb0aa4e6e0355da..dc8cb1175ccdcc20546afe2f5f90d474f4533c9a 100644 --- a/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/serializer/DataDescriptionLanguageSemanticSequencer.java +++ b/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/serializer/DataDescriptionLanguageSemanticSequencer.java @@ -234,7 +234,7 @@ public class DataDescriptionLanguageSemanticSequencer extends BaseLanguageSemant * ValueRule returns DataReference * * Constraint: - * definition=[DataDescription|StringOrId] + * definition=[DataDescription|QualifiedName] * </pre> */ protected void sequence_DataReferenceRule(ISerializationContext context, DataReference semanticObject) { @@ -243,7 +243,7 @@ public class DataDescriptionLanguageSemanticSequencer extends BaseLanguageSemant errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, DdlPackage.Literals.DATA_REFERENCE__DEFINITION)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_0_1(), semanticObject.eGet(DdlPackage.Literals.DATA_REFERENCE__DEFINITION, false)); + feeder.accept(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_0_1(), semanticObject.eGet(DdlPackage.Literals.DATA_REFERENCE__DEFINITION, false)); feeder.finish(); } diff --git a/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/services/DataDescriptionLanguageGrammarAccess.java b/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/services/DataDescriptionLanguageGrammarAccess.java index f0cac54754451bd8c77cf9a4e17e46a851021ab0..e579cae5330f690545b75119df74d9003b6fce0e 100644 --- a/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/services/DataDescriptionLanguageGrammarAccess.java +++ b/src/languages/de.evoal.languages.model.ddl.dsl/src-gen/de/evoal/languages/model/ddl/dsl/services/DataDescriptionLanguageGrammarAccess.java @@ -475,21 +475,21 @@ public class DataDescriptionLanguageGrammarAccess extends AbstractElementFinder. private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.ddl.dsl.DataDescriptionLanguage.DataReferenceRule"); private final Assignment cDefinitionAssignment = (Assignment)rule.eContents().get(1); private final CrossReference cDefinitionDataDescriptionCrossReference_0 = (CrossReference)cDefinitionAssignment.eContents().get(0); - private final RuleCall cDefinitionDataDescriptionStringOrIdParserRuleCall_0_1 = (RuleCall)cDefinitionDataDescriptionCrossReference_0.eContents().get(1); + private final RuleCall cDefinitionDataDescriptionQualifiedNameParserRuleCall_0_1 = (RuleCall)cDefinitionDataDescriptionCrossReference_0.eContents().get(1); //DataReferenceRule returns DataReference: - // definition = [DataDescription|StringOrId] + // definition = [DataDescription|QualifiedName] //; @Override public ParserRule getRule() { return rule; } - //definition = [DataDescription|StringOrId] + //definition = [DataDescription|QualifiedName] public Assignment getDefinitionAssignment() { return cDefinitionAssignment; } - //[DataDescription|StringOrId] + //[DataDescription|QualifiedName] public CrossReference getDefinitionDataDescriptionCrossReference_0() { return cDefinitionDataDescriptionCrossReference_0; } - //StringOrId - public RuleCall getDefinitionDataDescriptionStringOrIdParserRuleCall_0_1() { return cDefinitionDataDescriptionStringOrIdParserRuleCall_0_1; } + //QualifiedName + public RuleCall getDefinitionDataDescriptionQualifiedNameParserRuleCall_0_1() { return cDefinitionDataDescriptionQualifiedNameParserRuleCall_0_1; } } public class SelfReferenceRuleElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.ddl.dsl.DataDescriptionLanguage.SelfReferenceRule"); @@ -811,7 +811,7 @@ public class DataDescriptionLanguageGrammarAccess extends AbstractElementFinder. } //DataReferenceRule returns DataReference: - // definition = [DataDescription|StringOrId] + // definition = [DataDescription|QualifiedName] //; public DataReferenceRuleElements getDataReferenceRuleAccess() { return pDataReferenceRule; diff --git a/src/languages/de.evoal.languages.model.ddl.dsl/src/de/evoal/languages/model/ddl/dsl/DataDescriptionLanguage.xtext b/src/languages/de.evoal.languages.model.ddl.dsl/src/de/evoal/languages/model/ddl/dsl/DataDescriptionLanguage.xtext index eb7ec246641fd02fdec9603421f2bc5f079f92b2..f1f2bfebed504c6d6f408af0b77919bd2d68ba28 100644 --- a/src/languages/de.evoal.languages.model.ddl.dsl/src/de/evoal/languages/model/ddl/dsl/DataDescriptionLanguage.xtext +++ b/src/languages/de.evoal.languages.model.ddl.dsl/src/de/evoal/languages/model/ddl/dsl/DataDescriptionLanguage.xtext @@ -15,7 +15,6 @@ DataDescriptionModelRule returns DataDescriptionModel: ('data' ':' (descriptions += DataDescriptionRule)* )? ('constraints' ':' (constraints += StatementRule)*)? '}' - ; ImportRule returns Import: @@ -66,7 +65,7 @@ ReferenceRule returns base::ValueReference: ; DataReferenceRule returns DataReference: - definition = [DataDescription|StringOrId] + definition = [DataDescription|QualifiedName] ; SelfReferenceRule returns SelfReference: diff --git a/src/languages/de.evoal.languages.model.ddl.dsl/src/de/evoal/languages/model/ddl/dsl/scoping/DataDescriptionLanguageResourceDescriptionStrategy.java b/src/languages/de.evoal.languages.model.ddl.dsl/src/de/evoal/languages/model/ddl/dsl/scoping/DataDescriptionLanguageResourceDescriptionStrategy.java index 3de15defda88e519cb2b0c2d0eaf9bc3f7438692..d80ff7246e6e0fad8a72a98324e2875a2b664de1 100644 --- a/src/languages/de.evoal.languages.model.ddl.dsl/src/de/evoal/languages/model/ddl/dsl/scoping/DataDescriptionLanguageResourceDescriptionStrategy.java +++ b/src/languages/de.evoal.languages.model.ddl.dsl/src/de/evoal/languages/model/ddl/dsl/scoping/DataDescriptionLanguageResourceDescriptionStrategy.java @@ -11,7 +11,9 @@ public class DataDescriptionLanguageResourceDescriptionStrategy extends Filterin super( DdlPackage.eINSTANCE.getDataDescriptionModel(), DdlPackage.eINSTANCE.getDataTypeDefinition(), - DdlPackage.eINSTANCE.getDataDescription() + DdlPackage.eINSTANCE.getDataDescription(), + DdlPackage.eINSTANCE.getTypedDataDescription(), + DdlPackage.eINSTANCE.getUntypedDataDescription() ); } } \ No newline at end of file diff --git a/src/languages/de.evoal.languages.model.ddl.dsl/xtend-gen/de/evoal/languages/model/ddl/dsl/formatting2/.DataDescriptionLanguageFormatter.java._trace b/src/languages/de.evoal.languages.model.ddl.dsl/xtend-gen/de/evoal/languages/model/ddl/dsl/formatting2/.DataDescriptionLanguageFormatter.java._trace index ebf31cd9ba1af76b5d6694f919919f922998754a..0c75ef4c634f7732ba86338959b9044a64d78918 100644 Binary files a/src/languages/de.evoal.languages.model.ddl.dsl/xtend-gen/de/evoal/languages/model/ddl/dsl/formatting2/.DataDescriptionLanguageFormatter.java._trace and b/src/languages/de.evoal.languages.model.ddl.dsl/xtend-gen/de/evoal/languages/model/ddl/dsl/formatting2/.DataDescriptionLanguageFormatter.java._trace differ diff --git a/src/languages/de.evoal.languages.model.ddl.dsl/xtend-gen/de/evoal/languages/model/ddl/dsl/generator/.DataDescriptionLanguageGenerator.java._trace b/src/languages/de.evoal.languages.model.ddl.dsl/xtend-gen/de/evoal/languages/model/ddl/dsl/generator/.DataDescriptionLanguageGenerator.java._trace index 69ebedde49fde9be2b087763508e0975aa58d187..3237804aa6d9fbd609a714770cf017bb79c3d461 100644 Binary files a/src/languages/de.evoal.languages.model.ddl.dsl/xtend-gen/de/evoal/languages/model/ddl/dsl/generator/.DataDescriptionLanguageGenerator.java._trace and b/src/languages/de.evoal.languages.model.ddl.dsl/xtend-gen/de/evoal/languages/model/ddl/dsl/generator/.DataDescriptionLanguageGenerator.java._trace differ diff --git a/src/languages/de.evoal.languages.model.dl.dsl.tests/src/de/evoal/languages/model/dl/dsl/tests/DefinitionLanguageParsingTest.xtend b/src/languages/de.evoal.languages.model.dl.dsl.tests/src/de/evoal/languages/model/dl/dsl/tests/DefinitionLanguageParsingTest.xtend index caaef508f3069d13c7623a851ef93efd8be3937c..79cd765cf37f2618c7b9b3c0e322a4dbfaf7e229 100644 --- a/src/languages/de.evoal.languages.model.dl.dsl.tests/src/de/evoal/languages/model/dl/dsl/tests/DefinitionLanguageParsingTest.xtend +++ b/src/languages/de.evoal.languages.model.dl.dsl.tests/src/de/evoal/languages/model/dl/dsl/tests/DefinitionLanguageParsingTest.xtend @@ -31,7 +31,7 @@ class DefinitionLanguageParsingTest { } ''') - assertExportedEObjectDescriptions(model, "foobar.wombat.tele") + assertExportedEObjectDescriptions(model, "foobar.wombat, foobar.wombat.tele") } diff --git a/src/languages/de.evoal.languages.model.dl.dsl/xtend-gen/de/evoal/languages/model/dl/dsl/generator/.DefinitionLanguageGenerator.java._trace b/src/languages/de.evoal.languages.model.dl.dsl/xtend-gen/de/evoal/languages/model/dl/dsl/generator/.DefinitionLanguageGenerator.java._trace index bbb6b3189529b30d11e7cbc83641ba9a0f3debc0..1cef1421a6ccb17c1bb89a409111c9477c0e020b 100644 Binary files a/src/languages/de.evoal.languages.model.dl.dsl/xtend-gen/de/evoal/languages/model/dl/dsl/generator/.DefinitionLanguageGenerator.java._trace and b/src/languages/de.evoal.languages.model.dl.dsl/xtend-gen/de/evoal/languages/model/dl/dsl/generator/.DefinitionLanguageGenerator.java._trace differ diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSL.g b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSL.g index 5c511c33192ab0029529ce39b31d0b0fd2c6efa1..1f1cee005b523243ad79ec56f09ab11935e466a4 100644 --- a/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSL.g +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSL.g @@ -7100,9 +7100,9 @@ rule__DataReferenceRule__DefinitionAssignment_2 ( { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } ( - { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); } - ruleStringOrId - { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); } + { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } + ruleQualifiedName + { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } ) { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } ) diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSLParser.java b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSLParser.java index d3af16612fdbd437b834efaa1845677a32ee1937..7d58e34970d1bb36e843b2bf96eda2d020af3f9f 100644 --- a/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSLParser.java +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSLParser.java @@ -23298,34 +23298,34 @@ public class InternalGeneratorDSLParser extends AbstractInternalContentAssistPar // $ANTLR start "rule__DataReferenceRule__DefinitionAssignment_2" - // InternalGeneratorDSL.g:7095:1: rule__DataReferenceRule__DefinitionAssignment_2 : ( ( ruleStringOrId ) ) ; + // InternalGeneratorDSL.g:7095:1: rule__DataReferenceRule__DefinitionAssignment_2 : ( ( ruleQualifiedName ) ) ; public final void rule__DataReferenceRule__DefinitionAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalGeneratorDSL.g:7099:1: ( ( ( ruleStringOrId ) ) ) - // InternalGeneratorDSL.g:7100:2: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:7099:1: ( ( ( ruleQualifiedName ) ) ) + // InternalGeneratorDSL.g:7100:2: ( ( ruleQualifiedName ) ) { - // InternalGeneratorDSL.g:7100:2: ( ( ruleStringOrId ) ) - // InternalGeneratorDSL.g:7101:3: ( ruleStringOrId ) + // InternalGeneratorDSL.g:7100:2: ( ( ruleQualifiedName ) ) + // InternalGeneratorDSL.g:7101:3: ( ruleQualifiedName ) { if ( state.backtracking==0 ) { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } - // InternalGeneratorDSL.g:7102:3: ( ruleStringOrId ) - // InternalGeneratorDSL.g:7103:4: ruleStringOrId + // InternalGeneratorDSL.g:7102:3: ( ruleQualifiedName ) + // InternalGeneratorDSL.g:7103:4: ruleQualifiedName { if ( state.backtracking==0 ) { - before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); + before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } pushFollow(FOLLOW_2); - ruleStringOrId(); + ruleQualifiedName(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); + after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } } diff --git a/src/languages/de.evoal.languages.model.generator.dsl.tests/src/de/evoal/languages/model/generator/dsl/tests/regressions/attribute-linking.ddl b/src/languages/de.evoal.languages.model.generator.dsl.tests/src/de/evoal/languages/model/generator/dsl/tests/regressions/attribute-linking.ddl index 0a100d6397a8fdf5ddd81abe08ae60078ff8f7aa..81407ca5e2d61cd480bfc2a6e7af84fc6031fcc0 100644 --- a/src/languages/de.evoal.languages.model.generator.dsl.tests/src/de/evoal/languages/model/generator/dsl/tests/regressions/attribute-linking.ddl +++ b/src/languages/de.evoal.languages.model.generator.dsl.tests/src/de/evoal/languages/model/generator/dsl/tests/regressions/attribute-linking.ddl @@ -1,3 +1,5 @@ -data: - quotient real data 'x:0'; - quotient real data 'x:1'; \ No newline at end of file +module a { + data: + quotient real data 'x:0'; + quotient real data 'x:1'; +} \ No newline at end of file diff --git a/src/languages/de.evoal.languages.model.generator.dsl.tests/src/de/evoal/languages/model/generator/dsl/tests/regressions/attribute-linking.generator b/src/languages/de.evoal.languages.model.generator.dsl.tests/src/de/evoal/languages/model/generator/dsl/tests/regressions/attribute-linking.generator index e6ba8a7e6ae08a3452821b68b1cb80fbc4f237d1..b7176baa142d26a75491a40f3ca814fbd343cbac 100644 --- a/src/languages/de.evoal.languages.model.generator.dsl.tests/src/de/evoal/languages/model/generator/dsl/tests/regressions/attribute-linking.generator +++ b/src/languages/de.evoal.languages.model.generator.dsl.tests/src/de/evoal/languages/model/generator/dsl/tests/regressions/attribute-linking.generator @@ -6,13 +6,4 @@ pipeline 'p' [ A.xxx := 1.0; } } - /* - step { - component 'B' { - - } - reads [data 'x:0']; - writes [data 'x:1']; - } - */ ] diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/GeneratorDSL.xtextbin b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/GeneratorDSL.xtextbin index 30c81b3bdd02bfd6071f330a4fea32f7f1806020..bf51850b5915003b9ae3c0b5690903421b8c7e73 100644 Binary files a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/GeneratorDSL.xtextbin and b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/GeneratorDSL.xtextbin differ diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSL.g b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSL.g index c18ac5897f04ee680be933bdbec892a2d350fb41..02d78a505f9ee53532d0eec8de2b8628d2723d48 100644 --- a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSL.g +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSL.g @@ -1102,7 +1102,7 @@ ruleDataReferenceRule returns [EObject current=null] { newCompositeNode(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } - ruleStringOrId + ruleQualifiedName { afterParserOrEnumRuleCall(); } diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSLParser.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSLParser.java index 4afaa73f11821684c41f5f6d8c546206d8557814..3b36a8b467b05c33f61f1210114e2c4c479e716b 100644 --- a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSLParser.java +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSLParser.java @@ -3028,7 +3028,7 @@ public class InternalGeneratorDSLParser extends AbstractInternalAntlrParser { // $ANTLR start "ruleDataReferenceRule" - // InternalGeneratorDSL.g:1070:1: ruleDataReferenceRule returns [EObject current=null] : ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) ; + // InternalGeneratorDSL.g:1070:1: ruleDataReferenceRule returns [EObject current=null] : ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) ; public final EObject ruleDataReferenceRule() throws RecognitionException { EObject current = null; @@ -3038,11 +3038,11 @@ public class InternalGeneratorDSLParser extends AbstractInternalAntlrParser { enterRule(); try { - // InternalGeneratorDSL.g:1076:2: ( ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) ) - // InternalGeneratorDSL.g:1077:2: ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) + // InternalGeneratorDSL.g:1076:2: ( ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) ) + // InternalGeneratorDSL.g:1077:2: ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) { - // InternalGeneratorDSL.g:1077:2: ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) - // InternalGeneratorDSL.g:1078:3: () otherlv_1= 'data' ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:1077:2: ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) + // InternalGeneratorDSL.g:1078:3: () otherlv_1= 'data' ( ( ruleQualifiedName ) ) { // InternalGeneratorDSL.g:1078:3: () // InternalGeneratorDSL.g:1079:4: @@ -3068,11 +3068,11 @@ public class InternalGeneratorDSLParser extends AbstractInternalAntlrParser { newLeafNode(otherlv_1, grammarAccess.getDataReferenceRuleAccess().getDataKeyword_1()); } - // InternalGeneratorDSL.g:1092:3: ( ( ruleStringOrId ) ) - // InternalGeneratorDSL.g:1093:4: ( ruleStringOrId ) + // InternalGeneratorDSL.g:1092:3: ( ( ruleQualifiedName ) ) + // InternalGeneratorDSL.g:1093:4: ( ruleQualifiedName ) { - // InternalGeneratorDSL.g:1093:4: ( ruleStringOrId ) - // InternalGeneratorDSL.g:1094:5: ruleStringOrId + // InternalGeneratorDSL.g:1093:4: ( ruleQualifiedName ) + // InternalGeneratorDSL.g:1094:5: ruleQualifiedName { if ( state.backtracking==0 ) { @@ -3092,7 +3092,7 @@ public class InternalGeneratorDSLParser extends AbstractInternalAntlrParser { } pushFollow(FOLLOW_2); - ruleStringOrId(); + ruleQualifiedName(); state._fsp--; if (state.failed) return current; diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/services/GeneratorDSLGrammarAccess.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/services/GeneratorDSLGrammarAccess.java index f157a338f7a51466e5d3e6b05c8cb2c4b373c5ce..79fe58d036faca814db6a45ba592973044605dc7 100644 --- a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/services/GeneratorDSLGrammarAccess.java +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/services/GeneratorDSLGrammarAccess.java @@ -871,7 +871,7 @@ public class GeneratorDSLGrammarAccess extends AbstractElementFinder.AbstractGra //DataReferenceRule returns DataReference: // {DataReference} - // 'data' definition = [ddl::DataDescription|StringOrId] + // 'data' definition = [ddl::DataDescription|QualifiedName] //; public InstanceLanguageGrammarAccess.DataReferenceRuleElements getDataReferenceRuleAccess() { return gaInstanceLanguage.getDataReferenceRuleAccess(); diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GeneratorDSLRuntimeModule.java b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GeneratorDSLRuntimeModule.java index e4968be2bd8efd402f4de8f60941795777a3dbd2..e23bec78ade9b98ed60a878caf7ca5809be32164 100644 --- a/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GeneratorDSLRuntimeModule.java +++ b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GeneratorDSLRuntimeModule.java @@ -4,49 +4,26 @@ package de.evoal.languages.model.generator.dsl; import org.eclipse.xtext.conversion.IValueConverterService; -import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider; -import org.eclipse.xtext.naming.IQualifiedNameProvider; -import org.eclipse.xtext.scoping.IGlobalScopeProvider; -import org.eclipse.xtext.scoping.IScopeProvider; import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; -import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider; -import com.google.inject.name.Names; - -import de.evoal.languages.model.generator.dsl.scoping.GeneratorClasspathGlobalScopeProvider; -import de.evoal.languages.model.generator.dsl.scoping.GeneratorDSLScopeProvider; +import de.evoal.languages.model.generator.dsl.scoping.GeneratorDSLLocalScopeProvider; import de.evoal.languages.model.utils.converter.ValueConverterService; /** * Use this class to register components to be used at runtime / without the Equinox extension registry. */ public class GeneratorDSLRuntimeModule extends AbstractGeneratorDSLRuntimeModule { - /* @Override - public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() { - return GeneratorClasspathGlobalScopeProvider.class; + public void configureIScopeProviderDelegate(com.google.inject.Binder binder) { + binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class) + .annotatedWith( + com.google.inject.name.Names + .named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)) + .to(GeneratorDSLLocalScopeProvider.class); } - + @Override - public Class<? extends IScopeProvider> bindIScopeProvider() { - return GeneratorDSLScopeProvider.class; - } - - @Override public Class<? extends IValueConverterService> bindIValueConverterService() { return ValueConverterService.class; } - - public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() { - return DefaultDeclarativeQualifiedNameProvider.class; - } - - @Override - public void configureIScopeProviderDelegate(com.google.inject.Binder binder) { - binder.bind(IScopeProvider.class) - .annotatedWith( - Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)) - .to(ImportedNamespaceAwareLocalScopeProvider.class); - } -*/ } diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/scoping/GeneratorDSLLocalScopeProvider.java b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/scoping/GeneratorDSLLocalScopeProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..d238725d361d59024dc2091162e1004404a5e8ac --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/scoping/GeneratorDSLLocalScopeProvider.java @@ -0,0 +1,62 @@ +package de.evoal.languages.model.generator.dsl.scoping; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.xtext.scoping.IScope; + +import com.google.inject.Inject; + +import de.evoal.languages.model.base.BasePackage; +import de.evoal.languages.model.instance.InstancePackage; +import de.evoal.languages.model.instance.dsl.scoping.InstanceLanguageLocalScopeProvider; +import de.evoal.languages.model.utils.scoping.WildcardEnabledLocalScopeProvider; + +public class GeneratorDSLLocalScopeProvider extends WildcardEnabledLocalScopeProvider { + private static EReference dataDefinition = InstancePackage.eINSTANCE.getDataReference_Definition(); + private static EClass dataReference = InstancePackage.eINSTANCE.getDataReference(); + private static EClass instance = BasePackage.eINSTANCE.getInstance(); + private static EReference attributeDefinition = BasePackage.eINSTANCE.getAttribute_Definition(); + + @Inject + private InstanceLanguageLocalScopeProvider instanceScopes; + + @Override + public IScope getScope(final EObject context, final EReference reference) { + try { + System.err.println("[Gene Local ] --> " + context.eClass().getName() + " --> " + reference.getEContainingClass().getName() + "." + reference.getName()); + + if(instance.equals(context.eClass()) && (attributeDefinition.equals(reference))) { + // inject fields of types + IScope typeScope = IScope.NULLSCOPE; + try { + typeScope = instanceScopes.getScope(context, reference); + } catch(final NullPointerException e) { + System.err.println(e); + } + + return getLocalElementsScope(typeScope, context, reference); + } else/* if(dataReference.equals(context.eClass()) && dataDefinition.equals(reference)) { + // inject fields of types + IScope typeScope = IScope.NULLSCOPE; + try { + typeScope = instanceScopes.getScope(context, reference); + } catch(final NullPointerException e) { + System.err.println(e); + } + + return getLocalElementsScope(typeScope, context, reference); + }*/ + /*else if(context instanceof Problem && instanceDefinition.equals(reference)) { + IScope result = super.getScope(context, reference);; + + System.err.println(result); + } +*/ + return super.getScope(context, reference); + } finally { + System.err.println("[Gene Local ] --< " + context.eClass().getName() + " --> " + reference.getEContainingClass().getName() + "." + reference.getName()); + } + } + +} diff --git a/src/languages/de.evoal.languages.model.instance.dsl.ide/src-gen/de/evoal/languages/model/instance/dsl/ide/contentassist/antlr/internal/InternalInstanceLanguage.g b/src/languages/de.evoal.languages.model.instance.dsl.ide/src-gen/de/evoal/languages/model/instance/dsl/ide/contentassist/antlr/internal/InternalInstanceLanguage.g index 73d9a489aa99f1466ccee8cb2ac2f8d9973dd499..15f26496638948276335ad937e801ac244b75ab0 100644 --- a/src/languages/de.evoal.languages.model.instance.dsl.ide/src-gen/de/evoal/languages/model/instance/dsl/ide/contentassist/antlr/internal/InternalInstanceLanguage.g +++ b/src/languages/de.evoal.languages.model.instance.dsl.ide/src-gen/de/evoal/languages/model/instance/dsl/ide/contentassist/antlr/internal/InternalInstanceLanguage.g @@ -4374,9 +4374,9 @@ rule__DataReferenceRule__DefinitionAssignment_2 ( { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } ( - { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); } - ruleStringOrId - { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); } + { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } + ruleQualifiedName + { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } ) { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } ) diff --git a/src/languages/de.evoal.languages.model.instance.dsl.ide/src-gen/de/evoal/languages/model/instance/dsl/ide/contentassist/antlr/internal/InternalInstanceLanguageParser.java b/src/languages/de.evoal.languages.model.instance.dsl.ide/src-gen/de/evoal/languages/model/instance/dsl/ide/contentassist/antlr/internal/InternalInstanceLanguageParser.java index 7a2c19931654857e6f4d4f222647decd44972752..c59900e3eb1c25f7da5a5961bec9820b3ddefc9d 100644 --- a/src/languages/de.evoal.languages.model.instance.dsl.ide/src-gen/de/evoal/languages/model/instance/dsl/ide/contentassist/antlr/internal/InternalInstanceLanguageParser.java +++ b/src/languages/de.evoal.languages.model.instance.dsl.ide/src-gen/de/evoal/languages/model/instance/dsl/ide/contentassist/antlr/internal/InternalInstanceLanguageParser.java @@ -14618,34 +14618,34 @@ public class InternalInstanceLanguageParser extends AbstractInternalContentAssis // $ANTLR start "rule__DataReferenceRule__DefinitionAssignment_2" - // InternalInstanceLanguage.g:4369:1: rule__DataReferenceRule__DefinitionAssignment_2 : ( ( ruleStringOrId ) ) ; + // InternalInstanceLanguage.g:4369:1: rule__DataReferenceRule__DefinitionAssignment_2 : ( ( ruleQualifiedName ) ) ; public final void rule__DataReferenceRule__DefinitionAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalInstanceLanguage.g:4373:1: ( ( ( ruleStringOrId ) ) ) - // InternalInstanceLanguage.g:4374:2: ( ( ruleStringOrId ) ) + // InternalInstanceLanguage.g:4373:1: ( ( ( ruleQualifiedName ) ) ) + // InternalInstanceLanguage.g:4374:2: ( ( ruleQualifiedName ) ) { - // InternalInstanceLanguage.g:4374:2: ( ( ruleStringOrId ) ) - // InternalInstanceLanguage.g:4375:3: ( ruleStringOrId ) + // InternalInstanceLanguage.g:4374:2: ( ( ruleQualifiedName ) ) + // InternalInstanceLanguage.g:4375:3: ( ruleQualifiedName ) { if ( state.backtracking==0 ) { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } - // InternalInstanceLanguage.g:4376:3: ( ruleStringOrId ) - // InternalInstanceLanguage.g:4377:4: ruleStringOrId + // InternalInstanceLanguage.g:4376:3: ( ruleQualifiedName ) + // InternalInstanceLanguage.g:4377:4: ruleQualifiedName { if ( state.backtracking==0 ) { - before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); + before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } pushFollow(FOLLOW_2); - ruleStringOrId(); + ruleQualifiedName(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); + after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } } diff --git a/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/InstanceLanguage.xtextbin b/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/InstanceLanguage.xtextbin index 68c55a6c0b6499dd3282e50fa24bf88c0faa4cf0..494b1bd1558b75f3b91e8a8a0ae8be12d8d39788 100644 Binary files a/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/InstanceLanguage.xtextbin and b/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/InstanceLanguage.xtextbin differ diff --git a/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/parser/antlr/internal/InternalInstanceLanguage.g b/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/parser/antlr/internal/InternalInstanceLanguage.g index 6554a31049cd91794de00029ab3b824934eac681..546d0b71d1d0dee1f22c1f3a6f2e7fcd52d2acfc 100644 --- a/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/parser/antlr/internal/InternalInstanceLanguage.g +++ b/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/parser/antlr/internal/InternalInstanceLanguage.g @@ -153,7 +153,7 @@ ruleDataReferenceRule returns [EObject current=null] { newCompositeNode(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } - ruleStringOrId + ruleQualifiedName { afterParserOrEnumRuleCall(); } diff --git a/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/parser/antlr/internal/InternalInstanceLanguageParser.java b/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/parser/antlr/internal/InternalInstanceLanguageParser.java index 4dc90b6bcf3d67080140c0c8417eacf2ed0d5c01..de1245da50c7a2ba262715135998fe3c45ab2d5a 100644 --- a/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/parser/antlr/internal/InternalInstanceLanguageParser.java +++ b/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/parser/antlr/internal/InternalInstanceLanguageParser.java @@ -335,7 +335,7 @@ public class InternalInstanceLanguageParser extends AbstractInternalAntlrParser // $ANTLR start "ruleDataReferenceRule" - // InternalInstanceLanguage.g:121:1: ruleDataReferenceRule returns [EObject current=null] : ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) ; + // InternalInstanceLanguage.g:121:1: ruleDataReferenceRule returns [EObject current=null] : ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) ; public final EObject ruleDataReferenceRule() throws RecognitionException { EObject current = null; @@ -345,11 +345,11 @@ public class InternalInstanceLanguageParser extends AbstractInternalAntlrParser enterRule(); try { - // InternalInstanceLanguage.g:127:2: ( ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) ) - // InternalInstanceLanguage.g:128:2: ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) + // InternalInstanceLanguage.g:127:2: ( ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) ) + // InternalInstanceLanguage.g:128:2: ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) { - // InternalInstanceLanguage.g:128:2: ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) - // InternalInstanceLanguage.g:129:3: () otherlv_1= 'data' ( ( ruleStringOrId ) ) + // InternalInstanceLanguage.g:128:2: ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) + // InternalInstanceLanguage.g:129:3: () otherlv_1= 'data' ( ( ruleQualifiedName ) ) { // InternalInstanceLanguage.g:129:3: () // InternalInstanceLanguage.g:130:4: @@ -375,11 +375,11 @@ public class InternalInstanceLanguageParser extends AbstractInternalAntlrParser newLeafNode(otherlv_1, grammarAccess.getDataReferenceRuleAccess().getDataKeyword_1()); } - // InternalInstanceLanguage.g:143:3: ( ( ruleStringOrId ) ) - // InternalInstanceLanguage.g:144:4: ( ruleStringOrId ) + // InternalInstanceLanguage.g:143:3: ( ( ruleQualifiedName ) ) + // InternalInstanceLanguage.g:144:4: ( ruleQualifiedName ) { - // InternalInstanceLanguage.g:144:4: ( ruleStringOrId ) - // InternalInstanceLanguage.g:145:5: ruleStringOrId + // InternalInstanceLanguage.g:144:4: ( ruleQualifiedName ) + // InternalInstanceLanguage.g:145:5: ruleQualifiedName { if ( state.backtracking==0 ) { @@ -399,7 +399,7 @@ public class InternalInstanceLanguageParser extends AbstractInternalAntlrParser } pushFollow(FOLLOW_2); - ruleStringOrId(); + ruleQualifiedName(); state._fsp--; if (state.failed) return current; diff --git a/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/serializer/InstanceLanguageSemanticSequencer.java b/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/serializer/InstanceLanguageSemanticSequencer.java index d178d821daed3415643f1d1d05c88cbce5cecbbc..1cb7d5aa5381e83faacd303ef7b8b7f4d01f5e1c 100644 --- a/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/serializer/InstanceLanguageSemanticSequencer.java +++ b/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/serializer/InstanceLanguageSemanticSequencer.java @@ -196,7 +196,7 @@ public class InstanceLanguageSemanticSequencer extends BaseLanguageSemanticSeque * ValueRule returns DataReference * * Constraint: - * definition=[DataDescription|StringOrId] + * definition=[DataDescription|QualifiedName] * </pre> */ protected void sequence_DataReferenceRule(ISerializationContext context, DataReference semanticObject) { @@ -205,7 +205,7 @@ public class InstanceLanguageSemanticSequencer extends BaseLanguageSemanticSeque errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, InstancePackage.Literals.DATA_REFERENCE__DEFINITION)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); - feeder.accept(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1(), semanticObject.eGet(InstancePackage.Literals.DATA_REFERENCE__DEFINITION, false)); + feeder.accept(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1(), semanticObject.eGet(InstancePackage.Literals.DATA_REFERENCE__DEFINITION, false)); feeder.finish(); } diff --git a/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/services/InstanceLanguageGrammarAccess.java b/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/services/InstanceLanguageGrammarAccess.java index 4b0c8ff787ed6509da29ceb72bf8772eed3eb1ca..774b7ccf7f687f9b9f65cbeb52c069898ac6b023 100644 --- a/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/services/InstanceLanguageGrammarAccess.java +++ b/src/languages/de.evoal.languages.model.instance.dsl/src-gen/de/evoal/languages/model/instance/dsl/services/InstanceLanguageGrammarAccess.java @@ -55,16 +55,16 @@ public class InstanceLanguageGrammarAccess extends AbstractElementFinder.Abstrac private final Keyword cDataKeyword_1 = (Keyword)cGroup.eContents().get(1); private final Assignment cDefinitionAssignment_2 = (Assignment)cGroup.eContents().get(2); private final CrossReference cDefinitionDataDescriptionCrossReference_2_0 = (CrossReference)cDefinitionAssignment_2.eContents().get(0); - private final RuleCall cDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1 = (RuleCall)cDefinitionDataDescriptionCrossReference_2_0.eContents().get(1); + private final RuleCall cDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1 = (RuleCall)cDefinitionDataDescriptionCrossReference_2_0.eContents().get(1); //DataReferenceRule returns DataReference: // {DataReference} - // 'data' definition = [ddl::DataDescription|StringOrId] + // 'data' definition = [ddl::DataDescription|QualifiedName] //; @Override public ParserRule getRule() { return rule; } //{DataReference} - //'data' definition = [ddl::DataDescription|StringOrId] + //'data' definition = [ddl::DataDescription|QualifiedName] public Group getGroup() { return cGroup; } //{DataReference} @@ -73,14 +73,14 @@ public class InstanceLanguageGrammarAccess extends AbstractElementFinder.Abstrac //'data' public Keyword getDataKeyword_1() { return cDataKeyword_1; } - //definition = [ddl::DataDescription|StringOrId] + //definition = [ddl::DataDescription|QualifiedName] public Assignment getDefinitionAssignment_2() { return cDefinitionAssignment_2; } - //[ddl::DataDescription|StringOrId] + //[ddl::DataDescription|QualifiedName] public CrossReference getDefinitionDataDescriptionCrossReference_2_0() { return cDefinitionDataDescriptionCrossReference_2_0; } - //StringOrId - public RuleCall getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1() { return cDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1; } + //QualifiedName + public RuleCall getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1() { return cDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1; } } @@ -149,7 +149,7 @@ public class InstanceLanguageGrammarAccess extends AbstractElementFinder.Abstrac //DataReferenceRule returns DataReference: // {DataReference} - // 'data' definition = [ddl::DataDescription|StringOrId] + // 'data' definition = [ddl::DataDescription|QualifiedName] //; public DataReferenceRuleElements getDataReferenceRuleAccess() { return pDataReferenceRule; diff --git a/src/languages/de.evoal.languages.model.instance.dsl/src/de/evoal/languages/model/instance/dsl/InstanceLanguage.xtext b/src/languages/de.evoal.languages.model.instance.dsl/src/de/evoal/languages/model/instance/dsl/InstanceLanguage.xtext index e6be2058595351cb37e452c32a3e0c80ad1d6c3f..b15f5ce1ae75fb4db10a5abd68f17576816f09f8 100644 --- a/src/languages/de.evoal.languages.model.instance.dsl/src/de/evoal/languages/model/instance/dsl/InstanceLanguage.xtext +++ b/src/languages/de.evoal.languages.model.instance.dsl/src/de/evoal/languages/model/instance/dsl/InstanceLanguage.xtext @@ -14,5 +14,5 @@ ReferenceRule returns base::ValueReference: DataReferenceRule returns DataReference: {DataReference} - 'data' definition = [ddl::DataDescription|StringOrId] + 'data' definition = [ddl::DataDescription|QualifiedName] ; \ No newline at end of file diff --git a/src/languages/de.evoal.languages.model.instance.dsl/src/de/evoal/languages/model/instance/dsl/scoping/InstanceLanguageLocalScopeProvider.java b/src/languages/de.evoal.languages.model.instance.dsl/src/de/evoal/languages/model/instance/dsl/scoping/InstanceLanguageLocalScopeProvider.java index b16fcd928c12f18388aa7910d7e4f32b524efe74..3a42ffda2977ba96b08754ccfd3b611dcc186db9 100644 --- a/src/languages/de.evoal.languages.model.instance.dsl/src/de/evoal/languages/model/instance/dsl/scoping/InstanceLanguageLocalScopeProvider.java +++ b/src/languages/de.evoal.languages.model.instance.dsl/src/de/evoal/languages/model/instance/dsl/scoping/InstanceLanguageLocalScopeProvider.java @@ -23,24 +23,26 @@ public class InstanceLanguageLocalScopeProvider extends WildcardEnabledLocalScop private final static EClass instance = BasePackage.eINSTANCE.getInstance(); private final static EReference attributeDefinition = BasePackage.eINSTANCE.getAttribute_Definition(); + private static EReference dataDefinition = InstancePackage.eINSTANCE.getDataReference_Definition(); + private static EClass dataReference = InstancePackage.eINSTANCE.getDataReference(); @Inject private BaseLanguageLocalScopeProvider provider; @Override public IScope getScope(EObject context, EReference reference) { - - try { - //System.err.println("[Inst Global] --> " + context.eClass().getName() + " --> " + reference.getEContainingClass().getName() + "." + reference.getName()); + System.err.println("[Inst Local] --> " + context.eClass().getName() + " --> " + reference.getEContainingClass().getName() + "." + reference.getName()); if(instance.equals(context.eClass()) && attributeDefinition.equals(reference)) { return provider.getScope(context, reference); + } else if(dataReference.equals(context.eClass()) && dataDefinition.equals(reference)) { + return getResourceScope(IScope.NULLSCOPE, context, reference); } - + return super.getScope(context, reference); } finally { - //System.err.println("[Inst Global] --< " + context.eClass().getName() + " --> " + reference.getEContainingClass().getName() + "." + reference.getName()); + System.err.println("[Inst Local] --< " + context.eClass().getName() + " --> " + reference.getEContainingClass().getName() + "." + reference.getName()); } } diff --git a/src/languages/de.evoal.languages.model.instance.dsl/src/de/evoal/languages/model/instance/dsl/scoping/InstanceLanguageScopeProvider.java b/src/languages/de.evoal.languages.model.instance.dsl/src/de/evoal/languages/model/instance/dsl/scoping/InstanceLanguageScopeProvider.java index 9b43fc828fac7e9c433b9e7f334cbea6e34e845d..7dcf684c90e8091be94dfc9be8f7119d8a2a997f 100644 --- a/src/languages/de.evoal.languages.model.instance.dsl/src/de/evoal/languages/model/instance/dsl/scoping/InstanceLanguageScopeProvider.java +++ b/src/languages/de.evoal.languages.model.instance.dsl/src/de/evoal/languages/model/instance/dsl/scoping/InstanceLanguageScopeProvider.java @@ -16,6 +16,7 @@ import org.eclipse.xtext.scoping.Scopes; import de.evoal.languages.model.base.BasePackage; import de.evoal.languages.model.base.Instance; import de.evoal.languages.model.base.TypeDefinition; +import de.evoal.languages.model.instance.InstancePackage; /** * This class contains custom scoping description. @@ -45,7 +46,8 @@ public class InstanceLanguageScopeProvider extends AbstractInstanceLanguageScope } */ try { - return super.getScope(context, reference); + + return super.getScope(context, reference); } finally { System.err.println("[Inst Local ] --< " + context.eClass().getName() + " --> " + reference.getEContainingClass().getName() + "." + reference.getName()); diff --git a/src/languages/de.evoal.languages.model.mll.dsl.ide/src-gen/de/evoal/languages/model/mll/dsl/ide/contentassist/antlr/internal/InternalMachineLearningLanguage.g b/src/languages/de.evoal.languages.model.mll.dsl.ide/src-gen/de/evoal/languages/model/mll/dsl/ide/contentassist/antlr/internal/InternalMachineLearningLanguage.g index 4866335c3c7efd3732a69d83570b250ebd114ebb..b05187961d58640befdfa5dc7eba45ed401d469e 100644 --- a/src/languages/de.evoal.languages.model.mll.dsl.ide/src-gen/de/evoal/languages/model/mll/dsl/ide/contentassist/antlr/internal/InternalMachineLearningLanguage.g +++ b/src/languages/de.evoal.languages.model.mll.dsl.ide/src-gen/de/evoal/languages/model/mll/dsl/ide/contentassist/antlr/internal/InternalMachineLearningLanguage.g @@ -7204,9 +7204,9 @@ rule__DataReferenceRule__DefinitionAssignment_2 ( { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } ( - { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); } - ruleStringOrId - { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); } + { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } + ruleQualifiedName + { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } ) { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } ) diff --git a/src/languages/de.evoal.languages.model.mll.dsl.ide/src-gen/de/evoal/languages/model/mll/dsl/ide/contentassist/antlr/internal/InternalMachineLearningLanguageParser.java b/src/languages/de.evoal.languages.model.mll.dsl.ide/src-gen/de/evoal/languages/model/mll/dsl/ide/contentassist/antlr/internal/InternalMachineLearningLanguageParser.java index 818e167f32b4209bb8afb9f10f1612acca63f341..af08e7e019ccafeebb68aa027cd3ab15170c8b12 100644 --- a/src/languages/de.evoal.languages.model.mll.dsl.ide/src-gen/de/evoal/languages/model/mll/dsl/ide/contentassist/antlr/internal/InternalMachineLearningLanguageParser.java +++ b/src/languages/de.evoal.languages.model.mll.dsl.ide/src-gen/de/evoal/languages/model/mll/dsl/ide/contentassist/antlr/internal/InternalMachineLearningLanguageParser.java @@ -23729,34 +23729,34 @@ public class InternalMachineLearningLanguageParser extends AbstractInternalConte // $ANTLR start "rule__DataReferenceRule__DefinitionAssignment_2" - // InternalMachineLearningLanguage.g:7199:1: rule__DataReferenceRule__DefinitionAssignment_2 : ( ( ruleStringOrId ) ) ; + // InternalMachineLearningLanguage.g:7199:1: rule__DataReferenceRule__DefinitionAssignment_2 : ( ( ruleQualifiedName ) ) ; public final void rule__DataReferenceRule__DefinitionAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalMachineLearningLanguage.g:7203:1: ( ( ( ruleStringOrId ) ) ) - // InternalMachineLearningLanguage.g:7204:2: ( ( ruleStringOrId ) ) + // InternalMachineLearningLanguage.g:7203:1: ( ( ( ruleQualifiedName ) ) ) + // InternalMachineLearningLanguage.g:7204:2: ( ( ruleQualifiedName ) ) { - // InternalMachineLearningLanguage.g:7204:2: ( ( ruleStringOrId ) ) - // InternalMachineLearningLanguage.g:7205:3: ( ruleStringOrId ) + // InternalMachineLearningLanguage.g:7204:2: ( ( ruleQualifiedName ) ) + // InternalMachineLearningLanguage.g:7205:3: ( ruleQualifiedName ) { if ( state.backtracking==0 ) { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } - // InternalMachineLearningLanguage.g:7206:3: ( ruleStringOrId ) - // InternalMachineLearningLanguage.g:7207:4: ruleStringOrId + // InternalMachineLearningLanguage.g:7206:3: ( ruleQualifiedName ) + // InternalMachineLearningLanguage.g:7207:4: ruleQualifiedName { if ( state.backtracking==0 ) { - before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); + before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } pushFollow(FOLLOW_2); - ruleStringOrId(); + ruleQualifiedName(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); + after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } } diff --git a/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/MachineLearningLanguage.xtextbin b/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/MachineLearningLanguage.xtextbin index a5f35a2f852e950f4642bf6e7a33ab95d63f17d3..2c7ad6913b20db6b68b8474a5871f0aeff1e43bb 100644 Binary files a/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/MachineLearningLanguage.xtextbin and b/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/MachineLearningLanguage.xtextbin differ diff --git a/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/parser/antlr/internal/InternalMachineLearningLanguage.g b/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/parser/antlr/internal/InternalMachineLearningLanguage.g index b24f14b4ac9de126b7bd3bf69998bf6a6998444f..79898360dec9f6366d2cfdf46e962e478ad3b079 100644 --- a/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/parser/antlr/internal/InternalMachineLearningLanguage.g +++ b/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/parser/antlr/internal/InternalMachineLearningLanguage.g @@ -1159,7 +1159,7 @@ ruleDataReferenceRule returns [EObject current=null] { newCompositeNode(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } - ruleStringOrId + ruleQualifiedName { afterParserOrEnumRuleCall(); } diff --git a/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/parser/antlr/internal/InternalMachineLearningLanguageParser.java b/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/parser/antlr/internal/InternalMachineLearningLanguageParser.java index d4957e71e7fb3dc939de77436951b79fc38e0424..4ae0a74a7d58fe1a26735f35e1e6ba879bf66b2a 100644 --- a/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/parser/antlr/internal/InternalMachineLearningLanguageParser.java +++ b/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/parser/antlr/internal/InternalMachineLearningLanguageParser.java @@ -3179,7 +3179,7 @@ public class InternalMachineLearningLanguageParser extends AbstractInternalAntlr // $ANTLR start "ruleDataReferenceRule" - // InternalMachineLearningLanguage.g:1127:1: ruleDataReferenceRule returns [EObject current=null] : ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) ; + // InternalMachineLearningLanguage.g:1127:1: ruleDataReferenceRule returns [EObject current=null] : ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) ; public final EObject ruleDataReferenceRule() throws RecognitionException { EObject current = null; @@ -3189,11 +3189,11 @@ public class InternalMachineLearningLanguageParser extends AbstractInternalAntlr enterRule(); try { - // InternalMachineLearningLanguage.g:1133:2: ( ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) ) - // InternalMachineLearningLanguage.g:1134:2: ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) + // InternalMachineLearningLanguage.g:1133:2: ( ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) ) + // InternalMachineLearningLanguage.g:1134:2: ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) { - // InternalMachineLearningLanguage.g:1134:2: ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) - // InternalMachineLearningLanguage.g:1135:3: () otherlv_1= 'data' ( ( ruleStringOrId ) ) + // InternalMachineLearningLanguage.g:1134:2: ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) + // InternalMachineLearningLanguage.g:1135:3: () otherlv_1= 'data' ( ( ruleQualifiedName ) ) { // InternalMachineLearningLanguage.g:1135:3: () // InternalMachineLearningLanguage.g:1136:4: @@ -3219,11 +3219,11 @@ public class InternalMachineLearningLanguageParser extends AbstractInternalAntlr newLeafNode(otherlv_1, grammarAccess.getDataReferenceRuleAccess().getDataKeyword_1()); } - // InternalMachineLearningLanguage.g:1149:3: ( ( ruleStringOrId ) ) - // InternalMachineLearningLanguage.g:1150:4: ( ruleStringOrId ) + // InternalMachineLearningLanguage.g:1149:3: ( ( ruleQualifiedName ) ) + // InternalMachineLearningLanguage.g:1150:4: ( ruleQualifiedName ) { - // InternalMachineLearningLanguage.g:1150:4: ( ruleStringOrId ) - // InternalMachineLearningLanguage.g:1151:5: ruleStringOrId + // InternalMachineLearningLanguage.g:1150:4: ( ruleQualifiedName ) + // InternalMachineLearningLanguage.g:1151:5: ruleQualifiedName { if ( state.backtracking==0 ) { @@ -3243,7 +3243,7 @@ public class InternalMachineLearningLanguageParser extends AbstractInternalAntlr } pushFollow(FOLLOW_2); - ruleStringOrId(); + ruleQualifiedName(); state._fsp--; if (state.failed) return current; diff --git a/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/services/MachineLearningLanguageGrammarAccess.java b/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/services/MachineLearningLanguageGrammarAccess.java index 95057d13f16ac5682c08eddf9c6b009c27707035..0e5650a23274c9901520a529797b9a5088bd3eb9 100644 --- a/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/services/MachineLearningLanguageGrammarAccess.java +++ b/src/languages/de.evoal.languages.model.mll.dsl/src-gen/de/evoal/languages/model/mll/dsl/services/MachineLearningLanguageGrammarAccess.java @@ -997,7 +997,7 @@ public class MachineLearningLanguageGrammarAccess extends AbstractElementFinder. //DataReferenceRule returns DataReference: // {DataReference} - // 'data' definition = [ddl::DataDescription|StringOrId] + // 'data' definition = [ddl::DataDescription|QualifiedName] //; public InstanceLanguageGrammarAccess.DataReferenceRuleElements getDataReferenceRuleAccess() { return gaInstanceLanguage.getDataReferenceRuleAccess(); diff --git a/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguage.g b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguage.g index 5d29d2f4cca50cc59e42f121e26fb02cf5a71fbb..c423e01f38d1eda2eaf6c3298bb6046bbc33bb7a 100644 --- a/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguage.g +++ b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguage.g @@ -5261,9 +5261,9 @@ rule__DataReferenceRule__DefinitionAssignment_2 ( { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } ( - { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); } - ruleStringOrId - { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); } + { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } + ruleQualifiedName + { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } ) { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } ) diff --git a/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguageParser.java b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguageParser.java index 1f2f5b21d6c3ce7013b6c7e3e59fe7d84d0c20db..158f7bc5f68953a989fbc4dbe7d10ba72ee3ea91 100644 --- a/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguageParser.java +++ b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguageParser.java @@ -17419,34 +17419,34 @@ public class InternalOptimisationLanguageParser extends AbstractInternalContentA // $ANTLR start "rule__DataReferenceRule__DefinitionAssignment_2" - // InternalOptimisationLanguage.g:5256:1: rule__DataReferenceRule__DefinitionAssignment_2 : ( ( ruleStringOrId ) ) ; + // InternalOptimisationLanguage.g:5256:1: rule__DataReferenceRule__DefinitionAssignment_2 : ( ( ruleQualifiedName ) ) ; public final void rule__DataReferenceRule__DefinitionAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalOptimisationLanguage.g:5260:1: ( ( ( ruleStringOrId ) ) ) - // InternalOptimisationLanguage.g:5261:2: ( ( ruleStringOrId ) ) + // InternalOptimisationLanguage.g:5260:1: ( ( ( ruleQualifiedName ) ) ) + // InternalOptimisationLanguage.g:5261:2: ( ( ruleQualifiedName ) ) { - // InternalOptimisationLanguage.g:5261:2: ( ( ruleStringOrId ) ) - // InternalOptimisationLanguage.g:5262:3: ( ruleStringOrId ) + // InternalOptimisationLanguage.g:5261:2: ( ( ruleQualifiedName ) ) + // InternalOptimisationLanguage.g:5262:3: ( ruleQualifiedName ) { if ( state.backtracking==0 ) { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } - // InternalOptimisationLanguage.g:5263:3: ( ruleStringOrId ) - // InternalOptimisationLanguage.g:5264:4: ruleStringOrId + // InternalOptimisationLanguage.g:5263:3: ( ruleQualifiedName ) + // InternalOptimisationLanguage.g:5264:4: ruleQualifiedName { if ( state.backtracking==0 ) { - before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); + before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } pushFollow(FOLLOW_2); - ruleStringOrId(); + ruleQualifiedName(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); + after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionQualifiedNameParserRuleCall_2_0_1()); } } diff --git a/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/OptimisationLanguage.xtextbin b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/OptimisationLanguage.xtextbin index 7b6851bb94b1de75dd1e70b89a11016aa1198a43..cbee6de6f1bc366b938b554f072061471215d762 100644 Binary files a/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/OptimisationLanguage.xtextbin and b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/OptimisationLanguage.xtextbin differ diff --git a/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguage.g b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguage.g index ebfb2b176771dcb7a4befc06ce45168d3a02a1a6..bf5f02f6fc31e69a495ec448080caa28b86a753f 100644 --- a/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguage.g +++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguage.g @@ -456,7 +456,7 @@ ruleDataReferenceRule returns [EObject current=null] { newCompositeNode(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } - ruleStringOrId + ruleQualifiedName { afterParserOrEnumRuleCall(); } diff --git a/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguageParser.java b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguageParser.java index 35e210954b3011441e6a0d750f083a5a481a9de1..fac3f7d533d53250243a683bbe1519b91cdaa0e5 100644 --- a/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguageParser.java +++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguageParser.java @@ -1161,7 +1161,7 @@ public class InternalOptimisationLanguageParser extends AbstractInternalAntlrPar // $ANTLR start "ruleDataReferenceRule" - // InternalOptimisationLanguage.g:424:1: ruleDataReferenceRule returns [EObject current=null] : ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) ; + // InternalOptimisationLanguage.g:424:1: ruleDataReferenceRule returns [EObject current=null] : ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) ; public final EObject ruleDataReferenceRule() throws RecognitionException { EObject current = null; @@ -1171,11 +1171,11 @@ public class InternalOptimisationLanguageParser extends AbstractInternalAntlrPar enterRule(); try { - // InternalOptimisationLanguage.g:430:2: ( ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) ) - // InternalOptimisationLanguage.g:431:2: ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) + // InternalOptimisationLanguage.g:430:2: ( ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) ) + // InternalOptimisationLanguage.g:431:2: ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) { - // InternalOptimisationLanguage.g:431:2: ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) - // InternalOptimisationLanguage.g:432:3: () otherlv_1= 'data' ( ( ruleStringOrId ) ) + // InternalOptimisationLanguage.g:431:2: ( () otherlv_1= 'data' ( ( ruleQualifiedName ) ) ) + // InternalOptimisationLanguage.g:432:3: () otherlv_1= 'data' ( ( ruleQualifiedName ) ) { // InternalOptimisationLanguage.g:432:3: () // InternalOptimisationLanguage.g:433:4: @@ -1201,11 +1201,11 @@ public class InternalOptimisationLanguageParser extends AbstractInternalAntlrPar newLeafNode(otherlv_1, grammarAccess.getDataReferenceRuleAccess().getDataKeyword_1()); } - // InternalOptimisationLanguage.g:446:3: ( ( ruleStringOrId ) ) - // InternalOptimisationLanguage.g:447:4: ( ruleStringOrId ) + // InternalOptimisationLanguage.g:446:3: ( ( ruleQualifiedName ) ) + // InternalOptimisationLanguage.g:447:4: ( ruleQualifiedName ) { - // InternalOptimisationLanguage.g:447:4: ( ruleStringOrId ) - // InternalOptimisationLanguage.g:448:5: ruleStringOrId + // InternalOptimisationLanguage.g:447:4: ( ruleQualifiedName ) + // InternalOptimisationLanguage.g:448:5: ruleQualifiedName { if ( state.backtracking==0 ) { @@ -1225,7 +1225,7 @@ public class InternalOptimisationLanguageParser extends AbstractInternalAntlrPar } pushFollow(FOLLOW_2); - ruleStringOrId(); + ruleQualifiedName(); state._fsp--; if (state.failed) return current; diff --git a/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/services/OptimisationLanguageGrammarAccess.java b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/services/OptimisationLanguageGrammarAccess.java index 8d47afaf859da2ee304bc9219070def7e170fd1b..111d1f2939209d022a0fb9665359fab3b9747cbc 100644 --- a/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/services/OptimisationLanguageGrammarAccess.java +++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/services/OptimisationLanguageGrammarAccess.java @@ -352,7 +352,7 @@ public class OptimisationLanguageGrammarAccess extends AbstractElementFinder.Abs //DataReferenceRule returns DataReference: // {DataReference} - // 'data' definition = [ddl::DataDescription|StringOrId] + // 'data' definition = [ddl::DataDescription|QualifiedName] //; public InstanceLanguageGrammarAccess.DataReferenceRuleElements getDataReferenceRuleAccess() { return gaInstanceLanguage.getDataReferenceRuleAccess();