Você está na página 1de 10

+

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO


PARANÁ – IFPR – CAMPUS UNIÃO DA VITÓRIA

ALESSANDRA DOS SANTOS DUBIEL

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES: COMPILADORES


E INTERPRETADORES.

UNIÃO DA VITÓRIA
2023
GRADUAÇÃO EM TECNOLÓGICA EM ANÁLISE E DESENVOLVIMENTO
DE SISTEMAS
INSTITUTO FEDERAL DO PARANÁ – IFPR
CAMPUS UNIÃO DA VITÓRIA

JEFFERSON NOGUEIRA DE OLIVEIRA

ALESSANDRA CRISTINA VALÉRIO

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES: COMPILADORES


E INTERPRETADORES.

Projeto de Pesquisa apresentado ao curso


de Graduação Tecnológica em Análise e
Desenvolvimento de Sistemas para o
Exame de Qualificação.

Linha de Pesquisa: Foco em organização


dos compiladores.

Orientador: Prof. Jefferson Nogueira de


Oliveira e Prof. Alessandra Cristina Valério.

UNIÃO DA VITÓRIA
2023
1
SUMÁRIO

1 INTRODUÇÃO....................................................................................................................... 3
2 LINGUAGEM COMPILADA.....................................................................................................4
2.1 COMPILADORES.................................................................................................................4
2.1.1 ETAPAS DO COMPILADOR...............................................................................................5
2.2 MONTADORES...................................................................................................................5
2.3 FILTROS..............................................................................................................................5
2.4 LIGADORES........................................................................................................................6
3 LINGUAGEM INTERPRETADA.................................................................................................7
4 VANTAGENS E DESVANTAGENS.............................................................................................8
4.1 VANTAGENS LINGUAGEM COMPILADA..............................................................................8
4.2 DESVANTAGENS LINGUAGEM COMPILADA........................................................................8
4.3 VANTAGENS LINGUAGEM INTERPRETADA..........................................................................8
4.4 DESVANTAGENS LINGUAGEM INTERPRETADA.....................................................................8

REFERÊNCIAS...........................................................................................................................9

2
1 INTRODUÇÃO

No decorrer do artigo iremos abordar de qual maneira nos conectamos com os


computadores, como é feita essa passagem de linguagem de programação para
linguagem de máquina, através do olhar de João José Neto, Daniel Caetano e Carlos
Guerber.

Durante o artigo, vamos conhecer as principais e mais usadas formas de fazer


essa conexão. São elas, interpretação e compilação. A maior problemática que vemos
hoje é qual usar e de qual forma. Dito isso, o intuito principal dessa pesquisa é conhecer
suas características e vantagens, para que nós como programadores possamos usar a
nosso favor. E assim, cada projeto seja desenvolvido da melhor maneira.

João José Neto (1990, p. 1) nos mostra que os compiladores no século XX


tinham um contato direto e específico conosco, através dos cartões e fitas perfuradas.
Onde o mesmo tinha também a função de um programa autônomo. O que era
interessante para a época. Hoje em dia é um programa importantíssimo para nos
conectar ao processador.

Daniel Caetano (2011, p. 3) ensina que na linguagem interpretada se tem uma


perspectiva diferente, é necessário o uso de uma máquina virtual. É mais utilizado para
programas que é necessário um resultado imediato.

3
2 LINGUAGEM COMPILADA

2.1 COMPILADORES

Um compilador é uma peça importante do software, onde sua principal função é


modificar uma linguagem-fonte para uma linguagem-objeto contendo as mesmas
informações da inicial, porém em uma linguagem de baixo nível. Podemos dizer que ele
traduz um texto-fonte para um texto-objeto, como mostra a imagem abaixo:

Imagem 2 – Compilador na prática.

Mas além de executar essa “tradução”, um compilador tem a função de detectar


possíveis erros no programa, criando um relatório, facilitando sua depuração.

2.1.1 ETAPAS DO COMPILADOR

Existem diversos tipos de compiladores, mas podemos dizer que sua formatação
é sempre a mesma. Primeiramente, temos através do sistema operacional a busca de
registros físicos, ocasionando logo após em registros lógicos.
Recebido esses registros um manipulador de caracteres irá filtrar, tirando as
tabulações, caracteres de controles, entre outros. Deixando somente do texto-fonte os
caracteres úteis para a execução, e o que o compilador vai precisar realmente.
Agora, esses caracteres úteis vão passar por uma análise, chamada análise léxica,
onde vão ser agrupados e classificados. Logo após será necessário o reconhecimento
sintático, confirmando se o texto-fonte é uma sequência válida, é nessa etapa onde é
verificada os erros sintáticos e repassado ao programador. Nessa análise sintática é feita
a árvore sintática, onde reflete a essência do programa a ser traduzido. Precisamos agora

4
verificar a coerência desse código, essa é a etapa da análise semântica. Ela tem também
a função de adicionar informações importantes à árvore sintática, para enfim, ser
compilada em programa-objeto (JOAO, 1990).
Alguns compiladores, após as análises citadas anteriormente, precisam de um
gerador canônico de código-objeto, onde gera uma linguagem intermediária, muito
próxima a linguagem-objeto.
Outra etapa muito importante é o ambiente executável, é ele que determina os
limites até onde podem chegar os recursos das linguagens que são executadas sob sua
influência (JOAO, 1990).

2.2 MONTADORES

Montadores, diferente dos compiladores, já recebem em linguagem de montagem


(assemblers) de baixo nível. Eles fazem a conversão de textos redigidos em uma
linguagem, para formas equivalentes, redigidas em outra linguagem.

2.3 FILTROS

Ele é um tradutor que só trabalha com linguagens de alto nível, por exemplo, um
texto fonte seja regido em FORTRAN e que para avançar as etapas em linguagem de
máquina ou objeto o texto precisa estar em PASCAL. Vão ser os filtros a fazer essa
tradução. Os filtros podem também ser chamados de Pré-processadores (JOAO, 1990).

2.4 LIGADORES

O linkeditor é a peça-chave que liga o código-objeto trazido pelo compilador,


para linguagem de máquina, compilando assim para um arquivo executável. Segue um
diagrama para visualização de todo esse processo:

5
Imagem 2 – Como funciona um compilador.

3. LINGUAGEM INTERPRETADA

Diferente da linguagem compilada, o interpretador traduz o código-objeto em


partes, linha por linha, tornando a linguagem mais dinâmica, assim o programa já pode
ser executado antes mesmo de terminar a interpretação. Para isso é necessário fornecer o
programa fonte ao utilizador. (DANIEL; CAETANO, 2011)
Mas para todo esse dinamismo funcionar em todas as máquinas, o usuário
precisa de uma máquina virtual, para à medida que usar o sistema ele ir executando.

6
Imagem 3 – Como funciona a linguagem interpretada.

4. VANTAGENS E DESVANTAGENS

4.1 VANTAGENS LINGUAGEM COMPILADA

• Execução mais rápida;


• Permite a optimização do código-fonte.

4.2 DESVANTAGENS LINGUAGEM COMPILADA

• Dependência da plataforma do código binário gerado;


• Tempo adicional necessário para concluir toda a etapa de compilação antes dos
testes;
• Depuração mais demorada.

4.3 VANTAGENS LINGUAGEM INTERPRETADA

7
• Depuração mais simples;
• Consome menos memória;
• Resultado mais imediato.

4.4 DESVANTAGENS LINGUAGEM INTERPRETADA

• Execução mais lenta;


• Necessário fornecer código-fonte (CARLOS, 2007).

8
REFERÊNCIAS

1 - Aula 16, Carlos Guerber – Arquitetura de Computadores – Universidade do


Contestado – UnC/MafraCurso, 2007.

2 - Unidade 6, Daniel Caetano - Linguagens Interpretadas, 2011.

3 - I Edição, João José Neto – Introdução à compilação, 1990.

Escola Politécnica da USP.

Você também pode gostar