【发布时间】:2010-09-06 00:37:27
【问题描述】:
我听说过引导语言的想法,即为语言本身编写编译器/解释器。我想知道这怎么能做到,看了一圈,看到有人说这只能由任何一方完成
- 用不同的语言编写初始编译器。
- 在 Assembly 中手动编写初始编译器,这似乎是第一个编译器的特例
对我来说,这两种语言似乎都不是真正引导一种语言,因为它们都需要外部支持。有没有办法用自己的语言实际编写编译器?
【问题讨论】:
-
我对这类事情不是很有经验,但我认为 initial 编译器必须用另一种语言编写。我相当肯定,关于编译器的“引导”只是指用它要编译的语言为一种语言编写 a 编译器,而不是编写第一个该语言的编译器要编译的语言。
-
谢谢大家的信息。当以最初编写有限编译器的想法进行解释时,然后在此基础上进行构建,那么引导的想法就更有意义了。这学期我要上编译器课程,这个决定很大程度上受Steve Yegge's post on how important a class in Compilers 的影响,我刚从亚马逊链接上买了一本 Dragon 的书,该书在 SO 上被降级了。
标签: compiler-construction bootstrapping