 
 
 
| 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 | 
 
 
