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.
 |