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

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

Предисловие
Введение
1. Общие положения
1.1 Область применения
1.1.1 Объём
1.1.2 Структура
1.1.3 Соответствие реализации стандарту
1.1.4 Метод описания и обозначение синтаксиса
1.1.5 Классификация ошибок
1.2 Нормативные ссылки
1.3 Термины и определения
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.3 Агрегаты
4.3.1 Агрегаты записей
4.3.2 Агрегаты расширений
4.3.3 Агрегаты массивов
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.6 Преобразования типов
4.7 Квалифицированные выражения
4.8 Аллакаторы
4.9 Статические выражения и статические подтипы
4.9.1 Статически соответствующие ограничения и подтипы
5. Операторы
5.1 Простые и составные операторы - последовательности операторов
5.2 Операторы присваивания
5.3 Операторы if
5.4 Операторы case
5.5 Операторы цикла
5.5.1 Пользовательские итераторы
5.5.2 Обобщенная итерация цикла
5.6 Блоки операторов
5.7 Операторы выхода
5.8 Операторы goto
6. Подпрограммы
6.1 Объявления подпрограмм
6.1.1 Предварительные и пост-условия
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.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 Селективный прием
9.7.2 Вызовы входов с временем ожидания
9.7.3 Условные вызовы входов
9.7.4 Асинхронная передача управления
9.8 Прерывание задачи - прерывание последовательности операторов
9.9 Атрибуты задач и входов
9.10 Общие переменные
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.Address_To_Access_Conversions
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 Ограничения пragma и профиль pragma
13.12.1 Ограничения и профили, определённые языком
13.13 Потоки
13.13.1 Пакет потоков
13.13.2 Атрибуты, ориентированные на потоки
13.14 Правила заморозки
Стандартные библиотеки
A. Предопределённая языковая среда
A.1 Стандартный пакет
A.2 Пакет Ada
A.3 Обработка символов
A.3.1 Пакеты Characters, Wide_Characters и Wide_Wide_Characters
A.3.2 Пакет Characters.Handling
A.3.3 Пакет Characters.Latin_1
A.3.4 Пакет Characters.Conversions
A.3.5 Пакет Wide_Characters.Handling
A.3.6 Пакет Wide_Wide_Characters.Handling
A.4 Обработка строк
A.4.1 Пакет Strings
A.4.2 Пакет Strings.Maps
A.4.3 Обработка строк фиксированной длины
A.4.4 Обработка строк ограниченной длины
A.4.5 Обработка строк неограниченной длины
A.4.6 Множества и отображения для обработки строк
A.4.7 Обработка Wide_String
A.4.8 Обработка Wide_Wide_String
A.4.9 Хеширование строк
A.4.10 Сравнение строк
A.4.11 Кодирование строк
A.5 Пакеты Numerics
A.5.1 Элементарные функции
A.5.2 Генерация случайных чисел
A.5.3 Атрибуты типов с плавающей точкой
A.5.4 Атрибуты типов с фиксированной точкой
A.6 Ввод-вывод
A.7 Внешние файлы и объекты файлов
A.8 Последовательные и прямые файлы
A.8.1 Обобщённый пакет Sequential_IO
A.8.2 Управление файлами
A.8.3 Операции последовательного ввода-вывода
A.8.4 Обобщённый пакет Direct_IO
A.8.5 Операции прямого ввода-вывода
A.9 Обобщённый пакет Storage_IO
A.10 Текстовый ввод-вывод
A.10.1 Пакет Text_IO
A.10.2 Управление текстовыми файлами
A.10.3 Файлы стандартного ввода, вывода и ошибок
A.10.4 Указание длины строки и страницы
A.10.5 Операции над столбцами, строками и страницами
A.10.6 Процедуры Get и Put
A.10.7 Ввод-вывод символов и строк
A.10.8 Ввод-вывод целых типов
A.10.9 Ввод-вывод вещественных типов
A.10.10 Ввод-вывод типов перечисления
A.10.11 Ввод-вывод ограниченных строк
A.10.12 Ввод-вывод неограниченных строк
A.11 Широкий текстовый ввод-вывод и широкоширокий текстовый ввод-вывод
A.12 Потоковый ввод-вывод
A.12.1 Пакет Streams.Stream_IO
A.12.2 Пакет Text_IO.Text_Streams
A.12.3 Пакет Wide_Text_IO.Text_Streams
A.12.4 Пакет Wide_Wide_Text_IO.Text_Streams
A.13 Исключения при вводе-выводе
A.14 Обмен файлами
A.15 Пакет Command_Line
A.16 Пакет Directories
A.16.1 Пакет Directories.Hierarchical_File_Names
A.17 Пакет Environment_Variables
A.18 Контейнеры
A.18.1 Пакет Containers
A.18.2 Обобщённый пакет Containers.Vectors
A.18.3 Обобщённый пакет Containers.Doubly_Linked_Lists
A.18.4 Карты
A.18.5 Обобщённый пакет Containers.Hashed_Maps
A.18.6 Обобщённый пакет Containers.Ordered_Maps
A.18.7 Множества
A.18.8 Обобщённый пакет Containers.Hashed_Sets
A.18.9 Обобщённый пакет Containers.Ordered_Sets
A.18.10 Обобщённый пакет Containers.Multiway_Trees
A.18.11 Обобщённый пакет Containers.Indefinite_Vectors
A.18.12 Обобщённый пакет Containers.Indefinite_Doubly_Linked_Lists
A.18.13 Обобщённый пакет Containers.Indefinite_Hashed_Maps
A.18.14 Обобщённый пакет Containers.Indefinite_Ordered_Maps
A.18.15 Обобщённый пакет Containers.Indefinite_Hashed_Sets
A.18.16 Обобщённый пакет Containers.Indefinite_Ordered_Sets
A.18.17 Обобщённый пакет Containers.Indefinite_Multiway_Trees
A.18.18 Обобщённый пакет Containers.Indefinite_Holders
A.18.19 Обобщённый пакет Containers.Bounded_Vectors
A.18.20 Обобщённый пакет Containers.Bounded_Doubly_Linked_Lists
A.18.21 Обобщённый пакет Containers.Bounded_Hashed_Maps
A.18.22 Обобщённый пакет Containers.Bounded_Ordered_Maps
A.18.23 Обобщённый пакет Containers.Bounded_Hashed_Sets
A.18.24 Обобщённый пакет Containers.Bounded_Ordered_Sets
A.18.25 Обобщённый пакет Containers.Bounded_Multiway_Trees
A.18.26 Сортировка массивов
A.18.27 Обобщённый пакет Containers.Synchronized_Queue_Interfaces
A.18.28 Обобщённый пакет Containers.Unbounded_Synchronized_Queues
A.18.29 Обобщённый пакет Containers.Bounded_Synchronized_Queues
A.18.30 Обобщённый пакет Containers.Unbounded_Priority_Queues
A.18.31 Обобщённый пакет Containers.Bounded_Priority_Queues
A.18.32 Пример использования контейнеров
A.19 Пакет Locales
B. Интерфейс с другими языками
B.1 Аспекты взаимодействия
B.2 Пакет Interfaces
B.3 Взаимодействие с C и C++
B.3.1 Пакет Interfaces.C.Strings
B.3.2 Обобщённый пакет Interfaces.C.Pointers
B.3.3 Непроверенные союзы типов
B.4 Взаимодействие с COBOL
B.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.7 Информация о задачах
C.7.1 Пакет Task_Identification
C.7.2 Пакет Task_Attributes
C.7.3 Пакет Task_Termination
END_OF_DOCUMENT_MARKER
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.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
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 Отредактированный вывод для десятичных типов
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.5 Предикат Detect_Blocking
H.6 Предикат Partition_Elaboration_Policy
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
K. Языковые аспекты и атрибуты
K.1 Языковые аспекты
K.2 Языковые атрибуты
L. Языковые предикаты
M. Резюме требований к документации
M.1 Конкретные требования к документации
M.2 Характеристики, определяемые реализацией
M.3 Рекомендации по реализации
N. Словарь
P. Резюме синтаксиса
Q. Языковые сущности
Q.1 Языковые пакеты
Q.2 Языковые типы и подтипы
Q.3 Языковые подпрограммы
Q.4 Языковые исключения
Q.5 Языковые объекты
Индекс


Spec-Zone.ru

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