我正在寻找GCC源代码中的C语法,更具体地说是yacc/bison格式的语法。GCC源代码中的C语法
回答
发现在Yacc规定的C语法在3.3 GCC版本的文件在 “C-parse.y”
http://yaxx.googlecode.com/svn/branches/yaxx-proc/gcc-3.4.0/gcc/c-parse.y – 2013-10-09 05:05:49
版本4.3的GCC不包含明确写入的C语法。解析和语义分析是同时进行的,不需要将语法树作为独立的数据结构。
信息来源:我读过GCC源代码。
在当前GCC源代码中找不到C语法yacc/bison文件。它是在过去,在egcs fork之前完成的。我不能给你确切的版本和位置,但我可以告诉你,这应该是在2.x版本
GCC的当前版本有它自己的C解析器
所以在GCC源代码中有一个语法规范,对吧?用GCC自己的C语法分析器进行解析。你知道我在哪个文件中找到它吗? – Haruki 2010-04-27 13:17:51
@Hurkai @Hurkai你可以在评论中找到执行解析的子程序:-) – 2010-04-27 13:22:30
GCC的G ++从YACC切换(野牛)多年前的解析器(可能至少5年)。他们开始使用递归体裁解析器,因为C++在yacc中很困难。
将这个解析器用于C++数年之后,他们将C切换到使用递归下标进行解析。
你将不得不返回几个版本来定位bison格式的语法,但它在那里。你应该尝试谷歌代码搜索与
GCC yyparse
更新:谷歌代码搜索关闭在2012年
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_ :) – 2010-04-29 08:06:40
GCC不使用生成的解析器;它的解析器是一个手写的递归下降解析器。
它从4.6+版本开始是真的 – Jack 2013-01-22 01:28:52
@Jack:有趣!你能指点我的任何文件吗?我知道他们从性能和(更重要的)可维护性原因(可能在3.4-4.2时间范围内的某处)(我没有精确记得)将*从生成的分析器*转换为新手写的*。什么原因切换回来,他们使用哪个分析器生成器? – 2013-01-22 01:34:21
的C语法可以在C-解析器注释中找到。在GCC源文件中输入c文件。 它不是yacc /野牛,因为它已经被说过了。
- 1. GCC源代码目录(.c文件)
- 2. 骨干源代码中的Javascript语法
- 3. R语言源代码 - C代码中的NOMORE_FOR_THREADS是什么
- 4. 如何解码gcc编译的c源代码
- 5. GCC不承认* .C源代码作为有效的C程序
- 6. Xiaolin Wu在C语言中线程算法的源代码?
- 7. C++语法和代码
- 8. C++中的SetFileAttributeW源代码
- 9. 关于C++模板语法(STL库源代码)的问题
- 10. 如何使用gcc在Intel语法中生成汇编代码?
- 11. 从源代码编译gcc时出错
- 12. gcc -g flag:移动源代码
- 13. 如何下载GCC源代码?
- 14. 从源代码编译gcc(问题)
- 15. 使用代码折叠的源代码语法突出显示
- 16. antlr - 从java源代码生成语法
- 17. 使用gcc编译C源代码时出现问号
- 18. 最强C代码的GCC选项?
- 19. 用GCC编译的16位C代码
- 20. Objective-C源代码
- 21. Google.Apis.Auth源代码c#
- 22. C源代码DLL
- 23. c#.net源代码
- 24. C库源代码
- 25. 在C源代码
- 26. 使用aws codebuild构建代码。源代码版本语法
- 27. gcc如何知道源代码的来源?
- 28. 监控C语言中同步线程的源代码
- 29. 如何从gcc的C/C++源代码获得汇编程序输出?
- 30. 测试C/C++源代码
这更像是一个陈述而不是问题? (我决定回答我的陈述作为一个问题,好玩!) – 2010-04-27 12:30:12
你试过Google搜索吗?我搜索了“c yacc语法”,并提出了http://www.lysator.liu.se/c/ANSI-C-grammar-y.html以及其他许多点击。 – 2010-04-27 12:30:17
@Neil,也许这不是Hurkai的意思,但GCC有一些C扩展,而通用的C语法不能完全适合它。 – 2010-04-27 12:41:05