t_procaddr.mod 357 B

1234567891011
  1. MODULE TProcAddr;
  2. // ADR(proc) and VAL(ADDRESS, proc) yield the same code address; a
  3. // procedure value converts to/from ADDRESS/PROC. Exit 42.
  4. FROM SYSTEM IMPORT ADDRESS, ADR;
  5. PROCEDURE foo; BEGIN END foo;
  6. VAR a : ADDRESS;
  7. ExitCode : INTEGER;
  8. BEGIN
  9. a := ADR(foo);
  10. IF a = VAL(ADDRESS, foo) THEN ExitCode := 42 ELSE ExitCode := 1 END
  11. END TProcAddr.