The compiler translates the source data input into machine language and generates one or more object modules (OM format) or link-and-load modules (LLM format) in the process. Each such module can be assigned a List for Symbolic Debugging (LSD) containing the symbolic addresses of the compilation unit.
By default, the compiler places the object modules in the temporary EAM file of the current task. The object modules are simply added to the library, i.e. stored without defining any relationship between them.
The EAM file belongs to the task under which the compilation is performed. It is created for this task during the first compilation run and is automatically deleted at task end (LOGOFF). If the results of the compilation are to be used later, it is up to the user to store the contents of the EAM file in a backup file for further processing. The LMS utility routine (see “LMS” manual [11]) is available to the user for backup of object modules from the EAM file in PLAM libraries.
If the compiled object modules are no longer needed in the EAM file, e.g. because the compilation unit still contains errors that need to be corrected, it is advisable to delete the EAM file - at the latest, before the next compiler run - by using the command:
/DELETE-SYSTEM-FILE [SYSTEM-FILE=] OMF
Link-and-load modules (LLMs) are always written to a PLAM library by the compiler as elements of type L.
If the POSIX subsystem is available, modules can be written to the POSIX file system. This option is described in section "MODULE-OUTPUT option".
Formation of element names when modules are output to libraries
| Module format OM | Module format LLM |
Standard name derived from | ||
Code that is not shareable 1) not segmented segmented | ID-name2) ..83) PROGRAM-ID-name 1..6 | ID-name2) 1..304) PROGRAM-ID-name 1..30 4) |
Shareable code 5) | ID-name 2) 1..7@ | ID-name 2) 1..30 3) |
Table 2: Formation of element names at module generation and output
1) | Module generated with |
2) | ID-name is the PROGRAM-ID-name, CLASS-ID-name or INTERFACE-ID-name. |
3) | The name should be unique in the first 7 characters. |
4) | A separate element name may be selected instead of the standard name by specifying |
5) | Module generated with |