> -- adimetrius писал(а):
> Коллеги, вот такой пример демонстрирует, что IS иногда определен для неопределенных переменных, а иногда - нет:Эта программа вычисляет e IS Ext = TRUE, ... .Для меня было неожиданно, что e IS Ext определено при e = NIL, я ожидал авост....Что скажете?
Так разработчик компилятора прав.
Ext - указатель на нерасширяемую запись ("лист" дерева наследования).
Ранее, что-то, что было присвоено переменной этого типа прошло проверку (раз мы здесь оказались и исполняемся).
Cледовательно, буде этот указатель NIL или нет - он ВСЕГДА указывает на переменную записи типа "терминального наследника" (Ext^).