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

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

Синтаксис

Форма директивы pragma Interrupt_Handler:
pragma Interrupt_Handler (handler_name);
Форма директивы pragma Attach_Handler:
pragma Attach_Handler (handler_name, expression);

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

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

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

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

Статические семантические правила

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


Spec-Zone.ru

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