Loading plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtx.xtext +60 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ PackageableElement returns tdl::PackageableElement: | StructuredTestObjective | EventSpecificationTemplate | TestPurposeDescription | TestVariantDescription //Part 7 | ExtendedTestConfiguration ) Loading Loading @@ -1358,6 +1359,7 @@ AIdentifier: | ExpectedBlockName | FinalBlockName | TestPurposeDescriptionName | TestVariantDescriptionName | PICSName | PIXITName | 'when' | 'then' | 'check' | 'where' Loading Loading @@ -1616,6 +1618,10 @@ TestPurposeDescriptionAnnotation returns tdl::Annotation: key=[tdl::AnnotationType|TestPurposeDescriptionName] ; TestVariantDescriptionAnnotation returns tdl::Annotation: key=[tdl::AnnotationType|TestVariantDescriptionName] ; WhenAnnotation returns tdl::Annotation: key=[tdl::AnnotationType|When] ; Loading Loading @@ -2132,6 +2138,56 @@ TestPurposeDescription returns tdl::TestDescription: END ; //TODO: distribute below TestVariantDescription returns tdl::TestDescription: annotation+=TestVariantDescriptionAnnotation //TODO: locally ordered? //('TestDescription' | isLocallyOrdered?='Test') name=TOIdentifier //TODO: parameters? (LParen formalParameter+=FormalParameter ( ',' formalParameter+=FormalParameter)* RParen )? //TODO: Reference, PICS?, Objective reference vs Objective inline (all annotations?) or simply defer to objective // (behaviourDescription=TVDBehaviourDescription) BEGIN TDObjectiveFragment? //TODO: why is configuration not serialised?! 'Configuration' ':' testConfiguration=[tdl::TestConfiguration|TOIdentifier] (behaviourDescription=TVDBehaviourDescription) END ; TVDBehaviourDescription returns tdl::BehaviourDescription: behaviour=TVDCompoundBehaviour ; TVDCompoundBehaviour returns tdl::CompoundBehaviour: //(annotation+=PICSAnnotation ':')? block=TVDBlock ; TVDBlock returns tdl::Block: //NOTE: No guard -> guard is PICS //TODO: annotation has to be pulled up? or pushed down? //TODO: Objective (annotation+=PICSAnnotation ':' guard+=LocalExpression)? behaviour+=VariantBehaviour ; VariantBehaviour returns tdl::TestDescriptionReference: 'Bindings' ':' testDescription=[tdl::TestDescription|DeclName] (BEGIN argument+=ParameterBinding ( ',' argument+=ParameterBinding)* END)? //TODO: skip / merge above (BEGIN componentInstanceBinding+=ComponentInstanceBinding (',' componentInstanceBinding+=ComponentInstanceBinding)* END)? ; TPDBehaviourDescription returns tdl::BehaviourDescription: behaviour=TPDCompoundBehaviour ; Loading Loading @@ -2303,6 +2359,10 @@ TestPurposeDescriptionName: 'Test' 'Purpose' 'Description' ; TestVariantDescriptionName: 'Variant' ; PICSName: 'PICS' ; Loading Loading
plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtx.xtext +60 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ PackageableElement returns tdl::PackageableElement: | StructuredTestObjective | EventSpecificationTemplate | TestPurposeDescription | TestVariantDescription //Part 7 | ExtendedTestConfiguration ) Loading Loading @@ -1358,6 +1359,7 @@ AIdentifier: | ExpectedBlockName | FinalBlockName | TestPurposeDescriptionName | TestVariantDescriptionName | PICSName | PIXITName | 'when' | 'then' | 'check' | 'where' Loading Loading @@ -1616,6 +1618,10 @@ TestPurposeDescriptionAnnotation returns tdl::Annotation: key=[tdl::AnnotationType|TestPurposeDescriptionName] ; TestVariantDescriptionAnnotation returns tdl::Annotation: key=[tdl::AnnotationType|TestVariantDescriptionName] ; WhenAnnotation returns tdl::Annotation: key=[tdl::AnnotationType|When] ; Loading Loading @@ -2132,6 +2138,56 @@ TestPurposeDescription returns tdl::TestDescription: END ; //TODO: distribute below TestVariantDescription returns tdl::TestDescription: annotation+=TestVariantDescriptionAnnotation //TODO: locally ordered? //('TestDescription' | isLocallyOrdered?='Test') name=TOIdentifier //TODO: parameters? (LParen formalParameter+=FormalParameter ( ',' formalParameter+=FormalParameter)* RParen )? //TODO: Reference, PICS?, Objective reference vs Objective inline (all annotations?) or simply defer to objective // (behaviourDescription=TVDBehaviourDescription) BEGIN TDObjectiveFragment? //TODO: why is configuration not serialised?! 'Configuration' ':' testConfiguration=[tdl::TestConfiguration|TOIdentifier] (behaviourDescription=TVDBehaviourDescription) END ; TVDBehaviourDescription returns tdl::BehaviourDescription: behaviour=TVDCompoundBehaviour ; TVDCompoundBehaviour returns tdl::CompoundBehaviour: //(annotation+=PICSAnnotation ':')? block=TVDBlock ; TVDBlock returns tdl::Block: //NOTE: No guard -> guard is PICS //TODO: annotation has to be pulled up? or pushed down? //TODO: Objective (annotation+=PICSAnnotation ':' guard+=LocalExpression)? behaviour+=VariantBehaviour ; VariantBehaviour returns tdl::TestDescriptionReference: 'Bindings' ':' testDescription=[tdl::TestDescription|DeclName] (BEGIN argument+=ParameterBinding ( ',' argument+=ParameterBinding)* END)? //TODO: skip / merge above (BEGIN componentInstanceBinding+=ComponentInstanceBinding (',' componentInstanceBinding+=ComponentInstanceBinding)* END)? ; TPDBehaviourDescription returns tdl::BehaviourDescription: behaviour=TPDCompoundBehaviour ; Loading Loading @@ -2303,6 +2359,10 @@ TestPurposeDescriptionName: 'Test' 'Purpose' 'Description' ; TestVariantDescriptionName: 'Variant' ; PICSName: 'PICS' ; Loading