COMPILES - The mass-compiler


COMPILES is an MVS utility program to automate and speed up the compilation of large numbers of programs. COMPILES can achieve throughputs of 500 to 5000 compilations per hour, including HLLPI translation and link-edit.

This tool is very handy in a z/OS V2R1 migration when a large number of recompilations are necessary in an Enterprise COBOL for z/OS V5.1 migration.

At the center of COMPILES is a powerful program shell which replaces the JCL procedures and TSO CLISTs typically used to compile programs. Based on language definitions contained in the Process Table, the COMPILES shell invokes standard HLLPI translators, the assembler, compilers, pre-linkers and the linkage editor, as required for proper compilation of each program. Regardless of the number of programs processed, COMPILES runs as a single job step with minimal impact on the system.

COMPILES's main benefits are:

  • Time and Resource requirements reduced by 75% - COMPILES uses a minimal amount of JCL, pre-allocated data-sets and several I/O reduction features to achieve dramatic savings in elapsed time and overall consumption of system resources.
  • Check-out time reduced by 90% - COMPILES provides consolidated error listings: the user knows at a glance what compilations failed and why; restarting failed compilations is automatic.
  • Flexible customisation capabilities to support most of the IBM and non-IBM languages.


COMPILES executes on any MVS/ESA, OS/390 or z/OS system, and currently supports the following environments:

Other environments will be supported in the future.


COMPILES's processing is driven by two tables.

  1. The MODULE table identifies each application program and sub-program, along with its language, type (main/sub), HLLPI requirements and other options. In the Prism-CS environment, this table is built automatically by the Inventory Validation program.
  2. The PROCESS table, which defines which compilers, HLLPI translators, and other processes must be executed to properly compile and link-edit the corresponding modules. The PROCESS table must be customised at installation time using the sample table provided in the COMPILES installation library.


Program compilation under COMPILES produces different types of output:

  1. Control report and statistics
  2. Compilation error messages (SYSTERM) written to SYSOUT
  3. Load-modules, object modules, symbolic maps, DBRM, are created as specified in the Process Table
  4. Listings for failed compilations are written to PDS members
  5. Listings for successful compilations can be written to SYSOUT and/or written to PDS members, optionally in ISPF packed format
  6. At the end of its processing, COMPILES optionally issues TSO SEND commands to notify the user of a pre-determined number of compilation failures


To purchase a COMPILES License or obtain additional information, please contact GSF Software.

Note: COMPILES is a standard component of Prism-CS and an optional component of MS-Tools and CB2CONV..

Search key-words: MVS OS/390 z/OS OS390 zOS compilation compiler mass-compiler cobol assembler pl1 pli pl/1 pl/i dylakor easytrieve link-edit linkedit binder db2 bind cics ims link-deck linkdeck program many programs module modules application applications compil de masse programme