当前位置:  开发笔记 > 编程语言 > 正文

编写Go编程语言的语言是什么?

如何解决《编写Go编程语言的语言是什么?》经验,为你挑选了3个好方法。

我认为标题是自我解释的.



1> Artelius..:

编程语言不是程序,因此它们不是用任何语言"编写"的.它们通常由形式语法(例如BNF)描述.

编程语言的解释器和编译器程序,因此必须用某种编程语言编写.

Go至少有两个编译器,gcgccgo.前者是用C语言编写的,但现在用Go本身编写.而后者是主要用C++编写的gcc前端.Go的库是用Go编写的.


@Cocksure增加的性能不值得用于维护.无论如何,唯一能加速的是编译时间.

2> zneak..:

如果我可以说,请自己查看源代码和C语言.


编辑 Go团队于2013年12月宣布,他们将把编译器转换为Go.截至2015年2月,编译器完全自托管,因为C实现已被删除.新的编译器首次使用Go 1.5发布.


@shortCircuit,参见[Bootstrapping(Compilers)](https://en.wikipedia.org/wiki/Bootstrapping_(compilers))
怎么能有人写进去

3> Charles..:

它是用C语言编写的.库是用Go本身编写的.

编辑:现在编译器已经在Go中重写,因此它完全是自托管的.


@Cawas第一次由什么编译?在编译用X编写的任何程序(包括X的编译器)之前,必须具有以其他某种语言编写的X的编译器。在这种情况下,该语言为C。给定用C编写的Go编译器,为什么还要用Go编写另一种,尤其是当更改语言时必须修改该编译器时?Go仍然是一种实验性,不稳定且不完整的语言-不利于用这种语言来编写强制性语言。
推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有