Question: why are compilers commonly split into multiple passes
Answer: the ( intermediate ) code is improved pass by pass