MODULE TLower4; (* Lower slice L4: builtins (ABS/CAP/CHR/ORD/INC/DEC/INCL/EXCL/NEW/DISPOSE) over records, arrays, sets and pointers. Exit 42. *) TYPE Rec = RECORD a, b: INTEGER; END; VAR x, i, ExitCode : INTEGER; c : CHAR; v : ARRAY [0..3] OF INTEGER; s : SET OF [0..7]; p : POINTER TO Rec; BEGIN x := ABS(-40); c := CHR(97); c := CAP(c); i := ORD(c) + 1; v[0] := i; INC(v[0]); DEC(x, 1); INCL(s, 1); EXCL(s, 1); NEW(p); p^.a := 2; x := x + p^.a; DISPOSE(p); ExitCode := x + v[0] - 66 END TLower4.