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

5.8 Операторы Goto

Оператор goto_statement указывает на явную передачу управления от этого оператора к целевому оператору с заданным меткой.

Синтаксис

goto_statement ::= goto label_имя;

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

Имя label_имя должно разрешаться как метка; оператор с этой меткой является целевым оператором.

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

Внутренний последовательность_операторов, который включает целевой оператор, также должен включать оператор goto_statement. Кроме того, если оператор goto_statement заключен в оператор_приема или в тело, то целевой оператор не должен находиться вне этого включающего конструкта.

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

Выполнение оператора goto_statement передает управление целевому оператору, завершая выполнение любого составного_оператора, который включает оператор goto_statement, но не включает целевой.
ПРИМЕЧАНИЕ Вышеупомянутые правила позволяют передачу управления оператору оператора включающей последовательности_операторов, но не наоборот. Аналогично, они запрещают передачи управления, такие как между альтернативами case_statement, if_statement или select_statement; между обработчиками_исключений; или из обработчика_исключений обрабатываемой_последовательности_операторов обратно в последовательность_операторов.

Примеры

Пример цикла, содержащего оператор goto:
<<Sort>>
for I in 1 .. N-1 loop
if A(I) > A(I+1) then
Exchange(A(I), A(I+1));
goto Sort;
end if;
end loop;


Spec-Zone.ru

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