t_lower4.mod 542 B

123456789101112131415161718192021222324252627
  1. MODULE TLower4;
  2. (* Lower slice L4: builtins (ABS/CAP/CHR/ORD/INC/DEC/INCL/EXCL/NEW/DISPOSE)
  3. over records, arrays, sets and pointers. Exit 42. *)
  4. TYPE
  5. Rec = RECORD a, b: INTEGER; END;
  6. VAR
  7. x, i, ExitCode : INTEGER;
  8. c : CHAR;
  9. v : ARRAY [0..3] OF INTEGER;
  10. s : SET OF [0..7];
  11. p : POINTER TO Rec;
  12. BEGIN
  13. x := ABS(-40);
  14. c := CHR(97);
  15. c := CAP(c);
  16. i := ORD(c) + 1;
  17. v[0] := i;
  18. INC(v[0]);
  19. DEC(x, 1);
  20. INCL(s, 1);
  21. EXCL(s, 1);
  22. NEW(p);
  23. p^.a := 2;
  24. x := x + p^.a;
  25. DISPOSE(p);
  26. ExitCode := x + v[0] - 66
  27. END TLower4.