C++.Бархатный путь


Объявление переменных - часть 2


СпецификаторТипа ::= ИмяПростогоТипа

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

::= СпецификаторКласса

::= УточнённыйСпецификаторТипа

УточнённыйСпецификаторТипа ::= КлючевоеСловоКласса Идентификатор

::= КлючевоеСловоКласса ИмяКласса

::= enum ИмяПеречисления

ИмяПростогоТипа ::= char ::= short ::= int ::= long ::= signed ::= unsigned ::= float ::= double ::= void ::= ******

cvСпецификатор ::= const ::= volatile

СписокОписателей ::= ОписательИнициализатор

::= СписокОписателей , ОписательИнициализатор

ОписательИнициализатор ::= Описатель [Инициализатор]

Описатель ::= dИмя

::= (Описатель) ::= *****

Инициализатор ::= = Выражение

::= (СписокВыражений) ::= *****

Выражение ::= Литерал ::= Имя

::= *****

СписокВыражений ::= ВыражениеПрисваивания

::= СписокВыражений , ВыражениеПрисваивания

dИмя ::= Имя

::= ИмяКласса

::= ~ ИмяКласса

::= ОписанноеИмяТипа

::= КвалифицированноеИмяТипа

ВыражениеПрисваивания - этот нетерминальный символ используется в Справочном руководстве по C++ для обозначения элементов списка выражений. Не следует особо смущаться по поводу этого нового обозначения. Это всего лишь частный случай выражения.

dИмя - это имя того, что описывается описателем в данном объявлении. В "Справочном руководстве по языку программирования C++" английский эквивалент понятия описатель - declarator. Обилие нетерминальных символов, производных от символа Имя не должно вызывать никаких затруднений. В конечном счёте, нетерминальные символы ИмяКласса , ОписанноеИмяТипа , ИмяПеречисления (об этом позже) - являются обыкновенными идентификаторами. Всё зависит от контекста объявления. Что объявляется, так и называется. Именующее класс ОписанноеИмяТипа одновременно является и ИменемКласса .

ИмяКласса ::= Идентификатор ОписанноеИмяТипа ::= Идентификатор ИмяПеречисления::= Идентификатор

Мы располагаем достаточно большим (хотя пока и неполным) множеством БНФ, которые задают правила построения синтаксически безупречных операторов объявления переменных в C++.

Согласно приведённым правилам, оператором объявления переменных будет считаться пустой оператор ;




- Начало -  - Назад -  - Вперед -