Справочник Ada 95
Приложение N
(информативное)
Словарь терминов
Это приложение содержит неофициальные описания некоторых терминов, используемых в данном международном стандарте. Для поиска более формальных определений, обратитесь к индексу.
Тип доступа. Тип доступа имеет значения, обозначающие объекты с ссылкой. Типы доступа соответствуют типам «указатели» или «ссылки» в некоторых других языках.
С ссылкой (алиасированный). Вид объекта с ссылкой — это тот, который может быть обозначен значением типа доступа. Объекты, выделенные аллокаторами, являются ссылочными. Объекты также могут быть явно объявлены как ссылочные с помощью зарезервированного слова aliased. Атрибут Access может использоваться для создания значения доступа, обозначающего ссылочный объект.
Тип массива. Тип массива — это составной тип, компоненты которого являются одного и того же типа. Компоненты выбираются по индексу.
Тип символа. Тип символа — это тип перечисления, значения которого включают символы.
Класс. Класс — это набор типов, замкнутый относительно производных типов, что означает, что если данный тип входит в класс, то все типы, производные от этого типа, также входят в класс. Набор типов класса обладает общими свойствами, такими как их основные операции.
Единица компиляции. Текст программы может быть передан компилятору в одной или нескольких компиляциях. Каждая компиляция является последовательностью единиц компиляции. Единица компиляции содержит либо объявление, либо тело, либо переименование программной единицы.
Составной тип. Составной тип имеет компоненты.
Конструкт. Конструкт — это фрагмент текста (явный или неявный), являющийся экземпляром синтаксической категории, определенной в разделе «Синтаксис».
Управляемый тип. Управляемый тип поддерживает пользовательское присваивание и финализацию. Объекты всегда финализируются перед уничтожением.
Объявление. Объявление — это конструкция языка, которая связывает имя с (представлением) сущностью. Объявление может быть явно указано в тексте программы (явное объявление) или может подразумеваться в определённом месте текста как следствие семантики другой конструкции (неявное объявление).
Определение. Все объявления содержат определение для представления сущности. Представление состоит из идентификации сущности (сущности от представления), а также специфических для представления характеристик, которые влияют на использование сущности через это представление (таких как режим доступа к объекту, имена формальных параметров и значения по умолчанию для подпрограммы или видимость компонентов типа). В большинстве случаев объявление также содержит определение самой сущности (переименование_объявление — пример объявления, которое не определяет новую сущность, а вместо этого определяет представление существующей сущности (см. 8.5)).
Производный тип. Производный тип определяется через другой тип, являющийся родительским типом производного типа. Каждый класс, содержащий родительский тип, также содержит производный тип. Производный тип наследует свойства, такие как компоненты и основные операции, от родительского типа. Тип вместе с типами, производными от него (прямо или косвенно), образуют класс производных.
Дискретный тип. Дискретный тип — это либо целочисленный тип, либо тип перечисления. Дискретные типы могут использоваться, например, в операторах выбора (case) и в качестве индексов массивов.
Дискриминанта. Дискриминанта — это параметр составного типа. Она может, например, управлять границами компонента типа, если этот тип — тип массива. Дискриминанта типа задачи может использоваться для передачи данных задаче данного типа при ее создании.
Элементарный тип. Элементарный тип не имеет компонентов.
Тип перечисления. Тип перечисления определяется перечислением его значений, которые могут быть именованы идентификаторами или строчными литералами.
Исключение. Исключение представляет собой вид исключительной ситуации; появление такой ситуации (во время выполнения) называется возникновением исключения. Вызвать исключение означает прервать нормальное выполнение программы, чтобы привлечь внимание к тому факту, что возникла соответствующая ситуация. Выполнение некоторых действий в ответ на возникновение исключения называется обработкой исключения.
Выполнение. Процесс, посредством которого конструкция достигает своего эффекта во время выполнения, называется выполнением. Выполнение объявления также называется развёртыванием. Выполнение выражения также называется вычислением.
Обобщённая единица. Обобщённая единица — это шаблон для (необобщённой) программной единицы; шаблон может быть параметризован объектами, типами, подпрограммами и пакетами. Экземпляр обобщённой единицы создаётся с помощью обобщённой_инстанциации. Правила языка проверяются при компиляции обобщённой единицы, используя модель обобщённого контракта; дополнительные проверки выполняются при инстанцировании, чтобы убедиться, что контракт соблюдается. То есть объявление обобщённой единицы представляет собой договор между телом обобщённой и экземплярами обобщённой.
Целочисленный тип. Целочисленные типы включают знакомые целые типы и модульные типы. Знаковый целочисленный тип имеет базовый диапазон, включающий как положительные, так и отрицательные числа, и имеет операции, которые могут вызывать исключение, когда результат находится вне базового диапазона. Модульный тип имеет базовый диапазон, нижняя граница которого равна нулю, и имеет операции с семантикой «переполнения». Модульные типы охватывают то, что в некоторых других языках называется «беззнаковыми типами».
Единица библиотеки. Единица библиотеки — это отдельно компилируемая программная единица и всегда является пакетом, подпрограммой или обобщённой единицей. Единицы библиотеки могут иметь другие (логически вложенные) единицы библиотеки в качестве дочерних элементов и могут иметь другие программные единицы, физически вложенные в них. Корневая единица библиотеки вместе со своими дочерними и внучатыми элементами и т. д. образует подсистему.
Ограниченный тип. Ограниченный тип — это (представление) тип, для которого операция присваивания запрещена. Неограниченный тип — это (представление) тип, для которого операция присваивания разрешена.
Объект. Объект является либо константой, либо переменной. Объект содержит значение. Объект создаётся объявлением_объекта или аллокатором. Формальный параметр является (представлением) объектом. Подкомпонент объекта является объектом.
Пакет. Пакеты — это программные единицы, которые позволяют указывать группы логически связанных сущностей. Обычно пакет содержит объявление типа (часто частного типа или частного расширения) вместе с объявлениями основных подпрограмм типа, которые могут вызываться извне пакета, а их внутренняя реализация остаётся скрытой от внешних пользователей.
Раздел. Раздел — это часть программы. Каждый раздел состоит из набора единиц библиотеки. Каждый раздел может выполняться в отдельном адресном пространстве, возможно, на отдельном компьютере. Программа может содержать только один раздел. Распределённая программа, как правило, содержит несколько разделов, которые могут выполняться параллельно.
Предикат. Предикат — это директива компилятора. Существуют определяемые языком предикаты, которые дают инструкции для оптимизации, управления листингом и т. д. Реализация может поддерживать дополнительные (определяемые реализацией) предикаты.
Основные операции. Основные операции типа — это операции (такие как подпрограммы), объявленные вместе с объявлением типа. Они наследуются другими типами в том же классе типов. Для помеченного типа основные подпрограммы — это подпрограммы диспетчеризации, обеспечивающие полиморфизм во время выполнения. Подпрограмма диспетчеризации может вызываться со статически помеченными операндами, в этом случае тело вызываемой подпрограммы определяется во время компиляции. В качестве альтернативы подпрограмма диспетчеризации может вызываться с помощью вызова диспетчеризации, в этом случае тело вызываемой подпрограммы определяется во время выполнения.
Частное расширение. Частное расширение подобно расширению записи, за исключением того, что компоненты части расширения скрыты от своих клиентов.
Частный тип. Частный тип — это частичное представление типа, полное представление которого скрыто от его клиентов.
Программа. Программа — это набор разделов, каждый из которых может выполняться в отдельном адресном пространстве, возможно, на отдельном компьютере. Раздел состоит из набора единиц библиотеки.
Программная единица. Программная единица — это либо пакет, либо задача, либо защищённый блок, либо защищённый вход, либо обобщённая единица, либо явно объявленная подпрограмма, отличная от строчного литерала. Некоторые виды программных единиц могут быть компилированы отдельно. В качестве альтернативы они могут появляться физически вложенными внутри других программных единиц.
Защищённый тип. Защищённый тип — это составной тип, компоненты которого защищены от одновременного доступа нескольких задач.
Вещественный тип. Вещественный тип имеет значения, являющиеся приближениями действительных чисел. Типы с плавающей запятой и типы с фиксированной запятой являются вещественными типами.
Расширение записи. Расширение записи — это тип, который расширяет другой тип, добавляя дополнительные компоненты.
Тип записи. Тип записи — это составной тип, состоящий из нуля или более именованных компонентов, возможно, разных типов.
Скалярный тип. Скалярный тип — это либо дискретный тип, либо вещественный тип.
END_OF_DOCUMENT_MARKER Подтип. Подтип — это тип вместе с ограничением, которое ограничивает значения подтипа, чтобы они удовлетворяли определённому условию. Значения подтипа являются подмножеством значений его типа.
Тип с меткой. Объекты типа с меткой имеют метку типа во время выполнения, которая указывает конкретный тип, с которым был первоначально создан объект. Операнд типа с меткой класса может использоваться в вызове диспетчеризации; метка указывает, какой тело подпрограммы следует вызвать. Также разрешены вызовы без диспетчеризации, в которых тело подпрограммы, которое следует вызвать, определяется во время компиляции. Типы с метками можно расширить дополнительными компонентами.
Тип задачи. Тип задачи — это составной тип, значениями которого являются задачи, которые являются активными сущностями, которые могут выполняться параллельно с другими задачами. Задача верхнего уровня раздела называется задачей среды.
Тип. Каждый объект имеет тип. У типа есть связанное множество значений и множество примитивных операций, которые реализуют основные аспекты его семантики. Типы сгруппированы в классы. Типы данного класса разделяют множество примитивных операций. Классы замкнуты относительно вывода; то есть, если тип находится в классе, то все его производные находятся в этом классе.
Вид. (См. Определение.)