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

Reply via email to