On 20 Nov 2005, at 10:57, Marco van de Voort wrote:

Would it be hard for the compiler to try to automatically convert
this new construct into an equivalent older one? .. So when it finds

for S in ArrayOfInteger do ...

it silently converts it to

for i := 0 to {Count} do
  begin
    S := ArrayOfInteger[i];
    ...

?  I don't know enough about the internals to know how hard it is to
know the limits of the array and the type...

It would require special tailored code for each type. (normal arrays, open
arrays, dynarrays, pchars (length) etc etc)

All the arrays would be handled the same. The compiler can just generate low() and high() nodes, and those will automatically do the right thing.

Since a pchar is not an array but a pointer to a (possibly null- terminated) array, whether or not that construct supports pchars would be a separate decision.


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to