4 General principles [intro]

4.3 Syntax notation [syntax]

В нотации синтаксиса, используемой в этом документе, синтаксические категории обозначаются italic типом, а буквальные слова и символы - constant width типом. Альтернативы перечислены в отдельных строках, за исключением некоторых случаев, когда длинный набор альтернатив отмечен фразой «одна из». Если альтернативный текст слишком длинный для размещения в строке, текст продолжается на последующих строках с отступом от первой. Необязательный терминальный или нетерминальный символ обозначается нижним индексом «opt», поэтому

{ expressionopt }

указывает на необязательное выражение, заключенное в фигурные скобки.

Имена для синтаксических категорий обычно выбираются в соответствии со следующими правилами:

  • X-name является использование идентификатора в контексте , который определяет его значение (например, class-name, typedef-name).

  • X-id - идентификатор без контекстно-зависимого значения (например, qualified-id).

  • X-seq - это один или несколько Xбез промежуточных разделителей (например, declaration-seqэто последовательность объявлений).

  • X-list один или несколько Xразделенных запятыми (например, identifier-listэто последовательность идентификаторов, разделенных запятыми).