PLANO DE CURSO  
ANO: 2025
 
CURSO: CIÊNCIA DA COMPUTAÇÃO - Noturno SÉRIE: 04
DISCIPLINA: COMPILADORES    
 

Aulas Teóricas: 78

A) EMENTA
Estudo de teorias e técnicas para construção de compiladores. Análise Léxica e Sintática. Tabelas de Símbolos. Esquemas de Tradução. Ambientes de Tempo de Execução. Geração de Código. Otimização de Código. Montadores. Ligadores.
B) OBJETIVOS / COMPETÊNCIAS
Tem por objetivo conceituar compiladores, montadores e interpretadores. Estudar técnicas para implementação das fases de um compilador, objetivando a implementação do mesmo e as tendências para projeto de linguagens de programação.


C) BASES TECNOLÓGICAS (CONTEÚDO PROGRAMÁTICO)
1. Introdução a compiladores
2. Estrutura e fases de um compilador
3. Análise léxica
3.1. Tokens
3.2. Implementação
3.3. Tabela de Símbolos
4. Análise sintática
4.1. Árvores Sintáticas e árvores abstratas
4.2. Gramáticas Ambíguas
4.3. Análise Sintática Descendente Recursiva
4.4. Análise Preditiva LL(1)
4.5. Conjuntos de Primeiro e Sequência
4.6. Análise Sintática Ascendente LR(0)
4.7. Autômatos Finitos Determinísticos dos Itens LR(0)
4.8. Análise Sintática SLR(1)
4.9. Recuperação de Erros
5. Tradução Dirigida por Sintaxe
5.1. Esquemas de Tradução
5.2. Árvore de Sintaxe
5.3. Desenvolvendo um Tradutor
6. Geração de código
6.1. Linguagens Intermediárias e Geração de Código
7. Tópicos especiais em compiladores
7.1. Otimização de Código
7.2. Dificuldades com Otimização


D) ATIVIDADES DISCENTES
1. Elaboração e Resolução de exercícios
2. Pesquisas individuais e em grupo, abordando aspectos teóricos de conteúdo programático
3. Trabalhos teóricos e práticos de forma individual ou em grupos
4. Elaboração de programas


E) AVALIAÇÃO
1. Provas escritas e/ou práticas
2. Trabalhos individuais e/ou em grupos


F) BIBLIOGRAFIA BÁSICA
AHO, A. V; SETHI, R. & ULLMAN, J. D. Compiladores: Princípios, Técnicas e Ferramentas. Rio de Janeiro: Ed. Pearson Addison-Wesley, 2008.
BARBOSA, Cynthia da S.; LENZ, Maikon L.; LACERDA, Paulo S. Pádua de; e outros. Compiladores . Porto Alegre: SAGAH, 2021. E-book. pág.69. ISBN 9786556902906. Disponível em: https://integrada.minhabiblioteca.com.br/reader/books/9786556902906/. Acesso em: 19 fev. 2025.
LOUDEN, Kenneth C. Compiladores: princípios e práticas . Porto Alegre: +A Educação - Cengage Learning Brasil, 2004. E-book. p.Capa. ISBN 9788522128532. Disponível em: https://integrada.minhabiblioteca.com.br/reader/books/9788522128532/. Acesso em: 19 fev. 2025..

G) BIBLIOGRAFIA COMPLEMENTAR
BAL, HENRI E. / GRUNE, DICK / LANGENDOEN, KOEN. Projeto moderno de compiladores. São Paulo: Campus, 2001.
DELAMARO, M. E. Como construir um compilador utilizando ferramentas JAVA. Ed. Novatec Editora, 2004.
SANTOS, Pedro R.; LANGLOIS, Thibault. Compiladores - Da Teoria à Prática . Rio de Janeiro: LTC, 2018. E-book. pi ISBN 9788521635161. Disponível em: https://integrada.minhabiblioteca.com.br/reader/books/9788521635161/. Acesso em: 19 fev. 2025.