8.6. СТАНДАРТНЫЙ ПАКЕТ

Предопределенные типы (например, BOOLEAN, CHARACTER и INTEGER) описаны в предопределенном пакете, называемом STANDARD; этот пакет включает также описания предопределенных для них операций, ракет STANDARD описан в приложении С. Спецификация пакета STANDARD, за исключением предопределенных числовых типов, должна быть одинаковой для всех реализации языка.

Пакет STANDARD образует зону описания, которая охватывает каждый библиотечный модуль и, следовательно, главную программу; предполагается, что описание каждого библиотечного модуля находится непосредственно в этом пакете. Предполагается также, что неявные описания библиотечных модулей упорядочены таким образом, что область действия данного библиотечного модуля включает в себя любой компилируемый модуль, который упоминает в спецификаторе совместности этот библиотечный модуль. Однако видимыми в данном компилируемом модуле являются библиотечные модули, упомянутые в каких-либо спецификаторах совместности при данном модуле, а если он является вторичным модулем некоторого библиотечного модуля, то и этот модуль является видимым для него.

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

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

Ссылки: библиотечный модуль 10.1, видимость 8.3, вторичный модуль 10.1, главная программа 10.1, должно 1.6, зона описания 8.1, идентификатор 2.3, имя 4.1, имя блока 5.6, находится непосредственно в 8.1, неявное описание 3.1, оператор блока 5.6, оператор цикла 8.5, операция 6.7, описание 3.1, пакет 7, подтип 3.3, применяемый спецификатор совместности 10.1.1, программный модуль 6, расширенное имя 4.1.3, скрытие 8.3, спецификатор совместности 10.1.1, тип 3.3.