Какая нотация используется в стандарте ISO 14882?

212
02 июля 2017, 15:03

Стало интересно, как читать стандарт. Формальные правила типа BNF, EBNF, Z, ASN.1 не корреллируют со стилем изложения в стандарте. Все нотации то я посмотрел используют либо ::= либо = как знак определения, а в стандарте используется двоеточие.

assignment-expression:
               conditional-expression
               logical-or-expression assignment-operator assignment-expression
               throw-expression

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

Answer 1

Там используется своя нотация предназначенная для чтения человеком, а не для машинного парсинга как например BNF.

Краткое описание нотации дано в разделе Syntax notation [syntax]:

In the syntax notation used in this document, syntactic categories are indicated by italic type, and literal words and characters in constant width type.
Alternatives are listed on separate lines except in a few cases where a long set of alternatives is marked by the phrase “one of”.
If the text of an alternative is too long to fit on a line, the text is continued on subsequent lines indented from the first one.
An optional terminal or non-terminal symbol is indicated by the subscript “opt” [...].

READ ALSO
Отправка большого tcp-пакета по сегментам

Отправка большого tcp-пакета по сегментам

Пишу программу для перехвата tcp-трафика в корпоративной сети, при котором клиенту отправляется обратно tcp-пакет с html-страницей (какая-нибудь...

211
DirectX функция D3DXVec3Normalize, нормализация вектора

DirectX функция D3DXVec3Normalize, нормализация вектора

Начал изучать графику, изучаю функции матбиблиотеки dx, и одна функция отказывается работать

251
cpprestsdk(casablanca) json преобразовать в вектор байтов

cpprestsdk(casablanca) json преобразовать в вектор байтов

Всем здрасте, использую cpprestsdk для напиания http клиента, стоит задача преобразовать такой json в std::vector<unsigned char>

260