diff --git a/plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtx.xtext b/plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtx.xtext index 5c8a95c4ee644ecfd6618ba34325d7b48718f415..d4691c9318c57abc05177d1a58592b3db9bebf0b 100644 --- a/plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtx.xtext +++ b/plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtx.xtext @@ -311,12 +311,12 @@ EnumDataType returns tdl::EnumDataType: DataUse returns tdl::DataUse: //NOTE: No name, annotations or comments //Remove static and dynamic eventually in favour of the sub-rules - DataElementUse + =>DataElementUse // | LiteralValueUse // | SpecialValueUse // | VariableUse // | PredefinedFunctionCall - | (StaticDataUse) + | =>(StaticDataUse) | (DynamicDataUse) ; @@ -332,9 +332,17 @@ fragment ParameterBindingFragment returns tdl::DataUse: ParameterBinding returns tdl::ParameterBinding: parameter=[tdl::Parameter|Identifier] +// ('.' parameter+=[tdl::Parameter|Identifier])* + ParameterReductionFragment '=' dataUse=DataUse ; +fragment ParameterReductionFragment returns tdl::ParameterBinding: + (->reduction+=CollectionReference)? + ('.' reduction+=MemberReference)* +; + + MemberReference returns tdl::MemberReference: member=[tdl::Member|Identifier] (->'[' collectionIndex=DataUse ']')?