Skip to content

Latest commit

 

History

History
68 lines (46 loc) · 2.72 KB

README.md

File metadata and controls

68 lines (46 loc) · 2.72 KB

Ementa

Análise e Síntese. Análise léxica, sintática e semântica. Geração de código intermediário. Otimização de código intermediário. Geração e otimização de código objeto.

Programa

  1. Introdução à Compilação de Programas:

    a) Conceitos básicos e funcionalidades; b) Componentes de um compilador; c) Fases de Análise e Síntese.

  2. Análise Léxica:

    a) Conceitos básicos (tokens, lexemas, etc.); b) Especificação e reconhecimento de linguagens regulares; c) Implementação e geração de analisadores léxicos.

  3. Análise Sintática:

    a) Conceitos básicos (derivação, árvores sintáticas, ambiguidade, etc.); b) Especificação e reconhecimento de linguagens livres de contexto; c) Análise LL e LR; d) Implementação e geração de analisadores sintáticos; e) Árvores sintáticas abstratas.

  4. Análise semântica: a) Conceitos básicos; b) Sistemas de tipos; c) Tabela de símbolos e resolução de nomes; d) Implementação de verificação de tipos.

  5. Representação intermediária

  6. Ambientes de execução, organização de memória

  7. Geração de código

  8. Otimização de código

Material de Apoio

Bibliografia

Básica

  1. THAIN, Douglas. Introduction to Compilers and Language Design. 2a Ed, 2020, http://compilerbook.org.
  2. AHO, A. et al. Compiladores: princípios, técnicas e ferramentas. 2a Ed., Addison-Wesley, 2008.

Complementar

  1. LEVINE, John. Lex & Bison. O'Reilley. 2009.
  2. APPEL, A. W. Modern Compiler Implementation in Java. Cambridge University Press, Cambridge, 1997.
  3. LOUDEN, K. C. Compiladores: Princípios e Práticas. Editora Thompson Pioneira, 1a Ed., 2004.
  4. RICARTE, I. Introdução à Compilação, Editora Campus, 2008.
  5. BROWN, D.; LEVINE, J. ; MASSON, T. Lex & Yacc. Unix Programming Tool. O'Reilly, 2nd edition, 1995.
  6. MITCHELL, J. Foundation for Programming Languages. Foundations of Computing, MIT Press, 1996.
  7. WINSKEL, G. The Formal Semantics of Programming Languages: An Introduction. Foundations of Computing series. MIT Press, Cambridge, Massachusetts, February 1993.
  8. SCOTT, M.L. Programming Language Pragmatics, 3rd ed.
  9. ABELSON, H.; SUSSMAN, G.; with SUSSMAN, J. A book for your shelf: Structure and Interpretation of Computer Programs, 2nd ed.

See LICENSE for more information. This is an organization for academic activities. See Authors.