解释器模式(Interpreter)

意图
给定一个语言,定义她的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。

应用场景
uu
类图

参与者
  • AbstractExpression
  • TerminalExpression
  • NoterminalExpression
  • Context
  • Client

代码
#include <iostream>
#include <string>
using namesapce std;
class Context
{
private:
    string input;
};
class AbstractionExpression
{
public:
    void Interpret(Context *pContext) = 0;
};
class TerminalExpression:public AbstractionExpression
{
public:
    void Interpret(Context *pContext)
    {
        cout<<"终端解释器"<<endl;
    }
};
class NonterminalExpression:public AbstractionExpression
{
public:
    void Interpret(Context *pContext)
    {
        cout<<"非终端解释器"<<endl;
    }
};
int main()
{}




posted @ 2013-11-20 15:58  tanhaiyuan  阅读(126)  评论(0编辑  收藏  举报