A2 & Oberon » Программирование » ActiveOberon » Forward declaration

Страниц (1): [1]
 

1. BohdanT - 06 Января, 2009 - 14:28:01 - перейти к сообщению
Ранее, для того чтобы легче было организовать однопрходность компилятора, существовал механизм Forward declaration(^). Вот пример взаимной рекурсии двух процедур, на этапе вызова процедуры Two() - она еще не описана, но ее интерфейс известен благодаря Forward declaration:
MODULE Forward;
PROCEDURE^ Two();

PROCEDURE One();
BEGIN
Two();
END One;
PROCEDURE Two();
BEGIN
One();
END Two;

END Forward.

Сейчас это уже архаизм, о чем сообщает компилятор. (хотя в делфе присутствует до сиих пор).
В настоящий момент прекрасно компилится:
MODULE Forward;

PROCEDURE One();
BEGIN
Two();
END One;
PROCEDURE Two();
BEGIN
One();
END Two;

END Forward.

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0059]     [ Gzipped ]