GCC源代码中的C语法

Har*_*uki 12 c grammar gcc yacc bison

我正在寻找GCC源代码中的C语法,更具体地说是yacc/bison形式的语法.

Har*_*uki 12

在文件"c-parse.y"中的GCC版本3.3中找到Yacc规范中的C语法

  • http://yaxx.googlecode.com/svn/branches/yaxx-proc/gcc-3.4.0/gcc/c-parse.y (2认同)

Sys*_*ank 10

您将无法在当前GCC源代码中找到C语法yacc/bison文件.它是在过去,在egcs fork之前完成的.我不能给你确切的版本和位置,但我可以告诉你它应该在2.x版本中

当前版本的GCC有自己的C解析器


P S*_*ved 7

版本4.3的GCC不包含明确编写的C语法.同时进行解析和语义分析,而不将语法树作为单独的数据结构呈现.

信息来源:我阅读了GCC源代码.


nat*_*ose 7

GCC的g ++几年前从基于yacc(bison)的解析器切换(可能至少5年).他们开始使用递归的正确解析器,因为在yacc中C++很难.

在C++中使用这个解析器几年之后,他们还使用递归的体系将C切换为解析.

你将不得不返回几个版本来找到野牛格式的语法,但它就在那里.您应该尝试google的代码搜索

gcc yyparse

更新:2012年Google代码搜索关闭

http://en.wikipedia.org/wiki/Google_Code_Search

旧:http://yaxx.googlecode.com/svn/branches/yaxx-proc/gcc-3.4.0/gcc/c-parse.y

找到有它的gcc版本然后你应该能够在那里找到yacc/bison源文件.不过,它会变老.

  • 我认为你的意思是_descent_,虽然解析器足够_decent_ :) (6认同)

Jör*_*tag 5

GCC不使用生成的解析器;它的解析器是一个手写的递归下降解析器。

  • 从 4.6+ 版本开始是这样 (2认同)