Descriptions of Directives (cont.) [ Micro Focus COBOL System Reference, Volume 2 ] MPE/iX 5.0 Documentation
Micro Focus COBOL System Reference, Volume 2
Descriptions of Directives (cont.)
RNIM
Causes Animator to be invoked instead of the Compiler.
Syntax:.
Parameters:.
None
Default:.
NORNIM
Phase:.
Syntax check
Environment:.
All
$SET:.
No
Dependencies:.
RNIM sets NOLIST, NOANIM and NOXREF immediately. Set to NORNIM at end by
GANIM.
Remarks:.
The effect is as if you had invoked Animator in the normal way.
You must have already compiled the program using the ANIM directive to
prepare it for animation.
You can use Animator directives with RNIM.
With RNIM, no object file is produced by default.
See also:.
Animator Directives
RTNCODE-SIZE
Specifies the size of the RETURN-CODE special register and its alignment
in memory.
Syntax:.
Parameters:.
integer 2 or 4.
Default:.
RTNCODE-SIZE"2"
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Dependencies:.
Set to RTNCODE-SIZE"4" immediately by XOPEN
Remarks:.
The possible values of integer are:
2 PIC S9(4) COMP: size two bytes, aligned on a two-byte boundary.
4 PIC S9(8) COMP: size four bytes, aligned on a four-byte boundary.
If a program with a four-byte RETURN-CODE calls a program with a two-byte
RETURN-CODE, then on return the value from the called program is in the
lower two bytes of the four-byte RETURN CODE. The content of the upper
two bytes is undefined.
If a program with a two-byte RETURN-CODE calls a program with a four-byte
RETURN-CODE, then on return the lower two bytes of the value from the
called program are in the two-byte RETURN-CODE. The content of the upper
two bytes is lost.
SAA
Specifies that words reserved under the Systems Application Architecture
(SAA) definition of COBOL are to be treated as reserved words.
Syntax:.
Parameters:.
level An integer specifying the level of SAA support
required.
Default:.
NOSAA
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Dependencies:.
SAA sets DBSPACE and DBCS"2" immediately.
SAA sets ANS85 at end.
Remarks:.
The possible values of level are:
1 SAA level 1 supported
2 SAA level 2 supported
Specifying SAA with no parameters is the same as specifying SAA"2".
SEG
Turns on COBOL segmentation.
Syntax:.
Parameters:.
None
Default:.
SEG
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Remarks:.
With NOSEG, the Compiler treats all section numbers in the code as if
they were zero. This means that the Compiler ignores segmentation and
creates one program with no overlays.
SEGCROSS
Tells the Compiler which Linkage Section records cross segment
boundaries.
Syntax:.
Parameters:.
integers One or more integers giving the ordinal positions of
Linkage Section items.
Default:.
NOSEGCROSS (for a program with less than 64K of its own data)
SEGCROSS (for a program with 64K or more of its own data)
Phase:.
Generate
Environment:.
16-bit
$SET:.
Initial
Remarks:.
integers must be separated by commas, and must be enclosed in quotation
marks. They cannot be enclosed in parentheses.
If a program has less than 64K of its own data, the Compiler assumes that
any parameters passed into the program do not cross segment boundaries.
If this is not the case, SEGCROSS"integer" must be specified for all
Linkage Section items that might cross a segment boundary.
If a program has 64K or more of its own data, the Compiler assumes that
Linkage Section items do cross segment boundaries. You can specify
NOSEGCROSS"integer" for any Linkage Section item that does not cross a
segment boundary. This results in more efficient code.
With NOSEGCROSS, the code generated follows the rules given under the
SMALLDD directive. With SEGCROSS"integer-1, integer-2,...", the setting
of SMALLDD is ignored.
Example:.
Look at the following Linkage Section:
linkage section.
01 a pic x(10).
01 b pic 9(8).
01 c.
03 c1 pic x(10).
03 c2 pic x(20).
01 d pic 9(4).
01 e pic 9(8) comp-x.
If you know that b and c never cross a segment boundary, you can specify
SEGCROSS"1,4,5" to indicate that boundary crossing code is only to be
produced for a, d and e.
See also:.
SMALLDD
SEGSIZE
Specifies the maximum code segment size, beyond which the Compiler
automatically segments the code.
Syntax:.
Parameters:.
integer The maximum size.
Default:.
SEGSIZE"0"
Phase:.
Generate
Environment:.
16-bit
$SET:.
Initial
Remarks:.
If integer is zero, no automatic segmentation is done. This reduces
compilation time and creates more efficient code.
Example:.
SEGSIZE"65536" causes automatic segmentation if the code is bigger than
65536 bytes.
See also:.
64KSECT
SEQCHK
Makes the Compiler check the sequence numbers in columns 1 through 6 and
identify source lines that are out of sequence.
Syntax:.
Parameters:.
None
Default:.
NOSEQCHK
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Dependencies:.
SEQCHK sets NORESEQ immediately
SEQUENTIAL
Specifies the default file type for files defined (implicitly or
explicitly) as ORGANIZATION SEQUENTIAL.
Syntax:.
Parameters:.
type ADVANCING, ANSI, LINE, or RECORD.
Default:.
SEQUENTIAL"RECORD"
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Dependencies:.
Set to SEQUENTIAL"RECORD" immediately by NORM or RM"ANSI". Set to
SEQUENTIAL"LINE" immediately by RM.
Remarks:.
The possible values of type are:
ADVANCING RECORD SEQUENTIAL with LINE ADVANCING.
ANSI ANSI-conforming RECORD SEQUENTIAL.
LINE LINE SEQUENTIAL.
RECORD RECORD SEQUENTIAL (a standard SEQUENTIAL file).
SETTING
SETTINGS
Makes the Compiler include in the source listing a list of the settings
of directives.
Syntax:.
Parameters:.
None
Default:.
NOSETTING
Phase:.
Both
Environment:.
All (syntax check), 16-bit (generate)
$SET:.
No
Dependencies:.
Set to NOSETTING by NOLIST at end
Remarks:.
A few directives provided only for compatibility with other COBOL systems
(for example, COMMIT) are not shown. Also not shown are directives that
control code generation, make specific changes to the reserved word list,
or are synonymous with other directives.
The directives list is produced before processing the program source, so
any directives in $SET statements in the program are not shown.
If used during the generate phase, the .grp file contains only directives
for to that phase.
See also:.
LIST
SHOW-DIR
Makes the Compiler show the contents of directives files in the source
listing.
Syntax:.
Parameters:.
None
Default:.
NOSHOW-DIR
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
A directives file means cobol.dir or a file that appears in a DIRECTIVES
or USE directive. For the contents of cobol.dir to appear in the source
listing, SHOW-DIR must be specified at the start of cobol.dir, as this
file is processed before any other directive.
You can use SHOW-DIR and NOSHOW-DIR selectively so that only parts of the
directives file are output to the listing.
SHOWSHUFFLE
Displays the results of the 01-level data items moved by the 01SHUFFLE
directive.
Syntax:.
Parameters:.
None
Default:.
NOSHOWSHUFFLE
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Remarks:.
SHOWSHUFFLE only produces information if the 01SHUFFLE directive is
specified. Otherwise it has no effect.
See also:.
01SHUFFLE
SIGN
Specifies whether, for numeric DISPLAY items with included signs, the
signs are to be interpreted according to the ASCII or EBCDIC convention.
Syntax:.
Parameters:.
convention Either ASCII or EBCDIC.
Default:.
SIGN"ASCII"
Phase:.
Syntax check
Environment:.
All
$SET:.
Initial
Dependencies:.
Set to SIGN"ASCII" immediately by CHARSET"ASCII".
Set to SIGN"EBCDIC" at end by CHARSET"EBCDIC"
SIGNCOMPARE
Affects the way some numeric comparisons are performed in a program using
the EBCDIC character set.
Syntax:.
Parameters:.
None
Default:.
NOSIGNCOMPARE
Phase:.
Generate
Environment:.
16-bit
$SET:.
Any
Remarks:.
When the SIGNCOMPARE directive is set in a program using the EBCDIC
character set, the way that some numeric comparisons are performed is
changed. For example, an unsigned data item that contained 1234 would be
equal to a signed data item that contained +1234.
Setting SIGNCOMPARE causes these comparisons to be much less efficient
than usual. If you are using an add-on product, the behavior of
intermediate code with NOSIGNCOMPARE specified is the same as the
behavior of generated code with SIGNCOMPARE specified. That is to say,
if you use the default setting of this directive, the behavior in
intermediate code and generated code is different.
Comparisons with COMP-3 items with illegal sign nibbles (such as those
produced by redefining the item) are also allowed by this directive.
SMALLDD
Tells the Compiler that no Linkage Section record less than 64K long
crosses a segment boundary.
Syntax:.
Parameters:.
None
Default:.
SMALLDD
Phase:.
Generate
Environment:.
16-bit
$SET:.
Initial
Remarks:.
SMALLDD improves efficiency by enabling the Compiler to generate
boundary-crossing code for only records longer than 64K. With NOSMALLDD,
boundary-crossing code is generated for all Linkage Section records. If
your Data Division is longer than 64K, SMALLDD is ignored and NOSMALLDD
is assumed.
You should use SEGCROSS instead of SMALLDD, as this allows an individual
setting for each Linkage Section item rather than having one setting for
all of them.
You can find out which data items in the CALLing program cross segment
boundaries by using the CHIP and FLAG-CHIP directives when compiling it.
This makes the Compiler report on data items that cross a segment
boundary. You can then rearrange their definitions so they do not do so.
See also:.
CHIP, FLAG-CHIP, SEGCROSS
SOURCE-EXT
Specifies the file-name extension of the source file that a run-time
debugger is to look for. This information is included in the .obj file.
Syntax:.
Parameters:.
ext A file-name extension.
Default:.
SOURCE-EXT"cbl"
Phase:.
Generate
Environment:.
16-bit
$SET:.
Initial
Remarks:.
This directive only affects .obj files.
SOURCEASM
Makes the Compiler include source code statements in the assembler
listing.
Syntax:.
Parameters:.
None
Default:.
NOSOURCEASM
Phase:.
Generate
Environment:.
16-bit
$SET:.
No
Dependencies:.
Set to NOSOURCEASM by NOLIST at end. SOURCEASM sets ANIM at end.
Remarks:.
Arithmetic and MOVES of numeric items can produce very fast code provided
you use only simple syntax; for example, if you have only one receiving
field. If you use a complicated form of one of these statements,
"BADCODE" appears by it on the listing to show you that here is a place
where you could speed up your program.
SOURCEFORMAT
Selects free or fixed format for COBOL source.
Syntax:.
Parameters:.
format-type FIXED or FREE. The format of COBOL source.
Default:.
SOURCEFORMAT"FIXED"
Phase:.
Syntax check
Environment:.
All
$SET:.
Any
Dependencies:.
SOURCEFORMAT"FREE" sets NOMFCOMMENT and NORESEQ immediately.
Remarks:.
See the Language Reference for details on free and fixed format code.
SPZERO
Causes space characters in numeric data items of USAGE DISPLAY to be
treated as zeros.
Syntax:.
Parameters:.
None
Default:.
NOSPZERO
Phase:.
Both
Environment:.
All
$SET:.
Any
Remarks:.
With NOSPZERO, space characters in numeric data items give unpredictable
results.
MPE/iX 5.0 Documentation