Just to make things clear:
the structure definitions for the module interfaces are not built by the
language macro processors, but instead the language independent
definitions,
which reside in DB2 tables, are read by a program, and this program
constructs
(writes) source code in the three supported languages, that is, include
files.
In the case of PL/1 and ASSEMBLER, some of the definitions in those
include files of course involve macro calls (some of the field
definitions are
macro calls, just to be able to make some global changes easier).
There is a close relationship between the names of those "interface"
include files and
the names of the corresponding modules; in fact, the names are (most of
the time)
the same. Both objects have version numbers, but the versions can be
different;
the modul normally changes more often than the interface.
Another very special feature: if an interface changes, say from version
07 to 08,
then the existing callers of interface 07 can, for a certain time,
remain at interface
version 07, if the change is compatible in a certain way. The interface
modules
recognize the difference in the interface (by comparing the version
numbers) and
call - if needed - a generated module which dynamically converts the 07
interface
to the 08 interface and - on return - the other way round. This is very
practical if
there are many callers of the module and the callers don't have the time
to upgrade
their modules to the new interface.
Kind regards
Bernd
Am 19.09.2012 17:07, schrieb John Gilmore:
The PL/I macro preprocessor can generate such structure definitions.
I can say this, although I cannot ethically provide a supportive
example, because I have had private access to some of Bernd's code on
two occasions; but he should (and will) add any qualifications he
judges necessary.
The current C preprocessor is in most respects a toy. Its chief
defect here is that it does not support compile-time arrays, lists, or
any surrogate for them.
--jg
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN