%DO Statement

The %DO statement, and its corresponding %END statement, delimit a preprocessor DO-group, and can also specify repetitive execution of the DO-group.

The syntax for the %DO statement is described under DO statement.

Note: All the formats of the DO statement are supported except
  • UPTHRU and DOWNTHRU are not accepted.
  • The "specification" in Type 3 DO statements cannot be specified multiple times.

However, the %DO statement also supports an additional format not supported by the DO statement: the %DO SKIP; statement. This statement causes all code through the matching %END statement to be ignored (and thus can be useful as a way of "commenting out" code that contains comments).

Preprocessor DO-groups can be nested.

Control cannot transfer to a Type 3 preprocessor DO-group, except by return from a preprocessor procedure invoked from within the DO-group.

Preprocessor statements, input text, and listing control statements can appear within a preprocessor DO-group. The preprocessor statements are executed, and any input text is scanned for possible replacement activity.