gpt4 book ai didi

interpreter - 解释器如何切换范围?

转载 作者:行者123 更新时间:2023-12-02 04:53:14 25 4
gpt4 key购买 nike

我问这个问题是因为我对解释器开发还比较陌生,我想在重新发明轮子之前了解一些基本概念。

我想到了存储在数组中的所有变量的值,该数组构成当前作用域,在进入函数时,数组将被交换,并将原始数组放入某种堆栈中。当离开函数时,“范围堆栈”的顶部元素将被弹出并再次使用。

  • 这基本上是正确的吗?
  • 交换数组(这意味着移动大量数据)不是很慢,因此不被现代解释器使用吗?

最佳答案

为什么要交换数组?只需查看堆栈顶部的数组即可。此外,在大多数语言中,当您想要交换数组时,不必复制数组,只需交换引用或指针即可。

这也是解释器可能会做的事情。另一种方法是为当前作用域建立一个特殊的数据结构,它显式地保存对其父框架的引用。

关于interpreter - 解释器如何切换范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2905708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com