相关疑难解决方法(0)

引导仍然需要外部支持

我听说过引导一种语言的想法,就是为这种语言编写一个编译器/解释器.我想知道如何实现这一点,并且看了一下,看到有人说它只能通过其中任何一个来完成

  • 用不同的语言编写初始编译器.
  • 在Assembly中手动编写初始编译器,这似乎是第一个特例

对我来说,这些似乎都不是真正引导语言,因为它们都需要外部支持.有没有办法用自己的语言编写编译器?

compiler-construction bootstrapping

93
推荐指数
6
解决办法
2万
查看次数

什么是可以编译自身的*概念*最小*编译器*?

本着这个问题的精神,我想问一个类似的问题,但是关于编译器,而不是解释器.

什么是可以编译自己的代码的概念上最小的编译器?

当我说"概念上最小"时,我的意思是它只使用非常基本的概念并从那里构建,而不是它包含非常短的代码.为什么这是一个重要的区别的一个例子是OTCC是一个非常小的C编译器,它很小,因为它被混淆,不一定是因为它在概念上很简单(它也可能在概念上很简单,但我不知道;它被混淆了).

我还想补充一点,以下也可能是一个非常概念上的小程序,但实际上并没有告诉我们发生了什么,所以它并不是我正在寻找的:

(writefile argv[2] (generate (parse (readfile argv[1]))))
Run Code Online (Sandbox Code Playgroud)

我真正想要的是一种语言:

  1. 图灵完成.
  2. 能够编译自己.

我对此感兴趣因为

  1. 这将是一个有趣的案例研究和
  2. 它可以作为引导编译器的起点.

如果它不存在,我可能只是自己写.:)

compiler-construction

14
推荐指数
3
解决办法
3207
查看次数