我正在学习一门名为Programming Language Principles的课程。它介绍了一个简单的解释器的设计。
和基尔的这个解释器的一段代码:
(define valof
(lambda (exp env)
(dmatch exp
[,sym (guard (symbol? sym)) (env sym)]
... )))
我想知道解释器中的环境是什么。
我正在学习一门名为Programming Language Principles的课程。它介绍了一个简单的解释器的设计。
和基尔的这个解释器的一段代码:
(define valof
(lambda (exp env)
(dmatch exp
[,sym (guard (symbol? sym)) (env sym)]
... )))
我想知道解释器中的环境是什么。
在像您正在查看的解释器中,环境是将值与变量名称相关联的对象。通常它是一个框架列表,每个框架都是一个变量绑定列表。
查看计算机程序的结构和解释,了解评估者如何使用环境。