Você está na página 1de 5

Instituto Federal de Pernambuco

Faculdade de Analise e Desenvolvimento de Sistemas

Álvaro Alexandre da Silva Neto

Resumo sobre Compiladores e Interpretadores

Canhotinho/PE
2021
- Compiladores -

Um compilador nada mais é do que uma forma de tradução de código


de uma linguagem para outra. Ele vai pegar um código que está escrito
em uma linguagem (independente se for baixo ou alto nível) e vai
“compila-lo” ou seja traduzir esse código para uma outra linguagem
para que a máquina que rode essa linguagem consiga entender. O
mais comum e que seja de uma linguagem de “alto nível” para uma de
“baixo nível”, por essa última ser considerada como uma linguagem
que e mais próxima da linguagem de um hardware ou seja do tipo
binária e não conter tantas variações como a de alto nível.

Vale ressaltar que em linguagens de alto nível os seu comando pode


ser “facilmente” entendido pelos seres humanos, já as de baixo nível
são muito difíceis de serem compreendidas por nós por serem
justamente linguagens parecida com linguagens de computadores.

Um compilador primeiramente irá analisar o código inteiro, vendo toda


sua estrutura física como palavras chaves e comandos, além disso
também vera sua sintaxe e ver se não há nenhum erro gramatical já
que uma mensagem errada não poderá ser entendida pela máquina,
logo depois dessa analise ela vai finalmente iniciar com o processo de
sintetização do código, “traduzindo” para a linguagem de PC ou seja
binária, onde poderá ser executado normalmente com o mesmo
comando só que escrito de uma outra maneira.

Algo interessante, a maioria das IDES já possuem compiladores já


incluídos como uma forma de ferramenta, EX: o Netbeans ou o GCC,
usados principalmente em C,C++, e até mesmo em PHP.
- Interpretadores –

Os interpretadores são outra forma de tradução de uma linguagem


para outra, também será de alto nível para baixo nível, ou seja
convertê-lo para a linguagem da máquina. Comparado com um
compilador, funciona de uma forma diferente de conversão de
comandos, em vez de traduzir o código inteiro e criar um arquivo
executável com a linguagem binaria, ele irá pegar linha por linha para
traduzir e automaticamente irá executar em seu computador, pode ser
considerado que é em tempo real digamos assim.

Com isso será possível, que se tiver algum erro no código como de
sintaxe, ele irá mostrar qual tipo foi o erro e aonde foi ou seja em que
linha foi, para assim vc saber aonde foi o problema e corrigir mais
facilmente com um simples Debug.

As linguagens mais usadas como Pyhton, php e perl são consideradas


como interpretadas por analisarem linha por linha e mostrar onde
estão os erros se estiver errado.

Vale lembrar que tanto os compiladores e interpretadores podem


traduzir qual quer linguagem, só mudando processo de tradução que
varia de código para código.
- Vantagens e desvantagens –

Os compiladores: tem uma maior velocidade de execução já que


executa o código inteiro de uma vez, permitindo uma maior eficiência
e otimização do que um interpretador. Podem corrigir o código antes
da execução fazendo uma checagem na estrutura otimizando o
processo na hora de traduzi. Entretanto possui um grande problema,
para cada tipo de sistema ou plataforma ele precisa traduzir mais de
uma vez, ou seja, uma tradução diferente para cada tipo, mais uma
grande vantagem e sua segurança por que seu código não pode ser
alterado já que vem já pronto. Em suma e recomendado para sistemas
mais pesados por contar alto desempenho e fluidez

Os interpretadores: Por traduzir linha por linha, sua performance pode


cair drasticamente, levando a um alto uso de processamento e até de
memória, fora que não corrigi os erros como o compilador ficando a
cargo do usuários corrigi-los, pelo menos ele mostra onde está errado
e qual e o problema. E sua grande vantagem e sua portabilidade, já que
por ser feito em tempo real na hora da execução aos poucos, pode ser
traduzido para qualquer sistema seja Linux, mac ou Windows ou
qualquer coisa que tenha conectividade como geladeira ou carro. O
grande exemplo e o próprio java, com ele dá para levar comandos para
qualquer lugar inteligente como mobile pc etc, ademais também
permite que seu código seja alterado em si ou em uma biblioteca,
porem isso gera uma falha na segurança já que qualquer um pode
compila-lo de volta e achar brechas e por se em código aberto na
maioria. São mais recomendado em sistemas webs pela portabilidade
e fácil manuseio.
Referencias de pla......... quero
dizer bibliográficas:
https://www.dca.fee.unicamp.br/cursos/EA876/apo
stila/HTML/node37.html

https://johnidm.gitbooks.io/compiladores-para-
humanos/content/part1/introduction-and-overview-
about-compilers.html

http://www.inf.ufsc.br/~j.barreto/cca/arquitet/a
rq4.htm

Você também pode gostar