我是20世纪80年代中期早期个人电脑的忠实粉丝,比如Amstrad CPC、Commodore 64和Sinclair Spectrum。这些计算机都有一件事是BASIC的版本。
作为一个语言黑客,我自己也很好奇:这些解释器是作为树行解释器(简单地遍历解析树)还是字节码解释器实现的?我找不到很多关于它们是如何实现的信息。考虑到当时硬件的限制,它们是如何构建的,这对我来说很有吸引力。
他们大多是基于令牌的。这意味着,集成的代码编辑器将源码中的人类可读命令转化为字节码。在执行时,这些字节码被读取,然后调度员根据给定的参数执行相应的命令(作为机器代码存储在kernal中)。ZX Spectrum甚至有一个键盘来输入基本代币。
http:/www.worldofspectrum.orgZX81BasicProgramming
其他的一些见这里。
https:/www.primidi.comatari_basicdescriptionthe_tokenizer。
http:/fileformats.archiveteam.orgwikiCommodore_BASIC_tokenized_file。
http:/cpctech.cpc-live.comdocsbastech.html。
希望这能回答你的问题。