DEFINITION MODULE Terminal ; (* It provides simple terminal input output routines which all utilize the TermBase module. *) EXPORT QUALIFIED Read, KeyPressed, ReadAgain, ReadString, Write, WriteString, WriteLn ; (* Read - reads a single character. *) PROCEDURE Read (VAR ch: CHAR) ; (* KeyPressed - returns TRUE if a character can be read without blocking the caller. *) PROCEDURE KeyPressed () : BOOLEAN ; (* ReadString - reads a sequence of characters. Tabs are expanded into 8 spaces and <cr> or <lf> terminates the string. *) PROCEDURE ReadString (VAR s: ARRAY OF CHAR) ; (* ReadAgain - makes the last character readable again. *) PROCEDURE ReadAgain ; (* Write - writes a single character to the Termbase module. *) PROCEDURE Write (ch: CHAR) ; (* WriteString - writes out a string which is terminated by a <nul> character or the end of string HIGH(s). *) PROCEDURE WriteString (s: ARRAY OF CHAR) ; (* WriteLn - writes a lf character. *) PROCEDURE WriteLn ; END Terminal.