PRF: #9891 调整文档格式

This commit is contained in:
pityonline 2018-08-24 22:40:16 +08:00
parent c663a0c5bd
commit 4ce6bd7dce
No known key found for this signature in database
GPG Key ID: 89C97C8DF02C633E

View File

@ -1,9 +1,9 @@
Go 编译器介绍
======
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
## Go编译器介绍
> Copyright 2018 The Go Authors. All rights reserved.
> Use of this source code is governed by a BSD-style
> license that can be found in the LICENSE file.
`cmd/compile` 包含构成 Go 编译器主要的包。编译器在逻辑上可以被分为四个阶段,我们将简要介绍这几个阶段以及包含相应代码的包的列表。
@ -34,7 +34,6 @@ gc 包中包含一个继承自早期C 语言实现的版本的 AST 定义
### 3. 通用 SSA
* `cmd/compile/internal/gc`(转换成 SSA
* `cmd/compile/internal/ssa`SSA 相关的 pass 和规则)
(译注:许多常见高级语言的编译器无法通过一次扫描源代码或 AST 就完成所有编译工作,取而代之的做法是多次扫描,每次完成一部分工作,并将输出结果作为下次扫描的输入,直到最终产生目标代码。这里每次扫描称作一遍,即 pass最后一遍之前所有的 pass 得到的结果都可称作中间表示法,本文中 AST、SSA 等都属于中间表示法。SSA静态单赋值形式是中间表示法的一种性质它要求每个变量只被赋值一次且在使用前被定义
@ -52,7 +51,6 @@ gc 包中包含一个继承自早期C 语言实现的版本的 AST 定义
### 4. 生成机器码
* `cmd/compile/internal/ssa`SSA 低级化和体系结构特定的 pass
* `cmd/internal/obj`(机器代码生成)
编译器中机器相关的阶段开始于“低级”的 pass该阶段将通用变量改写为它们的机器相关变形形式。例如在 amd64 体系结构中操作数可以在内存中,这样许多装载-存储操作就可以被合并。
@ -75,7 +73,7 @@ via: https://github.com/golang/go/blob/master/src/cmd/compile/README.md
作者:[mvdan][a]
译者:[stephenxs](https://github.com/stephenxs)
校对:[校对者ID](https://github.com/校对者ID)
校对:[pityonline](https://github.com/pityonline)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出