The normal processing of <<*Options/Optional/If*>>commands is from top to bottom. On receipt of the 'Process' command (automatically triggered when item is called during Document Assembly or from a DropDown List, or from the <Alt-P> triggered), Pathagoras scans the document starting from character 1.

   <<*Ask*. . .>> commands, if present, are always processed first (even if they are not at the top of the document). They are processed top to bottom.  

   Once all elements in the Interview (AskTable), and their respective !group! members, have been processed, the scanning for the remaining 'process' controls begins, starting from character 1, and running top-to-bottom.

   When Pathagoras finds an <<*Options*>> or <<*Optional*>> block, it performs the requested action.

   Do note these rules and exceptions to the 'top-to-bottom' rule for non-interview process blocks:

a.<<*Repeat* commands are processed next to last (but still top to bottom). That way, if a <<*Repeat* is within a Optional or Options block that is going to ‘disappear’, no time is wasted processing it. (If you want a <<*Repeat*. . .>> to be processed 'first' or 'earlier', simply include it as an <<*AskRepeat. . .>> in the interview.)

b.{Simple Optionals} that are not part of a group are processed dead last (but still top to bottom).

c.Any block that is member of a just processed !group! is processed (top to bottom) immediately after the first member of the group is processed.