Directives for Compiler/Generator (cont.) [ COBOL/HP-UX Operating Guide for the Series 700 and 800 ] MPE/iX 5.0 Documentation
COBOL/HP-UX Operating Guide for the Series 700 and 800
Directives for Compiler/Generator (cont.)
STICKY-PERFORM
Specifies the behavior of PERFORM statements when a program is
re-entered.
Syntax:
Parameters:
None
Default:
NOSTICKY-PERFORM
Phase:
Compile
$SET:
Initial
This directive only has an effect if your program was compiled with
either PERFORM-TYPE"OSVS" or PERFORM-TYPE"RM" specified.
If you specified PERFORM-TYPE"OSVS" or PERFORM-TYPE"RM" when compiling,
PERFORM statements are implemented by having a storage area, or bucket,
associated with each place in the program that can be the end of a
PERFORM statement's range. When a PERFORM statement is executed the
return address is stored in the bucket, and at the end of the PERFORM
statement's range, the bucket is read to determine where control should
return to, then cleared.
By default, an EXIT PROGRAM statement clears these buckets, so that if
the program is reentered, none of the return addresses of the previously
executed PERFORM statements remain. Specifying STICKY-PERFORM stops the
buckets from being cleared by an EXIT PROGRAM statement. This means that
on reentry, the return addresses of all previously executed PERFORM
statements will remain.
A STOP RUN or CANCEL statement clears the buckets regardless of the
setting of this directive.
See also the description of the PERFORM-TYPE directive.
STRUCT
Makes the compiler produce extra information so that you can use the
structure feature of Advanced Animator.
Syntax:
Parameters:
None
Default:
NOSTRUCT
Phase:
Compile
$SET:
No
This directive is reserved for use with add-on products supplied by Micro
Focus. Do not change its setting unless you have an appropriate add-on
product.
Specifying STRUCT sets the ANIM directive.
SUPFF
Suppresses form-feed characters on the compilation list if it is sent to
the screen.
Syntax:
Parameters:
None
Default:
SUPFF
Phase:
Compile
$SET:
Any
SYMBSTART
Sets the number from which the compiler counts positions in the collating
sequence when compiling the SYMBOLIC CHARACTERS clause.
Syntax:
Parameters:
integer The number to be used
Default:
SYMBSTART "1"
Phase:
Compile
$SET:
Initial
For example, with SYMBSTART"1", the COBOL statement:
symbolic characters bee is 67
declares a symbolic character BEE representing "B" since, counting from
1, "B" is the 67th character in the ASCII collating sequence. With
SYMBSTART"0", BEE represents "C".
For ANSI conformance use SYMBSTART"1"; for compatibility with previous
products use SYMBSTART"0".
TERMPAGE
Determines whether the last page of a report file is to be padded with
blank lines until it is a full page in length.
Syntax:
Parameters:
None
Default:
TERMPAGE
Phase:
Compile
$SET:
Initial
This directive affects any report file for which the PAGE phrase is
specified in its Report Description (RD) entry.
TIME
Puts the time at the top of each page of the listing.
Syntax:
Parameters:
None
Default:
TIME
Phase:
Compile
$SET:
No
This directive has no effect if NODATE is specified.
See also the DATE directive.
TRACE
Turns on READY TRACE and RESET TRACE.
Syntax:
Parameters:
None
Default:
NOTRACE
Phase:
Compile
$SET:
Initial
When you set TRACE, the READY TRACE statement turns on the trace facility
at run time, so that the name of each paragraph or section heading is
displayed as it is executed. RESET TRACE turns this facility off. With
NOTRACE, the READY TRACE and RESET TRACE statements have no effect.
TRUNC
Specifies whether data being stored into a USAGE COMP item is to be
truncated to the size given by the item's PICTURE clause or to the
maximum size the item can hold.
Syntax:
Parameters:
method the method for truncating. Must be ANSI
Default:
TRUNC "ANSI"
Phase:
Compile
$SET:
Initial
The possible settings of this directive are:
TRUNC Truncate in decimal to the number of digits given by
the PICTURE clause, on all stores into COMP items
NOTRUNC Truncate in binary to the capacity of the allocated
storage, on all stores into COMP items
TRUNC"ANSI" Truncate in decimal to the number of digits given by
the PICTURE clause, on non-arithmetic stores into
COMP items. On arithmetic statements that cause the
size error condition and that have no ON SIZE ERROR
phrase, the result is undefined.
TRUNCCOPY
Specifies whether to truncate the names of COPY-files.
Syntax:
Parameters:
integer The number of characters to which to truncate the
name of the COPY-file
Default:
NOTRUNCCOPY
Phase:
Compile
$SET:
Initial
USE
Makes the compiler read directives from a file.
Syntax:
Parameters:
file-name A full file specification
Default:
Not set
Phase:
Compile
$SET:
Any
USE is synonymous with DIRECTIVES. All rules that apply to DIRECTIVES
also apply to USE.
VERBOSE
Sends messages from the compiler and native code generator to the screen.
Syntax:
Parameters:
None
Default:
NOVERBOSE
Phase:
Both
$SET:
No
When this directive is specified, messages concerning accepted
directives, and the size of the code and data areas are displayed on the
screen.
VSC2
Specifies that words reserved in IBM VS COBOL II are to be treated as
reserved words, and allows features selectively for compatibility with a
given level of that product.
Syntax:
Parameters:
integer The level of IBM VS COBOL II with which to be
compatible
Default:
NOVSC2
Phase:
Compile
$SET:
Initial
The possible values of integer are:
1. VS COBOL II release 1.0 (Replaces the directives OLDVSC2 VSC2)
* no explicit scope delimiter is allowed in a statement
without a conditional phrase (AT END, ON SIZE ERROR, etc).
* the word ALSO in an EVALUATE statement can be omitted.
* the CLASS and SYMBOLIC CHARACTERS clauses are not allowed.
* conditional phrases with NOT (NOT AT END, NOT ON SIZE
ERROR, etc) are not allowed.
2. VS COBOL II release 2.0 VS COBOL II release 3.x (when compiled
with its CMPR2 directive) COBOL/370 V1RI (when compiled with its
CMPR2 directive)
* the CLASS and SYMBOLIC CHARACTERS clauses are not allowed.
* conditional phrases with NOT (NOT AT END, NOT ON SIZE
ERROR, etc) are not allowed.
* when used with FLAG "VSC2" it provides similar
functionality to VS COBOL II release 2.
* sets the DBCS "1" and DBSPACE directives.
3. VS COBOL II release 3.x (when compiled with its NOCMPR2 directive)
* for complete compatibility in this instance, the
REMOVE"FUNCTION" directive also should be specified.
However, you are recommended not to use FUNCTION as a
user-defined word for upward compatibility with mainframes.
* when used with FLAG"VSC2" it provides similar functionality
to VS COBOL II release 3.
* sets the DBCS"2" and DBSPACE directives.
When VSC2 is specified without integer, VSC2"3" is assumed.
ANSI'85 status codes are used when VSC2"3" is selected.
Do not use the NOANS85 directive after VSC2"3"; it will turn off some of
the ANSI'85 behavior turned on by VSC2"3".
WARNING
WARNINGS
Specifies the lowest severity level of errors to report.
Syntax:
Parameters:
integer 1, 2, or 3
Default:
WARNING "1"
Phase:
Compile
$SET:
Any
The possible values of integer are:
1 only those of level U, S, or E
2 only those of level U, S, E, or W
3 all levels - that is, levels U, S, E, W, and I.
With NOWARNING only those of level U or S are reported.
WB
This directive is used with Micro Focus integrated products to make the
compiler compatible with the integration. Do not change its setting.
Syntax:
Parameters:
None
Default:
NOWB
Phase:
Compile
$SET:
No
WRITELOCK
WRITE-LOCK
Makes the WRITE and REWRITE statements acquire a record lock when the
program is locking multiple records in a shared data file in a multi-user
environment.
Syntax:
Parameters:
None
Default:
NOWRITELOCK
Phase:
Compile
$SET:
Initial
This directive is included for compatibility with earlier file-sharing
products. When writing new programs you should use the locking syntax
rather than this directive.
WRITETHROUGH
WRITETHRU
Specifies that disk writes are not to be buffered.
Syntax:
Parameters:
None
Default:
NOWRITETHROUGH
Phase:
Compile
$SET:
Initial
This directive is reserved for use with add-on products supplied by Micro
Focus. Do not change its setting unless you have an appropriate add-on
product.
This directive has an effect only if the CALLFH directive is used.
When WRITETHRU is specified, the file handler EXTFH does not buffer disk
writes. If the operating system allows the choice, the operating system
will not buffer disk writes either.
XNIM
Makes the compiler compile your program for animation as if ANIM had been
specified, and then invoke Animator.
Syntax:
Parameters:
None
Default:
NOXNIM
Phase:
Compile
$SET:
No
You can use Animator directives with XNIM. See Appendix F , Directives
for Animator for details of these.
With XNIM, no object file is produced by default.
When it finishes, Animator will not save the files required for a
subsequent animation.
If the source file contains more than one non-nested program, it is the
last program in the source file that will be animated.
XOPEN
Specifies that words reserved under the X/Open definition of COBOL are to
be treated as reserved words.
Syntax:
Parameters:
level Must be 3 or 4. The level of X/Open definition
COBOL with which to be compatible
Default:
NOXOPEN
Phase:
Compile
$SET:
Initial
The possible values of level are:
3 Compatible with X/Open Portability Guide 1988
(XPG-3)
4 Compatible with X/Open CAE Specification (XPG-4)
Specifying XOPEN with no parameter is the same as specifying XOPEN "4".
Note that XPG-4 specifies options for several environments. If
available, the options are as follows:
* single Byte Internationalization Support is enabled using the NLS
directive.
* National Character Support is enabled using the DBCS "3"
directive.
XREF
Makes the compiler produce a cross-reference listing.
Syntax:
Parameters:
None
Default:
NOXREF
Phase:
Compile
$SET:
Initial
This directive has no effect if the LIST directive is not specified.
Specifying XREF sets RESEQ.
To produce the cross-reference listing the compiler needs extra work
space on the disk. The space needed depends on the number of data items
and procedure-names and the number of times they are referenced.
When the XREF directive is specified, extra information is added to the
end of the .lst file produced:
* the name of the data item
* the type of data item
* n# (that is, the line number where the data item was defined)
* n* (that is, the line numbers where the data item was updated)
* n? (that is, the line numbers where the data item was tested)
* (X n) (that is, the number of times the data item appeared in the
cross-reference listing)
* procedure-name
* type of procedure.
The following is an extract from a .lst file for a simple program:
1 WORKING-STORAGE SECTION.
2 01 A PIC 9(2).
3
4 PROCEDURE DIVISION.
5 main section.
6 MOVE 1 TO A
7 IF A = 1 DISPLAY "HELLO" END-IF
8 stop run.
. . .
* A numeric DISPLAY
* 2# 6* 7?
(X 3)
* 1 data-names
* MAIN Section
* 5#
(X 1)
* 1 procedure-names
* End of cross reference listing
The cross-reference information from this list file shows that there is
one data item, A, of type numeric display, which is defined on line 2,
updated on line 6, and tested on line 7. The data item appears three
times in the cross-reference listing. The procedure-name Main also
appears in the listing, as a Section which is referenced only once.
ZEROLENGTHFALSE
Changes the way that class tests involving zero-length items are carried
out.
Syntax:
Parameters:
None
Default:
NOZEROLENGTHFALSE
Phase:
Compile
$SET:
Any
When you set ZEROLENGTHFALSE, all comparisons between zero-length group
items, and between zero-length items and figurative constants, will
return false; when you do not set it, they all return true.
For conformance to ANSI and SAA you must set ZEROLENGTHFALSE.
ZEROSEQ
Causes leading zeros to appear in the sequence numbers in columns 1
through 6.
Syntax:
Parameters:
None
Default:
NOZEROSEQ
Phase:
Compile
$SET:
Any NOZEROSEQ suppresses these leading zeros.
ZWB
Affects the operation of comparisons between integer numeric data items
of USAGE DISPLAY and alphanumeric literals or figurative constants.
Syntax:
Parameters:
None
Default:
NOZWB
Phase:
Compile
$SET:
Any
The ZWB directive affects the range of comparisons that HOST-NUMCOMPARE
applies to. If ZWB is specified, only unsigned comparisons are affected.
If NOZWB is specified, both signed and unsigned comparisons are affected.
MPE/iX 5.0 Documentation