[fpc-pascal] Re: Get all caller adresses of a given function/procedure before executing

Rainer Stratmann RainerStratmann at t-online.de
Wed Aug 15 14:49:04 CEST 2012

Am Wednesday 15 August 2012 14:13:41 schrieb Sven Barth:
> Am 15.08.2012 10:48 schrieb "Rainer Stratmann" <RainerStratmann at t-online.de
> > > While this may all be very well known to you, I would ask you to step
> > > back and consider it: having a detached look at it may lead to a better
> > > choice.
> >
> > For me it would be interesting to know how dxgettext gets the snippet
> > information from the program code...!
> It scans the source beforehand and looks for resourcestrings and
> additionally for string constants embedded in a function call to "_()"
> (which is their translation function). It also allows to scan DFM files.

If the compiler would simply store the 2 informations (caller adress, pointer 
to the pchar) in a list this scan beforehand would not be necessary anymore 
like in my solution.

I would call this function rs( s : pchar ) because it has to be short.
if there is a rs() in the program the compiler stores the caller adress 
(unique handle) and the pointer to the pchar in a list.

That would be an advantage for freepascal if providing this information native 
and not by some kind of hack like I do now.
Then also the compatible/portable discussion would have an end.
And the jokes about try to make it more difficult to search through the 
opcodes :-)

More information about the fpc-pascal mailing list