Lista de Exercicio - Compiladores
Por: Yuri Moreira • 23/11/2018 • Trabalho acadêmico • 573 Palavras (3 Páginas) • 494 Visualizações
Lista de Exercícios – Introdução
Compiladores
1) O interpretador traduz todo o código linha por linha, utilizando o código fonte como código objeto, tendo uma execução mais lenta do programa. Ao contrário do interpretador o compilador utiliza o código fonte para criar um código objeto, que por sua vez pode ser executado.
2)
a) Compilador:
- Código com facilidade maior de acesso;
- Existe a possibilidade de otimização do código por parte do compilador;
- Verifica a existência de erros, caso exista o código não é compilado.
b) Interpretador:
- A realização de atualizações e correções é menos complexa;
- O código é executado à medida que as linhas são interpretadas;
- A utilização de memória é bem menor.
3) Ao compilar o código em linguagem de máquina é necessário que ele seja específico daquele processador. Ao compilar em linguagem simbólica o programa pode ser portável e poderá ser utilizado em diversos processadores diferentes.
4) A fase de análise de um compilador é onde um código intermediário é gerado para que em um ponto futuro seja sintetizado dando origem a um código objeto. Para gerar o código intermediário o código fonte passa pela análise léxica, análise sintática e análise semântica. Durante o processo de análise também são coletadas informações sobre o programa fonte, em uma tabela de símbolos, que será utilizada junto com o código intermédio na síntese. Como dito acima a parte de síntese, utiliza o código intermediário juntamente com a tabela de símbolos para dar origem ao código objeto. A parte de síntese é conhecida como back-end.
5) Java.
6) Lexemas são um conjunto de caracteres, que serão agrupados em uma sequência significativa durante a análise léxica.
Token é uma saída criada pelo analisador léxico para identificar o lexema na tabela de símbolos.
7) Fase de Análise. Onde o código fonte passará por 3 análises: análise léxica, sintática e semântica. Durante essas análises se for detectado má formação sintática ou uma semântica incorreta o compilador retornará mensagens para que se faça a correção. Na análise léxica uma tabela de símbolos é construída, e será passada adiante junto ao código intermediário para que seja analisado durante a fase semântica para a geração de código.
8) A palavra-chave register tem como função registrar diretamente o uso dos registradores do processador. Sendo assim, ela da o poder ao programador de decidir o que armazenar nos registradores. Um dos motivos para esse comando ter se tornado obsoleto foi a melhoria nas técnicas de alocação eliminando assim essa preocupação.
9) A linguagem C oferece mecanismos que permitem manter definições unificadas que são compartilhadas entre diversos arquivos. A base destes mecanismos é o pré-processamento de código, a primeira fase na compilação do programa. Essencialmente, o pré-processador é um processador de macros para uma linguagem de alto nível. O programador pode se comunicar com o pré-processador inserindo diretivas em um código fonte de forma a facilitar a manutenção do programa. Nesta fase, por exemplo, as variáveis #DEFINE são substituídos por seus valores definidos.
...