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

Справочник Ada 2022

Предисловие
Введение
1. Общие положения
1.1 Область действия
1.1.1 Охватываемый объем
1.1.2 Структура
1.1.3 Соответствие реализации стандарту
1.1.4 Метод описания и обозначение синтаксиса
1.1.5 Классификация ошибок
1.2 Нормативные ссылки
1.2.1 Библиография
1.3 Термины и определения
1.3.1 Типы, объекты и их свойства
1.3.2 Подпрограммы и их свойства
1.3.3 Другие синтаксические конструкции
1.3.4 Действия во время выполнения
1.3.5 Исключительные ситуации
2. Лексические элементы
2.1 Набор символов
2.2 Лексические элементы, разделители и ограничители
2.3 Идентификаторы
2.4 Числовые литералы
2.4.1 Десятичные литералы
2.4.2 Литералы в разных системах счисления
2.5 Символьные литералы
2.6 Строковые литералы
2.7 Комментарии
2.8 Предикаты
2.9 Зарезервированные слова
3. Объявления и типы
3.1 Объявления
3.2 Типы и подтипы
3.2.1 Объявления типов
3.2.2 Объявления подтипов
3.2.3 Классификация операций
3.2.4 Предикаты подтипов
3.3 Объекты и именованные числа
3.3.1 Объявления объектов
3.3.2 Объявления чисел
3.4 Производные типы и классы
3.4.1 Классы производных типов
3.5 Скалярные типы
3.5.1 Перечислительные типы
3.5.2 Символьные типы
3.5.3 Булевы типы
3.5.4 Целочисленные типы
3.5.5 Операции над дискретными типами
3.5.6 Вещественные типы
3.5.7 Типы с плавающей точкой
3.5.8 Операции над типами с плавающей точкой
3.5.9 Типы с фиксированной точкой
3.5.10 Операции над типами с фиксированной точкой
3.6 Массивы
3.6.1 Ограничения индексов и дискретные диапазоны
3.6.2 Операции над массивами
3.6.3 Строковые типы
3.7 Дискриминанты
3.7.1 Ограничения дискриминантов
3.7.2 Операции над типами с дискриминантами
3.8 Типы записей
3.8.1 Альтернативные части и дискретные варианты
3.9 Меченные типы и расширения типов
3.9.1 Расширения типов
3.9.2 Операции диспетчеризации для меченных типов
3.9.3 Абстрактные типы и подпрограммы
3.9.4 Типы интерфейсов
3.10 Типы доступа
3.10.1 Неполные объявления типов
3.10.2 Операции над типами доступа
3.11 Разделы объявлений
3.11.1 Завершение объявлений
4. Имена и выражения
4.1 Имена
4.1.1 Индексированные компоненты
4.1.2 Срезы
4.1.3 Выбранные компоненты
4.1.4 Атрибуты
4.1.5 Пользовательские ссылки
4.1.6 Пользовательская индексация
4.2 Литералы
4.2.1 Пользовательские литералы
4.3 Агрегаты
4.3.1 Агрегаты записей
4.3.2 Агрегаты расширения
4.3.3 Агрегаты массивов
4.3.4 Агрегаты дельт
4.3.5 Контейнерные агрегаты
4.4 Выражения
4.5 Операторы и вычисление выражений
4.5.1 Логические операторы и управляющие конструкции краткого выполнения
4.5.2 Операторы сравнения и проверки на принадлежность
4.5.3 Бинарные операторы сложения
4.5.4 Унарные операторы сложения
4.5.5 Операторы умножения
4.5.6 Операторы с наивысшим приоритетом
4.5.7 Условные выражения
4.5.8 Квантифицированные выражения
4.5.9 Выражения объявления
4.5.10 Выражения сокращения
4.6 Преобразования типов
4.7 Квалифицированные выражения
4.8 Аллакаторы
4.9 Статические выражения и статические подтипы
4.9.1 Статически соответствующие ограничения и подтипы
4.10 Атрибуты изображений
5. Операторы
5.1 Простые и составные операторы - Последовательности операторов
5.2 Операторы присваивания
5.2.1 Символы имен целевых объектов
5.3 Операторы if
5.4 Операторы case
5.5 Операторы цикла
5.5.1 Пользовательские типы итераторов
5.5.2 Обобщенная итерация цикла
5.5.3 Процедурные итераторы
5.6 Операторы блока
5.6.1 Параллельные операторы блока
5.7 Операторы выхода
5.8 Операторы goto
6. Подпрограммы
6.1 Объявления подпрограмм
6.1.1 Предпосылки и пост-условия
6.1.2 Глобальные и глобальные'аспекты класса
6.2 Режимы формальных параметров
6.3 Тела подпрограмм
6.3.1 Правила соответствия
6.3.2 Встраивание подпрограмм
6.4 Вызовы подпрограмм
6.4.1 Связывание параметров
6.5 Операторы возврата
6.5.1 Невозвращающие подпрограммы
6.6 Перегрузка операторов
6.7 Пустые процедуры
6.8 Функции-выражения
7. Пакеты
7.1 Спецификации и объявления пакетов
7.2 Тела пакетов
7.3 Приватные типы и приватные расширения
7.3.1 Приватные операции
7.3.2 Инварианты типа
7.3.3 Начальные условия по умолчанию
7.3.4 Стабильные свойства типа
7.4 Отложенные константы
7.5 Ограниченные типы
7.6 Присваивание и финализация
7.6.1 Завершение и финализация
8. Правила видимости
8.1 Область объявления
8.2 Область действия объявлений
8.3 Видимость
8.3.1 Индикаторы переопределения
8.4 Используемые классы
8.5 Объявления переименования
8.5.1 Объявления переименования объектов
8.5.2 Объявления переименования исключений
8.5.3 Объявления переименования пакетов
8.5.4 Объявления переименования подпрограмм
8.5.5 Объявления переименования обобщенных конструкций
8.6 Контекст разрешения перегрузки
END_OF_DOCUMENT_MARKER
9. Задачи и синхронизация
9.1 Единицы задач и объекты задач
9.2 Выполнение задач - активация задач
9.3 Зависимость задач - завершение задач
9.4 Защищенные единицы и защищенные объекты
9.5 Межзадачное общение
9.5.1 Защищенные подпрограммы и защищенные действия
9.5.2 Входы и операторы Accept
9.5.3 Вызовы входов
9.5.4 Операторы Requeue
9.6 Операторы задержки, продолжительность и время
9.6.1 Форматирование, часовые пояса и другие операции для времени
9.7 Операторы Select
9.7.1 Селективное Accept
9.7.2 Вызовы входов с указанием времени
9.7.3 Условные вызовы входов
9.7.4 Асинхронная передача управления
9.8 Прерывание задачи - прерывание последовательности операторов
9.9 Атрибуты задач и входов
9.10 Общие переменные
9.10.1 Политики проверки конфликтов
9.11 Пример использования задач и синхронизации
10. Структура программы и вопросы компиляции
10.1 Раздельная компиляция
10.1.1 Единицы компиляции - библиотечные единицы
10.1.2 Описания контекста - Описания с With
10.1.3 Подразделения единиц компиляции
10.1.4 Процесс компиляции
10.1.5 Предикаты и программные единицы
10.1.6 Правила видимости на уровне среды
10.2 Выполнение программы
10.2.1 Управление этапом разработки
11. Исключения
11.1 Объявления исключений
11.2 Обработчики исключений
11.3 Операторы Raise и выражения Raise
11.4 Обработка исключений
11.4.1 Пакет исключений
11.4.2 Предикаты Assert и Assertion_Policy
11.4.3 Пример обработки исключений
11.5 Подавление проверок
11.6 Исключения и оптимизация
12. Обобщенные единицы
12.1 Обобщенные объявления
12.2 Обобщенные тела
12.3 Обобщенная инициализация
12.4 Формальные объекты
12.5 Формальные типы
12.5.1 Формальные частные и производные типы
12.5.2 Формальные скалярные типы
12.5.3 Формальные массивы типов
12.5.4 Формальные типы доступа
12.5.5 Формальные интерфейсные типы
12.6 Формальные подпрограммы
12.7 Формальные пакеты
12.8 Пример обобщенного пакета
13. Вопросы представления
13.1 Операционные и представительные аспекты
13.1.1 Спецификации аспектов
13.2 Упакованные типы
13.3 Операционные и представительные атрибуты
13.4 Описания представления перечислений
13.5 Макет записей
13.5.1 Описания представления записей
13.5.2 Атрибуты места хранения
13.5.3 Порядок битов
13.6 Изменение представления
13.7 Пакет System
13.7.1 Пакет System.Storage_Elements
13.7.2 Пакет System.Преобразования_адреса_в_доступ
13.8 Вставки машинного кода
13.9 Непроверенные преобразования типов
13.9.1 Действительность данных
13.9.2 Атрибут Valid
13.10 Создание значений доступа без проверок
13.11 Управление памятью
13.11.1 Атрибуты выделения памяти
13.11.2 Непроверенное освобождение памяти
13.11.3 Стандартные пулы памяти
13.11.4 Подпулы памяти
13.11.5 Освобождение подпулов
13.11.6 Пример подпула памяти
13.12 Ограничения предиката и профиль предиката
13.12.1 Определяемые языком ограничения и профили
13.13 Потоки
13.13.1 Подсистема потоков
13.13.2 Атрибуты потокового типа
13.14 Правила замораживания
Стандартные библиотеки
А. Предопределённая языковая среда
А.1 Стандартный пакет
А.2 Пакет Ada
А.3 Обработка символов
А.3.1 Пакеты Characters, Wide_Characters и Wide_Wide_Characters
А.3.2 Пакет Characters.Handling
А.3.3 Пакет Characters.Latin_1
А.3.4 Пакет Characters.Conversions
А.3.5 Пакет Wide_Characters.Handling
А.3.6 Пакет Wide_Wide_Characters.Handling
А.4 Обработка строк
А.4.1 Пакет Strings
А.4.2 Пакет Strings.Maps
А.4.3 Обработка строк фиксированной длины
А.4.4 Обработка строк ограниченной длины
А.4.5 Обработка строк неограниченной длины
А.4.6 Множества и отображения для обработки строк
А.4.7 Обработка Wide_String
А.4.8 Обработка Wide_Wide_String
А.4.9 Хэширование строк
А.4.10 Сравнение строк
А.4.11 Кодирование строк
А.4.12 Универсальные буферы текста
А.5 Пакеты Numerics
А.5.1 Элементарные функции
А.5.2 Генерация случайных чисел
А.5.3 Атрибуты типов с плавающей точкой
А.5.4 Атрибуты типов с фиксированной точкой
А.5.5 Большие числа
А.5.6 Большие целые числа
А.5.7 Большие вещественные числа
А.6 Ввод-вывод
А.7 Внешние файлы и объекты файлов
А.8 Последовательные и прямые файлы
А.8.1 Обобщённый пакет Sequential_IO
А.8.2 Управление файлами
А.8.3 Операции последовательного ввода-вывода
А.8.4 Обобщённый пакет Direct_IO
А.8.5 Операции прямого ввода-вывода
А.9 Обобщённый пакет Storage_IO
А.10 Текстовый ввод-вывод
А.10.1 Пакет Text_IO
А.10.2 Управление текстовыми файлами
А.10.3 Файлы ввода, вывода и ошибок по умолчанию
А.10.4 Указание длин строк и страниц
А.10.5 Операции над столбцами, строками и страницами
А.10.6 Процедуры Get и Put
А.10.7 Ввод-вывод символов и строк
А.10.8 Ввод-вывод для целочисленных типов
А.10.9 Ввод-вывод для вещественных типов
А.10.10 Ввод-вывод для типов перечислений
А.10.11 Ввод-вывод для строк ограниченной длины
А.10.12 Ввод-вывод для строк неограниченной длины
А.11 Широкий текстовый ввод-вывод и широко-широкий текстовый ввод-вывод
А.12 Потоковый ввод-вывод
А.12.1 Пакет Streams.Stream_IO
А.12.2 Пакет Text_IO.Text_Streams
А.12.3 Пакет Wide_Text_IO.Text_Streams
А.12.4 Пакет Wide_Wide_Text_IO.Text_Streams
А.13 Исключения при вводе-выводе
А.14 Обмен файлами
А.15 Пакет Command_Line
А.15.1 Пакеты Wide_Command_Line и Wide_Wide_Command_Line
А.16 Пакет Directories
А.16.1 Пакет Directories.Hierarchical_File_Names
А.16.2 Пакеты Wide_Directories и Wide_Wide_Directories
А.17 Пакет Environment_Variables
А.17.1 Пакеты Wide_Environment_Variables и Wide_Wide_Environment_Variables
А.18 Контейнеры
А.18.1 Пакет Containers
А.18.2 Обобщённый пакет Containers.Vectors
А.18.3 Обобщённый пакет Containers.Doubly_Linked_Lists
А.18.4 Отображения
А.18.5 Обобщённый пакет Containers.Hashed_Maps
А.18.6 Обобщённый пакет Containers.Ordered_Maps
А.18.7 Множества
А.18.8 Обобщённый пакет Containers.Hashed_Sets
А.18.9 Обобщённый пакет Containers.Ordered_Sets
А.18.10 Обобщённый пакет Containers.Multiway_Trees
А.18.11 Обобщённый пакет Containers.Indefinite_Vectors
А.18.12 Обобщённый пакет Containers.Indefinite_Doubly_Linked_Lists
А.18.13 Обобщённый пакет Containers.Indefinite_Hashed_Maps
А.18.14 Обобщённый пакет Containers.Indefinite_Ordered_Maps
А.18.15 Обобщённый пакет Containers.Indefinite_Hashed_Sets
А.18.16 Обобщённый пакет Containers.Indefinite_Ordered_Sets
А.18.17 Обобщённый пакет Containers.Indefinite_Multiway_Trees
А.18.18 Обобщённый пакет Containers.Indefinite_Holders
А.18.19 Обобщённый пакет Containers.Bounded_Vectors
А.18.20 Обобщённый пакет Containers.Bounded_Doubly_Linked_Lists
А.18.21 Обобщённый пакет Containers.Bounded_Hashed_Maps
А.18.22 Обобщённый пакет Containers.Bounded_Ordered_Maps
А.18.23 Обобщённый пакет Containers.Bounded_Hashed_Sets
А.18.24 Обобщённый пакет Containers.Bounded_Ordered_Sets
А.18.25 Обобщённый пакет Containers.Bounded_Multiway_Trees
А.18.26 Сортировка массивов
А.18.27 Обобщённый пакет Containers.Synchronized_Queue_Interfaces
А.18.28 Обобщённый пакет Containers.Unbounded_Synchronized_Queues
А.18.29 Обобщённый пакет Containers.Bounded_Synchronized_Queues
А.18.30 Обобщённый пакет Containers.Unbounded_Priority_Queues
А.18.31 Обобщённый пакет Containers.Bounded_Priority_Queues
А.18.32 Обобщённый пакет Containers.Bounded_Indefinite_Holders
А.18.33 Пример использования контейнеров
А.19 Пакет Locales
Б. Интерфейс с другими языками
Б.1 Аспекты взаимодействия
Б.2 Пакет Interfaces
Б.3 Взаимодействие с C и C++
Б.3.1 Пакет Interfaces.C.Strings
Б.3.2 Обобщённый пакет Interfaces.C.Pointers
Б.3.3 Типы объединений без проверки
Б.4 Взаимодействие с COBOL
Б.5 Взаимодействие с Fortran
C. Программирование систем
C.1 Доступ к машинным операциям
C.2 Требуемая поддержка представлений
C.3 Поддержка прерываний
C.3.1 Обработчики защищённых процедур
C.3.2 Пакет Interrupts
C.4 Требования к предварительной обработке
C.5 Аспект Discard_Names
C.6 Управление общими переменными
C.6.1 Пакет System.Atomic_Operations
C.6.2 Пакет System.Atomic_Operations.Exchange
C.6.3 Пакет System.Atomic_Operations.Test_and_Set
C.6.4 Пакет System.Atomic_Operations.Integer_Arithmetic
C.6.5 Пакет System.Atomic_Operations.Modular_Arithmetic
C.7 Информация о задачах
C.7.1 Пакет Task_Identification
C.7.2 Пакет Task_Attributes
C.7.3 Пакет Task_Termination
D. Системы реального времени
D.1 Приоритеты задач
D.2 Планирование по приоритетам
D.2.1 Модель диспетчеризации задач
D.2.2 Предикаты диспетчеризации задач
D.2.3 Прерывистая диспетчеризация
D.2.4 Непрерывистая диспетчеризация
D.2.5 Диспетчеризация по круговому циклу
D.2.6 Диспетчеризация по наираньшему сроку
D.3 Блокировка по потолку приоритетов
D.4 Политики очереди входов
D.4.1 Политики допуска
D.5 Динамические приоритеты
D.5.1 Динамические приоритеты для задач
D.5.2 Динамические приоритеты для защищенных объектов
D.6 Прерывание с абортом
D.7 Ограничения по задачам
D.8 Монотонное время
D.9 Точность задержек
D.10 Синхронный контроль задач
D.10.1 Синхронные барьеры
D.11 Асинхронный контроль задач
D.12 Другие оптимизации и правила детерминизма
D.13 Профили Ravenscar и Jorvik
D.14 Время выполнения
D.14.1 Таймеры времени выполнения
D.14.2 Бюджеты времени выполнения групп
D.14.3 Время выполнения обработчиков прерываний
D.15 Временные события
D.16 Многопроцессорная реализация
D.16.1 Многопроцессорные области диспетчеризации
E. Распределённые системы
E.1 Разделы
E.2 Категоризация единиц библиотек
E.2.1 Общие пассивные единицы библиотек
E.2.2 Удаленные типы единиц библиотек
E.2.3 Единицы библиотек интерфейса удаленных вызовов
E.3 Согласованность распределённой системы
E.4 Удаленные вызовы подпрограмм
E.4.1 Асинхронные удаленные вызовы
E.4.2 Пример использования удаленного доступа к типу класса
E.5 Подсистема коммуникации разделов
F. Системы обработки информации
F.1 Определение атрибута Machine_Radix
F.2 Пакет Decimal
F.3 Отредактированный вывод для типов Decimal
F.3.1 Формирование строки шаблона
F.3.2 Генерация отредактированного вывода
F.3.3 Пакет Text_IO.Editing
F.3.4 Пакет Wide_Text_IO.Editing
F.3.5 Пакет Wide_Wide_Text_IO.Editing
G. Числовые данные
G.1 Комплексные арифметические операции
G.1.1 Комплексные типы
G.1.2 Комплексные элементарные функции
G.1.3 Комплексный ввод-вывод
G.1.4 Пакет Wide_Text_IO.Complex_IO
G.1.5 Пакет Wide_Wide_Text_IO.Complex_IO
G.2 Требования к производительности числовых данных
G.2.1 Модель плавающей точки арифметики
G.2.2 Модель ориентированные атрибуты типов с плавающей точкой
G.2.3 Модель фиксированной точки арифметики
G.2.4 Требования к точности элементарных функций
G.2.5 Требования к производительности генерации случайных чисел
G.2.6 Требования к точности комплексной арифметики
G.3 Векторные и матричные операции
G.3.1 Вещественные векторы и матрицы
G.3.2 Комплексные векторы и матрицы
H. Системы высокой надёжности
H.1 Предикат Normalize_Scalars
H.2 Документация по принятым решениям реализации
H.3 Проверяемый объектный код
H.3.1 Предикат Reviewable
H.3.2 Предикат Inspection_Point
H.4 Ограничения высокой надёжности
H.4.1 Аспект No_Controlled_Parts
H.5 Предикат Detect_Blocking
H.6 Предикат Partition_Elaboration_Policy
H.7 Расширения аспектов Global и Global'Class
H.7.1 Использование аспектов Use_Formal и Dispatching
J. Устаревшие функции
J.1 Переименования единиц библиотек
J.2 Разрешённые замены символов
J.3 Подтипы с пониженной точностью
J.4 Атрибут Constrained
J.5 ASCII
J.6 Numeric_Error
J.7 Оператор At
J.7.1 Входы прерываний
J.8 Оператор Mod
J.9 Атрибут Storage_Size
J.10 Специальное подавление проверок
J.11 Атрибут Class немаркированных неполных типов
J.12 Предикат Interface
J.13 Идентификаторы ограничений зависимостей
J.14 Функции преобразования символов и широких символов
J.15 Предикаты, связанные с аспектами
J.15.1 Предикат Inline
J.15.2 Предикат No_Return
J.15.3 Предикат Pack
J.15.4 Предикат Storage_Size
J.15.5 Предикаты интерфейса
J.15.6 Предикат Unchecked_Union
J.15.7 Предикаты Interrupt_Handler и Attach_Handler
J.15.8 Предикаты общих переменных
J.15.9 Предикат CPU
J.15.10 Предикат Dispatching_Domain
J.15.11 Предикаты Priority и Interrupt_Priority
J.15.12 Предикат Relative_Deadline
J.15.13 Предикат Asynchronous
J.15.14 Предикаты управления разработкой
J.15.15 Предикаты распределения
K. Определяемые языком аспекты и атрибуты
K.1 Определяемые языком аспекты
K.2 Определяемые языком атрибуты
L. Определяемые языком предикаты
M. Резюме требований к документации
M.1 Конкретные требования к документации
M.2 Определяемые реализацией характеристики
M.3 Рекомендации по реализации
N. Глоссарий
P. Резюме синтаксиса
P.1 Правила синтаксиса
P.2 Справочник по синтаксису
Q. Определяемые языком сущности
Q.1 Определяемые языком пакеты
Q.2 Определяемые языком типы и подтипы
Q.3 Определяемые языком подпрограммы
Q.4 Определяемые языком исключения
Q.5 Определяемые языком объекты
Индекс


Spec-Zone.ru

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