Command definitions are presented using the following rules (Backus Naur Form):
Terminal characters or words are Bold. These are included in the command exactly as they appear, except that case is ignored.
Single terminal characters, or strings of symbols (for example, <=) are included with double-quotes. Only the character(s) within the quotes would be included in the command.
Non-terminals (those things that have further definitions) are simply English descriptions where multiple words are connected with an underline character (e.g. file_specification).
Non-terminal definitions are specified following the symbol ::=. This can be read is defined as.
Optional portions are presented within square brackets [ ]. The square brackets are NOT part of the command. They would be omitted when entering the command.
Choices are separated by a vertical bar |, indicating that one of the choices must be made.
Choices within a command are grouped within parentheses ( ). These are omitted if the entire definition would be enclosed.
Repetition within a command is indicated using braces { }. Items within braces may be repeated zero or more times.
Comments are inserted following the # symbol. This is consistent with the script language.
Consider the following definitions. A numeric value may be a number or a variable_value. A number may start with a minus sign, then must consist of at least one digit, followed by optional digits: Digits are the characters zero through ten.
Digit ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Number ::= [ - ] digit { digit }
Numeric_value ::= number | variable_value