解析器模式

1.定义
给定一门语言，定义它的文法的一种表示，并定义一个解释器，该解释器使用该表示来解释语言中句子。
属于行为类模式。

2.解释器模式的使用场景

重复发生的问题可以使用解释器模式：比如根据用户输入的公式进行加减乘除四则运算，但是他们输入的公式每次都不同，有时是a+b-c*d，有时是a*b+c-d，等等等等个，公式千变万化，但是都是由加减乘除四个非终结符来连接的，这时我们就可以使用解释器模式。

一个简单语法需要解释的场景：你看看下面给出的例子，非终结表达式，文法规则越多，复杂度越高，而且类间还要进行递归调用。因此解释器模式一般用来解析比较标准的字符集，例如sql语法分析，不过该部分逐渐被专用工具所取代。