Skip to content

Commit 7a62c54

Browse files
authored
Add files via upload
1 parent 14b8d6b commit 7a62c54

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
grammar BeePathGrammar;
2+
3+
description : leadingText initialStatement statement+ closingStatement;
4+
5+
leadingText : '...';
6+
initialStatement : 'Initially''start' ACTIVITY;
7+
closingStatement : 'After' ( act_fragment 'ends'
8+
| act_fragment 'ends' ('and' act_fragment 'ends')+
9+
| 'either' act_fragment 'ends' ('or' act_fragment 'ends')+
10+
) ',''the''process''finishes';
11+
12+
statement : sequence
13+
| parallelSplit
14+
| synchronization
15+
| exclusiveChoice
16+
| simpleMerge
17+
| repeatSince
18+
| eventually
19+
| andSplitInXorSplit
20+
| xorSplitInAndSplit
21+
| andJoinInXorJoin
22+
| xorJoinInAndJoin
23+
| subprocess;
24+
25+
sequence : 'After' ACTIVITY 'ends'',''immediately''start' ACTIVITY;
26+
parallelSplit : 'After' ACTIVITY 'ends'',''immediately''start' ACTIVITY ('and''start' ACTIVITY)+;
27+
synchronization : 'After' ACTIVITY 'ends' ('and' ACTIVITY 'ends')+ ',''immediately''start' ACTIVITY;
28+
exclusiveChoice : 'After' ACTIVITY 'ends'',''immediately''either''start' ACTIVITY ('or''start' ACTIVITY)+;
29+
simpleMerge : 'After''either' ACTIVITY 'ends' ('or' ACTIVITY 'ends')+ ',''immediately''start' ACTIVITY;
30+
repeatSince : 'After' ACTIVITY 'ends'',''immediately''repeat''since' ACTIVITY ('or''start' ACTIVITY)+;
31+
eventually : 'After' ACTIVITY 'ends'',''eventually''start' ACTIVITY;
32+
andSplitInXorSplit: 'After' ACTIVITY 'ends'',''immediately''either''start' act_fragment ('or''start' act_fragment)+;
33+
xorSplitInAndSplit: 'After' ACTIVITY 'ends'',''immediately''start' act_fragment ('and''start' act_fragment)+;
34+
andJoinInXorJoin : 'After''either' act_fragment 'ends' ('or' act_fragment 'ends')+ ',''immediately''start' ACTIVITY;
35+
xorJoinInAndJoin : 'After' act_fragment 'ends' ('and' act_fragment 'ends')+ ',''immediately''start' ACTIVITY;
36+
37+
subprocess: andSubprocess | orSubprocess;
38+
andSubprocess : SUBPROCESS_ID ':' ACTIVITY ('and' ACTIVITY)+;
39+
orSubprocess : SUBPROCESS_ID ':' ACTIVITY ('or' ACTIVITY)+;
40+
41+
act_fragment : ACTIVITY | SUBPROCESS_ID;
42+
ACTIVITY : '"' WORD (' ' WORD)* '"';
43+
SUBPROCESS_ID: '(' WORD+ ')' ;
44+
45+
WORD : ([a-z] | [A-Z] | [0-9] | '_')+;
46+
SPACE : (' ' | '\t') -> skip;
47+
NEWLINE : ('\r'? '\n' | '\r') -> skip;

0 commit comments

Comments
 (0)