<formal symbol part>
┌◄─────── , ──────┐ ──┬─ ( ─┴─<formal symbol>─┴─ ) ─┬──────────────────────────────────────┤ │ ┌◄─────── , ──────┐ │ └─ [ ─┴─<formal symbol>─┴─ ] ─┘
<formal symbol>
──<identifier>─────────────────────────────────────────────────────────┤
A define has two forms: simple and parametric. These forms are readily differentiated because parametric defines have a series of parameters (called formal symbols) enclosed in matching parentheses or brackets. The parentheses and the brackets have identical meanings.
The formal symbols constitute the essential part of a parametric define. Formal symbols function similarly to the formal parameters of a PROCEDURE declaration. When a parametric define is invoked, wherever formal symbols appear in the text, a substitution of the corresponding closed text of the define invocation is made before that part of the text is compiled. References to formal symbols cannot appear outside the text of the corresponding parametric define. No more than nine formal symbols are allowed in a parametric define. Note that if the formal symbols are themselves define identifiers, they are not expanded.

