stack - Forth 实现使用系统堆栈作为返回堆栈是否可行?

标签 stack forth

像 C 这样的语言将系统堆栈用于局部变量和返回地址。 Forth 有数据栈和返回栈。是否有使用系统堆栈作为返回堆栈并因此使用返回指令来结束一个字的执行的 Forth 实现?这是一种可行的方法吗?

最佳答案

原生callret说明用于 subroutine-threaded code .在这种情况下,系统堆栈在 Forth 中扮演返回堆栈的角色。

SP-Forth/4 是一个 Forth 系统的例子,它使用这种方法(见 forthproc)和 peephole optimization .

关于stack - Forth 实现使用系统堆栈作为返回堆栈是否可行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59383300/

相关文章:

C++ 堆栈推送/打印实现

algorithm - 如何实现维基百科的素性测试算法?

forth - 我如何 "extend"外部解释器?

c函数指针在运行时传递参数

c++ - 需要大尺寸静态数组

c - 使用 malloc() 和 sizeof() 函数时出错

memory-management - 没有 'allot' 可以使用字典内存吗?

embedded - 从哪个 Forth 开始移植?

forth - 如何计算 AND-Forth 的本地人?

c++ - std::vector<std::array<T, N>> 或 std::array<std::vector<T>,N> 类型的数组如何存储在内存中?