Справочник по Ada 2012
6.7 Процедуры без тела
Определение null_procedure_declaration предоставляет сокращённую запись для объявления процедуры с пустым телом.
Синтаксис
null_procedure_declaration ::=
[overriding_indicator]
procedure_specification is null
[aspect_specification];
[overriding_indicator]
procedure_specification is null
[aspect_specification];
Правила легальности
Если null_procedure_declaration является завершающей частью, то она должна завершать объявление subprogram_declaration или generic_subprogram_declaration. Профиль null_procedure_declaration, завершающей объявление, должен полностью соответствовать профилю этого объявления.
Статическая семантика
Определение null_procedure_declaration объявляет процедуру без тела. Завершение не допускается для null_procedure_declaration; однако null_procedure_declaration может завершать предыдущее объявление.
Динамическая семантика
Вызов процедуры без тела инициируется вызовом подпрограммы. При выполнении вызова подпрограммы для процедуры без тела выполнение subprogram_body не оказывает никакого влияния.
Выполнение null_procedure_declaration не имеет других последствий, кроме установления возможности вызова процедуры без тела без сбоя проверки этапа разработки.
Примеры
procedure Simplify(Expr : in out Expression) is null; -- см. 3.9
-- По умолчанию Simplify ничего не делает, но она может быть переопределена в расширениях Expression
-- По умолчанию Simplify ничего не делает, но она может быть переопределена в расширениях Expression