C грамматика в исходном коде GCC
Я ищу грамматику C в исходном коде GCC, более конкретно для грамматики в форме yacc/bison.
7 ответов
вы не найдете файл грамматики C yacc/bison в текущем исходном коде GCC. Это было сделано в прошлом, до того, как egcs вилка вещи. Я не могу дать вам точную версию и местоположение, но я могу сказать вам, что он должен быть в 2.х освободить
текущая версия GCC имеет свой собственный парсер C
GCC версии 4.3 не содержит явно написанной грамматики C. Синтаксический анализ и семантический анализ выполнялись одновременно, без представления синтаксического дерева в виде отдельной структуры данных.
источник информации: я прочитал исходный код GCC.
gcc g++ переключился с парсера на основе yacc (bison) несколько лет назад (вероятно, не менее 5 лет). Они начали использовать рекурсивный приличный парсер, потому что C++ трудно в yacc.
после использования этого парсера в C++ в течение нескольких лет они переключили C на синтаксический анализ, используя рекурсивный decent.
вам придется вернуться к нескольким версиям, чтобы найти грамматику в формате bison, но она там. Вы должны попробовать поиск кода google с
gcc yyparse
Update: завершение поиска кода Google в 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 там. Но он будет старым.
грамматику C можно найти в комментариях в С-парсер.c файл в источниках GCC. Это не yacc/bison, хотя, как уже было сказано.