Control Part

<control part>

──<label identifier>─┬─────────────────────────┬─┬───────────────────┬─┤
                     └─<label counter modulus>─┘ └─<dump parameters>─┘

<label counter modulus>

── : ─┬─<unsigned integer>─────────────────┬────────────────────────────┤
      └─ <constant arithmetic expression> ─┘

<dump parameters>

── ( ─┬─────────────────┬─┬───────────────┬─ ) ────────────────────────┤
      └─<label counter>─┘ └─<bounds part>─┘

<label counter>

──<simple variable>────────────────────────────────────────────────────┤

<bounds part>

──┬─ , ──<lower limit>─┬────────────────────┬──────────────────────────┤
  │                    └─ , ──<upper limit>─┤
  └─ , ── , ──<upper limit>─────────────────┘

<lower limit>

──<arithmetic expression>──────────────────────────────────────────────┤

<upper limit>

──<arithmetic expression>──────────────────────────────────────────────┤

The control part determines when the items are to be displayed. The control part can be just a label identifier or it can have a combination of components.

Label Identifier

If the control part is simply a label identifier, the items in the dump list are dumped each time program execution encounters the statement labeled by the specified label identifier.

Label Identifier with Label Counter Modulus

If a label counter modulus appears, the items in the dump list are dumped every <label counter modulus> times that the statement labeled by the label identifier is encountered. For example, if N is the label counter modulus and E is the number of times that the labeled statement has been encountered, then the items in the dump list are dumped whenever E MOD N is equal to 0 (zero).

Label Identifier with Dump Parameters

Dump parameters are used to restrict the dumping to a specified range of encounters. All three parameters (the label counter, the lower limit, and the upper limit) are optional.

If a label counter is given, this variable is used to count the number of times that the labeled statement has been encountered. The specified variable is incremented automatically each time the labeled statement is encountered; changing the value of this variable elsewhere in the program affects the dumping process.

The items in the dump list are dumped when the number of times the labeled statement is encountered (or the value of the label counter variable, if specified) is greater than or equal to the lower limit and less than or equal to the upper limit. If the lower limit is not specified, it has a default value of 0 (zero). If the upper limit is not specified, it has a default value of infinity (no limit).

Label Identifiers with Label Counter Modulus and Dump Parameters

When both a label counter modulus and dump parameters are specified, both the modulus check and the range check are performed. The items in the dump list are dumped when all the following conditions are true for the number of times that the labeled statement has been encountered (or the value of the label counter variable, if specified):

  • The number is greater than or equal to the lower limit and less than or equal to the upper limit.

  • The number is evenly divisible by the label counter modulus.