当前位置: 首页 > news >正文

怎么帮公司做网站建设拍拍网站开发

怎么帮公司做网站建设,拍拍网站开发,wordpress+登录404,wordpress创建登录页面模板1.定义 给定一个语言#xff0c;定义它的文法的一种表示#xff0c;并定义一个解释器。比如加减乘除在代码里是一种表示#xff0c;我们需要翻译成可以阅读的数学公式#xff0c;并且可以供用户输入数字得到输出结果。 2.组成结构 抽象表达式#xff08;Abstract Expres…1.定义 给定一个语言定义它的文法的一种表示并定义一个解释器。比如加减乘除在代码里是一种表示我们需要翻译成可以阅读的数学公式并且可以供用户输入数字得到输出结果。 2.组成结构 抽象表达式Abstract Expression定义解释器的接口约定解释器的解释操作主要包含解释方法 interpret()。终结符表达式Terminal Expression是抽象表达式的子类用来实现文法中与终结符相关的操作文法中的每一个终结符都有一个具体终结表达式与之相对应。非终结符表达式Nonterminal Expression也是抽象表达式的子类用来实现文法中与非终结符相关的操作文法中的每条规则都对应于一个非终结符表达式。上下文Context通常包含各个解释器需要的数据或是公共的功能一般用来传递被所有解释器共享的数据后面的解释器可以从这里获取这些值。 我们将用示例代码来解释各个组成部分的意义。 3.示例代码 #include iostream #include mapusing namespace std;#define DELETE(pointer) delete pointer; pointernullptr const string key1 string(s1); const string key2 string(s2); const string key3 string(s3); const string key4 string(s4);class Context { public:Context() {datas[key1] 1;datas[key2] 2;datas[key3] 3;datas[key4] 4;}int getValue(string key) {if (!datas.count(key)){return 0;}return datas[key];}private:std::mapstring, int datas; };class Expression { public:Expression(Expression* left, Expression* right) :left(left), right(right) { }virtual ~Expression() {if (left ! nullptr){DELETE(left);}if (right ! nullptr){DELETE(right);}}virtual int interpreter(Context* context) 0;protected:Expression* left;Expression* right; };class MultiExpression : public Expression { public:MultiExpression(Expression* left, Expression* right) : Expression(left, right) { }int interpreter(Context* context) override {if ((left nullptr) || (right nullptr)){return 0;}return left-interpreter(context) * right-interpreter(context);} };class DivisionExpression : public Expression { public:DivisionExpression(Expression* left, Expression* right) : Expression(left, right) { }int interpreter(Context* context) override {if ((left nullptr) || (right nullptr)){return 0;}return left-interpreter(context) / right-interpreter(context);} };class TerminalExpression : public Expression { public:TerminalExpression(int value) : value(value), Expression(nullptr, nullptr) { }int interpreter(Context* context) {return value;}private:int value; };void doInterpreter() // 客户端client {/* 3*4/26 对应语法树如下/ 除法/ \* 2/ \3 4*/Context context;MultiExpression* multiExpression new MultiExpression(new TerminalExpression(context.getValue(key3)), new TerminalExpression(context.getValue(key4))); // 终止节点作为叶子结点非终止节点作为非叶子节点int mutil multiExpression-interpreter(context);cout mutil mutil endl;DivisionExpression* divisionExpression new DivisionExpression(multiExpression, new TerminalExpression(context.getValue(key2))); // 乘法表达式作为左子树 / 右子树int division divisionExpression-interpreter(context); // 运行解释器cout division division endl;DELETE(divisionExpression);// 这里注意不能第二次释放divisionExpression因为此时它是divisionExpression的左子树//divisionExpression释放的时候会自动释放左右子树也就是递归释放最终只需要释放最后一次嵌套调用的就行 }int main() {doInterpreter();system(pause);return 1; } 引用 C设计模式——解释器模式interpreter pattern_cinterpreter模式-CSDN博客
http://www.huolong8.cn/news/287403/

相关文章:

  • 网站开发培训周末班毕业设计开题报告网站开发
  • 电子书店网站开发深圳做个网站要多少钱
  • 商业网站网址装修公司加盟好还是自己开
  • 怎么做网站详情页.net网站开发教程百度贴吧
  • 小型深圳网站定制开发房地产门户网站
  • 简洁网站首页html代码二七区建设局网站
  • 团购网站模板下载全球网站开发者大会
  • 商务网站模板免费下载三只松鼠广告策划书
  • 什么程序做网站太仓市住房和建设局网站
  • wordpress腾讯云搭建网站做网站有必要?
  • 公司网站建设站酷seo推广怎么做视频教程
  • 个人相册网站模板彩票网站的表格是如何做的
  • 可以进入外国网站的浏览器wordpress版本对应的php版本号
  • 做公司网站要注意哪些问题ui参考网站
  • 自己做的网站怎么连接计算机做网站用到什么技术
  • 网站建设. 龙兵科技做设计用的常用网站
  • 建设银行网站能买手机无锡制作网站价格表
  • 陕西省网站开发自媒体网站程序
  • 网站开发多线程开发有免费做门户网站吗
  • 网站一般采用的设计方案装潢设计用什么软件
  • php网站开发实用技术课后习题一站式服务工作总结
  • 曹县有没有做网站1级a做爰免费网站
  • 网站源代码上传都需要怎么做建筑模板哪种好
  • 大同住房和城乡建设网站易飞erp系统
  • 比较好的网站设计互联网网站开发的未来方向
  • 网站建设要多少钱wordpress标题分隔符
  • 公司有网站域名,如何做网站百度浏览器手机版
  • 门户网站建设定制深圳小程序开发设计
  • 外贸网站定制大连中山网站建设
  • 太仓市住房和城乡建设局规网站自学设计软件的免费网站