Вы находитесь на странице: 1из 2

Trabalho de Compiladores 1

Nome: Andrey de A. Hashimoto

1 - Escreva sobre a evolução das linguagens de programação.


R: Desde a década de 50 quando o assembly foi criado, as linguagens vem evoluindo, cada uma
com um propósito de resolver problemas geralmente do escopo comercial ou científico. Dessa
forma cada linguagem de programação tem seus próprios comandos (ou palavras reservadas) e pode
ou não traçar regras para cada palavra reservada. Porém as igualdades entre as várias linguagens são
obvias: A Lógica binárias, as instruções if, else, goto, switch, etc... Entre outros processos. Porém é
necessário notar-se que a sintaxe básica dessas linguagens modifica-se e é necessária a sua
aprendizagem. Para isso o melhor local para aprender e se aperfeiçoar são os livros sobre a matéria.
O problema mais importante, hoje, na área de Linguagens de Programação, é o desenvolvimento de
linguagens que aumentem a produtividade do programador. Linguagens que permitam escrever
programas corretamente, facilmente e rapidamente. Esta é a razão do rápido crescimento de
linguagens como Java, C# e Ruby.

2 - No contexto de implementação da linguagem dê o significado de: compilador,


interpretador, montador, pré-compilador.
R: Compilador - Um compilador é um programa de computador (ou um grupo de programas) que,
a partir de um código fonte escrito em uma linguagem compilada, cria um programa
semanticamente equivalente, porém escrito em outra linguagem, código objeto.

Interpretador - Interpretadores são programas de computador que leem um código fonte de uma
linguagem de programação e os convertem em código executável. Seu funcionamento pode variar
de acordo com a implementação. Em muitos casos o interpretador lê linha-a-linha e converte em
código objeto à medida que vai executando o programa. Linguagens interpretadas são mais
dinâmicas por não precisarem escrever-compilar-testar-corrigir-compilar-testar-distribuir, e sim
escrever-testar-corrigir-escrever-testar-distribuir. Mas existem também linguagens que funcionam
como interpretadores e compiladores, como: C, Python (somente quando requerido), BASIC, etc.

Montador - Um montador, assemblador ou assembler, é um programa de computador que efetua a


montagem de uma linguagem de montagem (assembly) para código de máquina.

O pré-compilador - O pré-compilador executa transformações controladas no arquivo fonte antes


da compilação. Em C/C++ Os comandos (sentenças) sempre são iniciados por #. Ex: #include
<iostream>
Então o pré-compilador o que faz é incluir ficheiros localizados no ficheiro iostream Então
tínhamos o código fonte que depois é transformado num outro código fonte de acordo com as
diretivas pré-processadas.

3 - Aponte as vantagens e desvantagens dos interpretadores em relação aos compiladores.


Compiladores
- Vantagens:
1) A execução do programa é mais rápida.
2) Estruturas de dados mais completas;
3) Permitem a otimização de código fonte.
- Desvantagens:
1) Várias etapas de tradução;
2) Processo de correção de erro e de depuração é mais demorado;
3) Programação final é maior, o que gera a necessidade de mais memória;
Interpretadores
- Vantagens:
1) Depuração é mais simples;
2) Consomem menos memória;
3) Resultado imediato do programa ou rotina desenvolvida.
- Desvantagem:
1) A execução do programa é mais lenta.
2) Estrutura de dados demasiadamente simples;
3) Necessário fornecer o programa fonte ao utilizador;

Вам также может понравиться