Material de Aula

 

Preferencialmente, pegue todo o material necessário à disciplina de uma vez:  TUDO (exceto itens 5 e 6 abaixo). Ao descomprimir este arquivo, que se chama lc.zip, serão criados os seguintes diretórios: krakatoa, ktests e t. O diretório krakatoa possui o compilador fornecido pelo professor. O diretório ktests contém os 177 testes para o compilador. O diretório t possui dois arquivos bat para testar o compilador. Para testar o seu compilador, execute ONLY-ER.BAT para chamar o seu compilador com  todos os arquivos contendo erros e ONLY-OK.BAT para chamar o compilador com todos os arquivos que não contém erros.

            Se preferir, pegue isoladamente os arquivos abaixo.

 

Obrigatoriamente baixe estes items:

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

  2. O analisador léxico e sintático de Krakatoa;

  3. Testes para o compilador

  4. Guia de Correção dos Trabalhos

  5. Geração de Código em C para Krakatoa

  6. Exemplos de tradução Krakatoa->C

 

Opcionalmente, pegue estes textos:

      Object-Oriented Programming (Guia de Orientação a Objetos)

      Extreme Programming (PDF obtido pelo agrupamento de páginas do site

                                          Extreme Programming)

      Artigo sobre o compilador da linguagem Green

E leia estes sites:

      How to Write Unmaintainable Code  

      Roedy Green’s Java & Internet Glossary

                          

 

 

Explicações:

Para fazer os trabalhos, utilize o Guia de Correção dos Trabalhos e o site How to Write Unmaintainable Code.

            Disponibilizamos um analisador sintático de Krakatoa que faz toda a análise sintática e  constrói a parte da ASA correspondente às expressões.

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.

 

            Dúvidas sobre Orientação a Objetos que inevitavelmente ocorrerão poderão ser sanadas lendo-se o “manualObject Oriented Programming. Este manual não foi corrigido e certamente possui inúmeros erros. Mas mesmo assim deve ser bastante útil.