Alias:
SET-LISTING-PROPERTIES
This statement can be used to select which listings are to be generated by the listing generator. It can also be used to define the layout and the output destinations for theselistings. Apart from a few deviations in the OUTPUT option, the syntax of this statementis identical to the compiler statement of the same name.
MODIFY-LISTING-PROPERTIES | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
OPTIONS = *UNCHANGED / *YES / *NO
*YES: The listing generator creates a listing of all default and user-defined compiler options.
SOURCE = *UNCHANGED
The value specified in the last MODIFY-LISTING-PROPERTIES statement applies.
SOURCE = *NO
No source/error listing is generated.
SOURCE = *YES(...)
A source/error listing is generated.
MINIMAL-MSG-WEIGHT = *NOTE / *WARNING / *ERROR / *FATAL
This option can be used to specify the minimum message weight for which error messages are to be included in the source listing.
Note that the CIF information only contains the messages which were output during the compile. That was controlled with the compiler statement MODIFY-DIAGNOSTIC-PROPERTIES. This suboption can only limit the number of messages output compared to the CIF information, for example from WARNING to ERROR.
If MODIFY-DIAGNOSTIC-PROPERTIES for MINIMAL-MSG-WEIGHT = *WARNING (default setting) was specified in the compilation, MODIFY-LISTING-PROPERTIES cannot achieve that notes are output.
For examples see the compiler statement MODIFY-DIAGNOSTIC-PROPERTIES.
PREPROCESSING-RESULT = *UNCHANGED
The value specified in the last MODIFY-LISTING-PROPERTIES statement applies.
PREPROCESSING-RESULT = *NO
The listing generator does not create a preprocessor listing.
PREPROCESSING-RESULT = *YES(...)
The listing generator creates a preprocessor listing.
COMMENTS = *YES / *NO
Comments from the source file are included in the preprocessor listing (can be suppressed with *NO).
DATA-ALLOCATION-MAP = *UNCHANGED
The value specified in the last MODIFY-LISTING-PROPERTIES statement applies.
DATA-ALLOCATION-MAP = *NO
The listing generator does not create a map listing.
DATA-ALLOCATION-MAP = *YES(...)
The listing generator creates a preprocessor listing.
STRUCTURE-LEVEL = *UNCHANGED
The value specified in the last MODIFY-LISTING-PROPERTIES statement applies.
STRUCTURE-LEVEL = *NONE
Structure elements are not included in the map listing.
STRUCTURE-LEVEL = *MAX
Structure elements up to the maximum nesting level (256) are included in the map listing.
STRUCTURE-LEVEL = <integer 0..256>
Only the structure elements up to the nesting level specified by <integer> are included in the map listing. If the specified as the nesting level is 0, no structure elements are included (corresponds to STRUCTURE-LEVEL=*NONE).
CROSS-REFERENCE = *UNCHANGED
The value specified in the last MODIFY-LISTING-PROPERTIES statement applies.
CROSS-REFERENCE = *NO
The listing generator does not create a cross-reference listing.
CROSS-REFERENCE = *YES(...)
The listing generator creates a "global" cross-reference listing, i.e. a cross-reference listing for multiple modules. This listing always contains a FILETABLE section with the names of all files, libraries, and elements that are used as sources by the compiler.
PREPROCESSING-INFO = *UNCHANGED / *YES / *NO
The cross-reference listing may optionally include a list of names processed by the preprocessor.
TYPES = *UNCHANGED / *YES / *NO
The cross-reference listing may optionally include a list of user-defined types (typedefs, structure, union, class and enumeration types).
VARIABLES = *UNCHANGED / *YES / *NO
The cross-reference listing contains a list of variables (can be suppressed with *NO).
FUNCTIONS = *UNCHANGED / *YES / *NO
The cross-reference listing contains a list of functions (can be suppressed with *NO).
LABELS = *UNCHANGED / *YES / *NO
The cross-reference listing contains a list of labels (can be suppressed with *NO).
TEMPLATES = *UNCHANGED / *YES / *NO
The cross-reference listing may optionally contain a list of templates.
ORDER = *STD / list-poss(6): *PREPROCESSING-INFO / *TYPES /*VARIABLES / *FUNCTIONS / *LABELS / *TEMPLATES
This option specifies the order in which the individual parts of the cross-reference-listing are shown.
*STD: The default is in the order shown after list-poss above.
PROJECT-INFORMATION = *UNCHANGED / *YES / *NO
*YES: The listing generator creates a project listing showing a comparison of all external names originally used in the source program and the names internally generated by the compiler for the linkage editor.
ASSEMBLER-CODE = *UNCHANGED / *YES / *NO
*YES: The listing generator creates an object code listing.
SUMMARY = *UNCHANGED / *YES / *NO
*YES: The listing generator creates a listing containing statistical data on the compiler run.
LAYOUT =
This option can be used to define the page width (number of characters per line) and the page length (number of lines per page) for the listings.
If a line width of 120 characters is selected, all the listings will have narrower headers and footers. Text lines are wrapped only in the table listings (option, cross-reference and map listings). Overlong text lines in the source, preprocessor and object code listings may be truncated when the listings are printed.
When a BS2000 output file is specified, the first column of every line is reserved to control the line feed.
When the output is sent to a POSIX file, the appropriate POSIX control characters for line and page feeds are generated. The result is that the line length in the POSIX output file is up to 3 characters larger than the selected line width specification.
LAYOUT = *UNCHANGED
The value specified in the last MODIFY-LISTING-PROPERTIES statement applies.
LAYOUT = *FOR-NORMAL-PRINT(...)
Listings in landscape format.
LINE-SIZE = *UNCHANGED
The value specified in the last MODIFY-LISTING-PROPERTIES statement applies.
This also applies if that specification was made at *FOR-ROTATION-PRINT.
LINE-SIZE = *STD
132 characters per line are output.
LINE-SIZE = <integer 120..255>
120 to 255 characters per line are output.
LINES-PER-PAGE = *UNCHANGED
The value specified in the last MODIFY-LISTING-PROPERTIES statement applies.
This also applies if that specification was made at *FOR-ROTATION-PRINT.
LINES-PER-PAGE = *STD
64 lines per page are output.
LINES-PER-PAGE = <integer 11..255>
11 to 255 lines are printed per page.
The lower limit is fixed at 11 lines so that at least the listing header and footer and one line of text can be printed.
LAYOUT = *FOR-ROTATION-PRINT(...)
Listings in portrait format.
In order to print such listings, the ROTATION parameter must be specified in the PRINT-FILE command.
LINE-SIZE = *UNCHANGED
The value specified in the last MODIFY-LISTING-PROPERTIES statement applies.
This also applies if that specification was made at *FOR-NORMAL-PRINT.
LINE-SIZE = *STD
120 characters per line are output.
LINE-SIZE = <integer 120..255>
120 to 255 characters per line are output.
LINES-PER-PAGE = *UNCHANGED
The value specified in the last MODIFY-LISTING-PROPERTIES statement applies.
This also applies if that specification was made at *FOR-NORMAL-PRINT.
LINES-PER-PAGE = *STD
84 lines per page are output.
LINES-PER-PAGE = <integer 11..255>
11 to 255 lines are printed per page.
The lower limit is fixed at 11 lines so that at least the listing header and footer and one line of text can be printed.
INCLUDE-INFORMATION = *UNCHANGED / *ALL / *NONE / *USER-INCLUDES-ONLY
This option is used to specify which header files (if any) are to be shown in the source, preprocessor and cross-reference listings. By default, only the user-defined header files are shown, not the standard headers. Note that this option can only restrict the information created on the include files at compilation, include file that are explicitly or implicitly determined using the operand of the same name in the MODIFY-CIF-PROPERTIES statement.
LISTING-PRAGMAS =
This option controls which existing #pragma
directives (if any) in the source text are to be interpreted when creating source and preprocessor listings.
A description of the #pragma
directives can be found in the section “Pragmas to control the layout of listings”).
LISTING-PRAGMAS = *UNCHANGED
The value specified in the last MODIFY-LISTING-PROPERTIES statement applies.
LISTING-PRAGMAS = *INTERPRETED / *IGNORED
All #pragm
a directives are interpreted (*INTERPRETED) or ignored (*IGNORED).
LISTING-PRAGMAS = *SELECT(...)
One or more of the following #pragma
directives to control listings are interpreted (*YES) or ignored (*NO).
PAGE = *UNCHANGED / *YES / *NO
Directive #pragma PAGE
[text]:
for a page feed and optional line in the listing header
TITLE = *UNCHANGED / *YES / *NO
Directive #pragma TITLE
text:
for a line in the listing header
SPACE = *UNCHANGED / *YES / *NO
Directive #pragma SPACE
[n]:
to insert blank lines
LIST = *UNCHANGED / *YES / *NO
Directive #pragma LIST
[ING
] ON
or #pragma LIST
[ING
] OFF
:
to suppress the output of source text lines
INITIAL-TITLE-TEXT = *UNCHANGED / *NONE / <c-string 1..256>
This option can be used to specify if an additional line is to appear in the header of the listing and the text that is to be entered in it. In contrast to pragmas, which only apply to source and preprocessor listings, the INITIAL-TITLE-TEXT option applies to all compiler listings. If the text is longer than the line length defined with the LINE-SIZE option (see compiler statement "MODIFY-LISTING-PROPERTIES"), it is split into multiple lines of appropriate length.
In the case of source and preprocessor listings, TITLE and PAGE pragmas (if any) override the INITIAL-TITLE-TEXT specification.
OUTPUT = *UNCHANGED
The value specified in the last MODIFY-LISTING-PROPERTIES statement applies.
OUTPUT = *SYSLST
The listings are written to the temporary system file SYSLST by default and are sent from there to the printer at the end of the task (at LOGOFF).
OUTPUT = *SYSOUT
The listings are written to the system file SYSOUT, which is assigned to the terminal ininteractive mode.
OUTPUT = <filename 1..54>
The listings are written to a cataloged BS2000 file with the specified name.
OUTPUT = <posix-pathname>
The listings are written to a POSIX file.
Only a file name is permitted as <posix-pathname>. See "Compiler I/O in the POSIX file system" for a description of the term <posix-pathname>.
OUTPUT = *LIBRARY-ELEMENT(...)
This option specifies the PLAM library (LIBRARY=) and the element name (ELEMENT=) under which the listings are to be stored. The element is stored as element of type P.
LIBRARY = *STD-LIBRARY
The listings are stored in the library SYS.PROG.LIB by default.
LIBRARY = <filename 1..54>
The listings are written to a PLAM library with the specified name.
LIBRARY = *LINK(...)
LINK-NAME = <filename 1..8>
A link name can also be specified instead of the library name.
<filename> designates the link name of the assigned library. This link name must already have been assigned to the PLAM library (with the ADD-FILE-LINK
command) before the listing generator is called.
ELEMENT = <composed-name 1..64 with-under>(...)
The listings are written to a PLAM library element (type P) with the specified name.
VERSION = *UPPER-LIMIT
If the element entry does not contain a version ID, the highest possible version is used by the listing generator.
VERSION = *INCREMENT
The element is assigned a version number that is obtained by incrementing the highest existing version number by 1, assuming that the highest existing version ID ends with a digit that can be incremented. If the version ID cannot be incremented, the generation of the listing is aborted with an error message.
See the COMPILE statement for an example.
VERSION = <composed-name 1..24 with-under>
The element is assigned the specified version.