FORTRAN Reference Manual
Program Compilation
FORTRAN Reference Manual—528615-001
9-7
Compiler Operation
In the absence of PARAM OUTWIDTH, the compiler writes records of the file’s
assumed record length.
If PARAM OUTWIDTH number is specified, and
•
number is at least 72, but less than or equal to the file’s assumed record length,
the compiler writes records of number characters.
•
number exceeds the file’s assumed record length, the compiler formats a line of
number characters and writes the line as one or more records of the file’s
assumed record length.
•
number is less than 72, then the compiler ignores the PARAM entirely. If number
is greater than 132, the compiler treats it as 132.
For most portions of its listing, the compiler can format line images in two lengths: 80
and 132 characters. If the assumed record length of the compiler’s OUT file is at least
132 characters and the PARAM OUTWIDTH specifies at least 132 characters or is not
present, the compiler formats output line images of 132 characters. For all other cases,
the compiler formats output line images of 80 characters.
Compiler Operation
Except when generating certain global tables, the compiler treats each program unit as
a separate entity. Global tables include information about procedures and their
arguments, I/O units and buffer areas, and the names and lengths (but not the
contents) of COMMON data blocks.
The compilation process for a program unit proceeds as follows:
•
The compiler parses source code and makes skeletal table entries. Then, it
generates intermediate code in the form of “trees,” with each tree corresponding to
a source statement. The compiler detects any scanning or syntax errors during this
stage.
•
The compiler completes the symbol table entries. It processes information from
COMMON, SAVE, DATA, and EQUIVALENCE statements to make run-time
address assignments and to build tables for global processing.
•
The compiler emits object code to allocate data storage for local data, and
processes the intermediate code to generate the final object code for the program
unit.
Note. It can be helpful to limit the compiler’s output to an 80-character width when the listing
output file is an EDIT format file that is displayed on a terminal screen, or sent to a spooler
location that prints on 8 1/2 by 11 inch paper. Limiting the compiler’s output to 80 character
lines can also be useful if you are directing the compiler’s output to a narrow device such as a
terminal, but you want the lines formatted as if for a 132-character wide device.










