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

         

Структура пакета


Пакет обычно представлен двумя частями: спецификацией пакета и телом пакета. Спецификация имеется у каждого пакета, а тело имеют не все пакеты.

описание-пакета ::= спецификация-пакета;спецификация -пакета ::= package идентификатор is {основной-элемент-описания} [private {основной-элемент-описания)] end [простое-имя-пакета]тело-пакета ::= package body простое-имя-пакета is [раздел - описаний] [begin последовательность-операторов [exception обработчик-исключения {обработчик-исключения}]] end [простое-имя-пакета];

Простое имя в начале тела пакета должно совпадать с идентификатором этого пакета. Аналогично если простое имя помещено в конце спецификации или тела пакета, то оно должно совпадать с идентификатором этого пакета.



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

Примечание. Для простой формы пакета, специфицирующей совокупность объектов и типов, тело не обязательно. Одной из возможностей использования последовательности операторов тела пакета является инициализация таких объектов. Для каждого описания подпрограммы должно существовать соответствующее тело (за исключением подпрограмм, написанных на другом языке, см. 13.9). Если тело программного модуля является следом тела, то для этого программного модуля требуется раздельно компилируемый субмодуль, содержащий соответствующее тело (см. 10.2). Тело не является основным элементом описания и, таким образом, не может присутствовать в спецификации пакета.

Описание пакета — это либо библиотечный пакет (см. 10.2), либо элемент описания внутри другого программного модуля.

Ссылки: библиотечный модуль 10.1, идентификатор 2.3, настраиваемое тело 12.2, обработчик исключения 11.2, объект 3.2, описание задачи 9.1, описание настройки 12.1, описание подпрограммы 6.1, основной элемент описания 3.9, последовательность операторов 5.1, программный модуль 6, простое имя 4.1, раздел описаний 3.8, след тела 10.2, соответствующее тело 3.9, субмодуль 10.2, тело задачи 9.1, тело пакета 7.3, тело подпрограммы 6.3, тип 3.3, элемент описания



Содержание раздела