Introduccion:
Dado un lenguaje, define una representacion de su gramatica junto con un interprete que usa dicha representacion para interpretar las sentencias del lenguaje.
Nombre del Patron:
Interpreter (Interprete).
Clasificacion del Patron:
Patron de Comportamiento.
Intencion:
Definir un Interprete para un lenguaje.
Motivacion:
Existen problemas particulares que pueden expresarse en función de algún Lenguaje.
A veces es conveniente representar un lenguaje como palabras de algun lenguaje sencillo, como por ejemplo, evaluar expresiones booleanas.
El patron Interpreter describe como definir una gramatica, representar palabras del lenguaje y como interpretarlas.
Estructura:
Participantes:
Cliente: Construye el arbol Sintactico Abstracto de expresiones no terminales, e instancias de la clase Expresion Terminal. Luego inicializa el contexto e invoca al Interpretador.
AbstractExpresion: Es la clase Abstracta a travez de la cual el cliente interactua con las expresiones.
TerminalExpresion: La implementacion de la clase Abstracta AbstractExpresion para nodos terminales en la gramatica y el arbol de sintaxis.
NonTerminalExpression: Es otra implementacion de la clase abstracta para nodos no terminales de la gramatica y el arbol de sintaxis. Mantiene una referencia a la siguiente expresion e invoca el metodo interpret en cada uno de sus hijos.
Context: El contenedor de la informacion que se necesita en distintos lugares del interprete. Puede servir como un canal de comunicacion entre distintas instancias de Expression.
Dado un lenguaje, define una representacion de su gramatica junto con un interprete que usa dicha representacion para interpretar las sentencias del lenguaje.
Nombre del Patron:
Interpreter (Interprete).
Clasificacion del Patron:
Patron de Comportamiento.
Intencion:
Definir un Interprete para un lenguaje.
Motivacion:
Existen problemas particulares que pueden expresarse en función de algún Lenguaje.
A veces es conveniente representar un lenguaje como palabras de algun lenguaje sencillo, como por ejemplo, evaluar expresiones booleanas.
El patron Interpreter describe como definir una gramatica, representar palabras del lenguaje y como interpretarlas.
Estructura:
Participantes:
Cliente: Construye el arbol Sintactico Abstracto de expresiones no terminales, e instancias de la clase Expresion Terminal. Luego inicializa el contexto e invoca al Interpretador.
AbstractExpresion: Es la clase Abstracta a travez de la cual el cliente interactua con las expresiones.
TerminalExpresion: La implementacion de la clase Abstracta AbstractExpresion para nodos terminales en la gramatica y el arbol de sintaxis.
NonTerminalExpression: Es otra implementacion de la clase abstracta para nodos no terminales de la gramatica y el arbol de sintaxis. Mantiene una referencia a la siguiente expresion e invoca el metodo interpret en cada uno de sus hijos.
Context: El contenedor de la informacion que se necesita en distintos lugares del interprete. Puede servir como un canal de comunicacion entre distintas instancias de Expression.
Muy difícil
ResponderEliminar