|
33 | 33 | - ["Cleanup Crew" ICE-breakers](ice-breaker/cleanup-crew.md)
|
34 | 34 | - [LLVM ICE-breakers](ice-breaker/llvm.md)
|
35 | 35 | - [Licenses](./licenses.md)
|
36 |
| -- [Part 2: How rustc works](./part-2-intro.md) |
37 |
| - - [High-level overview of the compiler source](./high-level-overview.md) |
38 |
| - - [The Rustc Driver and Interface](./rustc-driver.md) |
39 |
| - - [Rustdoc](./rustdoc.md) |
40 |
| - - [Ex: Type checking through `rustc_interface`](./rustc-driver-interacting-with-the-ast.md) |
| 36 | + |
| 37 | +- [Part 2: High-level Compiler Architecture](./part-2-intro.md) |
| 38 | + - [Overview of the Compiler](./overview.md) |
| 39 | + - [The compiler source code](./compiler-src.md) |
41 | 40 | - [Queries: demand-driven compilation](./query.md)
|
42 | 41 | - [The Query Evaluation Model in Detail](./queries/query-evaluation-model-in-detail.md)
|
43 | 42 | - [Incremental compilation](./queries/incremental-compilation.md)
|
|
46 | 45 | - [Profiling Queries](./queries/profiling.md)
|
47 | 46 | - [Salsa](./salsa.md)
|
48 | 47 | - [Memory Management in Rustc](./memory.md)
|
49 |
| - - [Lexing and Parsing](./the-parser.md) |
50 |
| - - [`#[test]` Implementation](./test-implementation.md) |
51 |
| - - [Panic Implementation](./panic-implementation.md) |
52 |
| - - [Macro expansion](./macro-expansion.md) |
53 |
| - - [Name resolution](./name-resolution.md) |
| 48 | + |
| 49 | +- [Part 3: Source Code Representations](./part-3-intro.md) |
| 50 | + - [The Rustc Driver and Interface](./rustc-driver.md) |
| 51 | + - [Rustdoc](./rustdoc.md) |
| 52 | + - [Ex: Type checking through `rustc_interface`](./rustc-driver-interacting-with-the-ast.md) |
| 53 | + - [Syntax and the AST](./syntax-intro.md) |
| 54 | + - [Lexing and Parsing](./the-parser.md) |
| 55 | + - [`#[test]` Implementation](./test-implementation.md) |
| 56 | + - [Panic Implementation](./panic-implementation.md) |
| 57 | + - [Macro expansion](./macro-expansion.md) |
| 58 | + - [Name resolution](./name-resolution.md) |
| 59 | + - [AST Validation](./ast-validation.md) |
| 60 | + - [Feature Gate Checking](./feature-gate-ck.md) |
54 | 61 | - [The HIR (High-level IR)](./hir.md)
|
55 | 62 | - [Lowering AST to HIR](./lowering.md)
|
56 | 63 | - [Debugging](./hir-debugging.md)
|
| 64 | + - [The MIR (Mid-level IR)](./mir/index.md) |
| 65 | + - [HAIR and MIR construction](./mir/construction.md) |
| 66 | + - [MIR visitor and traversal](./mir/visitor.md) |
| 67 | + - [MIR passes: getting the MIR for a function](./mir/passes.md) |
57 | 68 | - [Closure expansion](./closure.md)
|
| 69 | + |
| 70 | +- [Part 4: Analysis](./part-4-intro.md) |
58 | 71 | - [The `ty` module: representing types](./ty.md)
|
59 | 72 | - [Generics and substitutions](./generics.md)
|
60 | 73 | - [`TypeFolder` and `TypeFoldable`](./ty-fold.md)
|
|
82 | 95 | - [Method Lookup](./method-lookup.md)
|
83 | 96 | - [Variance](./variance.md)
|
84 | 97 | - [Opaque Types](./opaque-types-type-alias-impl-trait.md)
|
85 |
| - - [The MIR (Mid-level IR)](./mir/index.md) |
86 |
| - - [MIR construction](./mir/construction.md) |
87 |
| - - [MIR visitor and traversal](./mir/visitor.md) |
88 |
| - - [MIR passes: getting the MIR for a function](./mir/passes.md) |
89 |
| - - [MIR optimizations](./mir/optimizations.md) |
90 |
| - - [Debugging](./mir/debugging.md) |
| 98 | + - [Pattern and Exhaustiveness Checking](./pat-exhaustive-checking.md) |
91 | 99 | - [The borrow checker](./borrow_check.md)
|
92 | 100 | - [Tracking moves and initialization](./borrow_check/moves_and_initialization.md)
|
93 | 101 | - [Move paths](./borrow_check/moves_and_initialization/move_paths.md)
|
|
100 | 108 | - [Closure constraints](./borrow_check/region_inference/closure_constraints.md)
|
101 | 109 | - [Error reporting](./borrow_check/region_inference/error_reporting.md)
|
102 | 110 | - [Two-phase-borrows](./borrow_check/two_phase_borrows.md)
|
| 111 | + - [Parameter Environments](./param_env.md) |
| 112 | + |
| 113 | +- [Part 5: From MIR to binaries](./part-5-intro.md) |
| 114 | + - [The MIR (Mid-level IR)](./mir/index.md) |
| 115 | + - [MIR optimizations](./mir/optimizations.md) |
| 116 | + - [Debugging](./mir/debugging.md) |
103 | 117 | - [Constant evaluation](./const-eval.md)
|
104 | 118 | - [miri const evaluator](./miri.md)
|
105 |
| - - [Parameter Environments](./param_env.md) |
106 |
| - - [Compiler Backend](./backend/backend.md) |
107 |
| - - [Monomorphization](./backend/monomorph.md) |
108 |
| - - [Lowering MIR](./backend/lowering-mir.md) |
109 |
| - - [Code Generation](./backend/codegen.md) |
110 |
| - - [Updating LLVM](./backend/updating-llvm.md) |
111 |
| - - [Debugging LLVM](./backend/debugging.md) |
112 |
| - - [Backend Agnostic Codegen](./backend/backend-agnostic.md) |
113 |
| - - [Implicit Caller Location](./codegen/implicit-caller-location.md) |
114 |
| - - [Profile-guided Optimization](./profile-guided-optimization.md) |
115 |
| - - [Sanitizers Support](./sanitizers.md) |
116 |
| - - [Debugging Support in Rust Compiler](./debugging-support-in-rustc.md) |
| 119 | + - [Monomorphization](./backend/monomorph.md) |
| 120 | + - [Lowering MIR](./backend/lowering-mir.md) |
| 121 | + - [Code Generation](./backend/codegen.md) |
| 122 | + - [Updating LLVM](./backend/updating-llvm.md) |
| 123 | + - [Debugging LLVM](./backend/debugging.md) |
| 124 | + - [Backend Agnostic Codegen](./backend/backend-agnostic.md) |
| 125 | + - [Implicit Caller Location](./codegen/implicit-caller-location.md) |
| 126 | + - [Profile-guided Optimization](./profile-guided-optimization.md) |
| 127 | + - [Sanitizers Support](./sanitizers.md) |
| 128 | + - [Debugging Support in Rust Compiler](./debugging-support-in-rustc.md) |
117 | 129 |
|
118 | 130 | ---
|
119 | 131 |
|
|
0 commit comments