语法/自己编写的解析器?

wvd*_*wvd 2 grammar parsing generator

我正在做一些涉及为某些东西使用不同语法的小项目,但有时这些语法很容易使用解析器生成器可能有点过分.

现在,我何时应该使用手工制作的解析器,何时应该使用解析器生成器?

谢谢,

威廉范多恩

Kri*_*son 5

除了"使用对于特定情况最简单的东西"之外,没有任何硬性答案.

我的经验是解析器在其生命周期中往往变得更加复杂,因此预先使用解析器生成器通常会得到回报.即使语言没有变得更复杂,使用生成器也会强制您创建语法的正式规范,这本身就很有价值.

缺点是其他程序员可能不知道如何使用生成器,因此它使其他人难以帮助,并且它使您的项目依赖于该生成器.