<list element>
──┬─<simple arithmetic expression>────────────────────────┬────────────┤ ├─<simple Boolean expression>───────────────────────────┤ ├─<simple complex expression>───────────────────────────┤ ├─<pointer expression>─┬────────────────────────────────┤ │ └─ FOR ──<arithmetic expression>─┤ ├─<string expression>───────────────────────────────────┤ ├─<array row>───────────────────────────────────────────┤ │ ┌◄────── , ──────┐ │ ├─ [ ─┴─<list element>─┴─ ] ────────────────────────────┤ ├─ DO ──<list element>── UNTIL ──<Boolean expression>───┤ ├─<iteration clause>──<list element>────────────────────┤ ├─<if clause>──<list element>─┬─────────────────────────┤ │ └─ ELSE ──<list element>──┤ │ ┌◄────── , ──────┐ │ └─<case head>── ( ─┴─<list element>─┴─ ) ───────────────┘
<iteration clause>
┌◄──────── , ────────┐ ──┬─ FOR ──<variable>── := ─┴─<for list element>─┴─ DO ─┬──────────────┤ ├─ THRU ──<arithmetic expression>── DO ───────────────┤ └─ WHILE ──<Boolean expression>── DO ─────────────────┘
List elements of the following form enable the user to specify the number of characters to be read to or written from the pointer-specified location:
<pointer expression> FOR <arithmetic expression>
An array row appearing in a list is interpreted as a sequence of variables of the same type as that of the array. A complex array row is considered to be a real array row containing the real and imaginary parts of the complex values in the following order: the real part of the first element, the imaginary part of the first element, the real part of the second element, the imaginary part of the second element, and so on.
A string variable is a valid list element for editing phrase letters A, C, and U and for free-field formatting. For more information on free-field formatting, see READ Statement.
A string variable acts in the same manner as <pointer expression> FOR <arithmetic expression> when used with the A, C, and U editing phrases. For more information about the A, C, and U editing phrases, refer to FORMAT Declaration earlier in this section.
Asterisks (*) prefixed to list elements have meaning only for free-field output; they are ignored for other types of I/O operations. An asterisk prefixed to a list element causes the text of the list element and an equal sign (=) to be written to the left of the edited value of the list element.

