O QUE SÃO COMPILADORES E INTERPRETADORES?

Fonte: http://www.ellensantos.com.br/2015/10/compiladores-para-linguagem-c.html

Linguagens de programação:

- Antes de falar sobre compiladores e interpretadores, o que são linguagens de alto nível e baixo nível?

  •  Alto nível: Fácil de ser trabalhada e entendida, feita para facilitar a memorização para o programador.
  •  Baixo nível: linguagem difícil, voltada para a máquina, geralmente composta por letras e números.
Compiladores x Interpretadores:

- Compiladores e interpretadores são programas que tem seu principal objetivo comum traduzir uma linguagem de alto nível para baixo nível, porém de forma diferente.

o   Compiladores: Nos compiladores o processo de tradução do código fonte se baseia na busca de erros, e caso não ocorra erro o código é traduzido para a máquina. Entretanto, nos compiladores o processo de tradução se divide em duas partes, análise e síntese.

Ø  Análise: A análise tem o objetivo de entender o código e representa-lo em uma estrutura intermediaria, e a análise se divide em três.
Léxica: Na análise léxica ocorre a procura de erros nos caracteres, no caso se alguma palavra estiver errada um erro é acusado.
Sintática: Na análise sintática diferente da léxica palavras escritas na forma certa não são mais problemas, mas sim se estão ordenadas corretamente no código.
Semântica: Na análise semântica ocorre a identificação do erro, que tipo de erro ocorre e onde ocorreu.  

Ø  Síntese: Na síntese ocorre a construção do código de máquina a partir da representação intermediaria. Pode ser composta por etapas de geração de código intermediário, otimização do código e geração do código fina (única etapa obrigatória).

Alguns compiladores incluem um pré-processador, que é responsável por mudanças no código fonte, ele é executado todas as vezes que seu programa é compilado. Além disso, alguns compiladores fazem a compilação de maneira diferente da tradicional, aonde ela só é feita quando o código for chamado e por esse motivo compiladores assim são chamados de Just-in-time compiler (JIT), que resumidamente tem a função de traduzir todo o código de uma vez.

o   Interpretadores: Nos interpretadores a tradução acontece de forma simultânea à execução, e diferente dos compiladores os interpretadores não geram um código final executável, o que é um problema, pois sempre que abrir um programa interpretado ele tem que ser executado do inicio.


Referências:
http://tudocobol.blogspot.com.br/2011/12/o-que-e-um-compilador.html
https://pt.linkedin.com/pulse/o-que-%C3%A9-um-compilador-e-como-ele-funciona-carlos-eduardo
http://marcogomes.com/blog/2005/compiladores/
http://cs.ictea.com/knowledgebase.php?action=displayarticle&id=8817&language=portuguese-pt
http://www.inf.ufsc.br/~j.barreto/cca/arquitet/arq4.htm

0 comentários:

Postar um comentário