<< 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 >> |