A flexible compiler structure that allows dynamic phase ordering
Wilf R. LaLonde, Jim des Rivières · 1982
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.