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

被折叠的 条评论
为什么被折叠?