解释器模式

Posted by 程序亦非猿 on 2016-08-01

设计模式专题系列: 设计模式

解释器模式

使用解释器模式为语言创建解释器.

用途:

  1. 当你需要实现一个简单的语言时,使用解释器.
  2. 当你有一个简单的语法,而且简单比效率更重要时,使用解释器.
  3. 可以处理脚本语言和编程语言.
  4. 可以处理脚本语言和编程语言.

优点:

  1. 将每一个语法规则表示成一个类,方便于实现语言.
  2. 因为语法由许多类表示,所以你可以轻易地改变或扩展此语言.
  3. 通过在类结构中加入新的方法,可以在解释的同时增加新的行为,例如打印格式的美化或者进行复杂的程序验证.

缺点:

  1. 当语法规则的数目太大时,这个模式可能会变得非常繁杂.在这种情况下,使用解析器/编译器的产生器可能更合适.

小结

我觉着吧,跟自己定义一个语法规则类似,对应的不一定要类,可以是行为.
比如 隐式跳转什么的