Страницы

Поиск по вопросам

четверг, 9 января 2020 г.

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

#cpp #iso


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

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


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


Ответы

Ответ 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” [...].

Комментариев нет:

Отправить комментарий