在M - 460计算机上实现LISP 1.5的详细指南
1. 引言
在M - 460计算机(Univac 490的早期军用版本)上实现LISP 1.5是一项具有挑战性但富有意义的工作。M - 460拥有32000个30位、8微秒的寄存器,其指令集对LISP编程十分便利,例如可以从同一索引寻址的字的左半部分或右半部分加载索引寄存器。外部语言与IBM 7090的LISP 1.5兼容,但存在一些未实现的特性和额外特性。
2. 实现步骤
实现LISP 1.5主要分为以下三个步骤:
1. 确定内部约定并编写垃圾回收器 :至少在概念上完成垃圾回收器的设计。
2. 编写所需的机器语言子程序 :令人惊讶的是,所需的子程序数量很少。
3. 修改LISP编译器的S表达式版本 :为新机器生成代码(采用类似于LAP的列表结构形式),并使用它编译LISP解释器。这个“引导”编译过程可以使用现有的LISP(这里使用7090版本)完成。
下面是实现步骤的流程图:
graph LR
A[确定内部约定并编写垃圾回收器] --> B[编写所需的机器语言子程序]
B --> C[修改LISP编译器的S表达式版本]
C --> D[编译LISP解释器]
3. 垃圾回收和存储约定
M 460的垃圾回收器(g.c.)将活动列表结构打包到为列表结构分配的空间的一端,放弃一个连
超级会员免费看
订阅专栏 解锁全文
1170

被折叠的 条评论
为什么被折叠?



