fio_prog.mod 557 B

123456789101112131415161718192021
  1. MODULE FioProg;
  2. (* Self-hosted FileIO (runtime/syslib): write, read back, verify. *)
  3. IMPORT FileIO;
  4. FROM SYSTEM IMPORT ADDRESS;
  5. VAR ExitCode : INTEGER;
  6. VAR f : ADDRESS;
  7. VAR buf : ARRAY [0..31] OF CHAR;
  8. VAR n : CARDINAL;
  9. BEGIN
  10. FileIO.Open(f, "gen_ssa/_fio_tmp.txt", TRUE);
  11. FileIO.WriteString(f, "hello");
  12. FileIO.WriteLn(f);
  13. FileIO.Close(f);
  14. FileIO.Open(f, "gen_ssa/_fio_tmp.txt", FALSE);
  15. n := LEN(buf);
  16. FileIO.ReadBytes(f, buf, n);
  17. FileIO.Close(f);
  18. IF (buf[0] = 'h') AND (n = 6) THEN ExitCode := n * 7 ELSE ExitCode := 0 END
  19. END FioProg.