我听说“真正的编译器编写者”推出了他们自己的手工解析器,而不是使用解析器生成器。我也听说解析器生成器不会为真实世界的语言剪切它。据说,有很多特殊情况使用解析器生成器很难实现。我怀疑这一点:生产编译器是否使用解析器生成器?
- 从理论上讲,一个GLR分析器发电机应该能够处理大多数编程语言设计(也许除了C++ ......)
- 我知道,使用至少一个生产语解析器生成器:Ruby [1]。
- 当我在学校上课时,我们使用了一个解析器生成器。
所以我的问题:使用解析器生成器编写生产编译器,还是使用编译器社区认为糟糕的设计决策的解析器生成器是否合理?
[1] https://github.com/ruby/ruby/blob/trunk/parse.y
真正的程序员使用面包板。 – Woot4Moo
我以为他们使用蝴蝶http://xkcd.com/378/ –
@Fichman touche我的朋友 – Woot4Moo