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  
20.05.25 terça Análise Sintática Exercício 2 - Recursive-descent parsing
22.05.25 quinta Análise Sintática  
27.05.25 terça Análise Sintática Exercício 3 - LL(1) parsing
29.05.25 quinta Análise Semântica  
03.06.25 terça APS - Análise Sintática (ANTLR) Exercício 4 - ANTLR
05.06.25 quinta Análise Semântica  
10.06.25 terça Análise Semântica  
12.06.25 quinta Análise Semântica  
17.06.25 terça Análise Semântica Exercício 5 - Type-Checking
19.06.25 quinta Corpus Christi  
24.06.25 terça São João  
26.06.25 quinta Representações Intermediárias de Código  
01.07.25 terça Representações Intermediárias de Código  
03.07.25 quinta Representações Intermediárias de Código Exercício 6 - Interpretador
08.07.25 terça Análise e Otimização de Código  
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  
17.07.25 quinta Análise e Otimização de Código Exercício 7
22.07.25 terça APS  
24.07.25 quinta Ambientes de Execução  
29.07.25 terça Ambientes de Execução  
31.07.25 quinta Geração de Código Exercício 8
05.08.25 terça Geração de Código  
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