Este código fonte deve ser traduzido à binário para que as instruções que contém possam ser entendidas e executadas pela máquina.
Para isto existe um programa encarregado de realizar a tradução, chamado tradutor da linguagem.
Estes tradutores podem ser de dois tipos:
Assembler
São os encarregados de traduzir os programas escritos na linguagem assembler à linguagem máquina.
Compiladores
São programas que lêem o código fonte e o traduzem ou convertem a outra linguagem. Estes programas lhe mostram os erros existentes no código fonte.
Etapas do processo de compilação:
- Edição. Esta fase consiste em escrever o programa empregando alguma linguagem e um editor. Como resultado nos dará o código fonte de nosso programa.
- Compilação. Nesta fase se traduz o código fonte obtido na fase anterior a código máquina. Se não se produz nenhum erro se obtém o código objeto.
No caso de erros o compilador os mostraria para nos ajudar a corrigi-los e se procederia a sua compilação de novo, uma vez corrigidos. - Linkado. Esta fase consiste em unir o arquivo gerado na fase dois com determinadas rotinas internas da linguagem, obtendo o programa executável.
Existem dois tipos de linkados:- Linkado estático: Os binários das bibliotecas se acrescentam aos nossos binários compilados gerando o arquivo executável.
- Linkado dinâmico: não se acrescentam as bibliotecas ao nosso binário e sim que fará que se carreguem na memória as bibliotecas que nesse momento se necessitem.
Por este motivo é importante realizar numerosas provas em tempo de execução antes de apresentar o programa ao cliente.
Outro sistema para a execução de nosso código fonte é mediante o uso de intérpretes (estes não se encontrariam dentro dos tradutores).
Intérpretes
Os intérpretes realizam a tradução e execução de forma simultânea, ou seja, um intérprete lê o código fonte e vai executando-o ao mesmo tempo.
As diferenças entre um compilador e um intérprete basicamente são:
- Um programa compilado pode funcionar por si só enquanto que um código traduzido por um intérprete não pode funcionar sem este.
- Um programa traduzido por um intérprete pode ser executado em qualquer máquina já que, cada vez que se executa o intérprete, tem que compila-lo.
- Um arquivo compilado é muito mais rápido que um interpretado.
Seu comentário será moderado e poderá não ser aprovado.