Material de Aula

 

Preferencialmente, pegue todo o material necessário à disciplina de uma vez:  TUDO. Ao descomprimir este arquivo, que se chama lc.zip, serão criados os seguintes diretórios: examples, krakatoa, ktests e t. O diretório examples possui exemplos de tradução de Krakatoa para C. O diretório  krakatoa possui o compilador fornecido pelo professor. O diretório ktests contém os 204 testes (por enquanto) para o compilador. O diretório t possui dois arquivos bat para testar o compilador. Para testar o seu compilador, execute ONLY-ER-Trab01.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. ONLY-ER-Trab01.BAT é o arquivo para o trabalho 1. Haverá um ONLY-ER-Trab02.BAT para o trabalho 2. Daqui a algumas semanas disponibilizaremos um programa que o auxiliará a compilar e verificar se a geração de código está correta.

 

 

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 e um texto sobre ponteiros para funções

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

  7. As observações sobre o trabalho do ano passado, são dicas de como fazer o compilador.

  8. Arquivos batch para compilar o seu compilador (para o primeiro trabalho)

  9. Classe PW para ajudar a fazer código indentado.

 

 

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 quase toda a análise sintática e  constrói a parte da ASA correspondente às expressões. Contudo, variáveis e métodos estáticos de Krakatoa não estão incluídos neste analisador.

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 (provavelmente !)

ER-SEM01.KRA.  Os arquivos ok-ger*.kra são utilizados para testar a geração de código. Veja na descrição do primeiro trabalho como são estes arquivos.

 

            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 alguns erros. Mas mesmo assim deve ser bastante útil.