Generierung binärer Bäume III

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

Expressions.om
PROCEDURE Term(VAR at: Attribute) : BOOLEAN;
   (* Term = Factor { ("*" | "/") Factor } . *)
   VAR
      leftop, rightop: Attribute;
      opsy: Symbol;
BEGIN
   IF ~Factor(leftop) THEN RETURN FALSE END;
   WHILE (sy = multiplySY) OR (sy = divideSY) DO
      opsy := sy;
      GetSy; (* skip operator *)
      IF ~Factor(rightop) THEN RETURN FALSE END;
      CreateBinaryOp(leftop, opsy, leftop, rightop);
   END;
   at := leftop;
   RETURN TRUE
END Term;

*Mit dem Konstruktoren CreateConstant, CreateBinaryOp und CreateUnaryOp wird sukzessive der Formelbaum aufgebaut.
 

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