Interpreter 解释器模式
来源:互联网 发布:皮诺切特 知乎 编辑:程序博客网 时间:2024/05/15 09:46
GOOD:通常当一个语言需要解释执行,并且你可以将该语言中的句子表示成为一个抽象的语法树时,可以使用解释器模式。
例:
#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;
}
- 解释器(Interpreter )模式
- Interpreter解释器模式
- Interpreter 解释器模式
- Interpreter 解释器模式
- 解释器模式(Interpreter)
- interpreter 解释器模式
- 解释器模式-interpreter
- Interpreter - 解释器模式
- 解释器模式(Interpreter)
- 解释器模式 interpreter
- Interpreter解释器模式
- 解释器模式(Interpreter Pattern)
- 解释器模式(Interpreter Pattern)
- 解释器模式(Interpreter)
- Interpreter(解释器模式)
- 25.解释器模式--Interpreter
- 解释器模式 Interpreter Pattern
- 解释器模式(Interpreter Pattern)
- Android选取本地图片并加水印实例
- Request-reply messaging
- Android 设置EditText只输入数字、字母
- zuoye
- 关于iOS应用设计的一些最佳实践
- Interpreter 解释器模式
- Android开发-----NDK开发中的一些常见错误及解决办法
- struts1.x+spring+hibernate的整合
- 如何一个load 加载完成后把图片一次性显示出来
- TCPMon的使用
- equal_range用法
- Android HTTP Client: GET, POST, Download, Upload, Multipart Request
- hdu 3368 Reversi
- STM32F4-Discovery LCD1602驱动及例程,改编自www.armjishu.com提供的STM32F103例程