Подтвердить что ты не робот

Компилятор игнорирует отсутствующую скобку команды Exit

Почему компилятор Delphi игнорирует эту отсутствующую скобку?

function Test: Boolean;
begin
  Exit(True;    // <-- eek! it compiles...
end;

Я нашел некоторый код, похожий на этот код, и сначала подумал, что Delphi игнорирует мой блок, но он просто игнорирует этот тип синтаксической ошибки. Так что теперь, конечно, я хочу знать, почему.

4b9b3361

Ответ 1

Я предполагаю, что Exit считается маркером для себя, и как таковое все, что определено в пределах той же области после Exit, просто игнорируется компилятором (так как оно не может выполнять эти инструкции в любом случае).

Ответ 2

Возможно, компилятор думает, что либо 1. Существует выход сам по себе, или 2. Существует выход с набором круглых скобок(). Если он не найдет # 2, он перейдет к # 1.