A last question: What is the schema of the automatic type-conversion? Is there a global schema for converting between ordinal,real and string types or is it only done from case to case?
What do you mean by "automatic type-conversion" between ordinal, real, and string types? Assignments like "ordinal:= real" or "string:= integer" are - of course - simply illegal in Pascal. You can assign an integer to a real, but not vice versa.
I think I was a little bit lazy in my question. Of course I meant: What is the schema of type conversion between the members of the ordinal,real and string type familys. I.e. what happens internally and what does the compiler if there are lines like
var i:integer; l:longint;
r:real; e:extended;
s:string(255); p:pchar; begin i:=l; e:=r; p:=s; end.