Interpreter模式(C++解释器模式)
来源:互联网 发布:评价刘雯 孙菲菲 知乎 编辑:程序博客网 时间:2024/05/22 10:27
Interpreter模式提供了一个实现语法解释器的框架,其目的就是使用一个解释器为用户提供一个一门定义语言语法表示的解释器,并且通过这个解释器来解释语言中的句子。
Interpreter模式使用类来表示文法规则,因此方便于文法的扩展。
代码如下:
#include <iostream>#include <string>using namespace std;class Context{public:Context(){}~Context(){}};class AbstractExpression{public:virtual ~AbstractExpression(){}virtual void Interpret(const Context& c){}protected:AbstractExpression(){}};class TerminalExpression:public AbstractExpression{public:TerminalExpression(const string& statement){m_statement=statement;}~TerminalExpression(){}void Interpret(const Context& c){cout<<"TEMINALEXPRESSION"<<endl;}private:string m_statement; };class NonterminalExpression:public AbstractExpression{public:NonterminalExpression(AbstractExpression* ex,int times){m_ex=ex;m_times=times;}~NonterminalExpression(){};void Interpret(const Context& c){for(int i=0;i < m_times; i++)m_ex->Interpret(c);}private:AbstractExpression* m_ex;int m_times;};void main(){Context* c=new Context();AbstractExpression* abs=new TerminalExpression("Hello");AbstractExpression* nabs=new NonterminalExpression(abs,2);nabs->Interpret(*c);delete nabs;delete abs;delete c;}
2 0
- 解释器(Interpreter )模式
- Interpreter解释器模式
- Interpreter 解释器模式
- Interpreter 解释器模式
- 解释器模式(Interpreter)
- interpreter 解释器模式
- 解释器模式-interpreter
- Interpreter - 解释器模式
- 解释器模式(Interpreter)
- 解释器模式 interpreter
- Interpreter解释器模式
- 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)
- 解释器模式(Interpreter Pattern)
- 解释器模式(Interpreter Pattern)
- 解释器模式(Interpreter)
- Interpreter(解释器模式)
- 25.解释器模式--Interpreter
- 解释器模式 Interpreter Pattern
- OC核心语法(1)点语法、变量作用域、@property@synthesize和id
- 【Linux】Linux中目录结构说明
- [openstack]nova-docker现状
- UnknownFaceted Project Problem (Java Version Mismatch)
- UI基础
- Interpreter模式(C++解释器模式)
- 设置linux时区和同步时间
- IAR编译错误 Error[e27]:
- UVA - 673 Parentheses Balance
- 简单工厂(SimpleFactory)模式简介
- 【读书笔记】《推荐系统(recommender systems An introduction)》第四章 基于知识的推荐
- python输出格式化及函数format
- 随机的抽出一副牌中的三张。
- Java中Scanner类的用法