Conceito
Compiladores são programas utilizados em programação que tem o papel de receber o código feito em uma determinada linguagem de programação (alto nível) e traduzir (compilar) para a linguagem de máquina(baixo nível), deixando-o pronto para ser executado a qualquer momento sem a necessidade de outro programa para isso, ou seja, cria um programa executável, tornado a execução do arquivo mais rápida, diferente dos interpretadores que leem o código e o executam imediatamente. Os primeiros compiladores foram escritos em linguagem assembly, também conhecido como linguagem de montagem, e com o avanço da complexidade das arquiteturas dos computadores também houve uma crescente necessidade de linguagens de alto nível, para facilitar a programação, consequentemente os compiladores tornaram-se cada vez mais complexos. Hoje novos compiladores são feitos com relativa facilidade a partir de outros compiladores já existentes.