可以使用状态机的一次传递来解析文档。两次通过,即有什么好处?有一个词法分析器将文本转换为令牌,并有一个解析器来测试这些令牌的生产规则?为什么没有一次将生产规则直接应用于文本的过程?
2
相关:programmers.stackexchange.com/questions/128888/…–
—
用户
这已经在CS,stackexchange上进行了讨论,并附有许多非常技术性的注释,以解答lexer + parser的表现力。但是那里可能还有进一步的答案的空间。
—
2015年
我不知道管道样式的并行性(尽管高度不平衡的阶段)是否可能是附带优势。指令和数据缓存行为可能也很有趣。多少(如果有的话)会减少编译时间将取决于特定的硬件。
—
保罗·克莱顿
一个相当明显的原因(至少对我而言)是您可以分别使用扫描仪工具。在实践中,我经常使用flex来扫描输入,但是很少需要yacc的全部功能。
—
jamesqf