t_lower3.mod 401 B

1234567891011121314151617181920212223
  1. MODULE TLower3;
  2. (* Lower L3: a function (params + result), a procedure with locals,
  3. calls, and RETURN with a value. Exit 15. *)
  4. VAR g : INTEGER;
  5. VAR ExitCode : INTEGER;
  6. PROCEDURE Add(a, b : INTEGER) : INTEGER;
  7. VAR s : INTEGER;
  8. BEGIN
  9. s := a + b;
  10. RETURN s
  11. END Add;
  12. PROCEDURE Bump(VAR x : INTEGER);
  13. BEGIN
  14. x := x + 1
  15. END Bump;
  16. BEGIN
  17. g := Add(4, 10);
  18. Bump(g);
  19. ExitCode := g
  20. END TLower3.