“Um compilador pode ser grosseiramente descrito como um programa que lê um programa escrito em uma linguagem de programação – a linguagem fonte – e o traduz em um programa equivalente em outra linguagem – a linguagem alvo. Como uma parte importante do processo de tradução, o compilador reporta ao usuário a presença de erros no programa fonte” (tradução livre).
Fonte: ATTO, Alfred; SETHI, Ravi; ULLMAN, Jeffrey.
Compilers: principles, techniques and tools.
O texto descreve simplificadamente o papel do compilador como programa tradutor. Baseado nessas informações pode-se dizer que o compilador: