让xml和yaml进行分析工作
作者:佚名 时间:2012-06-20
如果你觉得需要一个分析器,那么还有另外一个吸引人的实现方法就是,采用xml或者是yaml来定义你的新语言。如果你选择这种做法的话,就可以使用ruby安装时自带的xml或yaml解析库来处理分析工作,这个主意听上去近乎完美,你能获得一个完整的解释器的民有灵活性和可扩展性,而又不需要担心分析器的细节,那谁会抱怨这种实现手段呢?
遗憾的是,你的用户可能会抱怨,虽然xml和yaml是用于表达数据的首选方式,但是它们都无法完美地来表达程序,必须牢记构建一个解释器的目的是,为了向你的用户提供一个用于表达处理过程的自然途径。如果分析器的工作核心是可以自然而然地通过xml或yaml来表达,那就无须犹豫,直接使用这些数据格式并享用现成的分析器所提供的所有优势,但是如果你设计的语言无法被xml或yaml自然表达(我认为大多数的解释器模式语言无法通过数据模型自然表达),那么请不要勉强,不要为了省下一点编码时间而南辕北辙。
如没特殊注明,文章均为上海联楷网络原创,转载请注明来自:http://www.linksj.com/help/20151126/n967.html