9.5. What the Standard does not Say An implementation might enforce a certain limit even though one is not specified in the standard. This section tries to list most of the places where this might be the case: [The stack] (Also called: the external data queue) is not formally defined as a concept of the language itself, but a concept to which the REXX language has an interface. Several limits might apply to the stack, in particular the maximum length of a line in the stack and the maximum number of lines the stack can hold at once. There might also be also be other limits related to the stack, like a maximum number of buffers or a maximum number of different stack. These concepts are not referred to by REXX, but the programmer ought to be aware of them. [Files] May have several limits not specified by the definition of REXX, e.g. the number of files simultaneously open, the maximum size of a file, and the length and syntax of file names. Some of these limits are enforced by the operating system rather than an implementation. The programmer should be particularly aware of the maximum number of simultaneously open files, since REXX does not have a standard construct for closing files. [Expression nesting] Can in some interpreters only be performed to a certain level. No explicit minimum limit has been put forth, so take care in complex expressions, in particular machine generated expressions. [Environment name length] May have some restrictions, depending on your operating system. There is not defined any limit, but there exists an error message for use with too long environment names. [Clause length] May have an upper limit. There is defined an error message “Clause too long” which is supposed to be issued if a clause exceeds a particular implementation dependent size. Note that a “clause” does not mean a “line” in this context; a line can contain multiple clauses. [Source line length] Might have an upper limit. This is not the same as a “clause” (see above). Typically, the source line limit will be much larger than the clause limit. The source line limit ought to be as large as the string limit. [Stack operations] Might be limited by several limits; first there is the number of strings in the stack, then there is the maximum length of each string, and at last there might be restrictions on the character set allowed in strings in the stack. Typically, the stack will be able to hold any character. It will either have “memory” as the limit for the number of string and the length of each string, or it might have a fixed amount of memory set aside for stack strings. Some implementations also set a maximum length of stack strings, often 2*8 or 2*16.
PREV NEXT