]>
Commit | Line | Data |
---|---|---|
a1dfa0c6 XL |
1 | # About this guide |
2 | ||
3 | This guide is meant to help document how rustc – the Rust compiler – | |
4 | works, as well as to help new contributors get involved in rustc | |
ba9703b0 | 5 | development. |
a1dfa0c6 | 6 | |
ba9703b0 | 7 | There are six parts to this guide: |
532ac7d7 | 8 | |
ba9703b0 XL |
9 | 1. [Building, Debugging, and Contributing to `rustc`][p1]: Contains information that should be useful no matter how |
10 | you are contributing, such as procedures for contribution, building the | |
11 | compiler, etc. | |
12 | 2. [High-Level Compiler Architecture][p2]: Discusses the high-level | |
13 | architecture of the compiler and stages of the compile process. | |
14 | 3. [Source Code Representation][p3]: Describes the process of taking raw source code from the user and | |
15 | transforming it into various forms that the compiler can work with easily. | |
16 | 4. [Analysis][p4]: discusses the analyses that the compiler uses to check various | |
17 | properties of the code and inform later stages of the compile process (e.g., type checking). | |
18 | 5. [From MIR to Binaries][p5]: How linked executable machine code is generated. | |
19 | 6. [Appendices][app] at the end with useful reference information. There are a | |
20 | few of these with different information, inluding a glossary. | |
21 | ||
22 | [p1]: ./part-1-intro.md | |
23 | [p2]: ./part-2-intro.md | |
24 | [p3]: ./part-3-intro.md | |
25 | [p4]: ./part-4-intro.md | |
26 | [p5]: ./part-5-intro.md | |
27 | [app]: ./appendix/background.md | |
28 | ||
29 | The Guide itself is of course open-source as well, and the sources can | |
a1dfa0c6 XL |
30 | be found at the [GitHub repository]. If you find any mistakes in the |
31 | guide, please file an issue about it, or even better, open a PR | |
32 | with a correction! | |
33 | ||
dc9dc135 XL |
34 | ## Other places to find information |
35 | ||
36 | You might also find the following sites useful: | |
37 | ||
ba9703b0 | 38 | - [rustc API docs] -- rustdoc documentation for the compiler |
dc9dc135 XL |
39 | - [Forge] -- contains documentation about rust infrastructure, team procedures, and more |
40 | - [compiler-team] -- the home-base for the rust compiler team, with description | |
41 | of the team procedures, active working groups, and the team calendar. | |
42 | ||
74b04a01 | 43 | [GitHub repository]: https://github.com/rust-lang/rustc-dev-guide/ |
ba9703b0 | 44 | [rustc API docs]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ |
dc9dc135 XL |
45 | [Forge]: https://forge.rust-lang.org/ |
46 | [compiler-team]: https://github.com/rust-lang/compiler-team/ |