Design Patterns Interpreter

Slides:



Advertisements
Apresentações semelhantes
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Advertisements

Evolução dos SGBD’s (2ª Parte).
Projeto 1.
APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS ACESSO A BANCO DE DADOS COM O JDBC Prof. Thiago Pereira Rique
Padrão de Projeto Interpreter
Projeto de Sistemas de Software
Projeto de Sistemas de Software Sérgio Luiz Ruivace Cerqueira
Carlos R. M. Junior Eduardo Motta
Padrões de Projeto Mediator.
Template Method Projeto de Sistemas de Software. © LES/PUC-Rio Template Method Motivação.
Projeto de Sistemas de Software Leandra Mara da Silva
Padrão Abstract Factory
SERIALIZER Equipe: Aderly Stresser Borges Carlos Magno Nunes.
Abstract Factory Intenção: fornecer uma interface comum para a criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes.
Padrões GoF - Façade.
Template Method Intenção: definir o esqueleto de um algoritmo em uma operação, postergando (delegando) a definição de alguns passos desse algoritmo para.
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Linguagem de Programação II
Introdução à Modelagem Conceitual 1. Conceitos Básicos
Noções de Estrutura de Dados Logica de Programação
Trabalho de Conclusão de Curso Moisés Alves Carneiro Filho
Introdução Visão Geral do Método.
Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Classes Abstractas.
Clique para editar o estilo do subtítulo mestre Desenvolvimento web com Java JAVA 5 – Declarações e Controles de Acesso.
Informática Teórica Engenharia da Computação
Aula prática - análise contextual
Padrão de Projeto Visitor
Análise e Projeto de Sistemas
Tópicos de Sistemas de Informação A
Design Patterns Bridge
Metodologias para construção de SMA
Estudo dos Conceitos e Paradigmas de Programação
Estudo de Caso: um editor de documentos
Equipe: Fernando Calheiros Flavia Leite Eduardo Wagner
Programação Orientada à Objetos
Analise sintática aula-07-analise-sintática.pdf.
SISTEMAS DISTRIBUIDOS Aula 4
Filter Design Pattern.
Analise Semântica aula-10-analise-semântica.pdf.
Princípios da Programação em Prolog
Padrão- MVC Model, View, Controller
Equipe: Osias Carneiro, Anderson Soares, André Araújo
Aula Prática 1 Monitoria IP/CC (~if669). Roteiro 1.Polimorfismo 2.Superclasses Abstratas 3.Dúvidas 4.Exercício.
Lambda Cálculo & Programação Funcional
COMPILADORES 04 Prof. Marcos.
Padrões de Projeto Abstract Factory.
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
Padrão de desenvolvimento
Abstract Factory Pattern Algumas aplicações precisam criar objetos de classes que podem mudar ex: elementos de um sistema GUI. –Diferentes padrões precisam.
Design Patterns A adoção dos padrões terá um efeito profundo e duradouro sobre a forma de escrevermos programas Ward Cunningham e Ralph Johnson.
1 Java: Modificador abstract para classes e métodos Alcides Calsavara.
WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
Algoritmos e Programação MC102
1 Design Patterns Israel Rios. 2 Origens A idéia de padrões de projeto não teve origem na ciência da computação Christopher Alexander A Pattern Language:
Objetos Distribuídos Frameworks Orientados a Objetos.
Frameworks e Componentes Daniel Fernando Pavelec.
Banco de Dados Universidade do Estado de Santa Catarina
Paradigmas de Programação
Análise Semântica e Representação Intermédia
Padrões de Projetos Orientados a Objetos I Wolley W. Silva.
PADROES DE PROJETO PROF. OSIEL MARLON. PADRÕES DE PROJETO INTRODUÇÃO Padrões de projeto têm emergido como uma das mais promissoras abordagens para a melhoria.
INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC.
Faculdade Pernambuca - FAPE Compiladores Abril/2007 Compiladores Abril/2007.
Projeto de Arquitetura de Software
Design Patterns Mediator Projeto de Sistemas de Software Kelly Leal.
1. 2 Programação Orientada a Objetos II Prof. Maurício Rodrigues de Morais
1 Introdução aos Padrões de Projetos Créditos: Prof. Fabio Kon - IME/USP Adaptações: Prof. Nécio de Lima Veras.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Design Patterns Interpreter Bernardo Evangelho Miranda

O interpreter é um padrão comportamental(está interessado na comunicação entre os objetos). Seu objetivo é criar uma maneira de incluir elementos de linguagem dentro de programas. Dada uma linguagem, defina uma representação para sua gramática juntamente com um interpretador que usa a representação para interpretar sentenças na linguagem. Mapeie um domínio para uma linguagem, a linguagem para uma gramática, e a gramática para uma hierarquia orientada a objeto. Propósito

Uma classe de problemas ocorre repetidamente em um domínio bem conhecido e compreendido. Se o domínio for caracterizado por uma linguagem, então os problemas podem ser facilmente resolvidos utilizando interpretação. Motivação

O padrão Interpreter discute: a definição de uma linguagem de domínio (caracterização do problema, por exemplo) como uma gramática de linguagem, representando regras de domínio como sentenças da linguagem, e interpretando estas sentenças para resolver o problema. O padrão usa uma classe para representar cada regra gramatical. E uma vez que as gramáticas são geralmente hierárquicas, orientação a objeto é o melhor caminho. Exemplos do padrão: - Linguagens de pesquisa de banco de dados como SQL; - Linguagens especializadas de computador utilizadas para protocolos de comunicação. Aplicabilidade

Estrutura

Abstract Expression: classe abstrata que especifica o método interpret(). Terminal Expression e NonTerminalExpression: subclasses concretas que implementam interpret (), recebendo como argumento o estado atual do fluxo de linguagem, e adicionando sua contribuição para a resolução do problema. Terminal são expressões atômicas, enquanto que nãoTerminais são expressões compostas. Contexto: encapsula o estado atual do input e do output Participantes

Consequências Facilidade em modificar e extender a gramática Facilidade em implementar a gramática também Facilidade em adicionar novas maneiras de interpretar expressões Consequências

Exemplo Exemplo gramática -expressão ::= multiplicação | divisão | variáveis -multiplicação ::= expressão ‘*' -divisão ::= expressão ‘/' -variáveis  ::= 'a' | 'b' | 'c’ | … | ‘z’ Exemplos de expressões - a b * - c b a * / - d h * a m / / Exemplo

Código

Código