Блок рекурсивных определений | MetodPro.ru

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

Блок рекурсивных определений


Схема трансляции LETREC-выражения похожа на компиляцию блока локальных определений, но имеются два отличия:

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

(DUM LDC NIL)   (CONS) … (CONS)

 (LDF (RTN) RAP)   

Во-первых, выражения (локальные переменные) e1, …, ek могут быть взаимно рекурсивными и компилируются, соответственно, относительно расширенного окружения σ+. Кроме того, они должны быть заданы в виде лямбда - выражений.

Во-вторых, компиляция выражений выполняется в формальном (циклическом) окружении. Для добавления в исходное окружение σ маркера незавершенного значения Ω используется команда DUM, которая располагается на первом месте откомпилированного списка команд SECD машины.

Список команд завершается командой RAP, которая сохранит текущее состояние SECD-машины и подготовит ее к вычислению вызова функции.



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

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