t_withfield.mod 312 B

123456789101112131415161718
  1. MODULE TWithField;
  2. // WITH-field as VAR actual. Exit 13.
  3. TYPE Point = RECORD x, y : INTEGER END;
  4. VAR ExitCode : INTEGER;
  5. VAR p : Point;
  6. PROCEDURE Bump(VAR v : INTEGER);
  7. BEGIN
  8. v := v + 5
  9. END Bump;
  10. BEGIN
  11. p.x := 1;
  12. p.y := 2;
  13. WITH p DO
  14. Bump(x);
  15. Bump(y)
  16. END;
  17. ExitCode := p.x + p.y
  18. END TWithField.