设计模式学习-----解释器模式

解释器模式

   GOOD:通常当一个语言需要解释执行,并且你可以将该语言中的句子表示成为一个抽象的语法树时,可以使用解释器模式。

设计模式学习-----解释器模式

[html]

#include <iostream>

#include <string>

#include <vector>

using namespace std;

class Context;

class AbstractExpression

{

public:

virtual void Interpret(Context* context)=0;

};

class Expression : public AbstractExpression

{

public:

virtual void Interpret(Context* context)

{

cout<<"终端解释器"<<endl;

};

};

class NonterminalExpression : public AbstractExpression

{

public:

virtual void Interpret(Context* context)

{

cout<<"非终端解释器"<<endl;

}

};

class Context

{

public:

string input;

string output;

};

//客户端

int main()

{

Context* context = new Context();

vector<AbstractExpression*> express;

express.push_back(new Expression());

express.push_back(new NonterminalExpression());

express.push_back(new NonterminalExpression());

vector<AbstractExpression*>::iterator p = express.begin();

while (p!= express.end())

{

(*p)->Interpret(context);

p++;

}

return 0;

}

分类:默认分类 时间:2013-06-28 人气:3
本文关键词:
分享到:

相关文章

Copyright (C) quwantang.com, All Rights Reserved.

趣玩堂 版权所有 京ICP备15002868号

processed in 0.046 (s). 9 q(s)