DEFINITION MODULE Files; (* Sequential files over the runtime shim (stdio). File is an opaque handle (a pointer-sized value); NIL means the open failed. Text is written/read as descriptor strings; integers as decimal. *) TYPE FileRec; TYPE File = POINTER TO FileRec; PROCEDURE OpenRead(VAR name : ARRAY OF CHAR) : File; PROCEDURE OpenWrite(VAR name : ARRAY OF CHAR) : File; PROCEDURE Close(f : File); PROCEDURE ReadChar(f : File) : CHAR; PROCEDURE ReadInt(f : File) : INTEGER; PROCEDURE WriteChar(f : File; c : CHAR); PROCEDURE WriteInt(f : File; n : INTEGER); PROCEDURE WriteString(f : File; VAR s : ARRAY OF CHAR); PROCEDURE WriteLn(f : File); END Files.