O processo de compilação consiste essencialmente na tradução de um programa escrito em uma linguagem fonte para um programa em outra linguagem.

Esse processo é retratado em duas fases características, que são: