Segundo Trabalho de LC

 

 

Prof. José de Oliveira Guimarães.

Departamento de Computação - UFSCar

Segundo semestre de 2003

 

Data de entrega: 31 de Outubro

Grupos de até duas pessoas.

O período de 10-28 de Novembro ficará reservado para as entrevistas dos trabalhos.

 

Descrição do trabalho: incremente o compilador resultante do trabalho anterior para fazer o seguinte:

 

a). os itens 2 e 4 do texto homework;

b). as conferências semânticas correspondentes aos seguintes testes:

 

ok-sem05     class = subclass

ok-sem06     variavel local e de instancia com mesmo nome

ok-sem10     b.first(0), first definido na superclasse

ok-sem11     metodo com mesmo nome que classe

er-sem07     envio de mensagem a inteiro: i.set(0)

er-sem31     metodo e variavel de instancia com nomes iguais

er-sem32     metodo publico e privado com mesmo nome

er-sem33     dois metodos publicos com mesmo nome

er-sem37     a.set(), A nao possui set. O tipo de a é A

er-sem38     b = a, B herda de A

er-sem41     a = 0, a é variavel da classe A

er-sem46     super sem superclasse

er-sem47     super.m(), m nao existe

er-sem53     chamada a metodo privado

er-sem54     chamada a metodo privado da superclasse

 

c). as conferências 2, 3, 5 e 11 do texto warning.

d). o item 1 do texto refactorings, “Extract Class”.

 

            Entregue apenas a folha de capa. Trabalhos sem a capa não serão aceitos. Envie o trabalho zipado por email para jose#dc.ufscar.br (troque # por @) com o subject  “LC03”, sem as aspas. No zip, inclua os .class além dos .java. Espere uma confirmação de recebimento do seu email. Se não receber a confirmação, comunique-se com o professor.

 

            Utilize a nova classe RComp como classe principal do compilador. Pegue também o novo método compile da classe Compiler e a classe CompilerOptions. Agora o compilador terá opções de compilação:

    java RComp –c ok-chk01.s

              com a opção –c, o compilador implementa o item a), item 2 de homework

    java RComp –p ok-chk02.s

             testa o item a), item 4 de homework

    java RComp –o Person –n Student –m getCourse –m setCourse –i course

             testa o refactoring “Extract Class”, item d), item 1 de refactorings.

 

A análise da linha de comando do compilador em busca das opções já é implementado pela class RComp fornecida pelo professor. Para testar este trabalho, utilize o arquivo c.bat. E pegue novamente o programa Degree e os testes. Agora são 174 testes, dos quais vocês utilizarão 127.

 

Veja observações gerais sobre todos os trabalhos na página Trabalhos. E leia as Observações. Para fazer os trabalhos, utilize o Guia de Correção dos Trabalhos e o site How to Write Unmaintainable Code.