5.1. Syntax Productions

In this International Standard, formal syntax is described in a manner similar to ISO 8879 with the following exceptions.

A sequence of expressions indicates that the expressions shall occur in the order shown. The , operator is not used.

The occurrence indicators ?, +, and * have higher precedence than sequencing, which in turn has higher precedence than the connectors | and &. For example,

a b | c d*

is equivalent to

(a b) | (c (d*))

A syntactic-literal is indicated by a monospaced typeface as shown.

syntactic-literal

In a syntax production, double square brackets ([[ ]]) can be used to surround an or group. The meaning of this is similar to an and group. However, if any of the members of the or group have a * or + occurrence indicator, then they can occur the number of times indicated but intermixed with other members of the group. For example,

[[ a* | b+ | c | d? ]]

means a sequence containing only a's, b's, c's, and d's in which any number of a's occur, one or more b's, exactly one c, and at most one d.