Apostilas, Artigos e Sites na Internet

 

Você precisará tirar xerox ou imprimir todos os textos dados abaixo, com exceção do Guia de Programação e Guia de Correção dos Trabalhos (opcionais). Note que as páginas do livro “Modern Compiler Design estão disponíveis no xerox. Todos os textos abaixo, com exceção dos guias, estão na pasta Construção de Compiladores (ou Compiladores) do xerox Aquarela (perto da Biblioteca Comunitária).

  • Apostila “Learning Compiler Construction by Examples” (estudo dos exemplos dados em aula). Os apêndices são o código dos compiladores 6, 7, 8, 9 e 10. Muitos acharão desnecessário imprimir estes apêndices, que tomam  aproximadamente 120 páginas da apostila. O Capítulo 10 provavelmente não será dado neste curso, mas vocês certamente precisarão dele em Laboratório de Compiladores;
  •  Apostila antiga, que contém o material dos dois últimos meses de curso;
  •  Seria muito interessante que você lesse sobre geração e otimização de código. Veja estes capítulos extraídos de uma antiga apostila de compiladores. Esta parte não será exigida neste curso;
  • Listas de exercíciossegunda. A primeira e a terceira lista, presentes nos anos anteriores, foram incorporadas à apostila “Learning Compiler Construction by Examples”;
  • Mini-manual de conversão de expressões regulares para autômatos finitos;
  • Mini-manual sobre o método LR(0) de análise ascendente. Deve ser utilizado com páginas 150-165 do livro
    Dick Grune, Henri E. Bal, Ceriel J. H. Jacobs, and Koen G. Langendoen. Modern Compiler Design. John Wiley & Sons, 2000;
  • Guia de Programação;
  • Guia de Correção dos Trabalhos.

 

Os itens a seguir são referências ao JLex/CUP e Java. Você não necessariamente precisa imprimir/baixar este material.

 

Veja este site:     http://www.gimpel.com/html/bugs.htm

Ele contém erros em programas em  C/C++. Super interessante.

 

Se quiser saber mais sobre experiências obtidas ao fazer o compilador da linguagem Green, leia o artigo

 

Guimarães, José de Oliveira. Experiences in Building a Compiler for an Object-Oriented Language. SIGPLAN Notices, Vol 38, No. 4, p. 25-33, April 2003.