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


Конкретизация настройки


Экземпляр настраиваемого модуля описывается конкретизацией настройки.

конкретизация - настройки ::= package идентификатор is new имя-настраиваемого-пакета [раздел - фактических - параметров - настройки]; | procedure идентификатор is new имя- настраиваемой -процедуры [раздел - фактических - параметров - настройки]; | function обозначение is new имя-настраиваемой-функции [раздел - фактических - параметров - настройки];

раздел-фактических-параметров-настройки ::= (сопоставление-параметров-настройки {, сопоставление-параметров-настройки}

сопоставление-параметров-настройки ::= [формальный-параметр-настройки = >] фактический-параметр-настройки

формальный-параметр-настройки ::= простое-имя-параметра | знак-операции

фактический-параметр-настройки :: = выражение имя-переменной | имя-подпрограммы имя-входа

| обозначение-типа

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

Каждый фактический параметр настройки должен быть

сопоставлен с

соответствующим формальным параметром. Выражение может быть сопоставлено с формальным объектом вида

in;

имя переменной может быть сопоставлено с формальным объектом вида

in out;

имя подпрограммы или имя входа может сопоставляться с формальной подпрограммой; обозначение типа может сопоставляться с формальным типом. Детальные правила, определяющие единственные допустимые сопоставления, даны в разд. 12.3.1 — 12.3.6.

Экземпляр — это копия настраиваемого модуля без его раздела формальных параметров настройки; таким образом, экземпляр настраиваемого пакета — пакет, настраиваемой процедуры — процедура, настраиваемой функции — функция.




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



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