Paradigmas de Linguagem de Programação Equipe Apoio 2006.1 Atividades Realizadas Equipe: Elifrancis Soares Diego Madruga Igor Cavalcanti Rafael Duarte [email protected] [email protected] [email protected] [email protected] Prof.: Augusto Sampaio 1 Atualização do Site da Disciplina Java 1.5 Documentação do Código – Doxygen Projetos 2005.1 2 Realização de Aulas Suporte a equipe de apoio passada, para aula referente a utilização do Eclipse e CVS Aula referente a Java 1.5 (Autoboxing, Unboxing, Static Import, Enumerations, Generics e Definindo Tipos Genéricos e Usando Curingas) 3 Suporte ao alunos da Disciplina Criação da lista de discussão [email protected] Plantão de Tira-Duvidas 4 Desenvolvimento Interpretador 5 Exercícios passados na aula Criação de branch para que os alunos possam baixa as respostas dos exercícios 6 Reestruturação da Linguagem (Refactory) Linguagem de Expressão 2 Linguagem Funcional 1 Linguagem Funcional 2 7 Linguagem de Expressão 2 Remoção de imports desnecessários no InterpretadorPLP.java Refactory dos métodos map e get da classe contexto. - Remoção de Trys desnecessários; - Adição de Clonagem da pilha de blocos de contexto evitando que a mesma fosse manipulada diretamente. Transformação de contexto em uma classe concreta. 8 Linguagem de Expressão 2 Classe Contexto public void incrementa() public void restaura() public void map(Id idArg, T valorId) 9 Linguagem Funcional 1 Mudanças: - Em vez de herdar de contextoExecucao, a classe passou a te-lo como atributo - Um contexto <valorFuncao foi introduzido> para implementar a interface AmbienteExecucaoFuncional Remoção de comentários desnecessários. 10 Linguagem Funcional 1 Classe ContextoExecucaoFuncional public void incrementa() public void restaura() public void mapFuncao(Id idArg, ValorFuncao funcao) public ValorFuncao getFuncao(Id idArg) 11 Linguagem Funcional 2 Problema de binding de métodos Classe Aplicacao public Aplicacao(Id f, List<Expressao> expressoes) public boolean checaTipo(AmbienteCompilacao ambiente) public Tipo getTipo(AmbienteCompilacao ambiente) 12 Suporte aos Projetos - 2006.1 Equipe 2 :: Introduzir Concorrência em LF1 Equipe 3 :: Projeto Puma Equipe 4 :: Integração do Paradigma Imperativo com Funcional Equipe 5 :: Linguagem Orientada a Objetos 2 Equipe 6 :: Aspectos Equipe 7 :: Semântica em Linguagens de Programação Equipe 8 :: Aplicando Concorrência em OO1 Equipe 9 :: Inserção de um Construtor em OO2 13 Reestruturação da Linguagem (Refactory) Linguagem Imperativa 1 Linguagem Imperativa 2 Linguagem OO 1 14 Linguagem Imperativa 1 Parse – imperativa.jj PDeclaracaoSimples() PDeclaracaoComposta() No parse foi eliminado o procedimento PDeclaracaoSimples, devido que não existe a classe DeclaracaoVariavelSimples e a classe DeclaracaoVariavelComposta 15 Linguagem Imperativa 2 Antes: public class DeclaracaoProcedimento extends Declaracao<Id, Comando> Depois: public class DeclaracaoProcedimento extends Declaracao<Id, DefProcedimento> Classes que foram alteradas: DeclaracaoProcedimento Procedimento Classe Criada DefProcedimento O Parse foi alterado Criação da Classe DefProcedimento, para uma atualização (correção) na classe DeclaracaoProcedimento 16 Linguagem Orientação a Objetos 1 Interface Ambiente public void mapDefClasse(Id idArg, DefClasse defClasse) public DefClasse getDefClasse(Id idArg) Interface Expressao Valor avaliar(AmbienteExecucao ambiente) ClasseNaoDeclaradaException Tiramos a assinatura dos dois metodos em AmbienteCompilação e AmbienteExecução e colocamos em Ambiente. mapDefClasse e getDefClasse Inserirmos na Interface Expressao a execeção (ClasseNaoDeclaradaException) e atualizamos as outras classes. 17 Atualização do Site da Disciplina Documentação do Código (2006.1) – D’oxygen 1.4.7 Projetos 2006.1 Geração dos Diagramas de Classes e Pacotes 18 Estrutura de Armazenamento SorceForge https://sourceforge.net/projects/cinplp/ http://cinplp.cvs.sourceforge.net/cinplp/ http://cinplp.sourceforge.net/ Refactory – OO1 Final de Agosto de 2006. 19