Address review

This commit is contained in:
Oliver Schneider 2018-07-05 09:30:05 +02:00 committed by Who? Me?!
parent edae077f8f
commit e54c0c413f
2 changed files with 3 additions and 1 deletions

View File

@ -20,6 +20,7 @@
- [Macro expansion](./macro-expansion.md) - [Macro expansion](./macro-expansion.md)
- [Name resolution](./name-resolution.md) - [Name resolution](./name-resolution.md)
- [The HIR (High-level IR)](./hir.md) - [The HIR (High-level IR)](./hir.md)
- [Lowering AST to HIR](./lowering.md)
- [The `ty` module: representing types](./ty.md) - [The `ty` module: representing types](./ty.md)
- [Type inference](./type-inference.md) - [Type inference](./type-inference.md)
- [Trait solving (old-style)](./traits/resolution.md) - [Trait solving (old-style)](./traits/resolution.md)

View File

@ -3,7 +3,8 @@
The HIR "High-Level Intermediate Representation" is the primary IR used in The HIR "High-Level Intermediate Representation" is the primary IR used in
most of rustc. It is a compiler-friendly representation of the abstract syntax most of rustc. It is a compiler-friendly representation of the abstract syntax
tree (AST) that is generated after parsing, macro expansion, and name tree (AST) that is generated after parsing, macro expansion, and name
resolution. Many parts of HIR resemble Rust surface syntax quite closely, with resolution (see [Lowering](./lowering.md) for how the HIR is created).
Many parts of HIR resemble Rust surface syntax quite closely, with
the exception that some of Rust's expression forms have been desugared away. For the exception that some of Rust's expression forms have been desugared away. For
example, `for` loops are converted into a `loop` and do not appear in the HIR. example, `for` loops are converted into a `loop` and do not appear in the HIR.
This makes HIR more amenable to analysis than a normal AST. This makes HIR more amenable to analysis than a normal AST.