Você está na página 1de 2

Compiladores

- PEC
Prof. Douglas Santiago Kridi

Lista 01 Avaliativa: Linguagens, Visão Geral e Analisador Léxico
Entrega: em sala de aula.

1. O que é um compilador e para que serve?

2. Qual a diferença entre um interpretador, compilador e montador?

3. Quais são as fases de um compilador e descreva brevemente suas
funcionalidades.

4. Defina token e lexema. Exemplifique.

5. Quais são as classes de tokens que um analisador léxico reconhece?
Exemplifique.

6. Para que serve a tabela de palavras reservadas e a tabela de símbolos no
processo de analise léxica?

7. Qual a função das rotinas de tratamento de erros em um compilador? Que tipos
de erro podem ser detectados durante a análise léxica? Exemplifique.

8. Considere o seguinte trecho de código em C:
for (int i = 1; i < j; i++) printf("%d", i);
Qual é a saída gerada pelo analisador léxico?


Compiladores - PEC
Prof. Douglas Santiago Kridi

Lista 02 Avaliativa: Visão Geral, Analisadores Sintáticos e Semânticos
Entrega: em sala de aula.

1. Para que serve a tabela de símbolos na análise sintática e semântica?

2. Que tipos de erros podem ser detectados durante a análise sintática e
semântica? Exemplifique.

3. Explique as formas de recuperação de erros sintáticos. Exemplifique.

4. O módulo de análise léxica de um compilador tem por objetivo: (Marque V ou F
e justifique as respostas falsas)
A. ( ) verificar se o programa-fonte obedece às regras da gramática da linguagem;
B. ( ) agrupar coerentemente os caracteres do programa-fonte em tokens;
C. ( ) gerar o código objeto correspondente à tradução do programa-fonte para
alguma forma intermediária de representação;
D. ( ) construir as árvores sintáticas dos diversos comandos do programa-fonte;
E. ( ) eliminar comandos supérfluos do programa-fonte.
F. ( ) O processo de compilação é composto por três passos obrigatórios: análise
léxica, análise sintática e geração do código final. E, opcionalmente, podem ser
executados mais dois passos: análise semântica e otimização de código.
G. ( ) A etapa de análise léxica consiste em analisar o código fonte para produzir
símbolos (tokens), que são processados em seguida na etapa de análise sintática,
também conhecida como parsing.
H. ( )As fases de análise sintática e semântica tratam da grande maioria dos erros
detectáveis pelo compilador.
I. ( ) A fase de análise constrói o programa alvo desejado, com base nas respectivas
representações intermediárias. É a fase que requer as técnicas mais
especializadas.
J. ( ) Durante a análise sintática do programa fonte, o compilador procura
encontrar as construções que possuam a estrutura sintática correta, sem se
preocupar com o significado da operação envolvida.
K. ( ) A análise semântica, também chamada de análise gramatical, envolve o
agrupamento dos tokens do programa fonte, no qual cada token representa uma
sequência de caracteres logicamente coesa, em frases gramaticais que são
usadas pelo compilador, a fim de sintetizar a saída.
L. ( ) A fase final do compilador é a geração de código intermediário, na qual as
alocações de memória são realizadas para cada uma das variáveis utilizadas pelo
programa.
M. ( ) Compilação e montagem são processos semelhantes; contudo, o processo de
montagem é bem mais complexo.
N. ( ) No processo de análise semântica da compilação, é verificada a consistência
dos tipos de variáveis envolvidas em operações aritméticas.

Você também pode gostar