ALGOL编译器最初的编程是什么?

时间:2016-07-09 22:19:17

标签: compiler-construction history algol

我一直在环顾四周,但我发现用于创建ALGOL 58编译器的内容的信息很少。编译器是否与FORTRAN类似,因为它们使用物理卡来创建它?

4 个答案:

答案 0 :(得分:2)

当然他们使用的是实体卡,因为它当时最实用。 要么你穿孔卡(我自己这样做)或你设置开关(效率更低......) 纸胶带也被使用了,但穿孔卡片的乐趣在于你可以穿很多;事先,如果你忘了一个,打孔器被占用...... 但这与它所写的语言没有多大关系。 我几乎可以肯定这是集会。

答案 1 :(得分:2)

我不确定问题的背景。不同的制造商提供了不同的Algol方言。

我对Algol 60的体验首先是在拥有两个不同但兼容的Algol编译器的English Electric KDF9上进行的。首先,用于程序开发的Whetstone编译器/控制器系统具有出色的诊断能力,但运行速度相当慢。其次,英语电气编译器的编译速度慢得多,但产生的运行时间代码快。我相信这两个编译器都是用机器代码编写的。

1970年,我加入了Burroughs Machines Ltd,并与B6500及其后续产品一起工作。它的Algol编译器是用Algol编写的,可用于自身编译!这是我们必须进行机器编码的最接近的东西!支持软件的大多数组成部分都是用Algol编写的。例如。所有其他语言编译器! (基本,PL / I,Cobol,Fortran)

如果您反对这里存在鸡肉和鸡蛋问题,那是非常正确的。

在B6500的硬件运行之前,B5500上已经运行了B6500仿真器。因此,可以用B5500 Algol编写B6500的Algol编译器,并在B6500仿真器中运行所得代码。从B5500 Algol语言到B6500版本的变化并不大,尽管机器代码完全不同。因此,将编译器的源代码从B5500更改为B6500并不是一件大事。

如果您要坚持回答有关B5500 Algol编译器的生产方式的问题,恐怕我没有!那是我的时间。

答案 2 :(得分:0)

“ Algol 58编译器”一词表明只有一个,但事实并非如此; there were quite a few,对已发布的IAL报告具有不同程度的保真度。

对于Don Knuth的Burroughs 205编译器,we can look at the listings

答案 3 :(得分:0)

紧接着另一个人的回答,在http://ed-thelen.org/comp-hist/B5000-AlgolRWaychoff.html处有关于B205的Algol编译器的详细描述。

为此,请参考以下有关Donald Knuth的摘录。 “ 6月份,我们认识了这个高个子大学生,他总是用小写字母签名。他是唐·库努斯。他与布拉德·麦肯齐(Brad MacKenzie)签约,写了205个Algol 58编译器,该编译器是220 Algol 58编译器的一部分。由杰克·梅纳(Jack Merner)和乔尔·埃德温(Joel Erdwin)撰写。

唐声称他在三个半月的暑假期间可以自己编写编译器和语言手册。他说他会花5000美元去做。我们的Fortran编译器需要读卡器,打卡机。行式打印机和自动浮点。唐说,他不需要读卡器或打卡机,但他需要磁带设备和纸带。我问杰拉德·盖伊德(Gerard Guyod),如果布拉德要花3个半月的时间来写这个必须是垃圾的东西,他怎么可能会被吸引去给这个大学生支付5000美元。杰拉德低声对我回应。他说:“我们认为他已经写过这本书。他很可能在业余时间在Case研究所的计算机中心工作了。”我仍然对这个答案并不完全满意,因为我是一名大学毕业生,第一份工作是每月325美元,而我刚换工作,每月可赚525美元。除此之外,凡人需要25个人年的时间来编写编译器:而不是三个半月的人。我以为布拉德已经离开了他的感官。”