t_procval.mod 359 B

12345678910111213
  1. MODULE TProcVal;
  2. // A procedure value assigns to a PROC variable, and PROC converts to
  3. // ADDRESS (identical to ADR(foo)). Exit 42.
  4. FROM SYSTEM IMPORT ADR;
  5. PROCEDURE foo; BEGIN END foo;
  6. VAR p : PROC;
  7. a : ADDRESS;
  8. ExitCode : INTEGER;
  9. BEGIN
  10. p := foo;
  11. a := VAL(ADDRESS, p);
  12. IF a = ADR(foo) THEN ExitCode := 42 ELSE ExitCode := 1 END
  13. END TProcVal.