|
3 | 3 | This guide is meant to help document how rustc – the Rust compiler – works,
|
4 | 4 | as well as to help new contributors get involved in rustc development.
|
5 | 5 |
|
6 |
| -There are seven parts to this guide: |
| 6 | +There are several parts to this guide: |
7 | 7 |
|
8 |
| -1. [Building `rustc`][p1]: |
| 8 | +1. [Building and debugging `rustc`][p1]: |
9 | 9 | Contains information that should be useful no matter how you are contributing,
|
10 | 10 | about building, debugging, profiling, etc.
|
11 |
| -2. [Contributing to `rustc`][p2]: |
| 11 | +1. [Contributing to Rust][p2]: |
12 | 12 | Contains information that should be useful no matter how you are contributing,
|
13 | 13 | about procedures for contribution, using git and Github, stabilizing features, etc.
|
14 |
| -3. [High-Level Compiler Architecture][p3]: |
| 14 | +1. [Bootstrapping][p3]: |
| 15 | + Describes how the Rust compiler builds itself using previous versions, including |
| 16 | + an introduction to the bootstrap process and debugging methods. |
| 17 | +1. [High-level Compiler Architecture][p4]: |
15 | 18 | Discusses the high-level architecture of the compiler and stages of the compile process.
|
16 |
| -4. [Source Code Representation][p4]: |
| 19 | +1. [Source Code Representation][p5]: |
17 | 20 | Describes the process of taking raw source code from the user
|
18 | 21 | and transforming it into various forms that the compiler can work with easily.
|
19 |
| -5. [Analysis][p5]: |
20 |
| - discusses the analyses that the compiler uses to check various properties of the code |
| 22 | +1. [Supporting Infrastructure][p6]: |
| 23 | + Covers command-line argument conventions, compiler entry points like rustc_driver and |
| 24 | + rustc_interface, and the design and implementation of errors and lints. |
| 25 | +1. [Analysis][p7]: |
| 26 | + Discusses the analyses that the compiler uses to check various properties of the code |
21 | 27 | and inform later stages of the compile process (e.g., type checking).
|
22 |
| -6. [From MIR to Binaries][p6]: How linked executable machine code is generated. |
23 |
| -7. [Appendices][p7] at the end with useful reference information. |
| 28 | +1. [MIR to Binaries][p8]: How linked executable machine code is generated. |
| 29 | +1. [Appendices][p9] at the end with useful reference information. |
24 | 30 | There are a few of these with different information, including a glossary.
|
25 | 31 |
|
26 | 32 | [p1]: ./building/how-to-build-and-run.html
|
27 | 33 | [p2]: ./contributing.md
|
28 |
| -[p3]: ./part-2-intro.md |
29 |
| -[p4]: ./part-3-intro.md |
30 |
| -[p5]: ./part-4-intro.md |
31 |
| -[p6]: ./part-5-intro.md |
32 |
| -[p7]: ./appendix/background.md |
| 34 | +[p3]: ./building/bootstrapping/intro.md |
| 35 | +[p4]: ./part-2-intro.md |
| 36 | +[p5]: ./part-3-intro.md |
| 37 | +[p6]: ./cli.md |
| 38 | +[p7]: ./part-4-intro.md |
| 39 | +[p8]: ./part-5-intro.md |
| 40 | +[p9]: ./appendix/background.md |
33 | 41 |
|
34 | 42 | ### Constant change
|
35 | 43 |
|
|
0 commit comments