❑数据栈的存在。所有运算(条件运算、算术运算等)都是在存放于栈上的数据上完成的。
❑堆的存在——用于存放稍后需要参与运算的数据。堆上的数据可以与名称(即变量)相关联。如前所述,因为所有的运算都在栈上的数据上完成,所以堆上的数据需要先被移到栈上,在栈上参与运算后,被移回堆上。
❑用户自定义“过程”(即绑定到一组指令的名称)形式的抽象完全可以被叫作其他东西。