Commit 8467a55d authored by Philip Makedonski's avatar Philip Makedonski
Browse files

+ aligned with latest updates

+ added literal value use
+ added extension / inheritance
* restored optional behaviour
parent 0cd1ae9f
......@@ -87,6 +87,7 @@ AnnotationType returns tdl::AnnotationType:
{tdl::AnnotationType}
'Annotation'
name=Identifier
(extension=Extension)?
('with'
'{'
(comment+=Comment (comment+=Comment)*)?
......@@ -183,7 +184,7 @@ Behaviour returns tdl::Behaviour:
| UnboundedLoopBehaviour
| ConditionalBehaviour
| CompoundBehaviour
//| OptionalBehaviour
| OptionalBehaviour
| DefaultBehaviour
| InterruptBehaviour
| VerdictAssignment
......@@ -328,6 +329,7 @@ ComponentType returns tdl::ComponentType:
{tdl::ComponentType}
'Component' 'Type'
name=Identifier
(extension=Extension)?
'having'
'{'
(timer+=Timer)*
......@@ -698,6 +700,7 @@ GateType returns tdl::GateType:
(kind=GateTypeKind)?
'Gate' 'Type'
name=Identifier
(extension=Extension)?
'accepts'
dataType+=[tdl::DataType|Identifier] ( "," dataType+=[tdl::DataType|Identifier])*
('with'
......@@ -841,21 +844,21 @@ OmitValue returns tdl::OmitValue:
'}')?;
//OptionalBehaviour returns tdl::OptionalBehaviour:
// 'optionally'
// block=Block
// (
// 'with'
// '{'
// (comment+=Comment (comment+=Comment)*)?
// (annotation+=Annotation (annotation+=Annotation)*)?
// ('test' 'objectives' ':' testObjective+=[tdl::TestObjective|Identifier] ( "," testObjective+=[tdl::TestObjective|Identifier])* ';')?
// ('name' name=Identifier)?
// '}')?
// (exceptional+=ExceptionalBehaviour ( exceptional+=ExceptionalBehaviour)*)?
// (periodic+=PeriodicBehaviour ( periodic+=PeriodicBehaviour)* )?
// ';'
// ;
OptionalBehaviour returns tdl::OptionalBehaviour:
'optionally'
block=Block
(
'with'
'{'
(comment+=Comment (comment+=Comment)*)?
(annotation+=Annotation (annotation+=Annotation)*)?
('test' 'objectives' ':' testObjective+=[tdl::TestObjective|Identifier] ( "," testObjective+=[tdl::TestObjective|Identifier])* ';')?
('name' name=Identifier)?
'}')?
(exceptional+=ExceptionalBehaviour ( exceptional+=ExceptionalBehaviour)*)?
(periodic+=PeriodicBehaviour ( periodic+=PeriodicBehaviour)* )?
';'
;
......@@ -987,7 +990,7 @@ SimpleDataType_Impl returns tdl::SimpleDataType:
;
StaticDataUse returns tdl::StaticDataUse:
DataInstanceUse | AnyValue | AnyValueOrOmit | OmitValue;
DataInstanceUse | AnyValue | AnyValueOrOmit | OmitValue | LiteralValueUse;
Stop returns tdl::Stop:
{tdl::Stop}
......@@ -1032,6 +1035,7 @@ StructuredDataType returns tdl::StructuredDataType:
//'Structured' 'Data' 'Type'
'Type'
name=Identifier
(extension=Extension)?
('(' member+=Member ( "," member+=Member)* ')')?
(
'with'
......@@ -1349,4 +1353,25 @@ Wait returns tdl::Wait:
NumberAsIdentifier returns ecore::EString:
'-'? INT ('.' INT)?;
\ No newline at end of file
Extension returns tdl::Extension:
'extends' extending=[tdl::PackageableElement|Identifier]
;
LiteralValueUse returns tdl::LiteralValueUse:
{tdl::LiteralValueUse}
value=String0
(
'of' 'type' dataType=[tdl::DataType|Identifier]
)?
('with'
'{'
('name' name=Identifier)?
(comment+=Comment (comment+=Comment)*)?
(annotation+=Annotation (annotation+=Annotation)*)?
'}')?
;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment