An integer index is associated with each list designator in the declaration. The indexes are 0, 1, 2, and so on through N–1, where N is the number of list designators in the declaration. These indexes are obtained by counting the list designators in order of their appearance in the declaration. Any of these list designators can be referenced by subscripting the switch list identifier with a subscript whose value is equal to the index of the list designator.
If a subscript to a switch list identifier yields a value outside the range of the list of list designators (that is, less than 0 or greater than N–1), a fault occurs at run time.
Any subscripts in the list of list designators are evaluated at the time the subscripted switch list identifier is encountered.
A switch list can reference itself in the list of list designators, in which case a stack overflow might occur when the program is executed. For example, assume a switch list is declared as the following:
SWITCH LIST SL := L1, L2, SL[N]
If N equals 2, the subscripted switch list identifier SL[N] references itself indefinitely.

