Material de Aula

 

 

Pegue todo o material necessário à disciplina de uma só vez:  lc.zip. O conteúdo deste arquivo zip é o seguinte:

 

1.      descrição da linguagem Krakatoa (pdf). Veja alguns sites sobre Krakatoa;

2.      o analisador léxico e sintático de Krakatoa, que será descomprimido em um diretório chamado “krakatoa”, um projeto do Eclipse. Você não começará os trabalhos do zero e sim a partir deste compilador, que faz toda a análise sintática de Krakatoa e  constrói a parte da ASA correspondente às expressões. Não retire o compilador deste diretório pois arquivos .bat chamarão o seu compilador e estes assumem que o compilador está exatamente neste diretório. Não mexa em absolutamente nada da estrutura dos arquivos;

3.       testes para o compilador, que serão descomprimidos em um diretório ktests;

4.       guia de Correção dos Trabalhos (html);

5.       um artigo descrevendo a geração de Código em C para Krakatoa (pdf) e um texto sobre ponteiros para funções em C;

6.       exemplos de tradução Krakatoa->C, que serão descomprimidos para um diretório exemKra2C;

7.       artigo sobre o compilador da linguagem Green;

8.       a apostila de Construção de Compiladores (comp.pdf) que ensina como construir um compilador passo-a-passo utilizando 10 exemplos;

9.       arquivos bat para testar o seu compilador, que serão descomprimidos para um diretório chamado “t”. O batch do segundo trabalho é test-t1.bat e o do terceiro trabalho é test-t2.bat;

10.   um programa chamado “at” no diretório autoT que é chamado pelo arquivo test-t1.bat. Este programa produz um relatório para o seu compilador em um arquivo chamado “r.txt”.

 

No diretório ktests, há testes para o analisador léxico, sintático e semântico. Um teste chamado er-sin04.s contém um erro e testa o analisador sintático. É o quarto teste deste tipo. Da mesma forma, um teste ok-lex03.s testa o analisador léxico, não contém um erro (está ok) e é o terceiro teste deste tipo. Alguns números de testes estão ausentes. Por exemplo, não temos ER-SEM01.KRA.

 

 

Opcionalmente, pegue estes textos:

     

E leia estes sites:

      How to Write Unmaintainable Code   (se tiver tempo, veja este site. Ele te ajudará a fazer programas melhores).

      Roedy Green’s Java & Internet Glossary