2.6 词汇表

:栈是一种后进先出的数据结构。栈最主要的操作是:push(压入)——将元素添加到栈顶部;pop(弹出)——从栈顶部移出元素。栈在包括Forth在内的编程语言的实现中起着至关重要的作用。尽管通常不被程序员所看到,但在几乎每一种现代编程语言中,栈都是支撑程序中某一个线程执行的一小块内存。当过程/函数被调用时,通常会将与参数和返回地址相关的数据块压入栈,随后其他的过程/函数调用也会将其他类似的块压入栈。当返回时,通常会弹出栈上的相应块。

:堆是许多现代编程语言实现的另一块内存。堆主要用于动态内存分配/释放,例如创建列表和对象(不要与称为Heap的数据结构混淆,那是一种专门的基于树的数据结构)。

堆栈机器:堆栈机器(stack machine)是一种真实的或模拟的计算机,它使用栈而不是寄存器来协助评估程序表达式。Forth就是一种堆栈机器编程语言。许多现代虚拟机也是如此,例如Java虚拟机。