|
Expr.om |
PROCEDURE Parse(s: Streams.Stream) : BOOLEAN; (* parse input and return TRUE in case of success *) VAR sy: CHAR; (* current input token, 0X in case of eof *) eof: BOOLEAN; (* eof seen yet? *) PROCEDURE GetSy; VAR ch: CHAR; BEGIN IF eof OR ~Streams.ReadByte(s, ch) THEN sy := 0X; eof := TRUE; ELSE sy := ch; END; END GetSy; (* ... Constant, Factor, Term, and Expression ... *) BEGIN (* Parse *) eof := FALSE; GetSy; RETURN Expression() & (sy = 0X) END Parse; |
Streams.Stream ist der Typ der Ulmer Oberon-Bibliothek,
der beliebige Ein- und Ausgabeverbindungen repräsentieren kann.
| |
Mit Streams.ReadByte kann ein Zeichen von einer solchen
Verbindung eingelesen werden. Je nach Erfolg wird TRUE oder
FALSE zurückgeliefert.
|
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 29.06.1999 |