File tree Expand file tree Collapse file tree 1 file changed +4
-3
lines changed Expand file tree Collapse file tree 1 file changed +4
-3
lines changed Original file line number Diff line number Diff line change @@ -20,7 +20,8 @@ High-level concepts
20
20
Rustc consists of the following subdirectories:
21
21
22
22
front/ - front-end: attributes, conditional compilation
23
- middle/ - middle-end: resolving, typechecking, generating LLVM code
23
+ middle/ - middle-end: name resolution, typechecking, LLVM code
24
+ generation
24
25
back/ - back-end: linking and ABI
25
26
metadata/ - serializer and deserializer for data required by
26
27
separate compilation
@@ -83,8 +84,8 @@ Control and information flow within the compiler:
83
84
- Multiple middle-end passes (middle/resolve.rs, middle/typeck.rs)
84
85
analyze the semantics of the resulting AST. Each pass generates new
85
86
information about the AST and stores it in various environment data
86
- structures. The driver is in charge of passing the correct
87
- environments to each compiler pass that needs to refer to them.
87
+ structures. The driver passes environments to each compiler pass
88
+ that needs to refer to them.
88
89
89
90
- Finally middle/trans.rs translates the Rust AST to LLVM bitcode in a
90
91
type-directed way. When it's finished synthesizing LLVM values,
You can’t perform that action at this time.
0 commit comments