Loading plugins/Prototypes/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtx.xtext +12 −54 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ Package returns tdl::Package: ; PackageableElement returns tdl::PackageableElement: AnnotationType | TestObjective (AnnotationType | TestObjective | ConstraintType | DataResourceMapping | DataElementMapping | SimpleDataType_Impl | SimpleDataInstance Loading @@ -41,7 +41,8 @@ PackageableElement returns tdl::PackageableElement: | ComponentType | GateType | TestConfiguration | TestDescription ) WithCommentFragment? // | PredefinedAnnotationType ; Loading Loading @@ -89,7 +90,6 @@ AnnotationType returns tdl::AnnotationType: 'AnnotationType' name=Identifier extension=Extension? WithCommentFragment? ; TestObjective returns tdl::TestObjective: Loading @@ -103,7 +103,6 @@ TestObjective returns tdl::TestObjective: ('References:' (objectiveURI+=EString)+)? END )? WithCommentFragment? ; Extension returns tdl::Extension: Loading Loading @@ -138,7 +137,6 @@ DataResourceMapping returns tdl::DataResourceMapping: 'Use' resourceURI=EString 'as' name=Identifier WithCommentFragment? ; DataElementMapping returns tdl::DataElementMapping: Loading @@ -153,7 +151,6 @@ DataElementMapping returns tdl::DataElementMapping: (parameterMapping+=ParameterMapping)* END )? WithCommentFragment? ; ParameterMapping returns tdl::ParameterMapping: Loading @@ -170,14 +167,12 @@ SimpleDataType_Impl returns tdl::SimpleDataType: 'Type' ConstraintFragment? name=Identifier WithCommentFragment? ; SimpleDataInstance returns tdl::SimpleDataInstance: PrefixFragment? dataType=[tdl::DataType|Identifier] name=Identifier WithCommentFragment? ; //TODO: alternative specification dialects? Loading @@ -192,7 +187,6 @@ StructuredDataType returns tdl::StructuredDataType: BEGIN (member+=Member)* END WithCommentFragment? ; Member returns tdl::Member: Loading @@ -217,7 +211,6 @@ StructuredDataInstance returns tdl::StructuredDataInstance: //TODO: align with data use (memberAssignment+=MemberAssignment)* END WithCommentFragment? ; MemberAssignment returns tdl::MemberAssignment: Loading @@ -238,7 +231,6 @@ CollectionDataType returns tdl::CollectionDataType: ConstraintFragment? 'of' itemType=[tdl::DataType|Identifier] //TODO: use angle brackets instead of 'of'? WithCommentFragment? ; CollectionDataInstance returns tdl::CollectionDataInstance: Loading @@ -246,7 +238,6 @@ CollectionDataInstance returns tdl::CollectionDataInstance: dataType=[tdl::DataType|Identifier] name=Identifier '[' item+=StaticDataUse* ']' WithCommentFragment? ; ProcedureSignature returns tdl::ProcedureSignature: Loading @@ -254,7 +245,6 @@ ProcedureSignature returns tdl::ProcedureSignature: 'Signature' name=Identifier '(' parameter+=ProcedureParameter ( "," parameter+=ProcedureParameter)* ')' WithCommentFragment? ; ProcedureParameter returns tdl::ProcedureParameter: Loading Loading @@ -298,7 +288,6 @@ Action_Impl returns tdl::Action: name=Identifier ('(' formalParameter+=FormalParameter ( "," formalParameter+=FormalParameter)* ')')? (':' body=EString)? WithCommentFragment? ; Function returns tdl::Function: Loading @@ -308,7 +297,6 @@ Function returns tdl::Function: ('(' formalParameter+=FormalParameter ( "," formalParameter+=FormalParameter)* ')')? 'returns' returnType=[tdl::DataType|Identifier] (':' body=EString)? WithCommentFragment? ; enum UnassignedMemberTreatment returns tdl::UnassignedMemberTreatment: Loading @@ -323,7 +311,6 @@ PredefinedFunction returns tdl::PredefinedFunction: | name=PredefinedIdentifierSize ) ('returns' returnType=[tdl::DataType|Identifier])? WithCommentFragment? ; PredefinedIdentifierBinary returns ecore::EString: Loading @@ -348,7 +335,6 @@ EnumDataType returns tdl::EnumDataType: //TODO: without type specification? (value+=SimpleDataInstance)+ END //WithCommentFragment? ; //## Data Use Loading Loading @@ -617,7 +603,6 @@ Time returns tdl::Time: PrefixFragment? 'Time' name=Identifier WithCommentFragment? ; TimeLabel returns tdl::TimeLabel: Loading Loading @@ -668,7 +653,6 @@ Wait returns tdl::Wait: ( 'component' componentInstance=[tdl::ComponentInstance|Identifier]) 'waits' 'for' period=DataUse WithAtomicFragment? ; Quiescence returns tdl::Quiescence: Loading @@ -680,7 +664,6 @@ Quiescence returns tdl::Quiescence: ) 'is' 'quiet' 'for' period=DataUse WithAtomicFragment? ; Loading @@ -695,7 +678,6 @@ TimerStart returns tdl::TimerStart: '.' timer=[tdl::Timer|Identifier] 'for' period=DataUse WithAtomicFragment? ; TimerStop returns tdl::TimerStop: Loading @@ -704,7 +686,6 @@ TimerStop returns tdl::TimerStop: componentInstance=[tdl::ComponentInstance|Identifier] '.' timer=[tdl::Timer|Identifier] WithAtomicFragment? ; TimeOut returns tdl::TimeOut: Loading @@ -714,7 +695,6 @@ TimeOut returns tdl::TimeOut: timer=[tdl::Timer|Identifier] //TODO: refine syntax 'times' 'out' WithAtomicFragment? ; Loading @@ -728,7 +708,6 @@ GateType returns tdl::GateType: (extension=Extension)? //TODO: revert to 'accepts' 'accepts' dataType+=[tdl::DataType|Identifier] ( "," dataType+=[tdl::DataType|Identifier])* WithCommentFragment? ; enum GateTypeKind returns tdl::GateTypeKind: Loading @@ -752,7 +731,6 @@ ComponentType returns tdl::ComponentType: (variable+=Variable)* (gateInstance+=GateInstance)* END WithCommentFragment? ; ComponentInstance returns tdl::ComponentInstance: Loading Loading @@ -793,7 +771,6 @@ TestConfiguration returns tdl::TestConfiguration: (componentInstance+=ComponentInstance)* (connection+=Connection)* END WithCommentFragment? ; //# Test Behaviour Loading @@ -808,11 +785,7 @@ TestDescription returns tdl::TestDescription: name=Identifier ('(' formalParameter+=FormalParameter ( "," formalParameter+=FormalParameter)* ')' )? 'uses' testConfiguration=[tdl::TestConfiguration|Identifier] ( behaviourDescription=BehaviourDescription )? //TODO: ambiguity //WithTDFragment? (behaviourDescription=BehaviourDescription)? ; BehaviourDescription returns tdl::BehaviourDescription: Loading Loading @@ -855,7 +828,8 @@ LocalExpression returns tdl::LocalExpression: ; CombinedBehaviour returns tdl::CombinedBehaviour: SingleCombinedBehaviour | MultipleCombinedBehaviour (SingleCombinedBehaviour | MultipleCombinedBehaviour) =>WithCombinedFragment? ; SingleCombinedBehaviour returns tdl::SingleCombinedBehaviour: Loading @@ -869,7 +843,6 @@ CompoundBehaviour returns tdl::CompoundBehaviour: //TODO: ambiguity //PrefixFragment? block=Block WithCombinedFragment? ; BoundedLoopBehaviour returns tdl::BoundedLoopBehaviour: Loading @@ -877,21 +850,18 @@ BoundedLoopBehaviour returns tdl::BoundedLoopBehaviour: 'repeat' numIteration+=LocalExpression 'times' (',' numIteration+=LocalExpression 'times')* block=Block WithCombinedFragment? ; UnboundedLoopBehaviour returns tdl::UnboundedLoopBehaviour: PrefixFragment? 'repeat' block=Block WithCombinedFragment? ; OptionalBehaviour returns tdl::OptionalBehaviour: PrefixFragment? 'optionally' block=Block WithCombinedFragment? ; MultipleCombinedBehaviour returns tdl::MultipleCombinedBehaviour: Loading @@ -906,7 +876,6 @@ ConditionalBehaviour returns tdl::ConditionalBehaviour: (=>('else' block+=Block) | (('else' 'if' block+=Block)* ('else' block+=Block)))? WithCombinedFragment? ; AlternativeBehaviour returns tdl::AlternativeBehaviour: Loading @@ -915,7 +884,6 @@ AlternativeBehaviour returns tdl::AlternativeBehaviour: block+=Block //TODO: enforce 2+? ('or' block+=Block)* WithCombinedFragment? ; ParallelBehaviour returns tdl::ParallelBehaviour: Loading @@ -925,7 +893,6 @@ ParallelBehaviour returns tdl::ParallelBehaviour: //TODO: simplify keywords / syntax ('in' 'parallel' 'to' block+=Block)? ('and' block+=Block)* WithCombinedFragment? ; ExceptionalBehaviour returns tdl::ExceptionalBehaviour: Loading Loading @@ -959,35 +926,33 @@ PeriodicBehaviour returns tdl::PeriodicBehaviour: //## Atomic Behaviour AtomicBehaviour returns tdl::AtomicBehaviour: TimerOperation (TimerOperation | TimeOperation | Break | Stop | VerdictAssignment | Assertion | Interaction | TestDescriptionReference | ActionBehaviour | Assignment | Assignment) WithAtomicFragment? ; Break returns tdl::Break: {tdl::Break} PrefixFragment? 'break' WithAtomicFragment? ; Stop returns tdl::Stop: {tdl::Stop} PrefixFragment? 'terminate' WithAtomicFragment? ; VerdictAssignment returns tdl::VerdictAssignment: PrefixFragment? 'set' 'verdict' 'to' verdict=DataUse WithAtomicFragment? ; Assertion returns tdl::Assertion: Loading @@ -998,7 +963,6 @@ Assertion returns tdl::Assertion: ('on' componentInstance=[tdl::ComponentInstance|Identifier])? //TODO: simplify syntax ('otherwise' 'set' 'verdict' 'to' otherwise=DataUse)? WithAtomicFragment? ; Interaction returns tdl::Interaction: Loading @@ -1012,7 +976,6 @@ Message returns tdl::Message: argument=DataUse 'to' target+=TargetMessage ( "," target+=TargetMessage)* WithAtomicFragment? ; TargetMessage returns tdl::Target: Loading Loading @@ -1043,7 +1006,6 @@ ProcedureCall returns tdl::ProcedureCall: 'on' target+=TargetProcedure //TODO: pull out name? WithAtomicFragment? ; ProcedureCallResponse returns tdl::ProcedureCall: Loading @@ -1054,7 +1016,6 @@ ProcedureCallResponse returns tdl::ProcedureCall: '('argument+=ParameterBinding ("," argument+=ParameterBinding)*')' 'to' target+=TargetProcedure WithAtomicFragment? ; TargetProcedure returns tdl::Target: Loading @@ -1064,6 +1025,7 @@ TargetProcedure returns tdl::Target: //TODO: check what the correct syntax shall be (valueAssignment+=ValueAssignmentProcedure ("," valueAssignment+=ValueAssignmentProcedure)*)? //WithNameFragment? //TODO: handle name fragment separately? ; ValueAssignmentProcedure returns tdl::ValueAssignment: Loading @@ -1085,7 +1047,6 @@ TestDescriptionReference returns tdl::TestDescriptionReference: //TODO: commas? componentInstanceBinding+=ComponentInstanceBinding+ END)? WithAtomicFragment? ; ComponentInstanceBinding returns tdl::ComponentInstanceBinding: Loading @@ -1093,7 +1054,7 @@ ComponentInstanceBinding returns tdl::ComponentInstanceBinding: //PrefixFragment? 'bind' formalComponent=[tdl::ComponentInstance|Identifier] 'to' actualComponent=[tdl::ComponentInstance|Identifier] WithNameFragment? WithCommentFragment? ; ActionBehaviour returns tdl::ActionBehaviour: Loading @@ -1107,7 +1068,6 @@ ActionReference returns tdl::ActionReference: action=[tdl::Action|Identifier] ('(' actualParameter+=ParameterBinding ( "," actualParameter+=ParameterBinding)* ')' )? ('on' componentInstance=[tdl::ComponentInstance|Identifier])? WithAtomicFragment? ; InlineAction returns tdl::InlineAction: Loading @@ -1116,7 +1076,6 @@ InlineAction returns tdl::InlineAction: 'perform' 'action' ':' body=EString ('on' componentInstance=[tdl::ComponentInstance|Identifier])? WithAtomicFragment? ; Assignment returns tdl::Assignment: Loading @@ -1126,7 +1085,6 @@ Assignment returns tdl::Assignment: variable=VariableUse '=' expression=DataUse WithAtomicFragment? ; Loading Loading @@ -1188,7 +1146,7 @@ fragment WithAtomicFragment returns tdl::AtomicBehaviour: ObjectiveFragment? TimeLabelFragment? TimeConstraintFragment? (comment+=Comment)+ (comment+=Comment)* END ; Loading Loading
plugins/Prototypes/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtx.xtext +12 −54 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ Package returns tdl::Package: ; PackageableElement returns tdl::PackageableElement: AnnotationType | TestObjective (AnnotationType | TestObjective | ConstraintType | DataResourceMapping | DataElementMapping | SimpleDataType_Impl | SimpleDataInstance Loading @@ -41,7 +41,8 @@ PackageableElement returns tdl::PackageableElement: | ComponentType | GateType | TestConfiguration | TestDescription ) WithCommentFragment? // | PredefinedAnnotationType ; Loading Loading @@ -89,7 +90,6 @@ AnnotationType returns tdl::AnnotationType: 'AnnotationType' name=Identifier extension=Extension? WithCommentFragment? ; TestObjective returns tdl::TestObjective: Loading @@ -103,7 +103,6 @@ TestObjective returns tdl::TestObjective: ('References:' (objectiveURI+=EString)+)? END )? WithCommentFragment? ; Extension returns tdl::Extension: Loading Loading @@ -138,7 +137,6 @@ DataResourceMapping returns tdl::DataResourceMapping: 'Use' resourceURI=EString 'as' name=Identifier WithCommentFragment? ; DataElementMapping returns tdl::DataElementMapping: Loading @@ -153,7 +151,6 @@ DataElementMapping returns tdl::DataElementMapping: (parameterMapping+=ParameterMapping)* END )? WithCommentFragment? ; ParameterMapping returns tdl::ParameterMapping: Loading @@ -170,14 +167,12 @@ SimpleDataType_Impl returns tdl::SimpleDataType: 'Type' ConstraintFragment? name=Identifier WithCommentFragment? ; SimpleDataInstance returns tdl::SimpleDataInstance: PrefixFragment? dataType=[tdl::DataType|Identifier] name=Identifier WithCommentFragment? ; //TODO: alternative specification dialects? Loading @@ -192,7 +187,6 @@ StructuredDataType returns tdl::StructuredDataType: BEGIN (member+=Member)* END WithCommentFragment? ; Member returns tdl::Member: Loading @@ -217,7 +211,6 @@ StructuredDataInstance returns tdl::StructuredDataInstance: //TODO: align with data use (memberAssignment+=MemberAssignment)* END WithCommentFragment? ; MemberAssignment returns tdl::MemberAssignment: Loading @@ -238,7 +231,6 @@ CollectionDataType returns tdl::CollectionDataType: ConstraintFragment? 'of' itemType=[tdl::DataType|Identifier] //TODO: use angle brackets instead of 'of'? WithCommentFragment? ; CollectionDataInstance returns tdl::CollectionDataInstance: Loading @@ -246,7 +238,6 @@ CollectionDataInstance returns tdl::CollectionDataInstance: dataType=[tdl::DataType|Identifier] name=Identifier '[' item+=StaticDataUse* ']' WithCommentFragment? ; ProcedureSignature returns tdl::ProcedureSignature: Loading @@ -254,7 +245,6 @@ ProcedureSignature returns tdl::ProcedureSignature: 'Signature' name=Identifier '(' parameter+=ProcedureParameter ( "," parameter+=ProcedureParameter)* ')' WithCommentFragment? ; ProcedureParameter returns tdl::ProcedureParameter: Loading Loading @@ -298,7 +288,6 @@ Action_Impl returns tdl::Action: name=Identifier ('(' formalParameter+=FormalParameter ( "," formalParameter+=FormalParameter)* ')')? (':' body=EString)? WithCommentFragment? ; Function returns tdl::Function: Loading @@ -308,7 +297,6 @@ Function returns tdl::Function: ('(' formalParameter+=FormalParameter ( "," formalParameter+=FormalParameter)* ')')? 'returns' returnType=[tdl::DataType|Identifier] (':' body=EString)? WithCommentFragment? ; enum UnassignedMemberTreatment returns tdl::UnassignedMemberTreatment: Loading @@ -323,7 +311,6 @@ PredefinedFunction returns tdl::PredefinedFunction: | name=PredefinedIdentifierSize ) ('returns' returnType=[tdl::DataType|Identifier])? WithCommentFragment? ; PredefinedIdentifierBinary returns ecore::EString: Loading @@ -348,7 +335,6 @@ EnumDataType returns tdl::EnumDataType: //TODO: without type specification? (value+=SimpleDataInstance)+ END //WithCommentFragment? ; //## Data Use Loading Loading @@ -617,7 +603,6 @@ Time returns tdl::Time: PrefixFragment? 'Time' name=Identifier WithCommentFragment? ; TimeLabel returns tdl::TimeLabel: Loading Loading @@ -668,7 +653,6 @@ Wait returns tdl::Wait: ( 'component' componentInstance=[tdl::ComponentInstance|Identifier]) 'waits' 'for' period=DataUse WithAtomicFragment? ; Quiescence returns tdl::Quiescence: Loading @@ -680,7 +664,6 @@ Quiescence returns tdl::Quiescence: ) 'is' 'quiet' 'for' period=DataUse WithAtomicFragment? ; Loading @@ -695,7 +678,6 @@ TimerStart returns tdl::TimerStart: '.' timer=[tdl::Timer|Identifier] 'for' period=DataUse WithAtomicFragment? ; TimerStop returns tdl::TimerStop: Loading @@ -704,7 +686,6 @@ TimerStop returns tdl::TimerStop: componentInstance=[tdl::ComponentInstance|Identifier] '.' timer=[tdl::Timer|Identifier] WithAtomicFragment? ; TimeOut returns tdl::TimeOut: Loading @@ -714,7 +695,6 @@ TimeOut returns tdl::TimeOut: timer=[tdl::Timer|Identifier] //TODO: refine syntax 'times' 'out' WithAtomicFragment? ; Loading @@ -728,7 +708,6 @@ GateType returns tdl::GateType: (extension=Extension)? //TODO: revert to 'accepts' 'accepts' dataType+=[tdl::DataType|Identifier] ( "," dataType+=[tdl::DataType|Identifier])* WithCommentFragment? ; enum GateTypeKind returns tdl::GateTypeKind: Loading @@ -752,7 +731,6 @@ ComponentType returns tdl::ComponentType: (variable+=Variable)* (gateInstance+=GateInstance)* END WithCommentFragment? ; ComponentInstance returns tdl::ComponentInstance: Loading Loading @@ -793,7 +771,6 @@ TestConfiguration returns tdl::TestConfiguration: (componentInstance+=ComponentInstance)* (connection+=Connection)* END WithCommentFragment? ; //# Test Behaviour Loading @@ -808,11 +785,7 @@ TestDescription returns tdl::TestDescription: name=Identifier ('(' formalParameter+=FormalParameter ( "," formalParameter+=FormalParameter)* ')' )? 'uses' testConfiguration=[tdl::TestConfiguration|Identifier] ( behaviourDescription=BehaviourDescription )? //TODO: ambiguity //WithTDFragment? (behaviourDescription=BehaviourDescription)? ; BehaviourDescription returns tdl::BehaviourDescription: Loading Loading @@ -855,7 +828,8 @@ LocalExpression returns tdl::LocalExpression: ; CombinedBehaviour returns tdl::CombinedBehaviour: SingleCombinedBehaviour | MultipleCombinedBehaviour (SingleCombinedBehaviour | MultipleCombinedBehaviour) =>WithCombinedFragment? ; SingleCombinedBehaviour returns tdl::SingleCombinedBehaviour: Loading @@ -869,7 +843,6 @@ CompoundBehaviour returns tdl::CompoundBehaviour: //TODO: ambiguity //PrefixFragment? block=Block WithCombinedFragment? ; BoundedLoopBehaviour returns tdl::BoundedLoopBehaviour: Loading @@ -877,21 +850,18 @@ BoundedLoopBehaviour returns tdl::BoundedLoopBehaviour: 'repeat' numIteration+=LocalExpression 'times' (',' numIteration+=LocalExpression 'times')* block=Block WithCombinedFragment? ; UnboundedLoopBehaviour returns tdl::UnboundedLoopBehaviour: PrefixFragment? 'repeat' block=Block WithCombinedFragment? ; OptionalBehaviour returns tdl::OptionalBehaviour: PrefixFragment? 'optionally' block=Block WithCombinedFragment? ; MultipleCombinedBehaviour returns tdl::MultipleCombinedBehaviour: Loading @@ -906,7 +876,6 @@ ConditionalBehaviour returns tdl::ConditionalBehaviour: (=>('else' block+=Block) | (('else' 'if' block+=Block)* ('else' block+=Block)))? WithCombinedFragment? ; AlternativeBehaviour returns tdl::AlternativeBehaviour: Loading @@ -915,7 +884,6 @@ AlternativeBehaviour returns tdl::AlternativeBehaviour: block+=Block //TODO: enforce 2+? ('or' block+=Block)* WithCombinedFragment? ; ParallelBehaviour returns tdl::ParallelBehaviour: Loading @@ -925,7 +893,6 @@ ParallelBehaviour returns tdl::ParallelBehaviour: //TODO: simplify keywords / syntax ('in' 'parallel' 'to' block+=Block)? ('and' block+=Block)* WithCombinedFragment? ; ExceptionalBehaviour returns tdl::ExceptionalBehaviour: Loading Loading @@ -959,35 +926,33 @@ PeriodicBehaviour returns tdl::PeriodicBehaviour: //## Atomic Behaviour AtomicBehaviour returns tdl::AtomicBehaviour: TimerOperation (TimerOperation | TimeOperation | Break | Stop | VerdictAssignment | Assertion | Interaction | TestDescriptionReference | ActionBehaviour | Assignment | Assignment) WithAtomicFragment? ; Break returns tdl::Break: {tdl::Break} PrefixFragment? 'break' WithAtomicFragment? ; Stop returns tdl::Stop: {tdl::Stop} PrefixFragment? 'terminate' WithAtomicFragment? ; VerdictAssignment returns tdl::VerdictAssignment: PrefixFragment? 'set' 'verdict' 'to' verdict=DataUse WithAtomicFragment? ; Assertion returns tdl::Assertion: Loading @@ -998,7 +963,6 @@ Assertion returns tdl::Assertion: ('on' componentInstance=[tdl::ComponentInstance|Identifier])? //TODO: simplify syntax ('otherwise' 'set' 'verdict' 'to' otherwise=DataUse)? WithAtomicFragment? ; Interaction returns tdl::Interaction: Loading @@ -1012,7 +976,6 @@ Message returns tdl::Message: argument=DataUse 'to' target+=TargetMessage ( "," target+=TargetMessage)* WithAtomicFragment? ; TargetMessage returns tdl::Target: Loading Loading @@ -1043,7 +1006,6 @@ ProcedureCall returns tdl::ProcedureCall: 'on' target+=TargetProcedure //TODO: pull out name? WithAtomicFragment? ; ProcedureCallResponse returns tdl::ProcedureCall: Loading @@ -1054,7 +1016,6 @@ ProcedureCallResponse returns tdl::ProcedureCall: '('argument+=ParameterBinding ("," argument+=ParameterBinding)*')' 'to' target+=TargetProcedure WithAtomicFragment? ; TargetProcedure returns tdl::Target: Loading @@ -1064,6 +1025,7 @@ TargetProcedure returns tdl::Target: //TODO: check what the correct syntax shall be (valueAssignment+=ValueAssignmentProcedure ("," valueAssignment+=ValueAssignmentProcedure)*)? //WithNameFragment? //TODO: handle name fragment separately? ; ValueAssignmentProcedure returns tdl::ValueAssignment: Loading @@ -1085,7 +1047,6 @@ TestDescriptionReference returns tdl::TestDescriptionReference: //TODO: commas? componentInstanceBinding+=ComponentInstanceBinding+ END)? WithAtomicFragment? ; ComponentInstanceBinding returns tdl::ComponentInstanceBinding: Loading @@ -1093,7 +1054,7 @@ ComponentInstanceBinding returns tdl::ComponentInstanceBinding: //PrefixFragment? 'bind' formalComponent=[tdl::ComponentInstance|Identifier] 'to' actualComponent=[tdl::ComponentInstance|Identifier] WithNameFragment? WithCommentFragment? ; ActionBehaviour returns tdl::ActionBehaviour: Loading @@ -1107,7 +1068,6 @@ ActionReference returns tdl::ActionReference: action=[tdl::Action|Identifier] ('(' actualParameter+=ParameterBinding ( "," actualParameter+=ParameterBinding)* ')' )? ('on' componentInstance=[tdl::ComponentInstance|Identifier])? WithAtomicFragment? ; InlineAction returns tdl::InlineAction: Loading @@ -1116,7 +1076,6 @@ InlineAction returns tdl::InlineAction: 'perform' 'action' ':' body=EString ('on' componentInstance=[tdl::ComponentInstance|Identifier])? WithAtomicFragment? ; Assignment returns tdl::Assignment: Loading @@ -1126,7 +1085,6 @@ Assignment returns tdl::Assignment: variable=VariableUse '=' expression=DataUse WithAtomicFragment? ; Loading Loading @@ -1188,7 +1146,7 @@ fragment WithAtomicFragment returns tdl::AtomicBehaviour: ObjectiveFragment? TimeLabelFragment? TimeConstraintFragment? (comment+=Comment)+ (comment+=Comment)* END ; Loading