Я работаю над игрушечным языком, который компилируется в C ++ на основе lisp (очень маленькое подмножество схемы), я пытаюсь понять, как представить выражение let,
(let ((var 10)
(test 12))
(+ 1 1)
var)
Сначала я думал выполнить все выражения, а затем вернуть последний, но возвращение убьет мою способность вкладывать выражения let. Каким будет способ представления let?
Кроме того, любые ресурсы при преобразовании источника в источник используются, я искал в Google, но все, что я мог найти, это 90 компилятор схемы min.