-- CharIO.Mesa
-- last edited by Johnsson on Jan 30, 1981 9:56 AM
-- last edited by Satterthwaite on 18-Jan-82 15:10:29
DIRECTORY
Format: TYPE USING [NumberFormat],
Stream: TYPE USING [Handle],
Strings: TYPE USING [String, SubString];
CharIO: DEFINITIONS = {
Handle: TYPE = Stream.Handle;
-- some control characters
NUL: CHARACTER = 0c;
BS: CHARACTER = 'H - 100b;
TAB: CHARACTER = 'I - 100b;
LF: CHARACTER = 'J - 100b;
FF: CHARACTER = 'L - 100b;
CR: CHARACTER = 'M - 100b;
ControlZ: CHARACTER = 'Z - 100b;
ESC: CHARACTER = 33c;
SP: CHARACTER = ' ;
DEL: CHARACTER = 177c;
-- numerical formats
NumberFormat: TYPE = Format.NumberFormat;
-- input/output
GetChar: PROC [in: Handle] RETURNS [CHARACTER];
PutChar: PROC [out: Handle, c: CHARACTER];
GetString: PROC [Handle, Strings.String, PROC [CHARACTER] RETURNS [BOOLEAN]];
PutString: PROC [Handle, Strings.String];
PutSubString: PROC [Handle, Strings.SubString];
GetID, GetLine: PROC [Handle, Strings.String];
PutLine: PROC [out: Handle, s: Strings.String];
GetNumber: PROC [in: Handle, radix: CARDINAL] RETURNS [UNSPECIFIED];
PutNumber: PROC [Handle, UNSPECIFIED, NumberFormat];
GetOctal: PROC [in: Handle] RETURNS [UNSPECIFIED] = INLINE {
RETURN [GetNumber[in, 8]]};
PutOctal: PROC [Handle, UNSPECIFIED];
GetDecimal: PROC [in: Handle] RETURNS [INTEGER] = INLINE {
RETURN [GetNumber[in, 10]]};
PutDecimal: PROC [Handle, INTEGER];
}.