#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” [...].
Комментариев нет:
Отправить комментарий