Spec-Zone.ru › Ada 2022
Руководство по Ada (Ada 2022)

3.1 Объявления

Язык определяет несколько видов именованных сущностей, которые объявляются объявлениями. Имя сущности определяется объявлением, обычно с помощью идентификатора_определения, но иногда с помощью литерала_символа_определения или символа_оператора_определения. Также существуют сущности, которые не объявляются непосредственно; некоторые из них являются элементами других сущностей или выделяются динамически. Такие сущности можно обозначить с помощью индексированного_компонента, выбранного_компонента или при помощи разыменования имени (см. 4.1).
Существует несколько форм объявления. базовое_объявление представляет собой форму объявления, определённую следующим образом.

Синтаксис

базовое_объявление ::=
объявление_типа | объявление_подтипа
| объявление_объекта | объявление_числа
| объявление_подпрограммы | объявление_абстрактной_подпрограммы
| объявление_пустой_процедуры | объявление_функции_выражения
| объявление_пакета | объявление_переименования
| объявление_исключения | объявление_обобщения
| инстанцирование_обобщения
идентификатор_определения ::= идентификатор

Статическая семантика

Объявление — это конструкция языка, которая связывает имя с (видом) сущностью. Объявление может быть явно указано в тексте программы (явное объявление) или подразумеваться в данном месте текста как следствие семантики другой конструкции (неявное объявление).
Каждое из следующих является объявлением: любое базовое_объявление; указание_литерала_перечисления; указание_дискриминанта; объявление_компонента; идентификатор_определения повторяющегося_связывания_компонента; указание_параметра_цикла; идентификатор_определения указание_блока; указание_итератора; идентификатор_определения указание_параметра_итератора; указание_параметра; тело_подпрограммы; расширенное_объявление_объекта_возврата; объявление_входной_точки; указание_индекса_входной_точки; указание_параметра_выбора; объявление_параметра_формального_обобщения.
Все объявления содержат определение для вида сущности. Вид состоит из идентификации сущности (сущности вида), а также характеристик, специфичных для вида, которые влияют на использование сущности через этот вид (таких как режим доступа к объекту, имена формальных параметров и значения по умолчанию для подпрограммы или видимость компонентов типа). В большинстве случаев объявление также содержит определение самой сущности (объявление переименования — пример объявления, которое не определяет новую сущность, а вместо этого определяет вид существующей сущности (см. 8.5)).
Когда это ясно из контекста, термин объект используется вместо вида объекта. Аналогично, термины тип и подтип используются вместо вида типа и вида подтипа соответственно.
Для каждого объявления правила языка определяют определённый участок текста, называемый областью видимости объявления (см. 8.2). Большинство объявлений связывают идентификатор с объявленной сущностью. В пределах своей области видимости, и только там, существуют места, где можно использовать идентификатор для ссылки на объявление, определяемый им вид и связанную сущность; эти места определяются правилами видимости (см. 8.3). В таких местах идентификатор называется именем сущности (прямое_имя или имя_селектора); имя называется обозначающим объявление, вид и связанную сущность (см. 8.6). Объявление называется объявляющим имя, вид и, в большинстве случаев, саму сущность.
В качестве альтернативы идентификатору литерал перечисления может быть объявлен с литералом_символа в качестве своего имени (см. 3.5.1), а функция может быть объявлена с символом_оператора в качестве своего имени (см. 6.1).
Правила синтаксиса используют термины идентификатор_определения, литерал_символа_определения и символ_оператора_определения для определяющего появления имени; они в совокупности называются определяющими именами. Термины прямое_имя и имя_селектора используются для использующих появлений идентификаторов, литералов_символов и символов_операторов. Они в совокупности называются используемыми именами.

Динамическая семантика

Процесс, посредством которого конструкция достигает своего эффекта во время выполнения, называется выполнением. Этот процесс также называется проработкой для объявлений и вычислением для выражений. Один из терминов выполнение, проработка или вычисление определяется в этом Руководстве для каждой конструкции, которая имеет эффект во время выполнения.
ПРИМЕЧАНИЕ Во время компиляции объявление сущности объявляет сущность. Во время выполнения проработка объявления создаёт сущность.


Spec-Zone.ru

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