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


Конкретизация настройки - часть 7


Формальному типу настройки, определенному символами

delta о,

сопоставляется любой фиксированный подтип. Никакие другие сопоставления для этих формальных типов настройки невозможны.

Ссылки:

бокс 12.1.2, дискретный тип 3.5, определение настраиваемого типа 12.1, перечислимый тип 3.5.1, плавающий тип 3.5.7, скалярный тип 3.5, сопоставление фактических параметров настройки 12.3, фактический тип настройки 12.1.2, фиксированный тип 3.5.9, формальный тип настройки 12.1.2, целый тип 3.5.4.

12.3.4. ПРАВИЛА СОПОСТАВЛЕНИЯ ДЛЯ ФОРМАЛЬНЫХ ИНДЕКСИРУЕМЫХ ТИПОВ

Формальному индексируемому типу сопоставляется фактический индексируемый подтип, удовлетворяющий следующим условиям:

•Формальный и фактический индексируемые типы должны иметь одинаковые размерности; формальный тип и фактический подтип должны быть либо оба ограниченными, либо оба неограниченными.

•Для каждой позиции индекса тип индекса фактического индексируемого типа должен совпадать с типом индекса формального индексируемого типа.

•Типы компонент фактического и формального индексируемых типов должны быть одинаковыми. Если тип компоненты отличен от скалярного, то подтипы компонент фактического и формального индексируемых типов должны быть либо оба ограниченными, либо оба неограниченными.

Если настраиваемый модуль имеет формальный индексируемый тип, то при предвыполнении соответствующей конкретизации проверяются совпадения ограничений (если они есть) на тип компоненты фактического индексируемого типа с ограничениями для формального индексируемого типа; для любой данной позиции индекса индексируемых подтипов или дискретных диапазонов проверяется совпадение границ. При несовпадениях возбуждается исключение CONSTRAINT-ERROR.

Пример:

-- задание настраиваемого пакета generic

type ITEM is private;

type INDEX is (<>&#xBB;; type VECTOR is array (INDEX range <>) of ITEM; type TABLE is array (INDEX) of ITEM;

package P is

... end;

&#x2014;- даны типы type MIX is array (COLOR range <>) of BOOLEAN; type OPTION is array (COLOR) of BOOLEAN;




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



Книжный магазин