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]
Back to top