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

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

Предисловие к этому изданию Справочника Ada
Предисловие
Введение
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.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.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.6 Преобразования типов
4.7 Квалифицированные выражения
4.8 Аллокаторы
4.9 Статические выражения и статические подтипы
4.9.1 Статически совместимые ограничения и подтипы
5. Операторы
5.1 Простые и составные операторы — последовательности операторов
5.2 Операторы присваивания
5.3 Операторы if
5.4 Операторы case
5.5 Операторы циклов
5.6 Блочные операторы
5.7 Операторы exit
5.8 Операторы goto
6. Подпрограммы
6.1 Объявления подпрограмм
6.2 Режимы формальных параметров
6.3 Тела подпрограмм
6.3.1 Правила соответствия
6.3.2 Встраивание подпрограмм
6.4 Вызовы подпрограмм
6.4.1 Ассоциации параметров
6.5 Операторы return
6.5.1 Директива No_Return
6.6 Перегрузка операторов
6.7 Пустые процедуры
7. Пакеты
7.1 Спецификации пакетов и объявления
7.2 Тела пакетов
7.3 Приватные типы и приватные расширения
7.3.1 Приватные операции
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 Контекст разрешения перегрузки
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 Операторы delay, длительность и время
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.11 Пример задач и синхронизации
END_OF_DOCUMENT_MARKER
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
11.4 Обработка исключений
11.4.1 Пакет Exceptions
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.2 Директива Pack
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 Атрибут Max_Size_In_Storage_Elements
13.11.2 Непроверенное освобождение памяти
13.11.3 Директива Controlled
13.12 Директивы ограничений
13.12.1 Определенные языком ограничения
13.13 Потоки
13.13.1 Пакет Streams
13.13.2 Атрибуты потокового ввода-вывода
13.14 Правила замораживания
Стандартные библиотеки
A. Предопределенная языковая среда
A.1 Пакет Standard
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.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.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.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.Indefinite_Vectors
A.18.11 Пакет Containers.Indefinite_Doubly_Linked_Lists
A.18.12 Пакет Containers.Indefinite_Hashed_Maps
A.18.13 Пакет Containers.Indefinite_Ordered_Maps
A.18.14 Пакет Containers.Indefinite_Hashed_Sets
A.18.15 Пакет Containers.Indefinite_Ordered_Sets
A.18.16 Сортировка массивов
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 Директива Unchecked_Union
B.4 Интерфейс с COBOL
B.5 Интерфейс с Fortran
END_OF_DOCUMENT_MARKER
C. Программирование систем
C.1 Доступ к операциям машины
C.2 Требуемая поддержка представления
C.3 Поддержка прерываний
C.3.1 Обработчики защищенных процедур
C.3.2 Пакет прерываний
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
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.11 Асинхронное управление задачами
D.12 Другие оптимизации и правила детерминизма
D.13 Профили выполнения
D.13.1 Профиль Ravenscar
D.14 Время выполнения
D.14.1 Таймеры времени выполнения
D.14.2 Бюджеты времени выполнения группы
D.15 События времени
E. Распределённые системы
E.1 Разделы
E.2 Категоризация блоков библиотек
E.2.1 Общие пассивные блоки библиотек
E.2.2 Удаленные типы блоков библиотек
E.2.3 Удаленный интерфейс вызова блоков библиотек
E.3 Согласованность распределенной системы
E.4 Удаленные вызовы подпрограмм
E.4.1 Директива Asynchronous
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.5 Директива Detect_Blocking
H.6 Директива Partition_Elaboration_Policy
J. Устаревшие функции
J.1 Переименования блоков библиотек Ada 83
J.2 Разрешённые замены символов
J.3 Подтипы с пониженной точностью
J.4 Атрибут ограничений
J.5 ASCII
J.6 Numeric_Error
J.7 Клаузы At
J.7.1 Обработчики прерываний
J.8 Клаузы Mod
J.9 Атрибут Storage_Size
J.10 Специальное подавление проверок
J.11 Атрибут класса немаркированных неполных типов
J.12 Директива Interface
J.13 Идентификаторы ограничений зависимости
J.14 Функции преобразования символов и широких символов
K. Явно определённые атрибуты языка
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