Commit 39fad8dd authored by Philip Makedonski's avatar Philip Makedonski
Browse files

* replaced '(' and ')' with corresponding rules, made package content optional

parent d50bf06e
Loading
Loading
Loading
Loading
+27 −18
Original line number Diff line number Diff line
@@ -17,11 +17,11 @@ import "http://www.etsi.org/spec/TDL/1.3.1/configurations" as extendedconfigurat
Package returns tdl::Package:
    AnnotationFragment
    'Package' name=Identifier
    BEGIN
    (BEGIN
        (^import+=ElementImport)*
        (packagedElement+=PackageableElement)*
        (nestedPackage+=Package)*
    END
    END)?
    WithCommentFragment?
;

@@ -156,7 +156,7 @@ StructuredDataType returns tdl::StructuredDataType:
    ConstraintFragment?
    'Type' name=Identifier
    extension=Extension?
    '(' (member+=Member (',' member+=Member)*)? ')'
    LParen (member+=Member (',' member+=Member)*)? RParen
;

Member returns tdl::Member:
@@ -174,7 +174,7 @@ StructuredDataInstance returns tdl::StructuredDataInstance:
    name=Identifier
    //TODO: use keywords for unassigned member treatment?
    (unassignedMember=UnassignedMemberTreatment)?
    '(' (memberAssignment+=MemberAssignment (',' memberAssignment+=MemberAssignment)*)? ')'
    LParen (memberAssignment+=MemberAssignment (',' memberAssignment+=MemberAssignment)*)? RParen
;

MemberAssignment returns tdl::MemberAssignment:
@@ -201,7 +201,7 @@ CollectionDataInstance returns tdl::CollectionDataInstance:
ProcedureSignature returns tdl::ProcedureSignature:
    AnnotationCommentFragment
    'Signature' name=Identifier
    '(' parameter+=ProcedureParameter ( "," parameter+=ProcedureParameter)* ')'
    LParen parameter+=ProcedureParameter ( "," parameter+=ProcedureParameter)* RParen
;

ProcedureParameter returns tdl::ProcedureParameter:
@@ -240,14 +240,14 @@ Action returns tdl::Action:
Action_Impl returns tdl::Action:
    AnnotationCommentFragment
    'Action' name=Identifier
    ('(' formalParameter+=FormalParameter ( "," formalParameter+=FormalParameter)* ')')?
    (LParen formalParameter+=FormalParameter ( "," formalParameter+=FormalParameter)* RParen)?
    (':' body=EString)?
;
    
Function returns tdl::Function:
    AnnotationCommentFragment
    'Function' name=Identifier
    ('(' formalParameter+=FormalParameter ( "," formalParameter+=FormalParameter)* ')')?
    (LParen formalParameter+=FormalParameter ( "," formalParameter+=FormalParameter)* RParen)?
    'returns' returnType=[tdl::DataType|Identifier]
    (':' body=EString)?
;
@@ -399,7 +399,7 @@ DynamicDataUse returns tdl::DynamicDataUse:
FunctionCall returns tdl::FunctionCall:
    //TODO: refine syntax
    'instance' 'returned' 'from' function=[tdl::Function|Identifier] 
    '(' BareParameterBindingFragment? ')'
    LParen BareParameterBindingFragment? RParen
    ReductionFragment
;

@@ -425,21 +425,21 @@ PredefinedFunctionCall returns tdl::PredefinedFunctionCall:

PredefinedFunctionCallSize returns tdl::PredefinedFunctionCall:
    function=[tdl::PredefinedFunction|PredefinedIdentifierSize] 
    '(' actualParameters+=DataUse ')'
    LParen actualParameters+=DataUse RParen
;


PredefinedFunctionCallNot returns tdl::PredefinedFunctionCall:
    function=[tdl::PredefinedFunction|PredefinedIdentifierNot] 
    '(' actualParameters+=DataUse ')'
    LParen actualParameters+=DataUse RParen
;

PredefinedFunctionCallBinary returns tdl::PredefinedFunctionCall:
    '('
    LParen
    actualParameters+=DataUse 
    function=[tdl::PredefinedFunction|PredefinedIdentifierBinary] 
    actualParameters+=DataUse
    ')'
    RParen
;

//# Time
@@ -596,7 +596,7 @@ TestDescription returns tdl::TestDescription:
    //TODO: consider better way to specify / indicate local ordering
    ('TestDescription' | isLocallyOrdered?='Test') 
    name=Identifier
    ('(' formalParameter+=FormalParameter ( "," formalParameter+=FormalParameter)* ')' )?
    (LParen formalParameter+=FormalParameter ( "," formalParameter+=FormalParameter)* RParen )?
    'uses' testConfiguration=[tdl::TestConfiguration|Identifier]
    (behaviourDescription=BehaviourDescription)?
;
@@ -818,7 +818,7 @@ ProcedureCall returns tdl::ProcedureCall:
    AtomicPrefixFragment
    sourceGate=[tdl::GateReference|IdentifierDot]
    'calls' signature=[tdl::ProcedureSignature|Identifier]
    '('argument+=ParameterBinding ("," argument+=ParameterBinding)*')'
    LParen argument+=ParameterBinding ("," argument+=ParameterBinding)* RParen
    'on' target+=TargetProcedure
;

@@ -828,7 +828,7 @@ ProcedureCallResponse returns tdl::ProcedureCall:
    (replyTo=[tdl::ProcedureCall|Identifier] ':')?
    sourceGate=[tdl::GateReference|IdentifierDot]
    'responds' 'with' signature=[tdl::ProcedureSignature|Identifier]
    '('argument+=ParameterBinding ("," argument+=ParameterBinding)*')'
    LParen argument+=ParameterBinding ("," argument+=ParameterBinding)* RParen
    'to' target+=TargetProcedure
;

@@ -848,7 +848,7 @@ ValueAssignmentProcedure returns tdl::ValueAssignment:
TestDescriptionReference returns tdl::TestDescriptionReference:
    AtomicPrefixFragment
    'execute' testDescription=[tdl::TestDescription|Identifier]
    ('(' actualParameter+=ParameterBinding ( "," actualParameter+=ParameterBinding)* ')' )?
    (LParen actualParameter+=ParameterBinding ( "," actualParameter+=ParameterBinding)* RParen )?
    (BEGIN
        componentInstanceBinding+=ComponentInstanceBinding (',' componentInstanceBinding+=ComponentInstanceBinding)+
    END)?
@@ -867,7 +867,7 @@ ActionBehaviour returns tdl::ActionBehaviour:
ActionReference returns tdl::ActionReference:
    AtomicPrefixFragment
    'perform' action=[tdl::Action|Identifier]
    ('(' actualParameter+=ParameterBinding ( "," actualParameter+=ParameterBinding)* ')' )?
    (LParen actualParameter+=ParameterBinding ( "," actualParameter+=ParameterBinding)* RParen )?
    ('on' componentInstance=[tdl::ComponentInstance|Identifier])?
;

@@ -942,7 +942,7 @@ fragment ReductionFragment returns tdl::DataUse:
;

fragment ParameterBindingFragment returns tdl::DataUse:
    =>'(' BareParameterBindingFragment ')'
    =>LParen BareParameterBindingFragment RParen
;

fragment BareParameterBindingFragment returns tdl::DataUse:
@@ -1100,6 +1100,15 @@ RBrace:
    END
;

LParen:
    '('
;

RParen:
    ')'
;


BIGINTEGER returns ecore::EBigInteger:
	INT
;