标识符:identifier 是一个字符串,通常由字母和数字组成。用来指向一个实体。所有的标识符都是名字,但不是所有的名字都是标识符,名字也可以是一个表示式,比如 x.y 。其中,x或者 y 是标识符也是名字,而 x.y 只能被叫作名字,而不能称之为标识符。
变量:变量表现的是开辟了某个特定的内存位置。同一个标识符被多次声明是很常见的事情,每一个声明引入一个新的变量。在递归 情况下,即使每个标识符只被声明一次,但在递归过程中的局部标识符将在不同的时刻指向不同的位置。
环境和状态:
环境由语言的作用域规则决定,它是名字到存储位置(变量)的映射。大部分名字到位置的绑定是动态的。某些全局变量的声明可以一劳永逸地分配一个存储位置。
状态是一个从内存位置到值的映射。一般来说这也是动态绑定的。被声明的常量是一个例外,它会将名字静态地绑定为一个值,并且不可重新绑定。