C grammar in GCC source code

青春壹個敷衍的年華 提交于 2019-11-29 01:21:20

问题


I'm looking for the C grammar in GCC source code, more specifically for the grammar in the yacc/bison form.


回答1:


Found the C grammar in Yacc specification in the GCC version 3.3 in the file "c-parse.y"




回答2:


You will not find a C grammar yacc/bison file within the current GCC source code. It was done in the past, before the egcs fork stuff. I cannot give you the exact version and location, but i can tell you that it should be in the 2.x release

The current version of GCC has its own C parser




回答3:


GCC of version 4.3 did not contain explicitly written C grammar. Parsing and semantical analysis were performed simultaneously, without presenting syntax tree as a separate data structure.

Information source: I read the GCC source code.




回答4:


GCC's g++ switched from a yacc (bison) based parser years ago (probably at least 5 years). They started using a recursive decent parser because C++ is difficult in yacc.

After using this parser in for C++ for several years they switched C to parsing using recursive decent as well.

You will have to go back several versions to locate the grammar in bison format, but it is out there. You should try google's code search with

gcc yyparse

Update: Google Code Search Shutdown in 2012

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

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

to find a version of gcc that has it and then you should be able to find the yacc/bison source file in there. It will be old, though.




回答5:


GCC doesn't use a generated parser; its parser is a hand-written recursive-descent parser.




回答6:


Also ANSI C Yacc grammar




回答7:


The C grammar can be found in comments in c-parser.c file in GCC sources. It is not a yacc/bison though as it has already been said.



来源:https://stackoverflow.com/questions/2721071/c-grammar-in-gcc-source-code

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!