gm2-libs-log/Terminal (The GNU Modula-2 Compiler)

#### 4.2.24 gm2-libs-log/Terminal ¶

    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.