\begin{verbatim}
BASIC-SPEC ::= basic-spec BASIC-ITEMS*
BASIC-ITEMS ::= channel-items CHANNEL-ITEM+
| process-items PROCESS-ITEM+
| ...
CHANNEL-ITEM ::= channel-item CHANNEL+ SORT
PROCESS-ITEM ::= process-decl PROCESS-NAME PROCESS-PROFILE
| process-eq PROCESS-NAME VAR* PROCESS
| process-defn PROCESS-NAME ARG-DECL* ALPHABET PROCESS
PROCESS-PROFILE ::= process-profiles SORT* ALPHABET
ALPHABET ::= alphabet SORT-OR-CHANNEL*
SORT-OR-CHANNEL ::= SORT
| CHANNEL
| sorted-channel CHANNEL SORT
CHANNEL ::= SORT-ID
PROCESS-NAME ::= SORT-ID
PROCESS ::= skip
| stop
| div
| run EVENT-SET
| choas EVENT-SET
| cond-process FORMULA PROCESS PROCESS
| process-call PROCESS-SYMB TERM*
| hiding PROCESS EVENT-SET
| renaming PROCESS RENAMING
| event-process EVENT PROCESS
| term-event TERM PROCESS
| prefix-ext-choice VAR SORT PROCESS
| prefix-int-choice VAR SORT PROCESS
| sequence PROCESS PROCESS
| ext-choice PROCESS PROCESS
| int-choice PROCESS PROCESS
| generalized PROCESS EVENT-SET PROCESS
| alphabetized PROCESS EVENT-SET EVENT-SET PROCESS
| synchronous PROCESS PROCESS
| interleaved PROCESS PROCESS
EVENT-SET ::= event-set SORT-OR-CHANNEL*
PROCESS-SYMB ::= PROCESS-NAME
| qual-process-name PROCESS-NAME PROCESS-PROFILE
RENAMING ::= renaming RENAME+
RENAME ::= id ID
| opId ID
| predId ID
| totalOp ID SORT SORT
| partialOp ID SORT SORT
| binPredicate ID SORT SORT
EVENT ::= read-event CHANNEL VAR SORT
| write-event CHANNEL VAR SORT
| write-term CHANNEL TERM
\end{verbatim}