温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

golang自举的优势有哪些

发布时间:2020-06-10 18:30:06 来源:亿速云 阅读:672 作者:鸽子 栏目:编程语言

Google公布了实现Go 1.5自举(Bootstrap)的计划。相关文档的作者是Go核心开发者Russ Cox,他在Go语言上已经耕耘了接近6年。据Russ介绍,Google就“如何从Go源码树中去除所有的C程序”已经酝酿了一年。

自举(Bootstrapping) 是这样的过程,“用要编译的目标编程语言编写其编译器(或汇编器)”。

一般而言,自举有几个优势,比如:

用于测试被自举的语言;

支持使用通常更为高级、提供更多高级抽象的语言来编写编译器;

编译器也可以得益于语言层面的任何改进。

如前所述,Google在之前就开始了从Go源码树中去除C代码的努力,转换计划分为5个步骤:

第1阶段——开发一个从C语言到Go语言的翻译器,将现有的C编译器翻译成Go语言的。这一阶段利用了一个事实:原来的编译器没有大量使用一些很难移植到Go语言的特性,比如宏、联合和指针运算等。

第2阶段——转换编译器的源码树,得到一个Go语言的编译器,但是比较原始,而且是C风格的。

第3阶段——将前面得到的编译器转换为符合Go语言习惯的程序,主要通过识别包,添加文档和单元测试实现。

第4阶段——优化编译器,解决编译器和CPU的内存使用问题,可能引入并行化。

此外,尝试在今天使用的不依赖架构的无序树(Node*s)和依赖架构的有序列表(Prog*s)之间引入一个新的中间表示,目的是改进编译器在消除冗余的nil检查和边界检查等情况下的优化

以上就是golang 是什么写的的详细内容,更多请关注亿速云其它相关文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI