Skip to content

Site da disciplina IF688 - Teoria e Implementação de Linguagens Computacionais, Ciência da Computação, CIn-UFPE

Notifications You must be signed in to change notification settings

if688/if688.github.io

Repository files navigation

IF688 - Teoria e Implementação de Linguagens Computacionais

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

Instrutor

  • Professor: Leopoldo Motta Teixeira (@leopoldomt --- lmt@cin)

  • Monitores:

    • A confirmar

Horário e Local de Aulas

  • Terça (10h-12h), Sala E233
  • Quinta (08h-10h), Sala E233

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

  • Nota = (Atividades x 5 + Provas x 5) / 10
    • Atividades = Atividades de programação
    • Provas = Exercícios escolares
  • Final
  • Observações:
    • Entrega fora do prazo: redutor de 1 ponto por dia de atraso.
    • Atraso máximo: 1 (uma) semana. Após esse prazo, será dada nota zero para a respectiva atividade de avaliação.
    • Trabalhos “CTRL-C + CTRL-V” terão nota zero (vale tanto para cópia de colegas, como para trabalhos copiados da internet).

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.

Aqui está a tabela completa das aulas programadas até o dia 03.08.24, com os dias da semana traduzidos para português:

Data do Encontro Dia da Semana Conteúdo Programático Atividades Associadas
16.04.24 Terça-feira Introdução
18.04.24 Quinta-feira Análise Léxica
23.04.24 Terça-feira Implementando Analisadores Léxicos
25.04.24 Quinta-feira Gerando Analisadores Léxicos e Introdução a Análise Sintática
30.04.24 Terça-feira Análise Sintática - Top-Down Parsing
02.05.24 Quinta-feira Análise Sintática - LL(1) parsing
07.05.24 Terça-feira Análise Sintática - Introdução a Bottom-Up Parsing
09.05.24 Quinta-feira Análise Sintática - LR(1) parsing
14.05.24 Terça-feira Análise Semântica - Introdução
16.05.24 Quinta-feira Análise Semântica - Tipos
21.05.24 Terça-feira Recursive-Descent Parsing e Abstract Syntax Trees
23.05.24 Quinta-feira Revisão
28.05.24 Terça-feira Aula Cancelada - CHUVA
30.05.24 Quinta-feira FERIADO - Corpus Christi
04.06.24 Terça-feira 1 Exercício Escolar
06.06.24 Quinta-feira AST Visitors
11.06.24 Terça-feira Representação Intermediária de Código - Código de 3 Endereços
13.06.24 Quinta-feira Aula Cancelada - Cirurgia Leopoldo
18.06.24 Terça-feira Representação Intermediária de Código - Control-flow Graphs
20.06.24 Quinta-feira Análise e Otimização de Código - Otimizações Locais
25.06.24 Terça-feira Análise e Otimização de Código - Otimizações Globais forward-flow
27.06.24 Quinta-feira Análise e Otimização de Código - Otimizações Globais backward-flow
02.07.24 Terça-feira Ambientes de Execução - Pilha
04.07.24 Quinta-feira Ambientes de Execução - Heap
09.07.24 Terça-feira Geração de Código
11.07.24 Quinta-feira Geração de Código
16.07.24 Terça-feira FERIADO - Dia de Nossa Senhora do Carmo
18.07.24 Quinta-feira Atividade ANTLR
23.07.24 Terça-feira APS
25.07.24 Quinta-feira APS
30.07.24 Terça-feira Revisão/Tira-Dúvidas
01.08.24 Quinta-feira 2 Exercício Escolar
06.08.24 Terça-feira Segunda Chamada
08.08.24 Terça-feira APS
13.08.24 Quinta-feira Prova Final