next up previous contents
Next: Terminals Up: Lexical Conventions Previous: Lexical Conventions   Contents

Meta-notation

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., `[', `]', `{', `}', `|').


next up previous contents
Next: Terminals Up: Lexical Conventions Previous: Lexical Conventions   Contents
Allan Heydon, Roy Levin, Timothy Mann, Yuan Yu