[fpc-devel] Macro Processing

Joerg Schuelke joerg.schuelke at gmx.de
Mon May 16 15:59:30 CEST 2011

Am Mon, 16 May 2011 14:36:29 +0100
schrieb Martin <fpc at mfriebe.de>:

> I have seen that in C, macros generating macros.
> As the result, even if you knew you where looking at a macro, you had
> no way to find where it was declared. Because the declaration did not 
> contain it's name (but concatenated it from many pieces).
> Search for the full name => the declaration is not found.
> With the above, you could at least define procedures, that can not be 
> found by search.
> And over time it will happen. With macro support like this, people
> start building there macro-libraries. And eventually end up with
> things they never even intended themself.

I see that, too. But I do not believe that the interpretation should be
that rigoros. Incorporating a macro expander means of course a second
level of text processing. So, if you descend in the macro, you have to
think macro to read it. (Thats what I am not able to do) It is a
language. You have to learn it if you want to use and understand it.
And it works contrary to the procedural approach of pascal, it is a
token eating and puking machine. Thats the way it is. It is not only
the weakness, it is the power too. Will think about.


More information about the fpc-devel mailing list