| << Prev | - Up - | Next >> |
This appendix describes the notation used to specify the syntax of the Gump specification language as an extension of the Oz language. It is an extended Backus-Naur-Formalism built from the following parts:
terminals and nonterminals are enclosed in angle brackets <...>;
the left side is separated from the right side by either ::= or +=, where += adds productions to an existing nonterminal;
the vertical bar separates alternatives;
square brackets denote optional phrases;
curly braces enclose phrases that may be repeated 0 to n times;
curly braces with a suffixed + enclose phrases that may be repeated 1 to n times;
literal strings are typeset in this way.
Lexical Conventions
Since the tool's specification language is embedded into Oz, the same lexical conventions apply as for Oz. The only additional terminal type is <regex>, described in Section 2.2.1.
Terminals
The following named terminals from the Oz syntax are used:
stands for an Oz atom (quoted or not).
denotes an Oz variable (backquoted or not).
is an Oz atom that is immediately followed by a left parenthesis.
is an Oz variable that is immediately followed by a left parenthesis.
See ``The Oz Notation'' for the exact definitions.
Nonterminals
Furthermore, the following nonterminals from the Oz syntax are used:
is an Oz statement.
is an Oz expression.
is an Oz statement with optional preceding variable declaration.
is an Oz expression with optional preceding variable declaration.
stands for a class descriptor, i. e., one of from, prop, attr or feat.
stands for a meth ... end definition.
See ``The Oz Notation'' for the exact definitions.
| << Prev | - Up - | Next >> |