pascalnide
pascalnide copied to clipboard
nil pointers
Compiling or running this program results in internal error (null pointer ref in the interpreter). The program is valid though.
program list; type nodeptr = ^node; node = record i: integer; p: nodeptr; end; var head, tail, p: nodeptr; i: integer; begin new(head); head^.i := 0; head^.p := nil; tail := head; for i := 1 to 10 do begin new(p); p^.i := i; p^.p := nil; tail^.p := p; tail := p; end; p := head; repeat writeln(p^.i); p := p^.p; until p = nil; end.
Here is the complete error message:
Compile error
Attempt to invoke interface method 'com.duy.pascal.interperter.declaration.Name com.duy.pasca l.interperter.declaration.lang.types.Type.getName()' on a null object reference