rule
process condition? local-declaration* action*
process is a rule meant to house the main processing of a program: it is used as the launching pad
for the core of the program. A program can contain more than one process rule. These rules are
examined in the order in which they appear in each module. When a rule is examined, the rule is executed if it
has no condition, or if condition evaluates to true; once its execution has
completed, OmniMark examines the next process rule.
All process rules are tried after all process-start rules and before all process-end
rules. Furthermore, the process rules in imported modules are tried before the process rules in
the importing module.
It is not an error for a program if all of the process rules are unselectable either because they
have conditions that cannot be satisfied or because they are in inactive groups. In this circumstance, only
the process-start and process-end rules (if any) are performed.