Open PL/I consists of the following executable programs:
Note that in the names mfpli and mfplx the fourth character is the lowercase of the letter "L".
mfpp is executed prior to the compilation, and its output is passed to the Open PL/I Compiler.
You can run mfpp directly, but the recommended way to run it is by use of the -macro option with mfplx when you are compiling your program. This allows the mfpp output to be automatically directed to the Compiler.
mfpli allows only one filename, accepts only Open PL/I Compiler options, and requires a separate ldpli step. The suffix of the filename to be compiled by mfpli is not restricted.
mfplx allows multiple filenames and accepts mfpli options as well as many standard UNIX or Windows system compiler and linker options, such as -c and -o. The -c option specifies compilation without linking. When -c is used, the -o option is passed to the compiler; when -c is not used, -o is passed to ldpli. Note that some file name suffixes are restricted to .pl1 or .pli when using mfplx.
The Include Preprocessor processes selected or default "include" statements and produces a deck that can then be treated as a single source file by another preprocessor or the Open PL/I Compiler. It is normally run under control of mfplx and is always run as the first preprocessor. Its output becomes the input to the next preprocessor or the Open PL/I Compiler.
mfplx -# -incl myprog.pli –isuffix .inc –path e:\source\include –ppincl myprog.out –optincl sp
The CICS preprocessor converts EXEC statements into native PL/I code that is then possibly further macro processed and then finally compiled and linked.
The OpenESQL and DB2 preprocessors process SQL statements before the compilation.
See the following sections for descriptions of the syntax to invoke mfpp, mfpli, or mfplx.