Conteúdo da Disciplina
Aqui você encontra o material de apoio para cada aula, organizado por módulos temáticos.
Módulo 1: Introdução e Análise Léxica
- [Aula 01: Apresentação da Disciplina e Plano de Ensino]
- [Aula 02: Introdução aos Compiladores]
- [Aula 03: Fases de um Compilador]
- [Aula 04: Análise Léxica: Conceitos e Autômatos]
- [Aula 05: Expressões Regulares e Scanners]
- [Aula 06: Ferramentas: Flex]
Módulo 2: Análise Sintática
- [Aula 07: Análise Sintática: Fundamentos]
- [Aula 08: Gramáticas Livres de Contexto]
- [Aula 09: Análise Sintática Descendente (LL)]
- [Aula 10: Exemplo de Implementação de Parser LL]
- [Aula 11: Análise Sintática Ascendente (LR)]
- [Aula 12: Tabelas de Parsing LR/LALR]
- [Aula 13: Ferramentas: Bison/Yacc]
Módulo 3: Análise Semântica e Projeto de Linguagens
- [Aula 14: Projeto de Linguagens e AST]
- [Aula 15: Análise Semântica: Tabelas de Símbolos]
- [Aula 16: Verificação de Tipos e Escopo]
Módulo 4: Código Intermediário e Otimização
- [Aula 18: Geração de Código Intermediário (IR)]
- [Aula 19: Representação SSA]
- [Aula 20: Introdução ao LLVM IR]
- [Aula 21: Gerenciamento de Memória e Ambientes de Runtime]
- [Aula 22: Alocação de Registros]
- [Aula 23: Otimização de Código: Peephole e Local]
- [Aula 24: Análise de Fluxo de Dados]
- [Aula 25: Otimizações Globais]
Módulo 5: Back-end e Tópicos Avançados
- [Aula 26: Geração de Código de Máquina]
- [Aula 27: Seleção de Instruções]
- [Aula 28: Escalonamento de Instruções]
- [Aula 29: Tópicos Avançados: JIT e Máquinas Virtuais]
- [Aula 30: Compilação para WebAssembly (WASM)]
- [Aula 35: Seminários de Linguagens Modernas]
Apresentação de Trabalhos
- [Aula 33: Apresentação de Trabalhos - Parte 1]
- [Aula 34: Apresentação de Trabalhos - Parte 2]