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


Тела подпрограмм - часть 2


Данные в разд. 3.9 и 7.1 правила подразумевают, что описание подпрограммы и соответствующее тело должны находиться непосредственно в одной и той же зоне описаний.

Пример тела подпрограммы:

procedure PUSH(E : in ELEMENT.TYPE; S : in out STACK) ) is begin if S.INDEX = S.SIZE then raise STACK-OVERFLOW; else

S.INDEX := S.INDEX + 1; S.SPACE(S.INDEX) := E; end if; end PUSH;

Ссылки:

видимость 8.3, видимый раздел 7.2, вызов подпрограммы 6.4, зона описаний 8.1, исключение 11, находится непосредственно в 8.1, обозначение 6.1, обработчик исключения 11.2, описание 3.1, описание подпрограммы 6.1, пакет 7, подпрограмма 6, последовательность операторов 5.1, Предвыполнение 3.9, Предвыполнение не имеет другого эффекта 3.1, раздел описаний 3.9, след тела 10.2, согласованный 6.3.1, спецификация подпрограммы 6.1, фактический параметр 6.4.1, формальный параметр 6.1.

6.3.1. ПРАВИЛА СОГЛАСОВАНИЯ

Всякий раз, когда правила языка требуют или допускают появления спецификации данной подпрограммы более одного раза, в каждом месте допустимы следующие вариации:

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

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

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

Две спецификации подпрограммы называются

согласованными,

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

Аналогичное согласование определяется для разделов формальных параметров, разделов дискриминантов и обозначений типов (для субконстант и фактических параметров, которые имеют форму преобразования типа (см. 6.4.1)).




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



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