Generierung binärer Bäume II

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

Expressions.om
PROCEDURE CreateBinaryOp(VAR at: Attribute; opsy: Symbol;
                         leftop, rightop: Attribute);
   VAR
      node: Attribute;
BEGIN
   NEW(node); node.sy := opsy;
   node.leftop := leftop; node.rightop := rightop;
   at := node;
END CreateBinaryOp;

PROCEDURE CreateUnaryOp(VAR at: Attribute; opsy: Symbol;
                        op: Attribute);
   VAR
      node: Attribute;
BEGIN
   NEW(node); node.sy := opsy;
   node.leftop := NIL; node.rightop := op;
   at := node;
END CreateUnaryOp;

PROCEDURE CreateConstant(VAR at: Attribute; const: INTEGER);
BEGIN
   NEW(at); at.sy := constantSY;
   at.const := const;
END CreateConstant;

*Wenn für den neuen Knoten zuerst eine lokale Variable verwendet wird und erst ganz am Schluß der VAR-Parameter gesetzt wird, ist es gefahrlos möglich, dem VAR-Parameter die gleiche Variable zu übergeben wie bei einem der weiteren Werte-Parameter.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 29.06.1999