为什么 BASIC 有一个受限的标识符格式?

Why does BASIC have a restricted identifier format?

我读到 BASIC 只允许标识符由一个大写字母、一个数字、另一个大写字母和一个 $ 符号组成。为什么会这样?这跟BASIC能容纳多少内存有关吗?

早期微型计算机上的 BASIC 的第一个版本,例如 Radio Shack 的 TRS-80 型号,我对变量命名约定有严重的限制,但根据记忆,您需要大写字母的唯一原因是因为该特定型号只有大写字母。在 Model III 发布之前,小写不会可用,但我相信当时其他流行的计算机,如 Atari 和 Apple,也许 Commodore PET 也可以使用小写。内存有限制,所以我认为变量被限制为两个字符,第一个字符必须是字母,例如 AA 或 A1,$ 部分指定了什么样的变量,在这种情况下是 a字符串变量。百分号 (%) 表示一个整数,我相信如果它有浮点数,!用于 single-precision 和 # 用于双精度数字。其他类型将添加到 BASIC 的更高版本中,并允许使用更长的变量名。

因为只为变量提供了固定数量的内存,所以为了保存space微软将变量名限制为两个字符(你可以使用更多,但它们将被解析器忽略)。

顺便说一句,Sinclair ZX-81 没有这样的限制——内存未映射,因此变量名可以是任意长度。

Atari、Commodore(从 Vic 开始)和 Apple IIe(不是 II 或 II+)都有小写字母,但不是同时出现。 BASIC 不区分大小写。

在大多数 BASIC 中,变量默认为整数,PETBasic (Commodore) 除外,它始终将变量存储为浮点数,如果指定为整数,则在计算前将其转换为整数。