与使用汇编语言设计编译器相比,如何使用其他语言编译器设计编译器更好?

时间:2017-09-30 07:24:30

标签: assembly compiler-construction compiler-optimization

假设我们有一个语言X,其编译器是用Y语言设计的,其中语言Y的编译器是用汇编语言设计的。现在,为了执行用X编写的一段代码,在语言Y的帮助下编译指令,即X中的指令作为Y的输入(用作X的编译器),Y的编译器执行它们并生成X的编译代码。但是,提交给Y的指令也必须用汇编语言编译。

这里必须编译Y中的指令以编译X中的指令。为什么这甚至是必要的?

当我们使用汇编代码直接在X中编译指令时,是否比上述情况更容易?

1 个答案:

答案 0 :(得分:3)

装配中 更容易 没有任何意义。汇编只是另一种语法,它本身必须最终编译才能生成机器代码。

回到语言' X':取决于你想要的结果。语言是否会自行引导?如果是这样,则以递增方式完成,并且可以以任何合适的语言完成中间或初始编译。最终,当您接管工作时,您将逐步淘汰中间语言。如果 从不 计划引导和/或自托管,那么最明显的选择是最灵活,最便携的语言,只需要很少的工作来管理变更,这通常是一个高级语言而不是'汇编'。