Spec-Zone.ru › Ada 2022
Руководство по Ada (Ada 2022)

J.15.7 Директивы Interrupt_Handler и Attach_Handler

Синтаксис

Форма директивы pragma Interrupt_Handler выглядит следующим образом:
pragma Interrupt_Handler (handler_имя);
Форма директивы pragma Attach_Handler выглядит следующим образом:
pragma Attach_Handler (handler_имя, выражение);

Правила разрешения имен

Для директив Interrupt_Handler и Attach_Handler имя handler_имя должно ссылаться на защищенную процедуру без параметров.
Для директивы Attach_Handler ожидаемый тип для выражения — Interrupts.Interrupt_Id (см. C.3.2).

Правила легальности

Директивы Attach_Handler и Interrupt_Handler допускаются только непосредственно внутри protected_definition, где объявлена соответствующая подпрограмма. Соответствующее объявление protected_type_declaration или single_protected_declaration должно быть объявлением на уровне библиотеки и не должно быть объявлено внутри тела обобщенного блока. Помимо мест, где обычно применяются правила легальности (см. 12.3), эти правила также применяются в частях, скрытых от пользователя, экземпляра обобщенного блока.

Статическая семантика

Для реализации, поддерживающей Приложение C, директива Interrupt_Handler задает аспект Interrupt_Handler (см. C.3.1) для защищенной процедуры handler_имя со значением True. Для реализации, поддерживающей Приложение C, директива Attach_Handler задает аспект Attach_Handler (см. C.3.1) для защищенной процедуры handler_имя со значением заданного выражения, вычисленного во время создания объекта.


Spec-Zone.ru

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