解释器模式实现一个简单的文法分析器,个人认为使用不是很广泛。简单的来说,就是它定义了对象与对象之间进行某种操作之后会得到什么值。学过编译原理之后,会对这个模式有更深刻的理解。
还是看一个例子:
上述代码定义了一个文法分析器,这个文法系统李包含变量、常量和运算关系,当定义好一个表达式之后,放进这个解释器里面,就能得到结果。上述代码的运行结果是:
x = false
y = true
((true AND x) OR (y AND (NOT x)))=true
解释器模式实现一个简单的文法分析器,个人认为使用不是很广泛。简单的来说,就是它定义了对象与对象之间进行某种操作之后会得到什么值。学过编译原理之后,会对这个模式有更深刻的理解。
还是看一个例子:
上述代码定义了一个文法分析器,这个文法系统李包含变量、常量和运算关系,当定义好一个表达式之后,放进这个解释器里面,就能得到结果。上述代码的运行结果是:
x = false
y = true
((true AND x) OR (y AND (NOT x)))=true