HP 3000 Manuals

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