литерал:
целая константа
символьная константа
константа с плавающей точкой
строка литералов
описания:
спецификации-описания 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 ( строка-литерал ) ;
список-описаний:
описатель-с-инициализатором
список-описаний , описатель-с-инициализатором
описатель-с-инициализатором:
описатель инициализатор 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}
( список-выражений )
список-инициализаторов:
Читать дальше