Material de Aula
 
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” só 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 ou Construção de Compiladores 2;
 
 -  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 (mais as figuras) extraídos de uma antiga apostila de compiladores. Esta parte
     não será exigida neste curso,
     provavelmente;
 
 - Listas
     de exercícios:  segunda. 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.
 
 
Compiladores
 
Estão disponíveis 21 compiladores exemplo. Para
simplificar a programação
e fazê-la didática, nem
todas as possibilidades de erro foram testadas.
 
O compilador Comp11 imprime, junto
com a saída
em C, quais
os métodos da análise
sintática são
chamados e quais as operações
são feitas
na ASA. Veja a saída do compilador 11 para um programa exemplo. 
 
Os
itens a seguir
são referências
ao JLex/CUP e Java. Você não
necessariamente precisa imprimir/baixar este material. Em particular, os alunos de Construção de Compiladores
1 verão o CUP/JLex (ou algo equivalente) apenas no segundo semestre.
 
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. 
 
            Há alguns sites na Internet
que descrevem/explicam formatos de arquivos
.obj. Aí estão eles:
      http://www.sankhya.com/articles/0002.html  
                
descreve o formato ELF
(Executable Linking Format), usado no Linux e Unix
      http://www.osdever.net/documents/PECOFF.pdf?the_id=49
                 descreve o formato
usado pela Microsoft
      http://www.sankhya.com/articles/0002.html
                 introdução a arquivos
objeto