我听说过无栈语言。然而,我不知道这样的语言是如何实现的。有人能解释一下吗?
发布于 2009-06-19 03:29:48
Stackless Python仍然有一个Python堆栈(尽管它可能具有尾部调用优化和其他调用框架合并技巧),但它完全脱离了解释器的C堆栈。
Haskell (通常实现)没有调用堆栈;计算是基于graph reduction的。
发布于 2009-06-27 20:24:46
有一篇很好的关于language framework Parrot的文章。Parrot不使用堆栈进行调用,本文将对该技术进行一些说明。
发布于 2009-06-19 03:24:57
在我或多或少熟悉的无堆栈环境中(图灵机、汇编和Brainfuck),实现自己的堆栈是很常见的。在语言中内置堆栈并不是最基本的。
在其中最实用的汇编中,您只需选择可用的内存区域,将堆栈寄存器设置为指向底部,然后递增或递减以实现您的推送和弹出。
编辑:我知道有些架构有专门的堆栈,但它们不是必需的。
https://stackoverflow.com/questions/1016218
复制相似问题