Olle Raab wrote:

03-11-30 10.36, skrev Jonas Maebe följande:


On 30-nov-03, at 02:29, Pedro Lopez-Cabanillas wrote:


Of course, if the compiler doesn't support this feature, because the
internal
handling of function calls, a compiler error message is better than a
program
crash.

The problem is that some iterator-implementations do (and only) support local functions/procedures. The collections in TP's (and as such also FPC's) objects.pas are an example. They include special code for that support, however. So always giving an error is going to give a lot of false errors for people coming from TP/BP.


But I was talking about Pascal language conventions. Instead of my code
snippet, you can refer to the document "Extended Pascal", ISO-10206,
chapter
6.11.6, examples 6-9. It's available here (among other places):
http://www.pascal-central.com/standards.html

And GPC supports this feature, see:
http://www.gnu-pascal.de/demos/iteratordemo.pas

That's because GPC supports standard/extended Pascal, we don't. To implement this, I think a procedure variable must always be a pointer+it's frame pointer (nil if it's not a nested procedure), a bit like procedure of object.


This is correct, in some Apple docs this pointer was called the "static
link".

It's also supported in mac pascal dialects. It would be nice if we could
support it, it is one of the strength with pascal to be able to do such
things, e g supporting a local compare funciton to a generic sort procedure,
IMHO. Its a nice feature to beat C fans with.


OMG, I thought the proc. var stuff is fixed finished now :)





_______________________________________________ fpc-devel maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to