d_string.mod 400 B

1234567891011
  1. IMPLEMENTATION MODULE DString;
  2. (* Completes the opaque String here; clients see only the opaque type. *)
  3. TYPE String = POINTER TO RECORD v : INTEGER END;
  4. PROCEDURE Make(n : INTEGER) : String;
  5. VAR s : String;
  6. BEGIN NEW(s); s^.v := n; RETURN s END Make;
  7. PROCEDURE Get(s : String) : INTEGER;
  8. BEGIN RETURN s^.v END Get;
  9. PROCEDURE IsNil(s : String) : BOOLEAN;
  10. BEGIN RETURN s = NIL END IsNil;
  11. END DString.