5

计算机程序的结构和解释第 3.2 部分中,“环境”被定义为“帧序列”。但据我所知,这本书并没有进一步讨论环境和框架之间的区别。另外,我怀疑环境的绘图将它们与框架混为一谈,因为书籍绘图很小且是二维的,并且在没有另一张完整绘图的情况下不容易显示时间演变。

那么将创建时的环境与其第一帧相同是否正确?然后当环境发生任何变化(现有绑定发生变化,创建新绑定)时,环境会在其帧序列中添加一个新帧吗?如果这种理解不正确,那么环境和框架之间究竟有什么区别

提前感谢您的帮助!

4

3 回答 3

2

帧序列是“向上”指向全局环境的链表(帧)。因此,当创建环境时(例如,在过程绑定的上下文中),“环境”是指向框架的指针......它在术语中指向封闭环境(或 null,如果是全局环境)。

所以......一个合格的“是”......它是第一帧,因为环境的其余部分可以从第一帧访问。

这有帮助吗?

亲切地,达克

于 2010-09-21T18:24:47.853 回答
2

很多时候,人们交替使用“环境”和“框架”。就个人而言,我一直试图让它们与众不同。我使用框架来表示特定的堆栈和环境来表示所有框架。

于 2010-10-15T19:46:07.650 回答
0

我认为初始环境是长度为 1 的序列,只有第一帧。

于 2010-09-21T17:05:38.710 回答