Spec-Zone.ru › Ada 95
Справочник по Ada 95

10.1.2 Определения контекста — Списки WITH

Определение context_clause используется для указания library_itemов, имена которых необходимы в единице компиляции.

Синтаксис

context_clause ::= {context_item}
context_item ::= with_clause | use_clause
with_clause ::= with library_unit_name {, library_unit_name};

Правила разрешения имен

Область видимости with_clause, который появляется в library_unit_declaration или library_unit_renaming_declaration, включает весь декларативный раздел объявления, включая все дочерние элементы и подмодули. Область видимости with_clause, который появляется в теле, включает тело, включая все подмодули.
library_item упоминается в with_clause, если он обозначен library_unit_name или prefix в with_clause.
Вне собственного декларативного раздела объявление или переименование библиотечной единицы могут быть видимы только в области видимости with_clause, который его упоминает. Видимость объявления или переименования библиотечной единицы в противном случае определяется его положением в среде.

Правила легальности

Если with_clause данной compilation_unit упоминает закрытый дочерний элемент некоторой библиотечной единицы, то данная compilation_unit должна быть либо объявлением закрытого потомка этой библиотечной единицы, либо телом или подмодулем (публичного или закрытого) потомка этой библиотечной единицы.
ПРИМЕЧАНИЯ
3 library_item, упомянутый в with_clause единицы компиляции, виден внутри единицы компиляции и, следовательно, ведет себя как обычное объявление. Таким образом, в единице компиляции, которая упоминает его объявление, имя библиотечного пакета может быть указано в use_clause и может быть использовано для формирования расширенных имен, библиотечная подпрограмма может быть вызвана, и экземпляры библиотечной обобщенной единицы могут быть объявлены. Если дочерний элемент родительского обобщенного пакета упоминается в with_clause, соответствующее вложенное объявление внутри каждого видимого экземпляра является видимым внутри единицы компиляции.


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API