C грамматика в исходном коде GCC

Я ищу грамматику C в исходном коде GCC, больше специально для грамматики в форме yacc/bison.

12
задан Haruki 27 April 2010 в 12:24
поделиться

5 ответов

Обнаружил грамматику C в спецификации Yacc в GCC версии 3.3 в файле "c-parse.y"

12
ответ дан 2 December 2019 в 03:18
поделиться

GCC версии 4.3 не содержал явно написанной грамматики C. Синтаксический анализ и семантический анализ выполнялись одновременно, без представления синтаксического дерева как отдельной структуры данных.

Источник информации: Я читал исходный код GCC.

7
ответ дан 2 December 2019 в 03:18
поделиться

GCC GCC перешел с парсера на основе yacc (bison) много лет назад (вероятно, по крайней мере, 5 лет). Они начали использовать рекурсивный приличный парсер, потому что C ++ сложен в yacc.

После использования этого синтаксического анализатора для C ++ в течение нескольких лет они переключили C на синтаксический анализ, также используя рекурсивный анализ.

Вам придется вернуться на несколько версий, чтобы найти грамматику в формате bison, но она там есть. Вам следует попробовать поиск кода Google с помощью

gcc yyparse

Обновление: отключение поиска кода 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 исходный файл. Но он будет старым.

7
ответ дан 2 December 2019 в 03:18
поделиться

Вы не найдете файл yacc / bison грамматики C в текущем исходном коде GCC. Это было сделано раньше, до форка egcs. Я не могу назвать вам точную версию и местоположение, но могу сказать, что он должен быть в версии 2.x

Текущая версия GCC имеет свой собственный синтаксический анализатор C

10
ответ дан 2 December 2019 в 03:18
поделиться

GCC не использует сгенерированный синтаксический анализатор; его синтаксический анализатор представляет собой рукописный синтаксический анализатор с рекурсивным спуском.

5
ответ дан 2 December 2019 в 03:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: