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

J.15.11 Директивы Priority и Interrupt_Priority

Синтаксис

Форма директивы pragma Priority:
pragma Priority (выражение);
Форма директивы pragma Interrupt_Priority:
pragma Interrupt_Priority [(выражение);]

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

Ожидаемый тип для выражения в директивах Priority или Interrupt_Priority — Integer.

Правила допустимости

Директива Priority разрешена только непосредственно внутри определения_задачи, определения_защищенного_объекта или в разделе_объявлений тела_подпрограммы. Директива Interrupt_Priority разрешена только непосредственно внутри определения_задачи или определения_защищенного_объекта.
Для директивы Priority, используемой в разделе_объявлений тела_подпрограммы, выражение должно быть статическим и его значение должно находиться в диапазоне System.Priority.

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

Для реализации, поддерживающей Приложение D, директива pragma Priority задаёт значение атрибута Priority (см. D.1), а pragma Interrupt_Priority задаёт значение атрибута Interrupt_Priority следующим образом:
  • Если директива находится в определении_задачи, то выражение ассоциируется с атрибутом типа задачи или объявления_одной_задачи, содержащего данную директиву;
  • Если директива находится в определении_защищенного_объекта, то выражение ассоциируется с атрибутом типа защищенного объекта или объявления_одного_защищенного_объекта, содержащего данную директиву;
  • Если директива находится в разделе_объявлений тела_подпрограммы, то выражение ассоциируется с атрибутом подпрограммы, содержащей данную директиву.
Если выражение отсутствует в директиве Interrupt_Priority, то атрибут Interrupt_Priority имеет значение Interrupt_Priority'Last.


Spec-Zone.ru

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