golang 是什么写的


本文摘自php中文网,作者(*-*)浩,侵删。

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

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

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

用于测试被自举的语言;

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

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

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

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

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

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

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

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

以上就是golang 是什么写的的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

go的切片(进阶版)

聊聊dubbo-go-proxy的apifilter

2021-03-05:go中,io密集型的应用,比如有很多文件io,磁盘io,网络io,调大goma

go语言实战流媒体视频网站

golang如何升级?

range 带中文的字符串的坑

使用 mix/vega + mix/db 进行现代化的原生 php 开发

rune数据类型

golang 适合做web开发吗

vim--golang开发配置

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    正在狠努力加载,请稍候...