没有分析器白解释器程序概念
时间:2012-6-20
虽然编写一个分析器不是一件非常困难的事情。但是那的确需要花费很多的心思,由此带来了一个问题,我们真一定要一个分析器吗?我们刚才编写的文件查询类的确需要一个分析器,用来构成一个内部的面向程序员的API。但是如果我们只需要一种通过代码来指定文件检索条件的好方法,那么我们或许可以像之前救命中所做的那样,直接在代码中指定文件检索的AST,这样的话,我们不仅可以获得解释器模式的灵活性和可扩展性的优势,而且还不必在分析上花费时间。
如果你决定采用这种没有分析器的解释器,那么我们值得花些时间创建一些快捷方法以便使用起来更简单。例如,我们通过在Expression类中定义一些运算符(比如语法更简短的and和or方法)的方法来扩展文件检索解释器。