Commit 94e839c9 authored by Philip Makedonski's avatar Philip Makedonski
Browse files

+ check / where annotation support for any value and literal value

parent 3c308036
Loading
Loading
Loading
Loading
+31 −1
Original line number Diff line number Diff line
@@ -99,6 +99,12 @@ Annotation returns tdl::Annotation:
    (':' value=EString)?
;

CheckAnnotation returns tdl::Annotation:
    key=[tdl::AnnotationType|CheckIdentifier]
    (':' value=EString)
;


AnnotationType returns tdl::AnnotationType:
    AnnotationCommentFragment
    'Annotation' name = AIdentifier
@@ -338,6 +344,10 @@ fragment ParameterBindingFragment returns tdl::DataUse:
    LParen (argument+=ParameterBinding ( ',' argument+=ParameterBinding)*)? RParen
;

fragment CheckFragment returns tdl::DataUse:
    LBrace (annotation+=CheckAnnotation)  RBrace
;


ParameterBinding returns tdl::ParameterBinding:
    parameter=[tdl::Parameter|Identifier]
@@ -404,10 +414,12 @@ SpecialValueUse returns tdl::SpecialValueUse:
AnyValue returns tdl::AnyValue:
    name='?'
    (LBrace dataType=[tdl::DataType|Identifier] RBrace)?
    CheckFragment?
;

AnyValueOrOmit returns tdl::AnyValueOrOmit:
    name='*'
    CheckFragment?
;

OmitValue returns tdl::OmitValue:
@@ -421,6 +433,7 @@ LiteralValueUse returns tdl::LiteralValueUse:
		LBrace dataType=[tdl::DataType|Identifier] RBrace
		(ParameterBindingFragment | ReductionFragment)
	)?
	CheckFragment?
;

CastDataUse returns tdl::CastDataUse:
@@ -502,6 +515,7 @@ DataElementUse returns tdl::DataElementUse:
        UnassignedFragmentNamedElement?
        ParameterBindingFragment?
        ReductionFragment
        CheckFragment?
    ) | (
        //type / anonymous (simplified, avoid duplication, otherwise remove "?")
        //DONE: empty parameters / collections? -> added
@@ -516,6 +530,7 @@ DataElementUse returns tdl::DataElementUse:
        )?
        UnassignedFragmentNamedElement?
        (ParameterBindingFragment | CollectionItemFragment)
        CheckFragment?
    )
;

@@ -1075,6 +1090,12 @@ AIdentifier:
    | When
    | Then
    | PICSName
    | CheckIdentifier
;

CheckIdentifier:    
    Check
    | Where    
;

GRIdentifier:
@@ -1944,6 +1965,15 @@ Then:
    'then'
;

Check:
    'check'
;

Where:
    'where'
;


KIdentifier:
    ID | 'sends' | 'receives' | 'triggers' | 'in'
;