Compiler Directives

The compiler directive statements /TITLE, /EJECT, /SPACE, /COPY, and /INCLUDE allow you to specify heading information for the compiler listing, to control the spacing of the compiler listing, and to insert records from other file members during a compile. The conditional compilation directive statements /DEFINE, /UNDEFINE, /IF, /ELSEIF, /ELSE, /ENDIF, and /EOF allow you to select or omit source records. The compiler directive statements must precede any compile-time array or table records, translation records, and alternate collating sequence records (that is, ** records).

Note: The compiler directive statements /FREE and /END-FREE are no longer used. If you specify them, they will be ignored. See /FREE... /END-FREE.

Directives can begin in column 7 or later.

Start of change All directives can be specified within a single fixed-form statement, and between any statements. End of change

Start of change No directive can be specified within a single free-form calculation statement. End of change

Start of change The /IF, /ELSEIF, /ELSE, and /ENDIF directives can be specified within a single free-form control, file, definition, or procedure statement. No other directives can be specified within these statements. End of change

Within a free-form statement, when a line begins with what appears to be a directive that is not allowed within that statement, it is interpreted as a slash followed by a name. For example, in the following statement, "/TITLE" is interpreted as division by a variable called "TITLE".
    x = y
      /title + 5;