Traditionally, compilers have been internally organized into separate phases that are invoked in a fixed, predetermined order. However, the optimal phase invocation order is usually different for different contexts, such as (1) large batch-oriented production environments, (2) small batch-oriented student environments, and (3) interactive programming environments. We discuss the constraints that must be met in order to obtain a compiler with flexible phase ordering, a property that allows the compiler to be designed and implemented without consideration for the intended operating environment. Flexible phase ordering allows the compiler to be specially configured after the fact. A production compiler based on this principle is also discussed.

Additional Metadata
Persistent URL
Journal ACM SIGPLAN Notices
Lalonde, W, & des Rivieres, J. (Jim). (1982). A flexible compiler structure that allows dynamic phase ordering. ACM SIGPLAN Notices, 17(6), 134–139. doi:10.1145/872726.806989