名称 Interpreter
结构  设计模式——解释器模式
意图 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
适用性
  • 当有
     1设计模式——解释器模式// Interpreter
     2设计模式——解释器模式
     3设计模式——解释器模式// Intent: "Given a language, define a representation for its grammar along 
     4设计模式——解释器模式// with an interpreter that uses the representation to interpret 
     5设计模式——解释器模式// sentences in the language". 
     6设计模式——解释器模式
     7设计模式——解释器模式// For further information, read "Design Patterns", p243, Gamma et al.,
     8设计模式——解释器模式// Addison-Wesley, ISBN:0-201-63361-2
     9设计模式——解释器模式
    10
    一个语言需要解释执行, 并且你可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式。而当存在以下情况时该模式效果最好:
  • 该文法简单对于复杂的文法, 文法的类层次变得庞大而无法管理。此时语法分析程序生成器这样的工具是更好的选择。它们无需构建抽象语法树即可解释表达式, 这样可以节省空间而且还可能节省时间。
  • 效率不是一个关键问题最高效的解释器通常不是通过直接解释语法分析树实现的, 而是首先将它们转换成另一种形式。例如,正则表达式通常被转换成状态机。但即使在这种情况下, 转换器仍可用解释器模式实现, 该模式仍是有用的。
Code Example

相关文章:

  • 2021-10-29
  • 2021-04-11
  • 2022-01-15
猜你喜欢
  • 2021-12-17
  • 2021-09-08
  • 2021-08-31
  • 2021-09-07
  • 2021-09-27
相关资源
相似解决方案