Re: Listing called functions in .pro file [message #7473 is a reply to message #7364] |
Mon, 18 November 1996 00:00  |
Peter Mason
Messages: 145 Registered: June 1996
|
Senior Member |
|
|
On Tue, 12 Nov 1996, David Fanning wrote:
> MICHEL KRUGLANSKI <M.Kruglanski@oma.be> writes:
(...RESOLVE_ALL doesn't resolve procedures/functions which are in source files
containing more than 1 routine and which don't have the same name as the
source file.)
I've hacked RESOLVE_ALL so that it will work for some of these cases.
It will be slower than the original, but more persistent.
Anyone interested may pick up a copy from our anon FTP site:
Server: demsyd.syd.dem.csiro.au (130.155.34.2)
Subdir: pub/mmtg/idl
File: resolve_evenmore.pro
Briefly, RESOLVE_EVENMORE does not crash when it tries to compile a routine
which calls another routine which can't be found - it puts the failed-to-
compile routine's name on a "bad list" and carries on. It retries any
failed routines in later passes.
This sort of problem is commonly due to a reference to some utility/support
routine in a file containing routines specific to some module, or in a
"library file" of routines. (I quite favour this style of organising
routines (along with using "forward_function"), which is why I modified
RESOLVE_ALL. Purists kindly avert your gazes.)
Usually a module's "main" procedure or a library's "stub" procedure (at
the end of the file, and with the same name as the file) is referred to sooner
or later, at which point the whole file gets compiled. The routines which
failed to compile earlier now stand a better chance of being compiled.
Peter Mason
CSIRO division of Exploration and Mining
P.O Box 136, North Ryde, NSW, 2113, Australia
E-Mail: p.mason@syd.dem.csiro.au Tel: +61 2 9887-8883 Fax: 9887-8921/8909
"It never hurts to help. Well, not normally." - Eek the cat.
|
|
|