Lexical Analysis
Front End
Syntax Analysis
Contextual Analysis
Instruction Selection
Back End
Optimisations
Register Allocation