30 lines
		
	
	
	
		
			640 B
		
	
	
	
		
			Modula-2
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			640 B
		
	
	
	
		
			Modula-2
		
	
	
	
	
	
DEFINITION MODULE Terminal;
 | 
						|
 | 
						|
	PROCEDURE Read(VAR ch : CHAR);
 | 
						|
	(* Read a character from the terminal and leave it in ch
 | 
						|
	*)
 | 
						|
 | 
						|
	PROCEDURE BusyRead(VAR ch : CHAR);
 | 
						|
	(* Read a character from the terminal and leave it in ch.
 | 
						|
	   This is a non-blocking call. It returns 0C in ch if no
 | 
						|
	   character was typed.
 | 
						|
	*)
 | 
						|
 | 
						|
	PROCEDURE ReadAgain;
 | 
						|
	(* Causes the last character read to be returned again upon the
 | 
						|
	   next call of Read.
 | 
						|
	*)
 | 
						|
 | 
						|
	PROCEDURE Write(ch : CHAR);
 | 
						|
	(* Write character ch to the terminal.
 | 
						|
	*)
 | 
						|
 | 
						|
	PROCEDURE WriteLn;
 | 
						|
	(* Terminate line.
 | 
						|
	*)
 | 
						|
 | 
						|
	PROCEDURE WriteString(s : ARRAY OF CHAR);
 | 
						|
	(* Write string s to the terminal.
 | 
						|
	*)
 | 
						|
 | 
						|
END Terminal.
 |