@@ -42,7 +42,7 @@ we'll talk about that later.
42
42
analysis. The crate entry points for the parser are the ` Parser.parse_crate_mod() ` and
43
43
` Parser.parse_mod() ` methods found in ` librustc_parse::parser::item ` . The external
44
44
module parsing entry point is ` librustc_expand::module::parse_external_mod ` . And
45
- the macro parser entry point is ` rustc_expand::mbe::macro_parser::parse_nt ` .
45
+ the macro parser entry point is [ ` Parser.parse_nonterminal() ` ] [ parse_nonterminal ] .
46
46
- Parsing is performed with a set of ` Parser ` utility methods including ` fn bump ` ,
47
47
` fn check ` , ` fn eat ` , ` fn expect ` , ` fn look_ahead ` .
48
48
- Parsing is organized by the semantic construct that is being parsed. Separate
@@ -111,6 +111,7 @@ we'll talk about that later.
111
111
[ mir-opt ] : https://rustc-dev-guide.rust-lang.org/mir/optimizations.html
112
112
[ `simplify_try` ] : https://github.com/rust-lang/rust/pull/66282
113
113
[ codegen ] : https://rustc-dev-guide.rust-lang.org/backend/codegen.html
114
+ [ parse_nonterminal ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/parser/struct.Parser.html#method.parse_nonterminal
114
115
115
116
## How it does it
116
117
@@ -347,7 +348,7 @@ For more details on bootstrapping, see
347
348
- Main entry points:
348
349
- [ Entry point for first file in crate] ( https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/passes/fn.parse.html )
349
350
- [ Entry point for outline module parsing] ( https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/module/fn.parse_external_mod.html )
350
- - [ Entry point for macro fragments] ( https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/mbe/macro_parser/fn.parse_nt.html )
351
+ - [ Entry point for macro fragments] [ parse_nonterminal ]
351
352
- AST definition: [ ` librustc_ast ` ] ( https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast/ast/index.html )
352
353
- Expansion: ** TODO**
353
354
- Name Resolution: ** TODO**
0 commit comments