Compiler phase identifiers
In messages, the two characters following IGYC are compiler phase identifiers, which identify the compiler phase that issued the message.
- AS
- Code
Generator Phase Control Module Phase (IGYCASMB).
This phase loads and controls the code generator phase IGYCCBE.
- CB
- 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 theDWARF
suboption ofTEST|NOTEST
was in effect. - DI
- Diagnostic
Phase (IGYCDIAG).
This phase processes E-text and generates compiler diagnostics for source program errors.
- DM
- 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.
- DS
- 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.
- FG
- 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).
- GR
- 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 these references. 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.
- IN
- 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.
- LI
- 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.
- LS
- 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.
- OS
- 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)
- PA
- 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.
- PG
- 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.
- PS
- 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.
- RC
- 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.
- SC
- Scan
Phase (IGYCSCAN).
This phase manages the Data Scan, Group Process, Procedure Scan, and Procedure Analysis sub-phases.
- SI
- 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.
- XR
- Cross-Reference
Phase (IGYCXREF).
This phase produces cross-references requested by the XREF option.