Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouVinícius Perna Alterado mais de 9 anos atrás
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 !
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.