Macro preprocessor

Macros allow you to write commonly used PL/I code in a way that hides implementation details and the data that is manipulated and exposes only the operations. In contrast with a generalized subroutine, macros allow generation of only the code that is needed for each individual use. You can invoke the macro preprocessor by specifying either the MACRO option or the PP(MACRO) option.

You can specify PP(MACRO) without any options or with options described in Macro preprocessor options.

The defaults for all these options cause the macro preprocessor to behave the same as the OS PL/I V2R3 macro preprocessor.

If options are specified, the list must be enclosed in quotation marks (single or double, as long as they match); for example, to specify the FIXED(BINARY) option, you must specify PP(MACRO(’FIXED(BINARY)’)).

If you want to specify more than one option, you must separate them with a comma or one or more blanks. For example, to specify the CASE(ASIS) and RESCAN(UPPER) options, you can specify PP(MACRO(’CASE(ASIS) RESCAN(UPPER)’)) or PP(MACRO("CASE(ASIS),RESCAN(UPPER)")). You can specify the options in any order.

The macro preprocessing facilities of the compiler are described in the PL/I Language Reference.