Source Part Combinations

The formal syntax of the source part can be reduced to the following combinations:

     <string literal>
     <string literal> FOR <arithmetic expression>
                      FOR <arithmetic expression> WORDS
     <arithmetic expression>
     <arithmetic expression> FOR <arithmetic expression>
                             FOR <arithmetic expression> WORDS
                             FOR <arithmetic expression> DIGITS
                             FOR * DIGITS
                             FOR <arithmetic expression> SDIGITS
                             FOR * SDIGITS
                             FOR <count part> NUMERIC
                             FOR * NUMERIC
     <source> FOR <arithmetic expression>
              FOR <arithmetic expression> WORDS
              FOR <arithmetic expression> WITH <translate table>
     <source> WITH <picture identifier>
     <source> WHILE <relational operator> <arithmetic expression>
              UNTIL <relational operator> <arithmetic expression>
              WHILE IN <truth set table>
              UNTIL IN <truth set table>
       <source> FOR <count part> WHILE <relational operator>
                                                 <arithmetic expression>
     <source> FOR <count part> UNTIL <relational operator>
                                                 <arithmetic expression>
     <source> FOR <count part> WHILE IN <truth set table>
              FOR <count part> UNTIL IN <truth set table>
     <pointer-valued attribute>
     <string expression>

Each of these combinations is discussed in turn in the sections that follow. In all examples, P and Q are 8-bit pointers and the default character type is EBCDIC.