\begin{verbatim}
BASIC-SPEC ::= BASIC-ITEMS...BASIC-ITEMS
| { }
BASIC-ITEMS ::= channel CHANNEL-ITEM ;...; CHANNEL-ITEM ;/
| channels CHANNEL-ITEM ;...; CHANNEL-ITEM ;/
| process PROCESS-ITEM ;...; PROCESS-ITEM ;/
| ...
CHANNEL-ITEM ::= CHANNEL ,..., CHANNEL : SORT
PROCESS-ITEM ::= PROCESS-NAME PROCESS-PROFILE
| PROCESS-NAME PROCESS-HEAD = PROCESS
| PROCESS-NAME = PROCESS
PROCESS-PROFILE ::= ( SORT ,..., SORT ) : ALPHABET
| : ALPHABET
PROCESS-HEAD ::= ( VAR ,..., VAR )
| ( ARG-DECL ;...; ARG-DECL) : ALPHABET
| : ALPHABET
ALPHABET ::= SORT-OR-CHANNEL ,..., SORT-OR-CHANNEL
| { SORT-OR-CHANNEL ,..., SORT-OR-CHANNEL }
| { }
SORT-OR-CHANNEL ::= SORT
| CHANNEL
| CHANNEL : SORT
CHANNEL ::= SORT-ID
PROCESS-NAME ::= SORT-ID
PROCESS ::= ( PROCESS )
| "SKIP"
| "STOP"
| "DIV"
| "RUN" ( EVENT-SET )
| "CHAOS" ( EVENT-SET )
| if FORMULA then PROCESS else PROCESS
| PROCESS-CALL
| PROCESS \ EVENT-SET
| PROCESS [[ RENAMING ]]
| EVENT -> PROCESS
| TERM -> PROCESS
| [] VAR :: SORT -> PROCESS
| |~| VAR :: SORT -> PROCESS
| PROCESS ; PROCESS
| PROCESS ;; PROCESS
| PROCESS [] PROCESS
| PROCESS |~| PROCESS
| PROCESS [| EVENT-SET |] PROCESS
| PROCESS |[ EVENT-SET ]| PROCESS
| PROCESS [ EVENT-SET || EVENT-SET ] PROCESS
| PROCESS |[ EVENT-SET || EVENT-SET ]| PROCESS
| PROCESS |[ EVENT-SET "|" EVENT-SET ]| PROCESS
| PROCESS || PROCESS
| PROCESS ||| PROCESS
EVENT-SET ::= ALPHABET
PROCESS-CALL ::= PROCESS-SYMB
| PROCESS-SYMB ( TERM ,..., TERM )
PROCESS-SYMB ::= PROCESS-NAME
| ( process PROCESS-NAME PROCESS-PROFILE )
RENAMING ::= RENAME ,..., RENAME
RENAME ::= ID
| op ID
| pred ID
| op ID : SORT -> SORT
| op ID : SORT ->? SORT
| pred ID : SORT * SORT
| ID : SORT -> SORT
| ID : SORT ->? SORT
| ID : SORT * SORT
EVENT ::= CHANNEL ? VAR :: SORT
| CHANNEL ! VAR :: SORT
| CHANNEL ! TERM
\end{verbatim}