js_keyword.ob 632 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. MODULE import;
  2. TYPE
  3. Math* = RECORD
  4. PROCEDURE do*();
  5. PROCEDURE catch*();
  6. END;
  7. PROCEDURE Math.do();
  8. END;
  9. PROCEDURE Math.catch();
  10. END;
  11. END import.
  12. MODULE m;
  13. IMPORT import;
  14. TYPE
  15. Object = RECORD(import.Math)
  16. PROCEDURE Object(var: INTEGER);
  17. PROCEDURE throw();
  18. var: INTEGER;
  19. END;
  20. Number = RECORD(Object)
  21. PROCEDURE Number();
  22. END;
  23. PROCEDURE Object.Object(var: INTEGER)
  24. | var(var);
  25. END;
  26. PROCEDURE Object.catch();
  27. BEGIN
  28. SUPER();
  29. END;
  30. PROCEDURE Object.throw();
  31. END;
  32. PROCEDURE Number.Number()
  33. | SUPER(123);
  34. END;
  35. PROCEDURE Number.throw();
  36. BEGIN
  37. SUPER();
  38. END;
  39. PROCEDURE Number.do();
  40. BEGIN
  41. SUPER();
  42. END;
  43. END m.