Dado un lenguaje, define una representación para su gramática junto con un intérprete que usa la representación para interpretar sentencias del lenguaje.
Estructura

AbstractExpression: declara las operaciones de interpretación que las especializaciones han de implementar.
TerminalExpression: representan a los símbolos terminales.
NonterminalExpression: representan a las producciones de la gramática.
Context: contiene la información global del proceso de interpretación.
Client: construye el árbol sintáctico de una frase del lenguaje e invoca la operación de interpretación.
Consecuencias
- Es fácil cambiar y ampliar la gramática.
- Resulta fácil implementarla.
- Las gramáticas complejas son difíciles de mantener.
- Añadir nuevos modos de interpretar expresiones.
No hay comentarios:
Publicar un comentario