Closer look at stage 1
Stage 1 requires a more detailed explanation than stage 2 or 3. Stage 1
itself contains three steps:
Each of these steps involves the list of valid next screens.
The list of valid next screens is just a list that can hold macro screen names. The macro runtime creates this list at the beginning of macro playback (before playing back the first macro screen), and discards this list after macro playback is complete. Initially the list is empty (except possibly for transient screens, which are described later in this chapter).
During macro playback, each time the macro runtime needs to determine the next macro screen to be processed, it performs the three steps 1(a), 1(b), and 1(c) using the list of valid next screens.