This is the source for several passes over the syntax tree which follow the initial symbol table generation. They performs the following tasks: 1. Assign pre- and post-order numbers to each node in the tree. 2. Set the def_found field of each identifier declared within a function or type signature. Clear the last_definition field and set the def_found field of all identifiers explicitly selected from a type. 3. Rearrange type signatures into a canonical order. This canonical order consists of a single DEFCHARSIGS node followed by a list of TSCOMPONENTs. 4. Standardize xlause ordering in conditionals. 5. Other minor manipulations.