A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Reestruturação das Linguagens da Disciplina “Paradigmas de Linguagens de Programação” para Java 1.5 Alunos: Angelo Ribeiro (arnpr) Eduardo Tavares (eagt)

Apresentações semelhantes


Apresentação em tema: "1 Reestruturação das Linguagens da Disciplina “Paradigmas de Linguagens de Programação” para Java 1.5 Alunos: Angelo Ribeiro (arnpr) Eduardo Tavares (eagt)"— Transcrição da apresentação:

1 1 Reestruturação das Linguagens da Disciplina “Paradigmas de Linguagens de Programação” para Java 1.5 Alunos: Angelo Ribeiro (arnpr) Eduardo Tavares (eagt) Euclides Neto (enan) Prof.: Augusto Sampaio (acas)

2 2 Próximos Passos 1.Alteração das outras Linguagens; 2.Atualização do site ou Construção de documentação via Doxygen; 3.Verificar utilização de Enumeration na classe Tipo;

3 3 Roteiro  Reestruturação das Linguagens(Java 1.5):  *Classe Tipo (Leonardo Lucena,special Guest)  Imperativa1;  Imperativa2;  OO1;  Atualização da Base de Dados CVS com as outras linguagens e alteração dos.jj para aceitar parâmetros de entrada;  Documentação Automática com D’oxygen;  Aula para a nova turma de PLP;

4 4 Reestruturação da Linguagem *Classe Tipo Utilização do Tipo Enumeration e EnumSet; Antes: public static final int INTEIRO = 1; public static final int BOOLEANO = 2; public static final int STRING = 4; public static final int INDEFINIDO = 8; Depois: public enum Tipos{INTEIRO, BOOLEANO, STRING}

5 5 Reestruturação da Linguagem *Classe Tipo public static final Tipo TIPO_INTEIRO = new Tipo(INTEIRO); public static final Tipo TIPO_BOOLEANO = new Tipo(BOOLEANO); public static final Tipo TIPO_STRING = new Tipo(STRING); public static final Tipo TIPO_PONTO_FLUTUANTE = new Tipo(PONTO_FLUTUANTE); public static final Tipo TIPO_INDEFINIDO = new Tipo(INDEFINIDO); Antes: Depois: public static final Tipo TIPO_INTEIRO = new Tipo(EnumSet.of(Tipos.INTEIRO)); public static final Tipo TIPO_BOOLEANO = new Tipo(EnumSet.of(Tipos.BOOLEANO)); public static final Tipo TIPO_STRING = new Tipo(EnumSet.of(Tipos.STRING)); public static final Tipo TIPO_INDEFINIDO = new Tipo(EnumSet.noneOf(Tipos.class));

6 6 Reestruturação da Linguagem *Classe Tipo public Tipo() { this(INTEIRO + BOOLEANO + STRING + PONTO_FLUTUANTE); } public Tipo(int tipo, Tipo prox) { this.tipo = tipo; this.prox = prox; } Antes: Depois: public Tipo() { this(EnumSet.allOf(Tipos.class)); } public Tipo(Set tipo, Tipo prox) { this.tipo = tipo; this.prox = prox; }

7 7 Reestruturação da Linguagem *Classe Tipo public int getTipo() { return tipo; } Antes: Depois: public Set get() { return Collections.unmodifiableSet(tipo); }

8 8 Reestruturação da Linguagem *Classe Tipo public boolean eInteiro() { return (tipo & INTEIRO) != 0; } Antes: Depois: public boolean eInteiro() { return tipo.contains(Tipos.INTEIRO); }

9 9 Reestruturação da Linguagem Imperativa 1 Modificações: 1.Lista: 2.Utilização do ForEach: 3.Parametrização das Classes Stack, HashMap:

10 10 Reestruturação da Linguagem Imperativa 1 Lista Antes: public class ListaValor { private Valor valor; private ListaValor listaValor; public int length() {...} public Valor head() {...} public ListaValor tail() Lista Depois: public class Lista { protected T head; protected Lista tail; …. public class ListaValor extends Lista {

11 11 Imperativa 2 Modificações: 1.ListaExpressão e Lista Declaração de Parâmetros: 2.Utilização do ForEach: 3.Parametrização das Classes Stack, HashMap:

12 12 Reestruturação da Linguagem Imperativa 2 Lista Antes: public class ListaExpressao { private Expressao expressao; private ListaExpressao listaExpressao; public int length() {...} public Expressao head() {...} public ListaExpressao tail() Lista Depois: public class Lista { protected T head; protected Lista tail; …. public class ListaExpressao extends Lista { … public class ListaDeclaracaoParametro extends Lista {

13 13 OO1 Modificações: 1.Eliminação do pacote Coleção; 2.Utilização do ForEach: 3.Parametrização das Classes Stack, HashMap:

14 14 OO1 Antes: Depois: public Stack > getPilha();

15 15 Documentação D’oxygen Doxygen é um sistema de documentação para C++, C, Java, Objective-C, Python, IDL (Corba e Microsoft flavors) e algumas extensões PHO,C#, e D.

16 16 Documentação D’oxygen Com essa ferramenta podemos fazer: 1.Gerar página html de documentação de código (ou até mesmo Latex). A documentácão é extraída diretamente do código fonte, o que facilita manter a documentação consistente com o código fonte. (Esta funcionalidade é utilizada por desenvolvedores da Motorola); 2.Pode-se configurar o D’oxygen para extrair partes de código que não seja propriamente de documentação, como por exemplo, diagramas de classes, diagrama de sequencia, dentro vários outros artifícios; 3.Você pode até mesmo ‘abusar’ do d’oxygen e usálo para criar documentos normais, tipo manual de instruções.

17 17 Documentação D’oxygen Como usar? 1.Baixar o doxygen do site www.doxygen.org; www.doxygen.org 2.Instalar o GraphViz para geração dos.dot(Diagramas de Classes); 3.Rodar o doxywizard; 4.Step1: Configure Doxygen. Neste ponto você pode escolher o Wizard(configuração simples) ou o expert( mais detalhes);

18 18 Documentação D’oxygen Como usar? 5.Para começar vamos escolher o Wizard; 6.Dar um nome e versao ao projeto (plp,1.0); 7.Apontar para o diretorio onde está o codigo fonte a ser documentado; 8.Geraremos uma documentação de todas as linguagens, já que colocamos a mesma em pacotes;

19 19 Documentação D’oxygen Como usar? 9.Escolha o local onde a documentação será armazenada; 10.Na aba Mode escolheremos “All Entities” na parte “Select the desired extraction mode” e seleciona “Include cross-referenced source code in the output” e a opcao “Optimize for Java output”

20 20 Documentação D’oxygen Como usar? 11.Na aba output escolha somente HTML com frames para navegação. 12.E por ultimo a aba Diagrams “Use dot tool from GraphViz package to generate Diagrams”. 13.Salve o arquivo configuração para ser utilizado novamente depois (documentação automática); 14.Working dir (Diretório onde o d’oxygen foi instalado); 15.PRESSIONE START.

21 21 Documentação D’oxygen

22 22 Questions, Please !


Carregar ppt "1 Reestruturação das Linguagens da Disciplina “Paradigmas de Linguagens de Programação” para Java 1.5 Alunos: Angelo Ribeiro (arnpr) Eduardo Tavares (eagt)"

Apresentações semelhantes


Anúncios Google