PreCompiler transforms clauses for compilation, substituting built-ins for any built-ins in the source expressions to
| Responsibilities || Collaborations
| Perform the built-ins transformation.
Holds the compiler output observer.
Holds the default built in, for standard compilation and interners and symbol tables.
Holds the built in transformation.
Creates a new PreCompiler.
symbolTable The symbol table.
interner The machine to translate functor and variable names.
defaultBuiltIn The default built in, for standard compilation and interners and symbol tables.
Substitutes built-ins within a clause, with their built-in definitions.
clause The clause to transform.
Runs a symbol key traverser over the clause to be compiled, to ensure that all of its terms and sub-terms have
their symbol keys initialised.
clause The clause to initialise the symbol keys of.
Finds and marks all functors within the clause that are considered to be top-level.
clause The clause to top-level check.