我正在做一些涉及对某些事物使用不同语法的小项目,但有时这些语法非常简单,以至于使用解析器生成器可能有点矫枉过正。
现在,我什么时候应该使用手工解析器,什么时候应该使用解析器生成器?
谢谢,
威廉范多恩
最佳答案
除了“针对特定情况使用最简单的方法”之外,没有硬性答案。
我的经验是,解析器在其生命周期内往往会变得更加复杂,因此预先使用解析器生成器通常会有返回。即使语言没有变得更复杂,使用生成器也会迫使您创建语法的正式规范,这本身就很有值(value)。
缺点是其他程序员可能不知道如何使用生成器,因此其他人很难提供帮助,并且使您的项目依赖于该生成器。
关于parsing - 语法/自己编写的解析器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2704883/