C++设计模式之解释器模式(4)
1.易于改变和扩展文法。由于在解释器模式中使用类来表示语言的文法规则,因此可以通过继承等机制来改变或扩展文法; 2.每一条文法规则都可以表示为
1.易于改变和扩展文法。由于在解释器模式中使用类来表示语言的文法规则,因此可以通过继承等机制来改变或扩展文法;
2.每一条文法规则都可以表示为一个类,因此可以方便地实现一个简单的语言;
3.实现文法较为容易;在抽象语法树中每一个表达式节点类的实现方式都是相似的,这些类的代码编写都不会特别复杂;
4.增加新的解释表达式较为方便。如果用户需要增加新的解释表达式只需要对应增加一个新的终结符表达式类或非终结符表达式类,原有表达式类代码无须修改,符合“开闭原则”。
主要缺点
- 上一篇:C++中的RTTI机制详解
- 下一篇:C++短路求值(逻辑与、逻辑或)实例
精彩图集
精彩文章