我正在尋找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. R語言源代碼 - C代碼中的NOMORE_FOR_THREADS是什麼
- 2. 如何解碼gcc編譯的c源代碼
- 3. GCC不承認* .C源代碼作爲有效的C程序
- 4. Xiaolin Wu在C語言中線程算法的源代碼?
- 5. C++語法和代碼
- 6. C++中的SetFileAttributeW源代碼
- 7. 關於C++模板語法(STL庫源代碼)的問題
- 8. 如何使用gcc在Intel語法中生成彙編代碼?
- 9. 如何下載GCC源代碼?
- 10. gcc -g flag:移動源代碼
- 11. 使用代碼摺疊的源代碼語法突出顯示
- 12. antlr - 從java源代碼生成語法
- 13. Objective-C源代碼
- 14. C源代碼DLL
- 15. c#.net源代碼
- 16. 在C源代碼
- 17. 使用aws codebuild構建代碼。源代碼版本語法
- 18. 如何在C源代碼中搜索簡單的if語句?
- 19. 如何從gcc的C/C++源代碼獲得彙編程序輸出?
- 20. 源代碼語言分析
- 21. 是否可以從gcc中的C源代碼內部鏈接到數學庫?
- 22. 測試C/C++源代碼
- 23. GCC無法編譯正確的代碼
- 24. 目標C源代碼方法排序
- 25. 在GCC調試二進制文件中的源代碼位置
- 26. gcvt或gcvtf在gcc源代碼中定義的位置?
- 27. 在C源代碼中加密密碼
- 28. gcc編譯無效C代碼
- 29. GCC C++和內聯彙編代碼?
- 30. 使用GCC預處理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