consists of 4 parts:

  • preprocessing
  • compilation
  • assembly
  • linking