Nonterminals of the grammar begin with an uppercase letter, are at least two characters in length, and include at least one lowercase letter. Except for the four terminals listed in Section A.2.2 below, each of which denotes a class of tokens, the terminals of the grammar are character strings not of this form.
The grammar is written in a variant of BNF (Backus-Naur Form). The meta-characters of this notation are:
::= | [ ] { } * + ` '
The meaning of the metacharacters is as follows:
NT ::= Ex | Non-terminal NT rewrites to expression Ex |
Ex1 | Ex2 |
Ex1 or Ex2 |
[ Ex ] | optional Ex |
{ Ex } | meta-parentheses for grouping |
Ex* |
zero or more Ex's |
Ex* , |
zero or more Ex's separated by commas, trailing comma optional |
Ex* ; |
zero or more Ex's separated by semicolons, trailing semi optional |
Ex+ |
one or more Ex's |
Ex+ , |
one or more Ex's separated by commas, trailing comma optional |
Ex+ ; |
one or more Ex's separated by semicolons, trailing semi optional |
`s' | the literal character or character sequence s |
When used as terminals, square brackets, curly brackets, and vertical bar appear in single quotes to avoid ambiguity with the corresponding metacharacters (i.e., `[', `]', `{', `}', `|').