FileIO.def 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. DEFINITION MODULE FileIO;
  2. (* Self-hosted V3 FileIO over the runtime shim (SysShim). Provides
  3. the subset used by the Coco/R-generated scanner/parser/driver,
  4. plus the classic string helpers. Stage-2 counterpart of the
  5. host-supplied FileIO used to bootstrap. *)
  6. FROM SYSTEM IMPORT ADDRESS;
  7. TYPE
  8. File = ADDRESS;
  9. INT32 = INTEGER;
  10. CONST
  11. EOF = CHR(0);
  12. EOL = CHR(10);
  13. ESC = CHR(27);
  14. CR = CHR(13);
  15. LF = CHR(10);
  16. BS = CHR(8);
  17. DEL = CHR(127);
  18. BitSetSize = 16;
  19. Long0 = 0;
  20. Long1 = 1;
  21. Long2 = 2;
  22. PathSep = ":";
  23. DirSep = "/";
  24. VAR
  25. Okay: BOOLEAN;
  26. con, err: File;
  27. StdIn, StdOut: File;
  28. PROCEDURE NextParameter (VAR s: ARRAY OF CHAR);
  29. PROCEDURE Open (VAR f: File; fileName: ARRAY OF CHAR; newFile: BOOLEAN);
  30. PROCEDURE Close (VAR f: File);
  31. PROCEDURE ReadBytes (f: File; VAR buf: ARRAY OF CHAR; VAR len: CARDINAL);
  32. PROCEDURE Write (f: File; ch: CHAR);
  33. PROCEDURE WriteLn (f: File);
  34. PROCEDURE WriteString (f: File; str: ARRAY OF CHAR);
  35. PROCEDURE WriteInt (f: File; int: INTEGER; wid: CARDINAL);
  36. PROCEDURE WriteCard (f: File; card, wid: CARDINAL);
  37. PROCEDURE SLENGTH (stringVal: ARRAY OF CHAR): CARDINAL;
  38. PROCEDURE Assign (source: ARRAY OF CHAR; VAR destination: ARRAY OF CHAR);
  39. PROCEDURE Extract (source: ARRAY OF CHAR;
  40. startIndex, numberToExtract: CARDINAL;
  41. VAR destination: ARRAY OF CHAR);
  42. PROCEDURE Concat (stringVal1, stringVal2: ARRAY OF CHAR;
  43. VAR destination: ARRAY OF CHAR);
  44. PROCEDURE Compare (stringVal1, stringVal2: ARRAY OF CHAR): INTEGER;
  45. END FileIO.