wvd*_*wvd 2 grammar parsing generator
我正在做一些涉及为某些东西使用不同语法的小项目,但有时这些语法很容易使用解析器生成器可能有点过分.
现在,我何时应该使用手工制作的解析器,何时应该使用解析器生成器?
谢谢,
威廉范多恩
除了"使用对于特定情况最简单的东西"之外,没有任何硬性答案.
我的经验是解析器在其生命周期中往往变得更加复杂,因此预先使用解析器生成器通常会得到回报.即使语言没有变得更复杂,使用生成器也会强制您创建语法的正式规范,这本身就很有价值.
缺点是其他程序员可能不知道如何使用生成器,因此它使其他人难以帮助,并且它使您的项目依赖于该生成器.