Подтвердить что ты не робот

Бесконтекстная грамматика для C

Я работаю над парсером для C. Я пытаюсь найти список всех контекстно-свободных дифференцировок для C. В идеале это было бы в BNF или аналогичном. Я уверен, что такая вещь есть, но googling вокруг не дал мне многого.

Чтение исходного кода для существующих синтаксических анализаторов/компиляторов оказалось гораздо более запутанным, чем полезным, так как большинство из них, которые я нашел, гораздо более амбициозны и сложны, чем тот, который я создаю.

4b9b3361

Ответ 1

Вы всегда можете использовать приложение А стандарта C11. Свободно доступный проект стандарта будет работать в ваших целях, http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf.

Ответ 3

В грамматике ANSI для C99 есть ошибка во внешней декларации: определение функции.

Вы можете использовать его, а также Приложение A.13 Кернигана - язык программирования C, выпуск ANSI C.