Справочное руководство по языку Ада-83


Именуемые типы - часть 6


Начальные значения дискриминантов объекта, имеющего тип с дискриминантами, определены следующим образом:

• Для объявленной описанием объекта переменной указание подтипа должно быть ограничено ограничением дискриминанта, если выражения по умолчанию для дискриминантов отсутствуют; значения дискриминантов определены либо ограничением, либо при отсутствии его выражением по умолчанию. То же самое требование существует для указания подтипа в описании компоненты, если тип компоненты записи имеет дискриминанты, а также для указания подтипа компоненты индексируемого типа, если тип компоненты массива — тип с дискриминантами.

• Для объявленной описанием объекта константы значения дискриминантов берутся из начального значения, если подтип константы не ограничен; иначе они определяются из этого подтипа (в последнем случае возбуждается исключение, если начальное значение не принадлежит этому подтипу). То же правило применяется к параметру настройки вида

in.

• Для указанного ссылочным значением объекта значения дискриминантов должны быть определены генератором, создающим объект. (Созданный объект ограничен соответствующими значениями дискриминантов.)

• Для формального параметра подпрограммы или входа дискриминанты формального параметра инициализированы значениями дискриминантов соответствующего фактического параметра. (Формальный параметр ограничен, если соответствующий фактический параметр ограничен, и ограничен в любом случае, если его вид

in

или если подтип формального параметра ограничен.)

• Для описания переименования и для формального параметра настройки вида

in out

дискриминанты — это дискриминанты переименованного объекта или соответствующего фактического параметра настройки.

Порядок вычислений выражений, данных в сопоставлениях дискриминантов, при предвы-полнении ограничения дискриминанта в языке не определен; выражение именованного сопоставления вычисляется по одному разу для каждого именованного дискриминанта.




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