什么是编译器引导?

它是一种制作自编译编译器的方法,该编译器是用它确定要编译的源编程语言编写的编译器。引导编译器可以编译编译器,因此您可以使用此编译后的编译器来编译其他所有内容以及自身的未来版本。

自举的使用

自举有多种用途,如下所示 -

  • 它可以允许从实际语言和编译器开始开发新的编程语言和编译器。

  • 它允许将新功能与编程语言及其编译器相结合。

  • 它还允许向编译器添加新的优化。

  • 它允许在具有不同指令集的处理器之间传输语言和编译器

自举的优点

自举有各种优点,如下所示 -

  • 编译器开发可以在被编译的高级语言中执行。

  • 这是对正在编译的语言的重要测试。

  • 这是一种包容性一致性检查,因为它必须能够重新创建其目标代码。

对于引导,编译器由三种语言定义 -

S→它编译的源语言。

T→它生成的目标语言。

I→编写它的实现语言

这些语言可以使用 T 图表示为

交叉编译

编译器的特征在于三种语言,即源语言、目标语言和编写语言。这些语言可能完全不同。编译器可以在一台机器上运行并为另一台机器生成目标代码。这样的编译器被称为交叉编译器。

  • 如果它可以在执行语言“S”中为新语言“L”编写交叉编译器,以生成机器“N”的程序。

即 L s N

  • 如果当前 S 的编译器在机器 M 上运行并为 M 生成程序,则它由 S M M定义。

  • 如果 L S N 运行在 S M M 上,我们得到一个编译器 L M N,即从 L 到 N 的编译器在 M 上运行。

示例- 当 S s M 在 S A A上运行时,使用引导创建交叉编译器。

解决方案- 首先,它代表两个带有 T 图的编译器。

当 S s M 在 S A A 上运行时,将生成 S A M。

以上是 什么是编译器引导? 的全部内容, 来源链接: utcz.com/z/363277.html

回到顶部