![]() |
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