Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

CENTRO UNIVERSITÁRIO JORGE AMADO – UNIJORGE 
SISTEMA DA INFORMAÇÃO 
PAULA DE SOUSA CUNHA MOTA 
 
 
 
PROCESSOS DE COMPILAÇÃO E INTERPRETAÇÃO 
 
 
 
 
 
 
 
 
Salvador – Ba 
2022 
PAULA DE SOUSA CUNHA MOTA 
 
 
 
 
PROCESSOS DE COMPILAÇÃO E INTERPRETAÇÃO 
Trabalho apresentado como requisito parcial 
para fins avaliativos da disciplina de 
Organização e Arquitetura de Computadores 
curso de Sistema da Informação do Centro 
Universitário Jorge Amado- Unijorge. 
Professor: Magno Luã De Jesus Souza 
 
 
 
 
 
 
 
 
 
 
 
 
Salvador – Ba 
2022 
 
 
SUMÁRIO 
1.INTRODUÇÃO................................................................................................................3 
2. OBJETIVOS....................................................................................................................4 
3. DESENVOLVIMENTO.................................................................................................4 
3.1 Compilação ....................................................................................................................4 
3.2 Interpretação ...................................................................................................................5 
4. CONCLUSÃO.................................................................................................................7 
REFERÊNCIAS..................................................................................................................8 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3 
 
1. INTRODUÇÃO 
 O primeiro computador foi construído no século XX, e passou por várias modificações 
e melhorias, e são historicamente categorizados como gerações, até o computador VLSI que 
surgiu em 1980 e são utilizados até hoje (CORRÊA, 2016). 
O computador é um sistema complexo formado por milhões de componentes. De forma 
resumida, a função do computador é realizar o controle, processamento, armazenamento e 
entrada e saída dos dados. Os componentes estruturais principais dos computadores podem ser 
definidos como a unidade central de processamentos (CPU), memória principal, entrada e saída 
(E/S) e a interconexão do sistema (CORRÊA, 2016). 
Para Corrêa (2016), o CPU pode ser considerado como o cérebro do computador, nele 
são agrupados quatro componentes principais: unidade de controle, que é responsável pelo 
controle e operação da CPU, unidade aritmética e lógica que processa os dados do computador, 
os registradores que oferece o armazenamento à CPU, e a interconexão do sistema que realiza 
a comunicação entre a unidade de controle, ULA e registradores. 
O modelo de computador de Van Neumann é a base utilizada em quase todos os 
computadores digitais. Segundo Stallings (2017), este modelo é caracterizado pela 
possibilidade de uma máquina digital armazenar seus programas no mesmo espaço de memória 
em que os dados, podendo, assim, manipular tais programas. Essa arquitetura é um projeto-
modelo de um computador digital de programa armazenado que utiliza uma unidade de 
processamento (CPU) e uma de armazenamento (memória) para comportar, respectivamente, 
instruções e dados. 
O programa é um conjunto de instruções com a finalidade de gerar dados de saída a 
partir de dados de entrada. O computador utiliza programas para processar os dados. O CPU 
para conseguir executar estes programas utiliza ciclos de máquina, que pode ter três fases: 
busca, decodificação e execução. Na fase de busca, o sistema copia a próxima instrução no 
registrador de instruções da CPU, o endereço da instrução a ser copiada permanece no 
registrador. Essa instrução armazenada no registrador é decodificada, pela unidade de controle, 
em código binário para uma operação que o sistema vai realizar. Por último na fase de execução 
a ordem da tarefa é enviada pela unidade de controle para um componente da CPU (CORRÊA, 
2016, p. 43 apud FOROUZAN; MOSHARRAF, 2011, p. 108). 
 
4 
 
 
2. OBJETIVOS 
 Apresentar as representações gráficas dos processos de compilação e interpretação; 
relatar as principais diferenças entre os dois processos. 
3. DESENVOLVIMENTO 
Para que os humanos consigam designar instruções como, somar, subtrair etc, para o 
computador de forma mais amigável, têm-se a linguagem de programação, de forma que as 
solicitações dos humanos sejam traduzidas em linguagem de máquina e, desta forma os 
computadores consigam interpretar os comandos passados aos mesmos (SILVA,2017). 
Os interpretadores e compiladores são, essencialmente, programas cuja saída (ou output) não 
está estabelecido à partida, o seu resultado é definido através de um programa dado como input, 
escrito numa linguagem de programação (SECO, 2013). Os dados de entrada de um compilador 
e de um interpretador é um programa expresso numa linguagem de programação (linguagem 
fonte). Geralmente, a linguagem fonte é um programa expresso por um texto, podendo ser 
expresso, também, de outras formas (SECO, 2013). 
3.1 Processo de compilação 
Os compiladores são responsáveis por transformar o código de uma linguagem fonte, 
geralmente de alto nível, para a linguagem objeto, geralmente de baixo nível. Os compiladores 
são formados por cinco unidades, que são o analisador léxico, o analisador sintático, o 
analisador semântico, o gerador de código e o otimizador (JÚNIOR, 2003). 
O analisador léxico ou scanner é responsável pela identificação dos vários símbolos existentes 
no código fonte de um programa, além de realizar uma varredura no código fonte em busca de 
erros de grafia no programa. O analisador sintático ou parser, verifica se a ordem em que 
aparecem os tokens é gramaticalmente correta. O produto lógico de um parser é uma árvore 
sintática abstrata. O analisador semântico é encarregado de fazer a análise semântica utilizando 
a tabela de símbolos, ou correção de contexto, do que estiver escrito no código fonte do 
programa. Ele atua, entre outras coisas, para verificar se as variáveis foram declaradas antes de 
serem usadas, avalia as compatibilidades de funções, atribuições etc. Já o gerador de código é 
o primeiro componente de um compilador que depende da máquina em que a execução vai ser 
realizada, e sua função consiste em gerar sequências de instruções de máquina sempre que 
certas estruturas forem definidas após a análise semântica. Por último, o otimizador tem o papel 
5 
 
de modificar o código gerado na tentativa de obter um melhor desempenho ou quanto a espaço 
ou quanto a velocidade de execução. A otimização pode ser feita em dois momentos, um antes 
de se realizar a geração do código (portanto mais complexa e eficiente) e outro após a geração 
do código (logo mais simples, porém menos eficiente) (FREITAS, 2006). Na figura 1 podemos 
visualizar de forma ilustrativa o processo de compilação. 
Figura 1 - Processo de compilação. 
 
Fonte - Autoria própria. 
 
3.2 Processo de interpretação 
 
De acordo com Almeida (2010): 
Interpretador é uma espécie de tradutor de linguagens de alto nível que 
executa diretamente o código fonte para a máquina sem a criação de 
código intermediário, eliminando uma etapa que o diferencia dos 
compiladores, ou seja, ao invés de produzir um programa alvo como 
uma tradução, um interpretador executa diretamente na máquina as 
operações especificadas no programa fonte nas entradas fornecidas pelo 
usuário. 
No processo de interpretação cada comando do código fonte é transformado em uma ou mais 
instruções do código executável. Logo, esse processo é repetido até a última linha de código a 
ser executado. Em vez de traduzir de uma vez o programa fonte para então executá-lo, são 
traduzidas apenas pequenas unidades básicas do programa para executá-las imediatamente 
6 
 
(BERTOLINI et al., 2019). De forma ilustrativa, na figura 2 podemos visualizar o fluxo deste 
processo. 
 
Figura 2 – Processo de interpretação. 
Fonte - Autoria própria.7 
 
 4. CONCLUSÃO 
 Como visto anteriormente, a linguagem de máquina não é nem um pouco amigável para 
que os humanos consigam designar tarefas aos computadores. Para que a linguagem de 
programação seja transformada em linguagem de máquina e, assim, conseguirmos realizar 
operações no computador, temos o tradutor ou compilador e o interpretador dependendo da 
linguagem utilizada. Assim, enquanto o tradutor ou compilador lê e analisa todo o programa de 
uma vez e o traduz para linguagem de máquina o interpretador lê o comando linha a linha e 
executa, e isso torna o processor do interpretador mais lento do que o do compilador. Porém, 
caso o compilador detecte algum erro ao final da tradução, é preciso reiniciar todo o processo 
para corrigir o erro, já no interpretador o erro é avisado na hora. Outra diferença é que o 
compilador cria um programa objeto e o executa e o interpretador não. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8 
 
REFERÊNCIAS 
 
ALMEIDA, Wilson. Avaliação de performance de interpretadores Ruby. Florianópolis: 
Universidade Federal de Santa Catarina, 2010. Disponível em: < 
https://repositorio.ufsc.br/bitstream/handle/123456789/184513/trabalho-wilson-de-
almeida.pdf?sequence=-1 >. Acesso em: 22 de nov. 2022. 
 
BERTOLINI, Cristiano; et al. Linguagem de Programação I. 1 ed.; Santa Maria, RS: UFSM, 
NTE, 2019. p.18. Disponível em: < 
https://www.ufsm.br/app/uploads/sites/358/2020/02/linguagem-1.pdf >. Acesso em: 22 de nov. 
2022. 
 
CORRÊA, A. G. D. Organização e arquitetura de computadores. São Paulo: Pearson Education 
do Brasil, 2016. Disponível em: < 
https://plataforma.bvirtual.com.br/Leitor/Publicacao/124147/epub/42?code=Nd5xSwX5B/Mx
ZSkOXmj0kratB6cUuzZZEL7Sd4aeVwmyi0uCHVMm7wCyYiUq7wMZrM3eXUtwsaCj32
pnBWb0DA== >. Acesso em: 20 de nov. 2022. 
 
FREITAS, Ricardo Luís. Compiladores. Compiladores. 18 de dez. 2006. Notas de aula. 
Disponível em: < http://www.cesarkallas.net/arquivos/faculdade/compiladores/teoria/apostila-
de-compiladores-ec.pdf >. Acesso em: 22 de nov. 2022. 
 
JUNIOR, Aleardo Manacero. Introdução à compiladores. Construção de compiladores. 2003. 
Notas de aula. Universidade Estadual Paulista. Disponível em: < 
https://www.dcce.ibilce.unesp.br/~aleardo/cursos/compila/ >.Acesso em: 22 de nov. 2022. 
 
SECO, João Costa. Interpretação e Compilação de linguagem de programação. Dep. De 
Informática. 28 de fev. 2013. Notas de aula. NOVA School of Science and Technology | FCT 
NOVA. Disponível em: < https://moodle.fct.unl.pt/pluginfile.php/213715/mod_label/intro/01-
overview.pdf >. Acesso em: 21 de nov. 2022. 
 
SILVA, Edilson Hipolito. Introdução à Programação de Computadores: Fabricação 
Mecânica. Santa Catarina. 2017. Apresentação em Slide Share. 18 slides, color. Disponível em: 
< http://docente.ifsc.edu.br/edilson.hipolito/materiais/2017-
1/introducao_programacao_fabricacao_mecanica_python/IAP_TFB%20-
%20aula%2004%20-
%20Linguagens%20de%20Programa%C3%A7%C3%A3o,%20Interpretador,%20compilador
.pdf >. Acesso em: 22 de nov. 2022. 
 
STALLINGS, W. Arquitetura e organização de computadores. 10. ed. São Paulo: Pearson 
Education, 2017. Disponível em: < 
https://plataforma.bvirtual.com.br/Leitor/Publicacao/151479/pdf/389?code=apHnwwlK6BNg
ZKpJ7sN7fkD+h5VXmLNpn6aczxFCTwcHxZ35AO+5zQobATzmEYPjjquZuqVDo85g7E8
DDNc4Ww==>.Acesso em: 20 de nov. 2022. 
 
 
https://repositorio.ufsc.br/bitstream/handle/123456789/184513/trabalho-wilson-de-almeida.pdf?sequence=-1
https://repositorio.ufsc.br/bitstream/handle/123456789/184513/trabalho-wilson-de-almeida.pdf?sequence=-1
https://www.ufsm.br/app/uploads/sites/358/2020/02/linguagem-1.pdf
https://plataforma.bvirtual.com.br/Leitor/Publicacao/124147/epub/42?code=Nd5xSwX5B/MxZSkOXmj0kratB6cUuzZZEL7Sd4aeVwmyi0uCHVMm7wCyYiUq7wMZrM3eXUtwsaCj32pnBWb0DA
https://plataforma.bvirtual.com.br/Leitor/Publicacao/124147/epub/42?code=Nd5xSwX5B/MxZSkOXmj0kratB6cUuzZZEL7Sd4aeVwmyi0uCHVMm7wCyYiUq7wMZrM3eXUtwsaCj32pnBWb0DA
https://plataforma.bvirtual.com.br/Leitor/Publicacao/124147/epub/42?code=Nd5xSwX5B/MxZSkOXmj0kratB6cUuzZZEL7Sd4aeVwmyi0uCHVMm7wCyYiUq7wMZrM3eXUtwsaCj32pnBWb0DA
http://www.cesarkallas.net/arquivos/faculdade/compiladores/teoria/apostila-de-compiladores-ec.pdf
http://www.cesarkallas.net/arquivos/faculdade/compiladores/teoria/apostila-de-compiladores-ec.pdf
https://www.dcce.ibilce.unesp.br/~aleardo/cursos/compila/
https://moodle.fct.unl.pt/pluginfile.php/213715/mod_label/intro/01-overview.pdf
https://moodle.fct.unl.pt/pluginfile.php/213715/mod_label/intro/01-overview.pdf
http://docente.ifsc.edu.br/edilson.hipolito/materiais/2017-1/introducao_programacao_fabricacao_mecanica_python/IAP_TFB%20-%20aula%2004%20-%20Linguagens%20de%20Programa%C3%A7%C3%A3o,%20Interpretador,%20compilador.pdf
http://docente.ifsc.edu.br/edilson.hipolito/materiais/2017-1/introducao_programacao_fabricacao_mecanica_python/IAP_TFB%20-%20aula%2004%20-%20Linguagens%20de%20Programa%C3%A7%C3%A3o,%20Interpretador,%20compilador.pdf
http://docente.ifsc.edu.br/edilson.hipolito/materiais/2017-1/introducao_programacao_fabricacao_mecanica_python/IAP_TFB%20-%20aula%2004%20-%20Linguagens%20de%20Programa%C3%A7%C3%A3o,%20Interpretador,%20compilador.pdf
http://docente.ifsc.edu.br/edilson.hipolito/materiais/2017-1/introducao_programacao_fabricacao_mecanica_python/IAP_TFB%20-%20aula%2004%20-%20Linguagens%20de%20Programa%C3%A7%C3%A3o,%20Interpretador,%20compilador.pdf
http://docente.ifsc.edu.br/edilson.hipolito/materiais/2017-1/introducao_programacao_fabricacao_mecanica_python/IAP_TFB%20-%20aula%2004%20-%20Linguagens%20de%20Programa%C3%A7%C3%A3o,%20Interpretador,%20compilador.pdf
https://plataforma.bvirtual.com.br/Leitor/Publicacao/151479/pdf/389?code=apHnwwlK6BNgZKpJ7sN7fkD+h5VXmLNpn6aczxFCTwcHxZ35AO+5zQobATzmEYPjjquZuqVDo85g7E8DDNc4Ww==%3e.Acesso
https://plataforma.bvirtual.com.br/Leitor/Publicacao/151479/pdf/389?code=apHnwwlK6BNgZKpJ7sN7fkD+h5VXmLNpn6aczxFCTwcHxZ35AO+5zQobATzmEYPjjquZuqVDo85g7E8DDNc4Ww==%3e.Acesso
https://plataforma.bvirtual.com.br/Leitor/Publicacao/151479/pdf/389?code=apHnwwlK6BNgZKpJ7sN7fkD+h5VXmLNpn6aczxFCTwcHxZ35AO+5zQobATzmEYPjjquZuqVDo85g7E8DDNc4Ww==%3e.Acesso

Mais conteúdos dessa disciplina