Buscar

COMPILADORES Atividade 10 - Gerador de Código Intermediário; Otimizador de Código; Gerador de Código.

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

1. Gerador de Código Intermediário:
· Definição:
O Gerador de Código Intermediário é uma parte do compilador que transforma o que escrevemos
em código de computador, mas não o código final que o computador entende.
O Gerador de Código Intermediário (GCI) é uma parte fundamental do processo de compilação,
responsável por traduzir o código-fonte de alto nível em uma representação intermediária (RI) que
serve como uma forma abstrata e independente de máquina. Essa (RI - representação intermediária)
preserva a estrutura semântica e sintática do código original, facilitando análises e otimizações
posteriores.
· Propriedades/Características:
Ele faz isso de forma que seja fácil entender e trabalhar, mas sem se preocupar com detalhes
complicados de como o computador vai usar esse código.
A (RI - representação intermediária) gerada pelo (GCI - Gerador de Código Intermediário) é projetada
para ser independente de máquina, o que significa que ela não contém detalhes específicos da
arquitetura de destino. Isso proporciona portabilidade ao código compilado, permitindo que ele seja
executado em diferentes plataformas sem a necessidade de modificações significativas. Além disso,
o (GCI - Gerador de Código Intermediário) deve ser eficiente na produção da (RI - representação
intermediária) e na manipulação de estruturas de dados complexas.
· Entrada Exigida:
Ele precisa do que escrevemos no computador, chamado de "programa fonte".
O (GCI - Gerador de Código Intermediário) recebe como entrada o programa fonte, após a análise
léxica, sintática e semântica. Essas etapas anteriores fornecem informações detalhadas sobre a
estrutura e o significado do código-fonte.
· Modo/Método pelo qual se dá a Análise e o Processamento:
O (GCI - Gerador de Código Intermediário) analisa o que escrevemos e o transforma em uma versão
mais simples, mas que mantém o significado do que queremos fazer.
O (GCI - Gerador de Código Intermediário) realiza uma análise detalhada do programa fonte,
identificando estruturas de controle, tipos de dados e expressões. Com base nessa análise, ele
constrói a (RI - representação intermediária) do programa, utilizando técnicas como árvores de
sintaxe abstrata (AST - árvores de sintaxe abstrata) ou grafos de fluxo de controle.
· Saída Produzida:
Ele produz uma versão intermediária do nosso programa, que é como um rascunho antes da versão
final.
A saída do (GCI - Gerador de Código Intermediário) é a (RI - representação intermediária) do
programa, expressa em uma forma abstrata que preserva a semântica do código-fonte original. Essa
(RI - representação intermediária) é utilizada como entrada para o Otimizador de Código.
2. Otimizador de Código:
· Definição:
O Otimizador de Código é como um "personal trainer" para o nosso programa, ele o ajuda a ficar
mais rápido e eficiente.
O Otimizador de Código é uma parte crítica do compilador responsável por melhorar a eficiência do
código intermediário gerado pelo (GCI - Gerador de Código Intermediário). Seu objetivo é realizar
transformações algorítmicas e estruturais para otimizar o desempenho e a utilização de recursos do
programa resultante.
· Propriedades/Características:
Ele olha para o rascunho do programa e encontra maneiras de fazê-lo funcionar melhor, removendo
partes que não são necessárias e organizando o que sobrou de uma maneira mais inteligente.
O Otimizador de Código emprega uma ampla gama de técnicas de otimização, incluindo análise de
fluxo de dados, análise de dependência de instruções, eliminação de código morto, propagação de
constantes, reordenamento de instruções e simplificação de expressões. Ele visa reduzir o tempo de
execução, minimizar o consumo de memória e melhorar a eficiência geral do programa.
· Entrada Exigida:
Ele precisa do rascunho do programa, a versão intermediária.
O Otimizador de Código recebe a (RI - representação intermediária) do programa, gerada pelo (GCI -
Gerador de Código Intermediário), como entrada. Esta (RI - representação intermediária) contém
informações sobre o fluxo de controle, dependências de dados e estrutura do programa, que são
analisadas e otimizadas pelo Otimizador.
· Modo/Método pelo qual se dá a Análise e o Processamento:
Ele examina o rascunho e faz mudanças para torná-lo mais rápido e eficiente, sem mudar o que o
programa faz.
O Otimizador de Código realiza uma análise detalhada da (RI - representação intermediária) do
programa, identificando padrões de execução ineficientes e oportunidades de otimização. Com base
nessa análise, ele aplica transformações algorítmicas e estruturais para reorganizar o código e
melhorar seu desempenho.
· Saída Produzida:
Ele produz uma versão melhorada do rascunho, pronta para se tornar o programa final.
A saída do Otimizador de Código é a (RI - representação intermediária) otimizada do programa, que
apresenta melhorias significativas em relação à versão original. Essa (RI - representação
intermediária) otimizada é mais eficiente em termos de tempo de execução e uso de recursos,
preparando-se para a geração de código final.
3. Gerador de Código:
· Definição:
O Gerador de Código é como um tradutor que transforma o rascunho melhorado em algo que o
computador entende e pode executar.
O Gerador de Código é a última fase do compilador, encarregada de traduzir a (RI - representação
intermediária) do programa (ou a (RI - representação intermediária) otimizada, se houver) em
código de máquina específico para a arquitetura de destino. Ele produz um código eficiente e
funcional que pode ser executado diretamente pelo hardware.
· Propriedades/Características:
Ele pega o rascunho melhorado e o transforma em instruções que o computador pode seguir passo
a passo.
O Gerador de Código produz código de máquina correto, eficiente e seguro, levando em
consideração as características da arquitetura de destino, como conjunto de instruções, modelo de
memória e convenções de chamada de função. Ele é projetado para otimizar o desempenho e a
utilização de recursos do programa final.
· Entrada Exigida:
Ele precisa do rascunho melhorado.
O Gerador de Código recebe como entrada a (RI - representação intermediária) do programa (ou a
(RI - representação intermediária) otimizada) gerada pelo Otimizador de Código. Esta (RI -
representação intermediária) contém todas as informações necessárias para a geração do código de
máquina final.
· Modo/Método pelo qual se dá a Análise e o Processamento:
Ele traduz o rascunho melhorado em instruções que o computador pode entender e executar.
Durante a análise e o processamento, o Gerador de Código traduz a (RI - representação
intermediária) do programa em código de máquina, utilizando técnicas de alocação de registradores,
geração de instruções e otimização de código. Ele leva em consideração as características específicas
da arquitetura de destino para produzir um código eficiente e funcional.
· Saída Produzida:
Ele produz o programa final, que o computador pode ler e executar.
A saída do Gerador de Código é o código de máquina ou código objeto, que está pronto para ser
executado na plataforma de destino. Este código representa a implementação final do programa,
totalmente traduzida e otimizada para a arquitetura específica em que será executada.

Outros materiais