解释器模式(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()
{}