t_varpar.mod 402 B

1234567891011121314151617181920212223242526
  1. MODULE TVarPar;
  2. // VAR params: swap + accumulate through addresses. Exit 40.
  3. VAR ExitCode : INTEGER;
  4. PROCEDURE Swap(VAR a, b : INTEGER);
  5. VAR t : INTEGER;
  6. BEGIN
  7. t := a;
  8. a := b;
  9. b := t
  10. END Swap;
  11. PROCEDURE Bump(VAR x : INTEGER; by : INTEGER);
  12. BEGIN
  13. x := x + by
  14. END Bump;
  15. VAR p, q : INTEGER;
  16. BEGIN
  17. p := 10;
  18. q := 20;
  19. Swap(p, q);
  20. Bump(p, 5);
  21. Bump(q, 5);
  22. ExitCode := p + q
  23. END TVarPar.