The compiler requires several standard data sets, the number of data sets depends on the optional facilities specified. You must define these data sets in DD statements with the standard ddnames shown, together with other characteristics of the data sets, in Table 12. The DD statements SYSIN, SYSUT1, and SYSPRINT are always required.
You can store any of the standard data sets on a direct access device, but you must include the SPACE parameter in the DD statement. This parameter defines the data set to specify the amount of auxiliary storage required. The amount of auxiliary storage allocated in the IBM-supplied cataloged procedures should suffice for most applications.
|
Standard DDNAME |
Contents of data set |
Record format (RECFM) |
Record size (LRECL) |
|
|---|---|---|---|---|
|
SYSDEBUG |
TEST(SEPARATE) output |
SYSDA |
F,FB |
>=80 and <=1024 |
|
SYSDEFSD |
XINFO(DEF) output |
SYSDA |
F,FB |
128 |
|
SYSIN |
Input to the compiler |
SYSSQ |
F,FB,U VB,V |
<101(100) <105(104) |
|
SYSLIB |
Source statements for INCLUDE files |
SYSDA |
F,FB,U V,VB |
<101 <105 |
|
SYSLIN |
Object module |
SYSSQ |
FB |
80 |
|
SYSPRINT |
Listing, including messages |
SYSSQ |
VBA |
137 |
|
SYSPUNCH |
Preprocessor output, compiler output |
SYSSQ SYSCP |
FB |
80 or MARGINS() value |
|
SYSUT1 |
Temporary workfile |
SYSDA |
F |
4051 |
|
SYSXMI |
XINFO(XMI) output |
SYSDA |
VB |
16383 |
|
SYSXMLSD |
XINFO(XML) output |
SYSDA |
VB |
16383 |
|
SYSADATA |
XINFO(MSG) output |
SYSDA |
U |
1024 |
|
Notes:
The only value for compile-time SYSPRINT that can be overridden is BLKSIZE. |
||||
Input to the compiler must be a data set defined by a DD statement with the name SYSIN. This data set must have CONSECUTIVE organization. The input must be one or more external PL/I procedures. If you want to compile more than one external procedure in a single job or job step, precede each procedure, except possibly the first, with a %PROCESS statement.
80-byte records are commonly used as the input medium for PL/I source programs. The input data set can be on a direct access device or some other sequential media. The input data set can contain either fixed-length records (blocked or unblocked), variable-length records (coded or uncoded), or undefined-length records. The maximum record size is 100 bytes.
The maximum number of lines in the input file is 999,999.
When data sets are concatenated for input to the compiler, the concatenated data sets must have similar characteristics (for example, block size and record format).
Output in the form of one or more object modules from the compiler will be stored in the data set SYSLIN if you specify the OBJECT compile-time option. This data set is defined by the DD statement.
The object module is always in the form of 80-byte fixed-length records, blocked or unblocked. If the BLKSIZE is specified for SYSLIN and is something other than 80, then the LRECL must be specified as 80.
The SYSLIN DD must name either a temporary dataset or a permanent dataset: it cannot specify a concatenation of datasets of any type.
The SYSLIN DD must specify a sequential dataset, not a PDS or PDSE.
The data set defined by the DD statement with the name SYSPUNCH is also used to store the output from the preprocessor if you specify the MDECK compile-time option.
The compiler requires a data set for use as a temporary workfile. It is defined by a DD statement with the name SYSUT1, and is known as the spill file. It must be on a direct access device, and must not be allocated as a multi-volume data set.
The spill file is used as a logical extension to main storage and is used by the compiler and by the preprocessor to contain text and dictionary information. The LRECL and BLKSIZE for SYSUT1 is chosen by the compiler based on the amount of storage available for spill file pages.
The DD statements given in this publication and in the cataloged procedures for SYSUT1 request a space allocation in blocks of 1024 bytes. This is to insure that adequate secondary allocations of direct access storage space are acquired.