首页 > 后端开发 > Golang > Go 1 编译器是否使用 `go/ast`、`go/token` 和 `go/parser` 包?

Go 1 编译器是否使用 `go/ast`、`go/token` 和 `go/parser` 包?

Linda Hamilton
发布: 2024-12-20 17:08:10
原创
180 人浏览过

Does the Go 1 Compiler Use the `go/ast`, `go/token`, and `go/parser` Packages?

了解 Go1 编译器的机制

Go1 中最近引入的 go 命令激发了人们对其底层功能的好奇。具体来说,go/ast、go/token 和 go/parser 等软件包的存在引发了人们对其在新编译器中的作用的疑问。

Go1 编译器是否使用这些软件包?

与预期相反,Go1 编译器仍然主要用 C 编写。它的词法分析器驻留在 src/cmd/gc/lex.c 中,而它的 Bison 语法定义在src/cmd/gc/go.y。因此,上面提到的包在实际的编译过程中并没有被使用。

go/ 包的作用

相反,go/ 包在众多工具中发挥着关键作用。走向生态系统。这些工具包括用于文档生成的 godoc、用于代码格式化的 gofmt 以及 go 工具的各种子命令。

尽管当前实现如此,但用 Golang 编写的 Go 编译器的前景仍然令人着迷。然而,这方面尚未取得实质性进展。

以上是Go 1 编译器是否使用 `go/ast`、`go/token` 和 `go/parser` 包?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板