我正在修读一门名为编程语言原则的课程。它介绍了一个简单的解释器的设计。
gere是这个翻译的一部分代码:
(define valof
(lambda (exp env)
(dmatch exp
[,sym (guard (symbol? sym)) (env sym)]
... )))
我想知道解释器中的环境是什么。
答案 0 :(得分:4)
在您正在查看的解释器中,环境是将值与变量名相关联的对象。通常它是一个框架列表,每个框架都是一个变量绑定列表。
请参阅Structure and Interpretation of Computer Programs,了解评估者如何使用环境。