Compiladores
Interpretador
No interpretador, o programa conversor recebe a primeira instrução do programa fonte, confere para ver se está escrita corretamente, converte-a em linguagem de máquina e então ordena ao computador que execute esta instrução. Depois repete o processo para a segunda instrução, e assim sucessivamente, até a última instrução do programa fonte. Quando a segunda instrução é trabalhada, a primeira é perdida, isto é, apenas uma instrução fica na memória em cada instante.
Se este programa fonte for executado uma segunda vez, novamente haverá uma nova tradução, comando por comando, pois os comandos em linguagem de máquina não ficam armazenados para futuras execuções.
Vantagens
Correções e alterações são mais rápidas de serem realizadas;
Código não precisa ser compilado para ser executado;
Consomem menos memória;
Resultado imediato do programa ou rotina desenvolvida.
Desvantagens
Execução é mais lenta do programa;
Estruturas de dados Interpretadores demasiadamente simples;
Necessita sempre ser lido o código original para ser executado.
Exemplos
Algumas linguagens interpretadas:
BASIC
Bash
PHP
Python
JavaScript
Ruby
Haskell
Matlab
Tradutor
Neste método, o programa conversor é conhecido como tradutor, e a partir disso, o computador ao invés de armazenar as instruções do programa fonte tal como lhe são fornecidas, ele transforma-as em códigos intermediários, que não exigem tanto espaço de memória como as instruções originais. Estas instruções intermediárias são em seguida transformadas em linguagem de máquina e executadas, funcionando daí por diante como no interpretador.
Vantagens
Facilita a comunicação com o computador;
Aceita um conjunto de instruções escritas em uma linguagem de programação de alto nível;
Produz instruções como resultado.
Desvantagens
Em relação ao compilador, o processo de correção ou alteração do código requer que ele seja novamente recompilado;
Em relação ao tradutor,