Bem-vindo(a) à Disciplina de Compiladores!
Olá a todos! Sejam muito bem-vindos à disciplina de Compiladores. Preparem-se para uma jornada fascinante onde vamos desvendar a "mágica" por trás de como nossos códigos são transformados em programas que o computador pode executar.
Neste semestre, não apenas estudaremos a teoria que fundamenta a construção de compiladores e interpretadores, mas também colocaremos a mão na massa. Nosso grande objetivo é que, ao final da disciplina, cada um de vocês tenha desenvolvido seu próprio interpretador funcional para uma linguagem de programação completa, aplicando diretamente os conceitos vistos em aula.
Ementa
O curso abordará os seguintes tópicos fundamentais da teoria e prática de construção de tradutores:
- Compiladores e interpretadores. Tipos de Compiladores.
- Análise Léxica: Expressões regulares, autômatos finitos e o reconhecimento de tokens.
- Análise Sintática: Gramáticas livres de contexto, análise descendente e ascendente, e tratamento de erros sintáticos.
- Tabela de Símbolos e Análise Semântica: Gerenciamento de escopo, verificação de tipos e tradução dirigida pela sintaxe.
- Geração de Código: Formas de código intermediário e geração de código final.
- Ambiente em Tempo de Execução: Gerência de memória (pilha e heap).
- Noções de Otimização de Código: Principais técnicas para melhoria de desempenho do código gerado.
Anotações de aulas
Apresentação da disciplina
A Linguagem de Programação Jack
Análise Léxica
Análise Sintática