Существует ли стандартная грамматика C++?

Стандарт указывает официальную грамматику C++?

Я искал, но не нашел его нигде.

Кроме того, я хочу читать немного о грамматике C++ подробно, как которая категория грамматик это обрушивается и т.д. Любые ссылки, указывающие на меня в правильном направлении, были бы полезны.

По категориям я имею в виду

Click to enlarge взятый отсюда.

28
задан Brian Tompsett - 汤莱恩 26 May 2015 в 10:31
поделиться

4 ответа

Да, это так.

Грамматика подробно описана в стандарте и резюмирована в Приложении A: Сводка грамматики (это Приложение A как к стандарту C ++ 03, так и к окончательному проекту комитета C ++ 0x).

Вы можете приобрести стандарт C ++ 03 или загрузить C ++ 0x FCD (это документ n3092 на этой странице).

Чтобы ответить на вопрос «к какой категории это относится?» вопрос, грамматика C ++ не контекстно-свободная (также см. вопросы, связанные с ответами на этот вопрос; у них есть дополнительные примеры проблем, связанных с грамматикой C ++ и синтаксическим анализом C ++).

27
ответ дан 28 November 2019 в 03:28
поделиться

Бьярн Страуструп, создатель C ++, написал книгу под названием «Язык программирования C ++», которая многократно обновлялась (я читал 3-е издание около 10 лет назад ). Я помню, что в нем были очень технические детали относительно грамматики (препроцессор и компилятор).

Вы, вероятно, найдете эту книгу в одном из местных книжных магазинов, она может доставить вам больше удовольствия, чем стандарт ANSI, в зависимости от того, насколько конкретным вам нужно быть.

2
ответ дан 28 November 2019 в 03:28
поделиться

Эндрю Биркетт имеет подробный обзор синтаксического анализа C ++ на своем веб-сайте . Он охватывает некоторые трудности при создании грамматики C ++ (сочетание лексического, синтаксического и семантического анализа) и включает ссылки на несколько грамматик C ++.

5
ответ дан 28 November 2019 в 03:28
поделиться

Не уверен, но, насколько я понимаю, ссылка Джеймса МакНеллиса (на pdf) содержит примечание на первой странице:

Предупреждение

Этот документ не является ISO Международный стандарт. это распространяется для просмотра и комментариев. Это может быть изменено без предварительного уведомления и не может называться Международный стандарт.

Итак, поискал, и я думаю, что это правильная ссылка на официальный ISO: http://www-d0.fnal.gov/~dladams/cxx_standard.pdf

0
ответ дан 28 November 2019 в 03:28
поделиться
Другие вопросы по тегам:

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