if688

IF688 - Teoria e Implementação de Linguagens Computacionais

Ciência da Computação & Engenharia da Computação, Centro de Informática, (UFPE)

Instrutor

Horário e Local de Aulas

Ementa

Este curso explora os princípios, algoritmos, e estruturas de dados envolvidos na teoria e implementação de compiladores. O conteúdo planejado inclui uma introdução aos princípios e técnicas de construção de compiladores, conceitos básicos da teoria de linguagens, análise léxica, análise sintática, análise semântica, representação de código intermediário, ambientes de execução, análise estática, otimização de código, geração de código.

Bibliografia Sugerida

Bibliografia Complementar

Objetivos

O objetivo da disciplina é fornecer fundamentos para desenvolvimento da compreensão da teoria e prática de compiladores, e de questões envolvidas na implementação de linguagens.

Metodologia

Na disciplina, utilizaremos uma mistura de aulas tradicionais com exercícios e tarefas de programação em sala de aula e para casa.

Recursos

Avaliação

Plano de Ensino

Este plano de ensino está sujeito a alterações durante o semestre, visite frequentemente a página para obter a versão mais atualizada, ou acompanhe os updates no repositório.

Data Dia da Semana Conteúdo Programático Atividades Associadas
06.05.25 terça Introdução, admin Pesquisa inicial da disciplina (Google Classroom)
08.05.25 quinta Análise Léxica  
13.05.25 terça Implementando Analisadores Léxicos Exercício 1 - Análise Léxica
15.05.25 quinta Análise Sintática - Introdução a Top-Down Parsing  
20.05.25 terça Análise Sintática - LL(1) parsing  
22.05.25 quinta Análise Sintática - Exercício 2 - LL(1) parsing
27.05.25 terça Análise Sintática - Bottom-up parsing  
29.05.25 quinta Análise Sintática - Bottom-up parsing  
03.06.25 terça APS - Análise Sintática (ANTLR) Exercício 3 - ANTLR
05.06.25 quinta Análise Sintática - Recursive-descent parsing  
10.06.25 terça Análise Semântica - Introdução e ASTs Exercício 4 - Recursive-descent parsing
12.06.25 quinta Análise Semântica - Visitors  
17.06.25 terça Análise Semântica - Sistemas de Tipos  
19.06.25 quinta Corpus Christi  
24.06.25 terça São João  
26.06.25 quinta Análise Semântica - Escopo  
01.07.25 terça Representações Intermediárias de Código Exercício 5 - Type-Checking
03.07.25 quinta Representações Intermediárias de Código  
08.07.25 terça Representações Intermediárias de Código Exercício 6
10.07.25 quinta Análise e Otimização de Código  
15.07.25 terça Análise e Otimização de Código Exercício 7
17.07.25 quinta Análise e Otimização de Código  
22.07.25 terça APS Exercício 8
24.07.25 quinta Ambientes de Execução  
29.07.25 terça Ambientes de Execução Exercício 9
31.07.25 quinta Geração de Código  
05.08.25 terça Geração de Código Exercício 10
07.08.25 quinta Geração de Código  
12.08.25 terça Exercício Escolar  
14.08.25 quinta Segunda Chamada  
19.08.25 terça Prova final