Go1 中最近引入的 go 指令激發了人們對其底層功能的好奇。具體來說,go/ast、go/token 和 go/parser 等軟體包的存在引發了人們對其在新編譯器中的作用的疑問。
與預期相反,Go1 編譯器仍主要以 C 編寫。它的詞法分析器駐留在 src/cmd/gc/lex.c 中,而它的 Bison 語法定義在src/cmd/gc/go.y。因此,上面提到的套件在實際的編譯過程中並沒有被使用。
相反,go/ 套件在眾多工具中發揮關鍵作用。走向生態系。這些工具包括用於文件生成的 godoc、用於程式碼格式化的 gofmt 以及 go 工具的各種子命令。
儘管目前實現如此,但用 Golang 編寫的 Go 編譯器的前景仍然令人著迷。然而,這方面尚未取得實質進展。
以上是Go 1 編譯器是否使用 `go/ast`、`go/token` 和 `go/parser` 套件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!