Segundo Trabalho de LC

Grupos de até duas pessoas.

Data da entrega: 24/11/15 às 18h

            O trabalho consiste na geração de código de Krakatoa para C. Utilize o artigo “Geração de Código em C para Krakatoa”. O código gerado em C deve estar corretamente identado. Pegue a última versão do compilador gcc, que será utilizado para compilar o código gerado em C.

           Os programas em C resultantes da compilação Krakatoa-C deverão ser compilados no gcc como na seguinte linha de comando do DOS:

     gccansiIc:\ArqProg\dev\Include  -o exem.exe exem.c

 O diretório  c:\ArqProg\dev\Include é onde estão os arquivos *.h do gcc.

 Baixe exemplos de códigos gerados em C e o software utilizado para testar o compilador. Este último será descomprimido em um diretório 't'.

Você já deve ter arquivos test-t2.bat, 30enters.txt e sixnum.txt no diretório “t”. Utilize test-t2 para testar o seu compilador. Mas antes disto, abra este arquivo em um editor de texto e modifique-o em dois pontos:

  1. em “set path=%path%;"c:\ArqProg\dev\bin"”, substitua “c:\ArqProg\dev\bin” pelo caminho correto do compilador gcc;
  2. em todas as linhas “gcc -ansi -Ic:\ArqProg\dev\Include -o OK-GER01.exe OK-GER01.c”, coloque o caminho apropriado para os includes do gcc.

 

    O arquivo test-t2 assume que os arquivo ".class" estão em um diretório 'bin'. Se não estiverem, modifique test-t2.bat para que o interpretador Java seja chamado corretamente.

Não modifique absolutamente mais nada no arquivo “test-t2.bat”. Senão eu não conseguirei testar o seu compilador.

Em uma janela do DOS, faça o diretório Krakatoa o diretório corrente e chame test-t2:

         C:\voce\Krakatoa>..\t\test-t2

Será produzido um arquivo z.txt com o resultado dos testes. Confira se este arquivo foi produzido corretamente. Implementações incorretas do comando write de Krakatoa fazem com que este arquivo z.txt fique ilegível para humanos. Em resumo, implemente write exatamente como está descrito no manual da linguagem.

             Coloque no Moodle um arquivo zip contendo o diretório do seu trabalho. Dentro deste diretório devem estar os diretórios dos pacotes de Java do seu compilador (Veja a Figura abaixo) com os códigos FONTES APENAS. O nome do arquivo zip deve ser composto pelos nomes dos integrantes do grupo na ordem alfabética da seguinte forma:
            AlbertoSantosDumont-NicolaTesla.zip

Ao descomprimir este arquivo zip deve ser criado um diretório “AlbertoSantosDumont-NicolaTesla” (muito importante). Veja outras observações na folha de capa. Não se esqueça de colocar a folha de capa junto com o trabalho. NÃO inclua nenhum outro arquivo que não seja *.java  e  z.txt (descrito abaixo) neste arquivo zip.

 

 

 

Este compilador deve ter obrigatoriamente as características descritas abaixo.

·        A geração de código deverá ser feita em métodos nas classes da ASA;

·        A classe principal do compilador deve se chamar “Comp” e estar dentro do pacote comp, no diretório Comp. A classe principal é aquela com o método main.

·        O compilador deve tomar o nome do arquivo a ser compilado como entrada, isto é; para chamá-lo, deveremos digitar algo do tipo
   C:\>java –cp c:\krakatoa comp.Comp ktests\Hello.kra
ktests\Hello.kra” é o arquivo a ser compilado. Os arquivos '.class' do compilador estão no diretório c:\krakatoa. Deve ser produzido um arquivo Hello.c  no diretório corrente como resultado da compilação. Repetindo: o arquivo em C deve ser produzido no diretório corrente, não no diretório em que está o arquivo de entrada, Hello.kra.

·        Todos os arquivos .java devem ter um comentário inicial com o nome dos integrantes do grupo. Sem este comentário o trabalho não será aceito.

Observações gerais sobre o trabalho: 

·        qualquer parte do trabalho poderá ser copiada de qualquer grupo, desde que este fato seja escrito na folha de capa do trabalho. Trabalhos com um número significativo de trechos iguais sem a devida observação na capa receberão zero. A nota do trabalho diminui com a quantidade de trechos copiados. De qualquer forma, não mais do que 10% do código pode ser copiado, mesmo com observações na folha de capa. Estes 10% se referem aos trechos feitos por você, não ao total do compilador, cuja maior parte foi fornecida na página da disciplina;

·        faça o seu trabalho utilizando corretamente os princípios de orientação a objetos. Procure o professor em dúvida.