t_nestdeep.mod 406 B

1234567891011121314151617181920212223242526272829
  1. MODULE TNestDeep;
  2. // Three levels + siblings sharing parent locals. Exit 211.
  3. VAR ExitCode : INTEGER;
  4. PROCEDURE A(v : INTEGER);
  5. VAR s : INTEGER;
  6. PROCEDURE B;
  7. VAR t : INTEGER;
  8. PROCEDURE C;
  9. BEGIN
  10. s := s + v + t
  11. END C;
  12. BEGIN
  13. t := 100;
  14. C;
  15. C
  16. END B;
  17. PROCEDURE D;
  18. BEGIN
  19. s := s + 1
  20. END D;
  21. BEGIN
  22. s := 0;
  23. B;
  24. D;
  25. ExitCode := s
  26. END A;
  27. BEGIN
  28. A(5)
  29. END TNestDeep.