The Compiler generates messages if your source program exceeds certain Open PL/I Compiler implementation limits. The following table lists these implementation limits.
Message | Limit |
---|---|
Depth of nesting of a structure | 16 |
Maximum length of an ‘external’ string constant | 30721 |
Maximum length of an ‘internal ’ string constant | 327672 |
Maximum length of a string constant with repeat specifier | 32767 |
Maximum length of source line | 1024 |
Maximum length of an identifier | 100 |
Maximum size of storage for AREA data | 2GB |
Array dimensions | 8 |
Nesting level of INCLUDE statements | 7 |
Nesting of DO, PROCEDURE, BEGIN, SELECT, and simple ON-unit statements | 643 |
Number of arguments in a subroutine or function call | 239 |
Number of data and format list pairs in an edit-directed specification | 256 |
Number of diagnostics (see the -maxmsg option in Compiler Options for information on configuring this limit.) | 1000 |
Maximum VSAM key size | 120 bytes |
Scale factor of variables | 0 ≤ scale factor ≤ 128 |
Scale factor of a constant | 0 ≤ scale factor ≤ 127 |
Scale factor of a conversion built-in function | 0 ≤ scale factor ≤ 127 |
Value of a format's repeat, w, or d field | 254 |
Precision for a fixed binary number | 31 |
Precision for a fixed decimal number (maximum) | 31 |
Precision for a float binary number | 52 |
Precision for a float decimal number | 16 |
Internal Limits | |
Number of tokens in a statement | 20,000 |
The spelling of an external string constant (as presented in the user program) is limited to 3072 characters, where the spelling includes the surrounding quotation marks, the extra quotation mark when two single quotation marks represent a single quotation mark inside the string, and the possible combination of postfix characters such as B or X.
The internal spelling of a character string constant (i.e., a compiler generated string constant as the result of Restricted Expression Evaluation) of is limited to 32767 characters, where the spelling includes the surrounding quotation marks.