Справочное руководство по C++ - страница 64
>описатель-new:
> * список-спецификаций-cv >opt описатель-new >opt
> имя-класса :: список-спецификаций-cv >opt описатель-new >opt
> описатель-new >opt [ выражение ]
>инициализатор-new:
> ( список-инициализаторов >opt )
>выражение-освобождения:
> :: >opt delete выражение-приведения
> :: >opt delete [ ] выражение-приведения
>постфиксное-выражение:
> первичное-выражение
> постфиксное-выражение [ выражение ]
> постфиксное-выражение ( список-выражений >opt )
> имя-простого-типа ( список-выражений >opt )
> постфиксное-выражение . имя
> постфиксное-выражение -› имя
> постфиксное-выражение ++
> постфиксное-выражение --
>список-выражений:
> выражение-присваивания
> список-выражений , выражение-присваивания
>первичное-выражение:
> литерал
> this
> :: идентификатор
> :: имя-функции-операции
> :: уточненное-имя
> ( выражение )
> имя
>имя:
> идентификатор
> имя-функции-операции
> имя-функции-преобразования
> ~имя-класса
> уточненное-имя
>уточненное-имя:
> уточняющее-имя-класса :: имя
>литерал:
> целая константа
> символьная константа
> константа с плавающей точкой
> строка литералов
R.17.3 Описания
>описания:
> спецификации-описания >opt список-описателей >opt;
> описание-asm
> определение-функции
> спецификация-связи
>спецификация-описания:
> спецификация-класса-памяти
> спецификация-типа
> спецификация-fct
> спецификация-шаблона-типа
> friend
> typedef
>спецификации-описания:
> спецификации-описания >opt спецификация-описания
>спецификация-класса-памяти:
> auto
> register
> static
> extern
>спецификация-fct:
> inline
> virtual
>спецификация-типа:
> имя-простого-типа
> спецификация-класса
> спецификация-перечисления
> спецификация-сложного-типа
> :: имя-класса
> const
> volatile
>имя-простого-типа:
> полное-имя-класса
> уточненное-имя-типа
> char
> short
> int
> long
> signed
> unsigned
> float
> double
> void
>спецификация-сложного-типа:
> служебное-слово-класса имя-класса
> служебное-слово-класса идентификатор
>служебное-слово-класса:
> class
> struct
> union
>уточненное-имя-типа:
> имя-typedef
> имя-класса :: уточненное-имя-типа
>полное-имя-класса:
> уточненное-имя-класса
> :: уточненное-имя-класса
>уточненное-имя-класса:
> имя-класса
> имя-класса :: уточненное-имя-класса
>имя-перечисления:
> идентификатор
>спецификация-перечисления:
> enum идентификатор >opt { список-перечисления }
>список-перечисления:
> элемент-перечисления
> список-перечисления , элемент-перечисления
>элемент-перечисления:
> идентификатор
> идентификатор = выражение-константа
>спецификация-связи:
> extern строка-литерал { список-описаний >opt }
> extern строка-литерал описание
>список-описаний:
> описание
> список-описаний описание
>описание-asm:
> asm ( строка-литерал ) ;
R.17.4 Описатели
>список-описаний:
> описатель-с-инициализатором
> список-описаний , описатель-с-инициализатором
>описатель-с-инициализатором:
> описатель инициализатор >opt
>описатель:
> имя-в-описателе
> операция-ptr описатель
> описатель ( список-описаний-параметров ) список-спецификаций-cv >opt
> описатель [ выражение-константа >opt ]
> ( описатель )
>операция-ptr:
> * список-спецификаций-cv >opt
> & список-спецификаций-cv >opt
> полное-имя-класса :: * список-спецификаций-cv >opt
>список-спецификаций-cv:
> const
> volatile
>имя-в-описателе:
> имя
> имя-класса
> ~имя-класса
> имя-typedef
> уточненное-имя-типа
>имя-типа:
> список-спецификаций-типа абстрактный-описатель >opt
>список-спецификаций-типа:
> спецификация-типа список-спецификаций-типа
>абстрактный-описатель:
> операция-ptr абстрактный-описатель >opt
> абстрактный-описатель >opt ( список-описаний-параметров ) список-спецификаций_cv >opt
> абстрактный-описатель >opt [ выражение-константа >opt ]
> ( абстрактный-описатель )
>список-описаний-параметров:
> список-описаний-парам >opt … >opt
> список-описаний-парам , …
>список-описаний-парам:
> описание-параметра
> список-описаний-парам , описание-параметра
>описание-параметра:
> спецификации-описания описатель
> спецификации-описания описатель = выражение
> спецификации-описания абстрактный-описатель >opt
> спецификации-описания абстрактный-описатель >opt = выражение
>определение-функции:
> спецификации-описания >opt описатель инициализатор-ctor тело-функции
>тело-функции:
> составной-оператор
>инициализатор:
> = выражение-присваивания
> = { список-инициализаторов , >opt }
> ( список-выражений )
>список-инициализаторов:
> выражение-присваивания
> список-инициализаторов , выражение-присваивания