问题描述
一个都叫在其博客中表示GCC和Clang的解析器是手写写的,不与YACC的帮助下完成或任何其他编译器编译器。此外,他似乎是说,他们是递归下降解析器。
A guy named Eli Bendersky wrote in his blog that GCC and Clang parser are handwritten, that is not done with the help of yacc or any other compiler-compiler. Furthermore he seems to say that they are recursive-descent parsers.
莫非有人在这里证实,一些主流的编译器框架仍然采取这种手写的解析器?
Could someone here confirm that some mainstream compiler frameworks still resort to such handwritten parsers?
更新:有趣的博客
推荐答案
是:
-
在GCC时使用的YACC(野牛)分析器一次,但它与在3.x系列的一些点手写递归下降解析器代替:看的获取链接到相关的补丁提交。
GCC used a yacc (bison) parser once upon a time, but it was replaced with a hand-written recursive descent parser at some point in the 3.x series: see http://gcc.gnu.org/wiki/New_C_Parser for links to relevant patch submissions.
锵还采用了手写的递归下降解析器:请参见对于C一个统一的解析器,目标C,C ++和Objective C ++附近的。
Clang also uses a hand-written recursive descent parser: see the section "A single unified parser for C, Objective C, C++ and Objective C++" near the end of http://clang.llvm.org/features.html .
这篇关于被GCC和Clang的解析器真的手写的吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!