Syntactic categories (or nonterminals) are
printed in italics,
for example query.
Depending on the section, a category may represent a class of either
terms, token lists, or character strings.
A syntactic rule takes the general form
C ::= F1
| F2
| F3
.
.
.
which states that an entity of category C may take any of the
alternative forms F1, F2, or F3.
Certain definitions and restrictions are given in ordinary English,
enclosed in braces (`{}').
A category written as `C...' denotes a sequence of one or more
Cs.
A category written as `?C' denotes an optional C.
Therefore `?C...' denotes a sequence of zero or more Cs.
A few syntactic categories have names with arguments, and rules in
which they appear may contain meta-variables in the form of
italicized
capital letters. The meaning of such rules should be clear from
analogy with the definite clause grammars described in ref-gru.
In ref-syn-syn-trm, particular tokens of the category
Name (a name beginning with a capital letter) are written as quoted atoms, while tokens that are
individual punctuation characters are written literally.