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

Приложение N

(информативно)

Словарь терминов

Это приложение содержит неофициальные описания некоторых терминов, используемых в данном международном стандарте. Индекс предоставляет ссылки на более формальные определения всех терминов, используемых в этом международном стандарте.
Абстрактный тип. Абстрактный тип — это помеченный тип, предназначенный для использования в качестве предка других типов, но не допускающий наличия собственных объектов.
Тип доступа. Тип доступа имеет значения, обозначающие объекты с алиасом. Типы доступа соответствуют типам «указатель» или «ссылка» в некоторых других языках.
С алиасом. Вид объекта с алиасом — это вид, который может быть обозначен значением типа доступа. Объекты, выделенные с помощью аллокаторов, имеют алиас. Объекты также могут быть явно объявлены с алиасом с помощью ключевого слова aliased. Атрибут Access может использоваться для создания значения доступа, обозначающего объект с алиасом.
Предок. Предок типа — это сам тип или, в случае типа, полученного от других типов, его родительский тип или один из его предковых типов или один из их предков. Обратите внимание, что отношения «предок» и «потомок» являются обратными.
Тип массива. Тип массива — это составной тип, компоненты которого имеют один и тот же тип. Компоненты выбираются по индексу.
Аспект. Аспект — это определяемое свойство сущности. Аспект может быть задан спецификацией аспекта в объявлении сущности. Некоторые аспекты могут быть запрошены с помощью атрибутов.
Утверждение. Утверждение — это булево выражение, которое появляется в одном из следующих: в псевдокоманде Assert, в предикате, в предусловии, в постусловии, в инварианте, в ограничении или в исключении нуля. Ожидается, что утверждение будет истинным во время выполнения в определенных местах.
Категория (типов). Категория типов — это множество типов с одним или несколькими общими свойствами, такими как примитивные операции. Категория типов, которая замкнута относительно наследования, также известна как класс.
Тип символа. Тип символа — это тип перечисления, значения которого включают символы.
Класс (типов). Класс — это множество типов, замкнутых относительно наследования, что означает, что если данный тип принадлежит к классу, то все типы, полученные от этого типа, также принадлежат к этому классу. Типы в классе обладают общими свойствами, такими как их примитивные операции.
Единица компиляции. Текст программы может быть передан компилятору в одном или нескольких компиляциях. Каждая компиляция представляет собой последовательность единиц_компиляции. Единица компиляции содержит либо объявление, либо тело, либо переименование программной единицы.
Составной тип. Составной тип может иметь компоненты.
Конструкт. Конструкт — это фрагмент текста (явный или неявный), являющийся экземпляром синтаксической категории, определенной в разделе «Синтаксис».
Контейнер. Контейнер — это объект, который содержит другие объекты одного типа, которые могут быть общеклассовыми. Несколько предопределённых типов контейнеров предоставляются потомками пакета Ada.Containers (см. A.18.1).
Управляемый тип. Управляемый тип поддерживает пользовательское присваивание и финализацию. Объекты всегда завершают работу перед уничтожением.
Объявление. Объявление — это языковой конструкт, связывающий имя с (видом) сущностью. Объявление может появляться явно в тексте программы (явное объявление) или предполагаться в заданном месте текста как следствие семантики другого конструкта (неявное объявление).
Этот абзац был удален.
Производный тип. Производный тип определяется через один или несколько других типов, заданных в определении производного типа. Первый из этих типов является родительским типом производного типа, а все остальные — предковыми типами. Каждый класс, содержащий родительский тип или какой-либо из предковых типов, также содержит производный тип. Производный тип наследует свойства, такие как компоненты и примитивные операции, от родителя и предков. Тип вместе с типами, полученными от него (прямо или косвенно), образует класс производных типов.
Потомок. Тип является потомком самого себя, своих родительских и предковых типов, а также их предков. Обратите внимание, что отношения «потомок» и «предок» являются обратными.
Дискретный тип. Дискретный тип — это либо целочисленный тип, либо тип перечисления. Дискретные типы могут использоваться, например, в выражениях_с_случаями и в качестве индексов массивов.
Дискриминанта. Дискриминанта — это параметр для составного типа. Она может управлять, например, границами компонента типа, если компонент является массивом. Дискриминанта для типа задачи может использоваться для передачи данных задаче типа при создании.
Разработка. Процесс, посредством которого объявление достигает своего результата во время выполнения, называется разработкой. Разработка — это одна из форм выполнения.
Элементарный тип. Элементарный тип не имеет компонентов.
Тип перечисления. Тип перечисления определяется перечислением его значений, которые могут быть именованы идентификаторами или литералами символов.
Вычисление. Процесс, посредством которого выражение достигает своего результата во время выполнения, называется вычислением. Вычисление является одной из форм выполнения.
Исключение. Исключение представляет собой вид исключительной ситуации; возникновение такой ситуации (во время выполнения) называется возникновением исключения. Вызвать исключение — это отказаться от нормального выполнения программы, чтобы привлечь внимание к тому факту, что соответствующая ситуация возникла. Выполнение некоторых действий в ответ на возникновение исключения называется обработкой исключения.
Выполнение. Процесс, посредством которого конструкт достигает своего результата во время выполнения, называется выполнением. Выполнение объявления также называется разработкой. Выполнение выражения также называется вычислением.
Функция. Функция — это форма подпрограммы, которая возвращает результат и может вызываться как часть выражения.
Обобщенная единица. Обобщенная единица — это шаблон для (не обобщенной) программной единицы; шаблон может параметризоваться объектами, типами, подпрограммами и пакетами. Экземпляр обобщенной единицы создается с помощью обобщенной_инстанциации. Правила языка применяются при компиляции обобщенной единицы, используя модель обобщенного соглашения; дополнительные проверки выполняются при инстанцировании для проверки соблюдения соглашения. То есть объявление обобщенной единицы представляет собой соглашение между телом обобщенного и экземплярами обобщенного. Обобщенные единицы могут использоваться для выполнения роли, которую иногда играют макросы в других языках.
Неполный тип. Неполный тип даёт представление о типе, раскрывая лишь некоторые его свойства. Остальные свойства предоставляются полным представлением в другом месте. Неполные типы могут использоваться для определения рекурсивных структур данных.
Индексируемый тип контейнера. Индексируемый тип контейнера — это тип, имеющий определённое пользователем поведение индексирования, через аспекты Constant_Indexing или Variable_Indexing.
Целочисленный тип. Целочисленные типы включают знакомые целочисленные типы и модульные типы. Знаковый целочисленный тип имеет базовый диапазон, который включает как положительные, так и отрицательные числа, и имеет операции, которые могут вызывать исключение, когда результат находится за пределами базового диапазона. Модульный тип имеет базовый диапазон, нижняя граница которого равна нулю, и имеет операции с семантикой «переполнения». Модульные типы обобщают то, что в некоторых других языках называется «беззнаковыми типами».
Интерфейсный тип. Интерфейсный тип — это форма абстрактного помеченного типа, который не имеет компонентов или конкретных операций, кроме, возможно, пустых процедур. Интерфейсные типы используются для составления других интерфейсов и помеченных типов и, таким образом, обеспечивают множественное наследование. Только интерфейсный тип может использоваться в качестве предка другого типа.
Инвариант. Инвариант — это утверждение, которое, как ожидается, будет истинным для всех объектов данного частного типа, если рассматривать их снаружи определяющего пакета.
Итерируемый тип контейнера. Итерируемый тип контейнера — это тип, имеющий определённое пользователем поведение итерации, через аспекты Default_Iterator и Iterator_Element.
Итератор. Итератор — это конструкт, который используется для перебора элементов массива или контейнера. Итераторы могут быть определены пользователем и могут выполнять произвольные вычисления для доступа к элементам контейнера.
Пакетная единица. Пакетная единица — это отдельно компилируемая программная единица, и всегда является пакетом, подпрограммой или обобщенной единицей. Пакетные единицы могут иметь другие (логически вложенные) пакетные единицы как потомки и могут иметь другие программные единицы, физически вложенные в них. Корневая пакетная единица вместе со своими потомками и внуками и т. д. образует подсистему.
Ограниченный тип. Ограниченный тип — это тип, для которого копирование (например, в оператор_присваивания) запрещено. Неограниченный тип — это тип, для которого копирование разрешено.
Объект. Объект — это константа или переменная. Объект содержит значение. Объект создаётся с помощью объявления_объекта или с помощью аллокатора. Формальный параметр является (представлением) объектом. Подкомпонент объекта — это объект.
Переопределяемая операция. Переопределяемая операция — это операция, которая заменяет унаследованную примитивную операцию. Операции могут быть явно помечены как переопределяемые или не переопределяемые.
Пакет. Пакеты — это программные модули, которые позволяют указывать группы логически связанных сущностей. Обычно пакет содержит объявление типа (часто приватного типа или приватного расширения) вместе с объявлениями примитивных подпрограмм типа, которые могут вызываться извне пакета, в то время как их внутренняя работа остаётся скрытой от внешних пользователей.
Родитель. Родитель производного типа — это первый тип, указанный в определении производного типа. Родитель может быть почти любого типа, включая тип интерфейса.
Раздел. Раздел — это часть программы. Каждый раздел состоит из набора модулей библиотек. Каждый раздел может выполняться в отдельном адресном пространстве, возможно, на отдельном компьютере. Программа может содержать только один раздел. Распределённая программа, как правило, содержит несколько разделов, которые могут выполняться одновременно.
Постусловие. Постусловие — это утверждение, которое должно быть истинным, когда заданная подпрограмма возвращает нормальное значение.
Директива. Директива компилятора — это директива компилятора. Существуют определённые языком директивы компилятора, которые дают инструкции по оптимизации, управлению списками и т. д. Реализация может поддерживать дополнительные (определяемые реализацией) директивы.
Предварительное условие. Предварительное условие — это утверждение, которое должно быть истинным, когда вызывается заданная подпрограмма.
Предикат. Предикат — это утверждение, которое ожидается, что будет истинным для всех объектов заданного подтипа.
Примитивные операции. Примитивные операции типа — это операции (такие как подпрограммы), объявленные вместе с объявлением типа. Они наследуются другими типами в том же классе типов. Для помеченного типа примитивные подпрограммы являются подпрограммами диспетчеризации, обеспечивающими полиморфизм во время выполнения. Подпрограмма диспетчеризации может вызываться со статически помеченными операндами, в этом случае тело подпрограммы, вызываемой, определяется во время компиляции. В качестве альтернативы, подпрограмма диспетчеризации может вызываться с помощью вызова диспетчеризации, в этом случае тело подпрограммы, вызываемой, определяется во время выполнения.
Приватное расширение. Приватное расширение — это тип, который расширяет другой тип, с дополнительными свойствами, скрытыми от клиентов.
Приватный тип. Приватный тип предоставляет представление типа, раскрывающее только некоторые его свойства. Остальные свойства предоставляются полным представлением в другом месте. Приватные типы могут использоваться для определения абстракций, скрывающих ненужные детали от их клиентов.
Процедура. Процедура — это форма подпрограммы, которая не возвращает результата и может вызываться только с помощью оператора.
Предок. Предок производного типа — один из типов, указанных в определении производного типа, кроме первого. Предок всегда является типом интерфейса. Интерфейсы, задачи и защищённые типы также могут иметь предков.
Программа. Программа — это набор разделов, каждый из которых может выполняться в отдельном адресном пространстве, возможно, на отдельном компьютере. Раздел состоит из набора модулей библиотек.
Программный модуль. Программный модуль — это пакет, модуль задачи, защищённый модуль, защищённый вход, обобщённый модуль или явно объявленная подпрограмма, отличная от литерала перечисления. Некоторые типы программных модулей могут компилироваться отдельно. В качестве альтернативы они могут физически встраиваться в другие программные модули.
Защищённый тип. Защищённый тип — это составной тип, члены которого доступны только через одну из его защищённых операций, которые синхронизируют одновременный доступ несколькими задачами.
Тип вещественного числа. Тип вещественного числа имеет значения, которые являются приближениями вещественных чисел. Типы с плавающей и фиксированной точкой являются типами вещественного числа.
Расширение записи. Расширение записи — это тип, который расширяет другой тип, добавляя дополнительные компоненты.
Тип записи. Тип записи — это составной тип, состоящий из нуля или более именованных компонентов, возможно, разных типов.
Тип ссылки. Тип ссылки — это тип с определённым пользователем поведением для «все», определённым аспектом Implicit_Dereference.
Переименование. объявление_переименования — это объявление, которое не определяет новую сущность, а вместо этого определяет представление существующей сущности.
Скалярный тип. Скалярный тип — это либо дискретный тип, либо тип вещественного числа.
Пул памяти. Каждый тип доступа к объекту имеет связанный с ним объект пула памяти. Память для объекта, созданного с помощью аллокатора, берется из пула памяти типа аллокатора. Некоторые пулы памяти могут быть разделены на подпулы для поддержки более тонкого управления памятью.
Поток. Поток — это последовательность элементов, которые могут использоваться вместе со свойствами потока для поддержки маршалинга и демаршалинга значений большинства типов.
Подпрограмма. Подпрограмма — это раздел программы, который может выполняться в различных контекстах. Она вызывается вызовом подпрограммы, который может квалифицировать эффект подпрограммы путём передачи параметров. Существуют две формы подпрограмм: функции, которые возвращают значения, и процедуры, которые не возвращают.
Подтип. Подтип — это тип вместе с необязательными ограничениями, исключениями нулевых значений и предикатами, которые ограничивают значения подтипа, чтобы удовлетворить определённым условиям. Значения подтипа являются подмножеством значений его типа.
Синхронизированный. Синхронизированная сущность — это сущность, которая будет работать безопасно с несколькими задачами одновременно. Синхронизированный интерфейс может быть предком задачи или защищённого типа. Такая задача или защищённый тип называется синхронизированным помеченным типом.
Помеченный тип. Объекты помеченного типа имеют метку типа во время выполнения, которая указывает конкретный тип, с которым был первоначально создан объект. Операнд класса помеченного типа может использоваться в вызове диспетчеризации; метка указывает, какое тело подпрограммы вызывать. Также допускаются вызовы без диспетчеризации, в которых тело подпрограммы, которое нужно вызвать, определяется во время компиляции. Помеченные типы могут быть расширены дополнительными компонентами.
Тип задачи. Тип задачи — это составной тип, используемый для представления активных сущностей, которые выполняются одновременно и которые могут общаться через очереди входов задачи. Основная задача раздела называется средой задачи.
Тип. Каждый объект имеет тип. Тип имеет связанное множество значений и множество примитивных операций, которые реализуют основные аспекты его семантики. Типы группируются в категории. Большинство определённых языком категорий типов также являются классами типов.
Инвариант типа. См. Инвариант.
Представление. Представление сущности раскрывает некоторые или все свойства сущности. Одна сущность может иметь несколько представлений.


Spec-Zone.ru

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