相关疑难解决方法(0)

gcc/g ++是如何引导的?

这一直困扰着我.gcc/g ++如何编译自己?我猜测每个修订版都使用以前构建的修订版进行编译.这是真的?如果是的话,是否意味着最古老的g ++/gcc版本是用汇编语言编写的?

c c++ compiler-construction

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

编译器如何编译自己?

我正在网站http://coffeescript.org/上研究CoffeeScript ,它有文本

CoffeeScript编译器本身是用CoffeeScript编写的

编译器如何编译自己,或者这个语句是什么意思?

compilation

167
推荐指数
6
解决办法
6947
查看次数

编写C#编译器的语言是哪种?

我查看了http://referencesource.microsoft.com/上的源代码,看来所有源代码都在C#中.

我还查看了新的C#编译器平台(Roslyn)的源代码,它也在C#中.怎么可能?C#语言编译器是用C#编写的吗?还是我错过了一些明显的东西?如果C#编译器是用C#编写的,那么它是如何工作的?

c# compiler-construction roslyn

144
推荐指数
3
解决办法
2万
查看次数

引导仍然需要外部支持

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

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

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

compiler-construction bootstrapping

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

如何用C编写C编译器?

这个问题可能源于我对编译器的误解,但是这里......

人们可以在第一版K&R(第xi页)的序言中找到以下陈述:

操作系统,C编译器和基本上所有UNIX应用程序(包括用于编写本书的所有软件)都是用C语言编写的.

(我的重点)

这是我不明白的事情:C编译器在编译任何C代码之前是否必须自行编译?如果那个C编译器是用C编写的,那么编译它是否需要一个已经存在的C编译器?!

摆脱这种无限回归难题(或鸡与鸡蛋问题)的唯一方法是用K和R编写的用C编写的C编译器实际上是用已经存在的用C语言编写的C编译器编译的.用C编写的C编译器取代了后者.

还是我完全脱了?

c compiler-construction kernighan-and-ritchie

57
推荐指数
4
解决办法
4万
查看次数

第一个C编译器是如何编写的?

第一个C编译器是用C本身编写的吗?然后,它是如何执行和编译的?或者,这个编译器是用汇编语言编写的吗?

c compiler-construction assembly

50
推荐指数
3
解决办法
4万
查看次数

CoffeeScript如何用CoffeeScript编写?

因此,作为一个新的Web程序员(背景mostely在C,C++和Python),没有JavaScript的经验(或渴望体验一下吧,根据我所看到的),我一直在做CoffeeScript的一些前兆研究,我真的喜欢什么我知道了.我注意到的一个很酷的细微差别就是CoffeeScript是用CoffeeScript编写的,这很酷......但我真的不明白这是怎么回事.不幸的是,在我上一期的高级计算机科学课程中,我选择使用网络安全而不是编译器.

我听说有人在目标语言编写语言使用现有的编译器用于该语言来诠释,但我不能挖就如何实现这一可能的工作,因为这是第一次执行的任何信息.

我的猜测是,可能照顾放下一些初步框架的构建的嵌入式shell脚本的自我指涉的(没有这个词形容恰当这种行为?)语言?

compiler-construction bootstrapping interpreter coffeescript

38
推荐指数
2
解决办法
2873
查看次数

使用以前版本的编译器是否可以防止代码注入?

我想知道今天的现代编译器,如MS cc,gcc,clang,icc,更新的版本是否使用相同编译器的当前版本构建?

因为当然存在这种风险:
http://scienceblogs.com/goodmath/2007/04/15/strange-loops-dennis-ritchie-a/
http://c2.com/cgi/wiki?TheKenThompsonHack

我确信参与上述编译器开发的每个人都知道这个问题,代码由自身的早期版本注入编译器并无形地传播.

现在真正的问题,实际上并不是后门之一,但更多关于代码生成的正确性不是吗?如果构建链中某处某些变态扭曲是由纯错误引入的,那么今天的编译器会生成错误的代码,即使编译器的源代码看起来不错,因为Ken Thompson的缺陷?

因此,如果他们是自己建造的,他们如何保护自己?

c c++ compiler-construction compilation

29
推荐指数
2
解决办法
1014
查看次数

如何用该语言编写语言编译器?

可能重复:
在"本身"中实现编译器
引导语言

如何使用与编写该编译器的语言相同的语言编写编译器?那不是那种递归吗?

编辑:这可能会被删除,但否则......:

如何引导:

为什么要引导:

compiler-construction recursion bootstrapping

20
推荐指数
3
解决办法
8493
查看次数

Scala用什么语言编写,在哪里可以找到源代码?

Scala用什么语言写的?

哪里可以获得Scala的源代码?我正在寻找Scala源本身,而不是用Scala编写的项目.

注意:我在这里的其他一些讨论中看到了/sf/ask/149517651/.

scala

16
推荐指数
2
解决办法
6548
查看次数