Indirection in Modified BNF Syntax (ANSI and GNU Common Lisp Document)

Next: Additional Uses for Indirect Definitions in Modified BNF Syntax, Previous: Splicing in Modified BNF Syntax, Up: Notational Conventions

#### 1.4.1.4 Indirection in Modified BNF Syntax

An indirection extension is introduced in order to make this new syntax more readable:

!O

If O is a non-terminal symbol, the right-hand side of its definition is substituted for the entire expression !O. For example, the following BNF is equivalent to the BNF in the previous example:

`(x [[!O]] y)`

O ::=`A` | `B`* | `C`