Выбрать главу

    спецификаторы-объявлениянеоб объявитель

    список-объявленийнеоб составная-инструкция

объявление:

    спецификаторы-объявления список-инициализаторов-объявителейнеоб

список-объявлений:

    объявление

    список-объявлений объявление

спецификаторы-объявления:

    спецификатор-класса-памяти спецификаторы-объявлениянеоб

    спецификатор-типа спецификаторы-объявлениянеоб

    квалификатор-типа спецификаторы-объявлениянеоб

спецификатор-класса-памяти: один из

    auto     register     static     extern     typedef

спецификатор-типа: один из

    void char short int long float double signed unsigned

    спецификатор-структуры-или-объединения

    спецификатор-перечисления

    typedef-имя

квалификатор-типа: один из

    const    volatile

спецификатор-структуры-или-объединения:

    структуры-или-объединения-идентификаторнеоб { список-объявлений-структуры }

    структуры-или-объединения идентификатор

структура-или-объединение: одно из

    struct   union

список-объявлений-структуры:

    объявление-структуры

    список-объявлений-структуры объявление-структуры

список-объявителей-ииициализаторов:

    объявитель-инициализатор

    список-объявителей-инициализаторов , объявитель-инициализатор

объявитель-инициализатор:

    объявитель

    объявитель = инициализатор

объявление-структуры:

    список-спецификаторов-квалификаторов список-объявителей-структуры

список-спецификаторов-квалификаторов:

    спецификатор-типа список-спецификаторов-квалификаторовнеоб

    квалификатор-типа список-спецификаторов-квалификаторовнеоб

список-структуры-объявителей:

    структуры–объявитель

    список-структуры-объявителей , структуры-объявитель

структуры-объявитель:

    объявитель

    объявительнеоб : константное-выражение

спецификатор-перечисления:

    enum идентификаторнеоб { список-перечислителей }

    enum идентификатор

список-перечислителей:

    перечислитель

    список-перечислителей перечислитель

перечислитель:

    идентификатор

    указательнеоб собственно-объявитель

собственно-объявитель:

    идентификатор

    ( объявитель )

    собственно-объявитель [ константное-выражениенеоб ]

    собственно-объявитель ( список-типов-параметров )

    собственно-объявитель ( список-идентификаторовнеоб )

указатель:

    * список~квалификаторов-типанеоб

    * список-квалификаторов-типанеоб указатель

список-квалификаторов-типа:

    квалификатор-типа

    список-квалификаторов-типа квалификатор-типа

список-типов-параметров:

    список-параметров

    список-параметров , ...

список-параметров:

    объявление-параметра

    список-параметров , объявление-параметра

объявление-параметра:

    спецификаторы-объявления объявитель

    спецификаторы-объявления абстрактный-объявительнеоб

список-идентификаторов:

    идентификатор

    список-идентификаторов , идентификатор

инициализатор:

    выражение-присваивания

    { список-инициализаторов }

    { список-инициализаторов, }

список-инициализаторов:

    инициализатор

    список-инициализаторов , инициализатор

имя-типа:

    список-спецификаторое-квалификаторов абстрактный-объявительнеоб

абстрактный-объявитель:

    указатель

    указательнеоб собственно-абстрактный-объявитель

собственно-абстрактный-объявитель:

    ( абстрактный-объявитель )

    собственно-абстрактный-объявительнеоб [константное-выражениенеоб]

    собственно-абстрактный-объявительнеоб (список-типов-параметровнеоб)

typedef-имя:

    идентификатор

инструкция:

    помеченная-инструкция

    инструкция–выражение