| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- IMPLEMENTATION MODULE Files;
- (* Binds the shim file routines directly. Handles are C FILE*
- pointers, typed as File (opaque, pointer-sized). *)
- PROCEDURE m2fopenread(VAR name : ARRAY OF CHAR) : File;
- EXTERNAL;
- PROCEDURE m2fopenwrite(VAR name : ARRAY OF CHAR) : File;
- EXTERNAL;
- PROCEDURE m2fclose(h : File);
- EXTERNAL;
- PROCEDURE m2fgetc(h : File) : CHAR;
- EXTERNAL;
- PROCEDURE m2freadint(h : File) : INTEGER;
- EXTERNAL;
- PROCEDURE m2fputc(h : File; c : CHAR);
- EXTERNAL;
- PROCEDURE m2fwriteint(h : File; v : INTEGER);
- EXTERNAL;
- PROCEDURE m2fputs(h : File; VAR s : ARRAY OF CHAR);
- EXTERNAL;
- PROCEDURE m2fwriteln(h : File);
- EXTERNAL;
- PROCEDURE OpenRead(VAR name : ARRAY OF CHAR) : File;
- BEGIN
- RETURN m2fopenread(name)
- END OpenRead;
- PROCEDURE OpenWrite(VAR name : ARRAY OF CHAR) : File;
- BEGIN
- RETURN m2fopenwrite(name)
- END OpenWrite;
- PROCEDURE Close(f : File);
- BEGIN
- m2fclose(f)
- END Close;
- PROCEDURE ReadChar(f : File) : CHAR;
- BEGIN
- RETURN m2fgetc(f)
- END ReadChar;
- PROCEDURE ReadInt(f : File) : INTEGER;
- BEGIN
- RETURN m2freadint(f)
- END ReadInt;
- PROCEDURE WriteChar(f : File; c : CHAR);
- BEGIN
- m2fputc(f, c)
- END WriteChar;
- PROCEDURE WriteInt(f : File; n : INTEGER);
- BEGIN
- m2fwriteint(f, n)
- END WriteInt;
- PROCEDURE WriteString(f : File; VAR s : ARRAY OF CHAR);
- BEGIN
- m2fputs(f, s)
- END WriteString;
- PROCEDURE WriteLn(f : File);
- BEGIN
- m2fwriteln(f)
- END WriteLn;
- END Files.
|