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

5.8 Операторы goto

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

Синтаксис

goto_statement ::= goto label_name;

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

Имя label_name должно ссылаться на метку; оператор с этой меткой является оператором-мишенью.

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

Внешний sequence_of_statements, который содержит оператор-мишень, должен также содержать оператор goto_statement. Кроме того, если оператор goto_statement находится в операторе accept_statement или в теле, то оператор-мишень не должен находиться вне этого содержащего конструкта.

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

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

Примеры

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


Spec-Zone.ru

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