about summary refs log tree commit diff
path: root/src/doc/rustc-dev-guide
diff options
context:
space:
mode:
authorTbkhi <dining-03town@icloud.com>2024-03-10 17:29:26 -0300
committernora <48135649+Noratrieb@users.noreply.github.com>2024-09-24 20:21:23 +0200
commit8371c224e9cc6ca0ef10e3b5e68258a06241a8b9 (patch)
treec47ca481d48893121e4df415f1f9be1c771831c9 /src/doc/rustc-dev-guide
parent789b4e3b8ba41bff98cd775e61d8c4313314c65d (diff)
downloadrust-8371c224e9cc6ca0ef10e3b5e68258a06241a8b9.tar.gz
rust-8371c224e9cc6ca0ef10e3b5e68258a06241a8b9.zip
Update syntax-intro.md
Diffstat (limited to 'src/doc/rustc-dev-guide')
-rw-r--r--src/doc/rustc-dev-guide/src/syntax-intro.md23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/doc/rustc-dev-guide/src/syntax-intro.md b/src/doc/rustc-dev-guide/src/syntax-intro.md
index 43ef4457746..08798cad48f 100644
--- a/src/doc/rustc-dev-guide/src/syntax-intro.md
+++ b/src/doc/rustc-dev-guide/src/syntax-intro.md
@@ -1,13 +1,20 @@
 # 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 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.
+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.
 
 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.
+`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`.
+
+[`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