Attribute IV

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

Expr3.om
PROCEDURE Factor(VAR at: Attribute) : BOOLEAN;
   (* Factor = "(" Expression ")" | ("+" | "-") Factor |
               Constant .
   *)
   VAR
      minus: BOOLEAN;
BEGIN
   IF sy = lparenSY THEN
      GetSy;
      IF ~Expression(at) OR (sy # rparenSY) THEN
         RETURN FALSE
      END;
      GetSy;
      RETURN TRUE
   ELSIF (sy = plusSY) OR (sy = minusSY) THEN
      minus := sy = minusSY;
      GetSy;
      IF Factor(at) THEN
         IF minus THEN
            at := - at;
         END;
         RETURN TRUE
      ELSE
         RETURN FALSE
      END;
   ELSE
      RETURN Constant(at)
   END;
END Factor;

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