Преобразование Lisp в C ++

Я работаю над игрушечным языком, который компилируется в C ++ на основе lisp (очень маленькое подмножество схемы), я пытаюсь понять, как представить выражение let,

(let ((var 10)
      (test 12))
  (+ 1 1)
  var)

Сначала я думал выполнить все выражения, а затем вернуть последний, но возвращение убьет мою способность вкладывать выражения let. Каким будет способ представления let?

Кроме того, любые ресурсы при преобразовании источника в источник используются, я искал в Google, но все, что я мог найти, это 90 компилятор схемы min.

8
задан MByD 11 April 2011 в 19:49
поделиться