Enterprise COBOL for z/OS 6.3
In messages, the two characters following IGYC are compiler phase identifiers, which identify the compiler phase that issued the message.
- Code Generator Phase Control Module Phase (IGYCASMB).
This phase loads and controls the code generator phase IGYCCBE.
- Code Generation and Optimization Phase (IGYCCBE).
This phase (optionally) optimizes the program, and then generates machine instructions and allocates and manages register usage.
This phase also puts out the LIST output to the listing and (optionally) generates debugging information if the DWARF suboption of TEST|NOTEST was in effect.
- Diagnostic Phase (IGYCDIAG).
This phase processes E-text and generates compiler diagnostics for source program errors.
- DMAP Phase (IGYCDMAP).
This phase processes the MAP option to generate the DATA DIVISION storage map.
It uses data contained in the dictionary to produce the storage map.
- Data Scan Sub-Phase (IGYCDSCN).
This phase translates input source statements in the IDENTIFICATION DIVISION, ENVIRONMENT DIVISION, and DATA DIVISION into compiler internal text.
It also identifies and classifies statements, and performs syntactical analysis on statements and statement elements.
An entry is made in the symbol table for each unique user name identified in this scan.
This phase creates attribute table entries for data definition elements (for example, data-names or file-names), processes data description entry clauses, and
checks clauses within an entry for compatibility.
General information table entries are also created for edited PICTURE masks and user-defined collating sequences associated with an alphabet name.
- File Generation Phase (IGYCFGEN).
This phase is a conditional phase executed only if the COBOL program contains an FD (I/O file) and/or an SD (sort file).
- Group Process Sub-Phase (IGYCGROU).
The Group Process sub-phase of the Scan Phase processes references to data names in the ENVIRONMENT DIVISION and DATA DIVISION.
This phase resolves all the forward data references encountered by DSCN (and for which I-text was produced), completing Attribute Table and GIT entries for
This phase is also responsible for processing VALUE clause literals and creating the required procedure form I-text (for format-1 VALUE) or GIT entries (for
format-2 VALUE) for these literals.
- Initialization Phase (IGYCINIT).
This phase performs the housekeeping functions required to prepare the operating environment for the processing of source programs.
It is also invoked at the end of compilation to perform the housekeeping involved in normal program termination.
Because these functions are performed only once for each compilation, the code is contained in the initialization phase rather than in the resident control phase.
This phase is not resident during compilation.
- Copy Phase (IGYCLIBR).
This phase scans the user's COBOL source for COPY, BASIS, and REPLACE statements.
It is invoked only if the LIB option has been specified.
Original and library source texts are processed, and lexical and syntactic analysis of the COPY, BASIS, and REPLACE statements is performed.
The phase updates the library text and creates C-form (COPY) text.
- Lister Phase (IGYCLSTR).
This phase manages the construction of the program's source listing.
This phase processes L-text (listing text), and, if the appropriate compiler options are selected, imbeds diagnostic messages, map information and
cross-reference information in the source listing.
It also indicates statement or program nesting levels for every source line.
- Options Scan Phase (IGYCOSCN).
This phase determines which compilation options are to be in effect by merging options and resolving conflicts from the following:
- Default options table
- CBL statements
- JCL PARM statement
- JCL OPTION statement (VSE Only)
- Procedure Analysis Sub-Phase (IGYCPANA).
This phase does semantic analysis of PROCEDURE DIVISION source statements, transforms I-text into M-text, and resolves procedure-name references.
- Procedure Generation Phase (IGYCPGEN).
This phase processes those verbs coded in the PROCEDURE DIVISION of the COBOL program or generated by the procedure analysis phase.
In addition, certain information about the source program needed by the assembly phases is collected in this phase.
If the NOCOMPILE option is in effect, this phase is not executed.
- Procedure Scan Sub-Phase (IGYCPSCN).
The Procedure Scan sub-phase of the Scan Phase performs syntax analysis and a part of the semantic analysis on the PROCEDURE DIVISION source statements.
It translates each data name appearing as an operand in a statement into an Attribute Table offset and collects the attribute information for the operand.
It also validates each operand. Based on the language definition, it diagnoses invalid operands.
- Resident Control Phase (IGYCRCTL).
This phase establishes the compilation environment and controls the loading and deleting of all compiler phases.
IGYCRCTL is loaded by the host operating system or by the CMS Interface Phase, COBOL2, under CMS.
This phase remains in memory throughout the compilation process.
- Scan Phase (IGYCSCAN).
This phase manages the
Data Scan (DS),
Group Process (GR),
Procedure Scan (PS), and
Procedure Analysis sub-phases (PA).
- System Interface Phase (IGYCSIMD).
This phase obtains and initializes dynamic storage for compiler processing.
It is invoked by all phases through the common service macros to perform system dependent functions.
This phase is always loaded within the first 16 megabytes of storage and is resident in storage throughout the compilation.
IGYCSIMD is loaded by IGYCRCTL, the resident control phase.
- Cross-Reference Phase (IGYCXREF).
This phase produces cross-references requested by the XREF option.
© Copyright IBM Corp.