DEFINITION In; (*Input from the standard input stream Implements the basic library module from "The Oakwood Guidelines for Oberon-2 Compiler Developers". All read operations except Char and Line skips over preceding whitespace.*) VAR Done: BOOLEAN; (*status of last operation*) PROCEDURE Open; (*included for compatibility with "The Oakwood Guidelines". On a typical Unix-like system, stdin cannot be rewinded. If Open is called when the file position is not at the beginning of stdin, the program aborts.*) PROCEDURE Char(VAR ch: CHAR); (*returns in ch the character at the current position*) PROCEDURE Int(VAR i: INTEGER); (*returns in i the integer constant at the current position according to the format integer = digit {digit} | digit {hexDigit} "H". hexDigit = digit | "A" | "B" | "C" | "D" | "E" | "F". *) PROCEDURE Real(VAR x: REAL); (*returns in x the real constant at the current position according to the format real = digit {digit} "." {digit} [ScaleFactor]. ScaleFactor = "E" ["+" | "-"] digit {digit}. *) PROCEDURE String(VAR str: ARRAY OF CHAR); (*returns in str the string at the current position according to the format string = """ {character} """ | digit {hexdigit} "X" . *) PROCEDURE Name(VAR name: ARRAY OF CHAR); (*Name(s) returns in s the sequence of graphical (non-whitespace) characters at the current position*) PROCEDURE Line(VAR line: ARRAY OF CHAR); (*Line(s) returns in s the sequence of characters from the current position to the end of the line. NOTE: This procedure is an extension to The Oakwood Guidelines.*) END In.