Universidade Federal do Ceará
Centro de Ciências
|
Identificação |
|
Código: CK017 Período: 99/2 Créditos: 06 Carga Horária: 90 Nome: Construção de Compiladores I Objetivo: Introduzir os principais conceitos de construção e projeto de compiladores. Professor: Riverson Rios |
|
Ementa |
5) Geração de Código 6) Otimização de Código |
|
Conteúdo Programático |
|
|
Programa |
||
|
# |
Data |
Conteúdo |
|
Ago |
||
|
1 |
23 |
Introdução - Conceitos básicos |
|
2 |
25 |
O Processo de compilação Fases |
|
3 |
27 |
Análise léxica, sintática e semântica e geração de código |
|
4 |
30 |
Análise léxica |
|
Set |
||
|
4 |
1 |
Tokens e lexemas Tabela de símbolos |
|
5 |
3 |
Expressões regulares |
|
6 |
6 |
Autômatos finitos DFAs |
|
7 |
8 |
Autômatos finitos DFAs |
|
8 |
10 |
Autômatos finitos NFAs |
|
9 |
13 |
Autômatos finitos NFAs |
|
10 |
15 |
Transformando DFAs em NFAs e vice-versa |
|
11 |
17 |
Equivalência entre autômatos e expressões regulares |
|
12 |
20 |
Exemplo de um analisador simples em Pascal |
|
13 |
22 |
Geração automática de analisadores léxicos |
|
14 |
24 |
Introdução ao Flex |
|
15 |
27 |
Exemplos de uso do Flex |
|
16 |
29 |
Flex como uma função do analisador sintático |
|
Out |
||
|
17 |
1 |
Análise sintática Gramáticas A classificação de Chomsky Produções |
|
18 |
4 |
Gramática Regular Equivalência com expressões regulares |
|
19 |
6 |
Gramática Livre de Contexto Ambigüidade Árvores de derivação |
|
20 |
8 |
Gramática Recursiva à Esquerda Eliminação da recursividade à esquerda |
|
21 |
11 |
Eliminação de produções-Î Fatoração |
|
22 |
13 |
Gramática livre de contexto vs. gramática regular BNF |
|
23 |
15 |
1a. Prova |
|
24 |
18 |
Correção da 1a. Prova |
|
25 |
20 |
Analisadores sintáticos ascendentes e descendentes |
|
26 |
22 |
Analisador recursivo descendente para expressões simples |
|
27 |
25 |
Analisador recursivo descendente para expressões simples - Geração de código |
|
28 |
27 |
Gramáticas LL(1) |
|
29 |
29 |
Analisador descendente preditivo dirigido por tabela LL(1) |
|
Nov |
||
|
24 |
1 |
Cálculo de First e Follow |
|
25 |
3 |
Analisador descendente preditivo mensagens de erro |
|
26 |
5 |
Analisador descendente preditivo - geração de código |
|
27 |
8 |
Analisador descendente preditivo - geração de código |
|
28 |
10 |
Analisadores ascendentes handles |
|
29 |
12 |
Análise ascendente com operações shift-reduce |
|
15 |
Feriado - Proclamação da República |
|
|
30 |
17 |
Análise ascendente - Resolução de conflitos |
|
31 |
19 |
Análise ascendente Mensagens de erro |
|
32 |
22 |
Geradores de analisadores bison |
|
33 |
24 |
Exemplos de uso de bison |
|
34 |
26 |
Gramáticas LR Analisadores para gramáticas LR |
|
35 |
29 |
Gramáticas SLR Analisadores para gramáticas SLR |
|
Dez |
||
|
36 |
1 |
Gramáticas LALR Analisadores para gramáticas LALR |
|
37 |
3 |
Análise semântica Sistemas de tipos |
|
38 |
6 |
Compatibilidade e equivalência de tipos |
|
8 |
Feriado - Dia de Nossa Senhora da Conceição |
|
|
39 |
10 |
Conversão de tipos |
|
40 |
13 |
Overloading e polimorfismo |
|
41 |
15 |
Geração de código - Tradução dirigida pela sintaxe Representação intermediária |
|
42 |
17 |
Geração de código para comandos estruturados - Alocação de memória |
|
43 |
20 |
Otimização de código Otimização local vs. global |
|
44 |
22 |
Otimização de expressões aritméticas |
|
23-31 |
Recesso |
|
|
Jan |
||
|
45 |
3 |
Otimização de loops |
|
46 |
5 |
2a. prova |
|
47 |
7 |
Correção da 2a. prova Revisão |