t_addrptr.mod 352 B

123456789101112
  1. MODULE taddrptr;
  2. // ADDRESS <-> pointer assignment.
  3. FROM SYSTEM IMPORT ADR;
  4. TYPE Arr = ARRAY [0..2] OF INTEGER;
  5. VAR a : Arr; p : POINTER TO Arr; q : POINTER TO INTEGER; v : INTEGER;
  6. VAR ExitCode : INTEGER;
  7. BEGIN
  8. a[1] := 42;
  9. p := ADR(a);
  10. q := ADR(v); q^ := 7;
  11. IF (p^[1] = 42) AND (v = 7) THEN ExitCode := 42 ELSE ExitCode := 1 END
  12. END taddrptr.