30 lines
640 B
Plaintext
30 lines
640 B
Plaintext
|
grammar fr.n7.PDL3 with org.eclipse.xtext.common.Terminals
|
||
|
generate pDL3 "http://www.n7.fr/PDL3"
|
||
|
|
||
|
Process :
|
||
|
'process' ':' name=ID
|
||
|
processElements+=ProcessElement* ;
|
||
|
|
||
|
|
||
|
ProcessElement :
|
||
|
WorkDefinitionList | WorkSequenceList ;
|
||
|
|
||
|
WorkDefinitionList :
|
||
|
'workdefinitions' ':' WorkDefinition+=WorkDefinition+ ;
|
||
|
|
||
|
WorkDefinition :
|
||
|
name=ID ";" ;
|
||
|
|
||
|
WorkSequenceList :
|
||
|
'worksequences' ':' WorkSequence+=WorkSequence+ ;
|
||
|
|
||
|
WorkSequence :
|
||
|
predecessor=[WorkDefinition] linkType=WorkSequenceType successor=[WorkDefinition] ";" ;
|
||
|
|
||
|
enum WorkSequenceType :
|
||
|
start2start = 's2s'
|
||
|
| finish2start = 'f2s'
|
||
|
| start2finish = 's2f'
|
||
|
| finish2finish = 'f2f'
|
||
|
;
|