8.2. ОБЛАСТИ ДЕЙСТВИЯ ОПИСАНИЙ

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

Область действия описания, находящегося непосредственно в зоне описания, распространяется от начала описания до конца зоны описания; этот раздел области действия описания называется непосредственной областью действия. Более того, для любого из описаний, перечисленных ниже, область действия описания распространяется за пределы непосредственной области действия:

а) описание, которое находится непосредственно в видимом разделе описания пакета;

б) описание входа;

в) описание компоненты;

г) спецификация дискриминанта;

д) спецификация параметра;

е) описание параметра настройки.

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

При отсутствии описания подпрограммы спецификация подпрограммы, заданная в теле подпрограммы или в следе тела, действует как описание, и в этом случае применимо правилоД).

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

Ссылки: видимость 8.3, видимый раздел 7.2, задача 9, знак операции 6.1, зона описания 8.1, идентификатор 2.3, именуемый тип 3.7, находится непосредственно в 8.1, неявное описание 3.1, описание 3.1, описание входа 9.5, описание задачи 9.1, описание компоненты 3.7, описание настройки 12.1, описание пакета 7.1, описание параметров настройки 12.1, описание переименования 8.5, описание подпрограммы 6.1, описание типа 3.3.1, основная операция 3.3.3, распространяется 8.1, спецификатор использования 8.4, символьный литерал 2.5, след тела 10.2, совмещение 6.6, 8.7, спецификация дискриминанта 3.7.1, спецификация пакета 7.1, спецификация параметра 6.1, тело подпрограммы 6.3.