Interpreter: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Addbot (discussão | contribs)
m A migrar 11 interwikis, agora providenciados por Wikidata em d:q1537002
Basicamente tudo foi reescrito. Adicionado de uma forma mais organizada a intenção do padrão e o problema que ele tenta resolver. Em breve terá mais alterações com a continuação da explicação do padrão.
Etiquetas: Possível resumo indevido Provável parcialidade Editor Visual
Linha 1:
== Definição ==
'''Interpreter''' é um [[padrão de projeto de software]] que especifica como entender frases em uma determinada [[linguagem de programação]].
'''Interpreter''' é um dos padrões de projeto de software, famosos como "[[Design Patterns|Design Patters]]", muito utilizado para a resolução de problemas quando a modelagem de sistemas ou softwares. Esse padrão esta incluso na categoria de Padrão Comportamental, ou seja, ele busca solucionar problemas de modelagem que tratam o comportamento de classes.
 
== Intenção ==
O padrão de projeto '''Interpreter''' pode ser utilizado para representar e resolver problemas recorrentes que possam ser expressos sob a forma de uma linguagem formal simples.
Dada uma determinada linguagem, o padrão Interpreter define uma representação para sua gramática juntamente com um interpretador que usa a representação para interpretar sentenças na língua. Ou mapear um domínio para uma língua, a língua para uma gramática e a gramática para um projeto de design hierárquico orientado a objetos.
 
== Problema ==
Gramáticas simples não precisam ser interpretadas por códigos criados através de geradores de analisadores sintáticos. Para isso, podemos criar uma simples hierarquia de classes baseada na gramática que, através de recursão, devolve a interpretação do código de entrada. É justamente isso que apresenta o padrão Interpreter: uma solução elegante na interpretação de pequenas gramáticas.
O padrão Interpreter busca em geral resolver o seguinte problema: que uma classe de problemas ocorre repetidamente em um domínio bem definido e bem compreendido. Se o domínio for caracterizado como uma linguagem, então os problemas poderiam ser facilmente resolvidos com uma interpretação da engine.
 
== Referências ==
{{Esboço-prog}}
https://sourcemaking.com/design_patterns/interpreter<ref>{{Citar web|url=https://sourcemaking.com/design_patterns/interpreter|titulo=Design Patterns and Refactoring|acessodata=2016-09-29|obra=sourcemaking.com}}</ref>{{Esboço-prog}}
 
{{Padrões de projeto}}