Some PL/I Terminology

Back
ABNORMAL
A data attribute that specifies that the data item may be changed unexpectedly, such as by occurrence of an ON condition. ABNORMAL is the opposite of NORMAL.

ADJUSTABLE
Data is ADJUSTABLE if at least one of its subscript bounds, lengths, or maxima is not declared by an integer constant; otherwise it is NON-ADJUSTABLE. This is a Multics definition; the term does not occur in the PL/I standard.
DCL a CHAR(n); /* 'a' is adjustable */
DCL b (-5:5)CHAR(1); /* 'b' is non-adjustable */

BASED
A storage class which defines the attributes but not the location of a data item. The address of the data must be provided when it is referenced.

CONTROLLED
A storage class where the data must be explicitly allocated and freed by the program. Storage is maintained as a push-down list where only the most recently allocated generation is normally accessable at any time.

INCLUDE
A PL/I preprocessor (macro) statement which instructs the compiler to insert program text from a named external file.

INITIAL
A data attribute specifing the value or values assigned to a data item at the time storage is allocated for it.

IRREDUCIBLE
An entry attribute telling the compiler that multiple calls to this entry with the same parameters cannot be reduced to a single call. That is, the entry does not necessarily return identical values for calls with the same set of parameters or has side effects. IRREDUCIBLE is the opposite of REDUCIBLE.

NORMAL
A data attribute that specifies that the data item will not be changed unexpectedly, such as by occurrence of an ON condition. NORMAL is the opposite of ABNORMAL.

ON-condition
An occurrence within a PL/I program of a condition that could cause a program interrupt, such as division by zero.

PICTURE
A data attribute which uses a mask, called a picture specification, to define the expected contents of a character string in terms of both data and editing characters. For example the declaration
     DECLARE A PICTURE '$$$$,$$$.99-';
declares A as a 12-character item consisting of 8 decimal digits, a "floating" currency-symbol, a trailing sign, and the editing characters comma and decimal-point. Data will be edited and de-edited automatically when moved from and to the field.

POINTER
An attribute declaring an identifier which "points to" a location in storage. A pointer is usually, but not necessarily, synonymous with a hardware "storage address."

REDUCIBLE
An entry attribute telling the compiler that multiple calls to this entry with the same parameters can be reduced to a single call. That is, the entry returns identical values for calls with the same set of parameters and has no side effects. REDUCIBLE is the opposite of IRREDUCIBLE.

RVO
(Relative Virtual Origin) A property of an array, the RVO is the distance between the array's Virtual Origin and its Actual Origin. The Virtual Origin is the address of the (possibly imaginary) array element whose subscripts are all zeroes. The Actual Origin is the address of the first element of the array. For example, if an array is declared 'DECLARE a (2)CHAR(4);', the RVO is four: the address of a(1) minus the address of the non-existent a(0).

SETS
An entry attribute providing a list of parameters which are modified by a call to this entry, to aid in optimization. (see USES.)

SIGNAL
A PL/I statement which causes a specified ON-condition to be raised programatically.

USES
An entry attribute providing a list of parameters which are referenced but not not modified by a call to this entry, to aid in optimization. (see SETS.)

VARYING
A string attribute declaring that the string may contain between zero and a maximum number of characters or bits. The compiled code maintains the count of the "current" string length.
Back