Процедура find-variable
Напишите процедуру
find-variable
, которая в качестве аргументов принимает переменную и окружение времени компиляции, а возвращает лексический адрес переменной по отношению к этому окружению. Например, во фрагменте программы, который приведен выше, окружение времени компиляции при обработке выражения
<e1>
равно
((y z) (a b c d e) (x y))
.
Find-variable
должна давать
(find-variable 'c '((y z) (a b c d e) (x y)))
(1 2)
(find-variable 'x '((y z) (a b c d e) (x y)))
(2 0)
(find-variable 'w '((y z) (a b c d e) (x y)))
not-found
Комментарии отсутствуют.