A Abstract syntax
Responsible: Karsten Stahl, Martin Steffen, and all others
The following extended BNF-notation specifies the abstract
syntax as common intermediate data represenation for the project. Modulo
some naming conventions (capitalization), the Java-implementation is
straightforward. Each non-terminal is represented as a separate class.
Alternatives, specified by |, are subclasses of the abstract
class, to which they build the alternative. The entries of the middle
collum constitute the fields of the classes. The constructors of the
classes are conventionally fixed by the fields of the class (up to the
order of the arguments.1 The lists of the EBNF are implemented as
java.lang.LinkedList. Graphical position information, relevant
only for the editor and the layout group, is omitted in the EBNF.
last generated April 22, 2002 (ŠPublic License)