Técnicas, métodos e algoritmos utilizados no projeto de compiladores modernos: análise léxica, sintática e semântica, verificação de tipos, registros de ativação, representação intermediária, geração de código, análise de fluxo de dados, técnicas de otimização, gerenciamento de memória e compilação para linguagens orientadas a objetos.
Objetivos da disciplina
Desenvolver conceitos de transformação de programas de código-fonte até representações dos computadores, passando por representações intermediárias e otimizações.
Conteúdo programático
Introdução aos Compiladores
Análise Léxica
Análise Sintática e Gramáticas Formais
Análise Sintática Ascendente e Descendente
Análise Semântica e Tabela de Símbolos
Geração de Código Intermediário
Otimização de Código e Gerenciamento de Memória
Revisão
Bibliografia
Bibliografia Base
AHO, A. V. et al. Compiladores: princípios, técnicas e ferramentas. 2. ed. São Paulo: Pearson Universidades, 2007.
COOPER, K. D., TORCZON, L. Construindo compiladores. Rio de Janeiro: Campus, 2013.
RICARTE, I. Introdução à compilação. São Paulo: Elsevier, 2008.
Bibliografia Complementar
APPEL, A. W. Modern compiler implementation in Java. 2. ed. Cambridge: Cambridge University Press, 2002.
4. MUCHNICK, S. Advanced compiler design and implementation. Massachusetts: Morgan Kaufmann, 1997.
5. WICHMANN, R. Compile-How to Manual. [S.I.]: Samhain Design Labs, 2006.
Pré-requisitos
Não possui.
Critérios de avaliação
A avaliação da disciplina é formativa* e somativa**. Os alunos devem entregar as resoluções de atividades e/ou exercícios no Ambiente Virtual de Aprendizagem semanalmente e realizar, ao final do período letivo, uma prova presencial aplicada nos polos da Univesp.
*A avaliação formativa ocorre quando há o acompanhamento dos alunos, passo a passo, nas atividades e trabalhos desenvolvidos, de modo a verificar suas facilidades e dificuldades no processo de aprendizagem e, se necessário, adequar alguns aspectos do curso de acordo com as necessidades identificadas.
**A avaliação somativa é geralmente aplicada no final de um curso ou período letivo. Esse tipo de avaliação busca quantificar o que o aluno aprendeu em relação aos objetivos de aprendizagem do curso. Ou seja, a avaliação somativa quer comprovar se a meta educacional proposta e definida foi alcançada pelo aluno.