gpt4 book ai didi

compiler-construction - 第一个编译器是如何编写的?

转载 作者:行者123 更新时间:2023-12-04 08:21:36 26 4
gpt4 key购买 nike

我听说过鸡和蛋以及引导。我有几个问题。

是什么编写了第一个将某些内容转换为二进制指令的编译器?

汇编是编译还是翻译成二进制指令?

...我很难相信他们用二进制编写了一个编译器。

最佳答案

汇编指令(通常)是到操作码的直接映射,操作码是可以由处理器直接解释的机器代码的(多)字节值。很可能通过从一个表(例如 this one for the 6039 microprocessor ,例如)中查找操作码来直接用操作码编写程序,该表列出了它们与匹配的汇编指令,并手动确定诸如跳转之类的内存地址/偏移量。

第一个程序正是以这种方式完成的——手写操作码。

但是,大多数情况下,使用汇编器来“编译”汇编代码会更简单,它会自动执行这些操作码查找,并有助于计算命名跳转标签的地址/偏移量等。

第一个汇编程序是手工编写的。然后,这些汇编器可用于汇编更复杂的汇编器,然后可用于汇编为高级语言编写的编译器,等等。这个迭代编写工具以简化下一组工具的创建的过程被称为(正如 David Rabinowitz 在他的回答中提到的)bootstrapping .

关于compiler-construction - 第一个编译器是如何编写的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1653649/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com