Loading plugins/Prototypes/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtx.xtext +29 −40 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ Comment returns tdl::Comment: ; Annotation returns tdl::Annotation: key=[tdl::AnnotationType|Identifier] '@' key=[tdl::AnnotationType|Identifier] (':' value=EString)? ; Loading @@ -87,12 +87,10 @@ AnnotationType returns tdl::AnnotationType: TestObjective returns tdl::TestObjective: AnnotationCommentFragment 'TestObjective' name=Identifier ( BEGIN (BEGIN ('Description:' description=EString)? ('References:' objectiveURI+=EString (',' objectiveURI+=EString)*)? END )? END)? ; Extension returns tdl::Extension: Loading Loading @@ -127,11 +125,10 @@ DataElementMapping returns tdl::DataElementMapping: ('to' elementURI=EString)? 'in' dataResourceMapping=[tdl::DataResourceMapping|Identifier] 'as' name=Identifier ( BEGIN (BEGIN //TODO: separator (parameterMapping+=ParameterMapping)* END )? END)? ; ParameterMapping returns tdl::ParameterMapping: Loading Loading @@ -159,9 +156,7 @@ StructuredDataType returns tdl::StructuredDataType: ConstraintFragment? 'Type' name=Identifier extension=Extension? '(' (member+=Member (',' member+=Member)*)? ')' '(' (member+=Member (',' member+=Member)*)? ')' ; Member returns tdl::Member: Loading @@ -179,9 +174,7 @@ StructuredDataInstance returns tdl::StructuredDataInstance: name=Identifier //TODO: use keywords for unassigned member treatment? (unassignedMember=UnassignedMemberTreatment)? '(' (memberAssignment+=MemberAssignment (',' memberAssignment+=MemberAssignment)*)? ')' '(' (memberAssignment+=MemberAssignment (',' memberAssignment+=MemberAssignment)*)? ')' ; MemberAssignment returns tdl::MemberAssignment: Loading @@ -190,10 +183,6 @@ MemberAssignment returns tdl::MemberAssignment: '=' memberSpec=StaticDataUse ; //TODO: stick with existing syntax and address urgent issues or // invent new parts? -> stick with existing and refine!!!! // currently: a bit of reinvention CollectionDataType returns tdl::CollectionDataType: AnnotationCommentFragment ConstraintFragment? Loading @@ -205,6 +194,7 @@ CollectionDataInstance returns tdl::CollectionDataInstance: AnnotationCommentFragment dataType=[tdl::DataType|Identifier] name=Identifier //TODO: separators? '[' item+=StaticDataUse* ']' ; Loading Loading @@ -293,7 +283,7 @@ EnumDataType returns tdl::EnumDataType: AnnotationCommentFragment 'Enumerated' name=Identifier BEGIN //TODO: without type specification? //TODO: without type specification? separator? (value+=SimpleDataInstance)+ END ; Loading Loading @@ -332,7 +322,6 @@ DataInstanceUse returns tdl::DataInstanceUse: ('a' dataType=[tdl::StructuredDataType|Identifier])) UnassignedFragment? ParameterBindingFragment? //TODO: what if PrefixFragment? ReductionFragment ; Loading Loading @@ -385,7 +374,7 @@ AnyValue returns tdl::AnyValue: ('of' 'type' dataType=[tdl::DataType|Identifier])? ; AnyValueOrOmit returns tdl::OmitValue: AnyValueOrOmit returns tdl::AnyValueOrOmit: name='*' ; Loading @@ -394,7 +383,6 @@ OmitValue returns tdl::OmitValue: ; LiteralValueUse returns tdl::LiteralValueUse: //NOTE: Reduction and argument are excluded (value=STRING | intValue=BIGINTEGER | boolValue=BOOLEAN) //TODO: add option to have the type after wards without any keyword e.g. 100 s? ('of' 'type' dataType=[tdl::DataType|Identifier])? Loading Loading @@ -785,7 +773,6 @@ Interaction returns tdl::Interaction: Message returns tdl::Message: AtomicPrefixFragment sourceGate=[tdl::GateReference|IdentifierDot] // | sourceGate=[tdl::GateReference|Identifier] ('sends' | (isTrigger?='triggers')) argument=DataUse 'to' target+=TargetMessage ( "," target+=TargetMessage)* Loading @@ -794,7 +781,6 @@ Message returns tdl::Message: TargetMessage returns tdl::Target: //NOTE: No name, annotations or comments targetGate=[tdl::GateReference|IdentifierDot] //TODO: check what the correct syntax shall be (valueAssignment+=ValueAssignmentMessage)? ; Loading Loading @@ -887,7 +873,6 @@ ActionReference returns tdl::ActionReference: InlineAction returns tdl::InlineAction: AtomicPrefixFragment //TODO: simplify syntax further 'perform' 'action' ':' body=EString ('on' componentInstance=[tdl::ComponentInstance|Identifier])? ; Loading @@ -906,12 +891,12 @@ Assignment returns tdl::Assignment: //Element : Abstract fragment AnnotationFragment returns tdl::Element: ('@' annotation+=Annotation)* (annotation+=Annotation)* ; fragment AnnotationCommentFragment returns tdl::Element: (comment+=Comment)* ('@' annotation+=Annotation)* (annotation+=Annotation)* ; fragment NameFragment returns tdl::Element: Loading @@ -937,9 +922,18 @@ fragment WithNameFragment returns tdl::Element: //DataType: Abstract fragment ConstraintFragment returns tdl::DataType: //TODO: put braces into constraint? LBrace (constraint+=Constraint)+ RBrace ; //Member fragment MemberConstraintFragment returns tdl::Member: //TODO: put braces into constraint? LBrace (constraint+=Constraint)+ RBrace ; //DataUse: Abstract fragment ReductionFragment returns tdl::DataUse: Loading @@ -955,6 +949,7 @@ fragment BareParameterBindingFragment returns tdl::DataUse: =>(argument+=ParameterBinding ( "," argument+=ParameterBinding)*) ; //DataInstanceUse: Abstract fragment UnassignedFragment returns tdl::DataInstanceUse: //TODO: added angle brackets for disambiguation Loading Loading @@ -1000,11 +995,6 @@ fragment UnassignedFragment returns tdl::DataInstanceUse: //Member fragment MemberConstraintFragment returns tdl::Member: LBrace (constraint+=Constraint)+ RBrace ; //Behaviour : Abstract Loading @@ -1012,7 +1002,6 @@ fragment MemberConstraintFragment returns tdl::Member: fragment WithBehaviourFragment returns tdl::Behaviour: 'with' BEGIN //At least one element shall be provided? Ambiguity? NameFragment? ObjectiveFragment? (comment+=Comment)* Loading @@ -1028,7 +1017,7 @@ fragment ObjectiveFragment returns tdl::Behaviour: fragment TDPrefixFragment returns tdl::TestDescription: (comment+=Comment)* TDObjectiveFragment? ('@' annotation+=Annotation)* (annotation+=Annotation)* ; fragment TDObjectiveFragment returns tdl::TestDescription: Loading @@ -1040,7 +1029,7 @@ fragment TDObjectiveFragment returns tdl::TestDescription: fragment AtomicPrefixFragment returns tdl::AtomicBehaviour: ObjectiveFragment? (comment+=Comment)* ('@' annotation+=Annotation)* (annotation+=Annotation)* ; fragment WithAtomicFragment returns tdl::AtomicBehaviour: Loading Loading
plugins/Prototypes/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtx.xtext +29 −40 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ Comment returns tdl::Comment: ; Annotation returns tdl::Annotation: key=[tdl::AnnotationType|Identifier] '@' key=[tdl::AnnotationType|Identifier] (':' value=EString)? ; Loading @@ -87,12 +87,10 @@ AnnotationType returns tdl::AnnotationType: TestObjective returns tdl::TestObjective: AnnotationCommentFragment 'TestObjective' name=Identifier ( BEGIN (BEGIN ('Description:' description=EString)? ('References:' objectiveURI+=EString (',' objectiveURI+=EString)*)? END )? END)? ; Extension returns tdl::Extension: Loading Loading @@ -127,11 +125,10 @@ DataElementMapping returns tdl::DataElementMapping: ('to' elementURI=EString)? 'in' dataResourceMapping=[tdl::DataResourceMapping|Identifier] 'as' name=Identifier ( BEGIN (BEGIN //TODO: separator (parameterMapping+=ParameterMapping)* END )? END)? ; ParameterMapping returns tdl::ParameterMapping: Loading Loading @@ -159,9 +156,7 @@ StructuredDataType returns tdl::StructuredDataType: ConstraintFragment? 'Type' name=Identifier extension=Extension? '(' (member+=Member (',' member+=Member)*)? ')' '(' (member+=Member (',' member+=Member)*)? ')' ; Member returns tdl::Member: Loading @@ -179,9 +174,7 @@ StructuredDataInstance returns tdl::StructuredDataInstance: name=Identifier //TODO: use keywords for unassigned member treatment? (unassignedMember=UnassignedMemberTreatment)? '(' (memberAssignment+=MemberAssignment (',' memberAssignment+=MemberAssignment)*)? ')' '(' (memberAssignment+=MemberAssignment (',' memberAssignment+=MemberAssignment)*)? ')' ; MemberAssignment returns tdl::MemberAssignment: Loading @@ -190,10 +183,6 @@ MemberAssignment returns tdl::MemberAssignment: '=' memberSpec=StaticDataUse ; //TODO: stick with existing syntax and address urgent issues or // invent new parts? -> stick with existing and refine!!!! // currently: a bit of reinvention CollectionDataType returns tdl::CollectionDataType: AnnotationCommentFragment ConstraintFragment? Loading @@ -205,6 +194,7 @@ CollectionDataInstance returns tdl::CollectionDataInstance: AnnotationCommentFragment dataType=[tdl::DataType|Identifier] name=Identifier //TODO: separators? '[' item+=StaticDataUse* ']' ; Loading Loading @@ -293,7 +283,7 @@ EnumDataType returns tdl::EnumDataType: AnnotationCommentFragment 'Enumerated' name=Identifier BEGIN //TODO: without type specification? //TODO: without type specification? separator? (value+=SimpleDataInstance)+ END ; Loading Loading @@ -332,7 +322,6 @@ DataInstanceUse returns tdl::DataInstanceUse: ('a' dataType=[tdl::StructuredDataType|Identifier])) UnassignedFragment? ParameterBindingFragment? //TODO: what if PrefixFragment? ReductionFragment ; Loading Loading @@ -385,7 +374,7 @@ AnyValue returns tdl::AnyValue: ('of' 'type' dataType=[tdl::DataType|Identifier])? ; AnyValueOrOmit returns tdl::OmitValue: AnyValueOrOmit returns tdl::AnyValueOrOmit: name='*' ; Loading @@ -394,7 +383,6 @@ OmitValue returns tdl::OmitValue: ; LiteralValueUse returns tdl::LiteralValueUse: //NOTE: Reduction and argument are excluded (value=STRING | intValue=BIGINTEGER | boolValue=BOOLEAN) //TODO: add option to have the type after wards without any keyword e.g. 100 s? ('of' 'type' dataType=[tdl::DataType|Identifier])? Loading Loading @@ -785,7 +773,6 @@ Interaction returns tdl::Interaction: Message returns tdl::Message: AtomicPrefixFragment sourceGate=[tdl::GateReference|IdentifierDot] // | sourceGate=[tdl::GateReference|Identifier] ('sends' | (isTrigger?='triggers')) argument=DataUse 'to' target+=TargetMessage ( "," target+=TargetMessage)* Loading @@ -794,7 +781,6 @@ Message returns tdl::Message: TargetMessage returns tdl::Target: //NOTE: No name, annotations or comments targetGate=[tdl::GateReference|IdentifierDot] //TODO: check what the correct syntax shall be (valueAssignment+=ValueAssignmentMessage)? ; Loading Loading @@ -887,7 +873,6 @@ ActionReference returns tdl::ActionReference: InlineAction returns tdl::InlineAction: AtomicPrefixFragment //TODO: simplify syntax further 'perform' 'action' ':' body=EString ('on' componentInstance=[tdl::ComponentInstance|Identifier])? ; Loading @@ -906,12 +891,12 @@ Assignment returns tdl::Assignment: //Element : Abstract fragment AnnotationFragment returns tdl::Element: ('@' annotation+=Annotation)* (annotation+=Annotation)* ; fragment AnnotationCommentFragment returns tdl::Element: (comment+=Comment)* ('@' annotation+=Annotation)* (annotation+=Annotation)* ; fragment NameFragment returns tdl::Element: Loading @@ -937,9 +922,18 @@ fragment WithNameFragment returns tdl::Element: //DataType: Abstract fragment ConstraintFragment returns tdl::DataType: //TODO: put braces into constraint? LBrace (constraint+=Constraint)+ RBrace ; //Member fragment MemberConstraintFragment returns tdl::Member: //TODO: put braces into constraint? LBrace (constraint+=Constraint)+ RBrace ; //DataUse: Abstract fragment ReductionFragment returns tdl::DataUse: Loading @@ -955,6 +949,7 @@ fragment BareParameterBindingFragment returns tdl::DataUse: =>(argument+=ParameterBinding ( "," argument+=ParameterBinding)*) ; //DataInstanceUse: Abstract fragment UnassignedFragment returns tdl::DataInstanceUse: //TODO: added angle brackets for disambiguation Loading Loading @@ -1000,11 +995,6 @@ fragment UnassignedFragment returns tdl::DataInstanceUse: //Member fragment MemberConstraintFragment returns tdl::Member: LBrace (constraint+=Constraint)+ RBrace ; //Behaviour : Abstract Loading @@ -1012,7 +1002,6 @@ fragment MemberConstraintFragment returns tdl::Member: fragment WithBehaviourFragment returns tdl::Behaviour: 'with' BEGIN //At least one element shall be provided? Ambiguity? NameFragment? ObjectiveFragment? (comment+=Comment)* Loading @@ -1028,7 +1017,7 @@ fragment ObjectiveFragment returns tdl::Behaviour: fragment TDPrefixFragment returns tdl::TestDescription: (comment+=Comment)* TDObjectiveFragment? ('@' annotation+=Annotation)* (annotation+=Annotation)* ; fragment TDObjectiveFragment returns tdl::TestDescription: Loading @@ -1040,7 +1029,7 @@ fragment TDObjectiveFragment returns tdl::TestDescription: fragment AtomicPrefixFragment returns tdl::AtomicBehaviour: ObjectiveFragment? (comment+=Comment)* ('@' annotation+=Annotation)* (annotation+=Annotation)* ; fragment WithAtomicFragment returns tdl::AtomicBehaviour: Loading