DEFINITION MODULE InOut; (* Classic PIM terminal/file I/O (gm2-compatible interface). Output and input go to the current output/input file, which OpenOutput and OpenInput redirect; Done reports whether a file operation succeeded. ReadS/WriteS (the DynamicStrings variants) are not provided here. *) CONST EOL = CHR(10); VAR Done : BOOLEAN; termCH : CHAR; PROCEDURE OpenInput (defext : ARRAY OF CHAR); (* Reads a file name from standard input and opens it for reading; Done is set on success. *) PROCEDURE CloseInput; PROCEDURE OpenOutput (defext : ARRAY OF CHAR); PROCEDURE CloseOutput; PROCEDURE Read (VAR ch : CHAR); PROCEDURE ReadString (VAR s : ARRAY OF CHAR); PROCEDURE ReadInt (VAR x : INTEGER); PROCEDURE ReadCard (VAR x : CARDINAL); PROCEDURE Write (ch : CHAR); PROCEDURE WriteLn; PROCEDURE WriteString (s : ARRAY OF CHAR); PROCEDURE WriteInt (x : INTEGER; n : CARDINAL); PROCEDURE WriteCard (x : CARDINAL; n : CARDINAL); PROCEDURE WriteOct (x : CARDINAL; n : CARDINAL); PROCEDURE WriteHex (x : CARDINAL; n : CARDINAL); END InOut.