Блок локальных определений | MetodPro.ru

Реклама на сайте

Блок локальных определений


При компиляции LET-выражения сначала транслируется список аргументов, которые соединяются в единый список в вершине стека s SECD-машины, а затем тело функции:

(LET e (x1 e1) … (xk ek))       →     

(LDC NIL)   (CONS) … (CONS) (LDF (RTN) AP)

Важно отметить, что аргументы компилируются относительно исходного окружения σ, а тело функции – относительно расширенного окружения σ+. Команда AP в конце списка позволит вызывать функцию и применить замыкание функции, создаваемое командой LDF.

Рассмотрим пример:

e=(LET (ADD X Y) (X (QUOTE 7)) (Y (QUOTE 3)))

σ=NIL

=(LET (ADD X Y) (X (QUOTE 7)) (Y (QUOTE 3)))=

(LDC NIL) (QUOTE 3)(CONS) (QUOTE 7)(CONS)

   (LDF  (ADD X Y)(RTN) AP)=

(LDC NIL LDC 3 CONS LDC 7 CONS LDF(LD(00) LD(01)ADD RTN)AP)



Методические пособия

  • Системы автоматизированного проектирования
  • Социология молодёжи
  • Общая социология
  • Криптография
  • Проектирование трансляторов
  • Компьютерная графика
  • Моделирование систем
  • Информационная безопасность
  • Теория вычислительных процессов
  • Логические основы искусственного интелекта
  • Проектирование распределённых информационных систем