diff options
| author | Noratrieb <48135649+Noratrieb@users.noreply.github.com> | 2024-09-24 20:21:01 +0200 |
|---|---|---|
| committer | nora <48135649+Noratrieb@users.noreply.github.com> | 2024-09-24 20:21:23 +0200 |
| commit | cbdbbd7b4db5150a533b1fadd593f55a9e186d0c (patch) | |
| tree | 5ec9f6d56d18af4295bcffa4cc44e5e9c214b2ea /src/doc | |
| parent | 8371c224e9cc6ca0ef10e3b5e68258a06241a8b9 (diff) | |
| download | rust-cbdbbd7b4db5150a533b1fadd593f55a9e186d0c.tar.gz rust-cbdbbd7b4db5150a533b1fadd593f55a9e186d0c.zip | |
minor edits
Diffstat (limited to 'src/doc')
| -rw-r--r-- | src/doc/rustc-dev-guide/src/syntax-intro.md | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/doc/rustc-dev-guide/src/syntax-intro.md b/src/doc/rustc-dev-guide/src/syntax-intro.md index 08798cad48f..6339a7e6b86 100644 --- a/src/doc/rustc-dev-guide/src/syntax-intro.md +++ b/src/doc/rustc-dev-guide/src/syntax-intro.md @@ -1,20 +1,19 @@ # Syntax and the AST -Working directly with source code is very inconvenient and error-prone. Thus, -before we do anything else, we convert raw source code into an [Abstract Syntax -Tree (`AST`)][`AST`]. It turns out that doing even this involves a lot of work, -including [lexing, parsing], [`macro` expansion], [name resolution], conditional -compilation, [feature-gate checking], and [validation] of the [`AST`]. In this chapter, -we take a look at all of these steps. +Working directly with source code is very inconvenient and error-prone. +Thus, before we do anything else, we convert raw source code into an +[Abstract Syntax Tree (AST)][AST]. It turns out that doing this involves a lot of work, +including [lexing, parsing], [macro expansion], [name resolution], conditional +compilation, [feature-gate checking], and [validation] of the [AST]. +In this chapter, we take a look at all of these steps. -Notably, there isn't always a clean ordering between these tasks. For example, -`macro` expansion relies on name resolution to resolve the names of `macro`s and -imports. And parsing requires `macro` expansion, which in turn may require -parsing the output of the `macro`. +Notably, there isn't always a clean ordering between these tasks. +For example, macro expansion relies on name resolution to resolve the names of macros and imports. +And parsing requires macro expansion, which in turn may require parsing the output of the macro. -[`AST`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/index.html -[`macro` expansion]: ./macro-expansion.md +[AST]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_parse/index.html +[macro expansion]: ./macro-expansion.md [feature-gate checking]: ./feature-gate-ck.md [lexing, parsing]: ./lexing-parsing.md [name resolution]: ./name-resolution.md -[validation]: ./ast-validation.md \ No newline at end of file +[validation]: ./ast-validation.md |
