当前位置:编程学习 > JAVA >>

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

解释器模式
 
   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;  
}  
  
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,