MODULE TPtr; // Pointers: NEW, deref store/load, aliasing, NIL both ways, // DISPOSE + nil-after. Exit 42. TYPE PInt = POINTER TO INTEGER; VAR ExitCode : INTEGER; VAR p, q : PInt; BEGIN NEW(p); p^ := 42; q := p; IF (p = q) AND (p # NIL) THEN ExitCode := 40 ELSE ExitCode := 0 END; DISPOSE(p); p := NIL; IF p = NIL THEN ExitCode := ExitCode + 2 END END TPtr.