program | ::= | processes |
processes | ::= | process |
| | processes process | |
process | ::= | 'Process' vardec { stmt } |
expr | ::= | const |
| | expr '+' expr | |
| | expr '-' expr | |
| | expr '*' expr | |
| | expr '/' expr | |
| | '('expr')' | |
... | ||
stmt | ::= | varref ':=' expr |
| | ASSERT expr | |
| | stmt ';' stmt | |
| | '{' stmt '}' | |
| | stop | |
| | IF options FI | |
| | DO options OD | |
| | BREAK | |
options | ::= | option |
| | option options | |
option | ::= | '::' cond '->' stmt |