编译器程序如何进行编译?

时间:2018-09-28 15:58:55

标签: compiler-construction

由于编译器基本上是将源代码转换为机器代码的程序,因此该编译器程序如何进行编译?我读过一些有关编译器程序能够自行编译的信息,但这不是普通程序,它还需要一个单独的程序对其进行编译。

1 个答案:

答案 0 :(得分:0)

简短的一般性回答,因为您的问题非常广泛:有多种方法可以解决此问题,但这很大程度上取决于您的目标;

  1. 编译器自行编译。这称为“ 自托管”,可以逐步实现,每个后续版本都可以解析/编译您添加的 其他 语言功能。或者,
  2. 您的语言源是由另一种语言(例如Python,C / C ++等)编译的,因此,当您向语言中添加功能时,就支持对源代码的那些扩展,然后更新您在其他语言中构建的代码语言。这可能是临时的(也称为 bootstrapping ),并且一旦生成的编译器足够健壮,您就可以恢复到选项1。