bd455ef165
Prepare proc_macro for decoupling it from the rest of the compiler. This is #49219 up to the point where the bridge is introduced. Aside from moving some code around, the largest change is the rewrite of `proc_macro::quote` to be simpler and do less introspection. I'd like to also extend `quote!` with `${stmt;...;expr}` instead of just `$variable` (and maybe even `$(... $iter ...)*`), which seems pretty straight-forward now, but I don't know if/when I should. r? @alexcrichton or @dtolnay cc @jseyfried @petrochenkov |
||
---|---|---|
.. | ||
attr | ||
diagnostics | ||
ext | ||
parse | ||
util | ||
ast.rs | ||
build.rs | ||
Cargo.toml | ||
codemap.rs | ||
config.rs | ||
diagnostic_list.rs | ||
entry.rs | ||
feature_gate.rs | ||
fold.rs | ||
json.rs | ||
lib.rs | ||
ptr.rs | ||
README.md | ||
show_span.rs | ||
std_inject.rs | ||
str.rs | ||
test_snippet.rs | ||
test.rs | ||
tokenstream.rs | ||
visit.rs |
The syntax
crate contains those things concerned purely with syntax
– that is, the AST ("abstract syntax tree"), parser, pretty-printer,
lexer, macro expander, and utilities for traversing ASTs.
For more information about how these things work in rustc, see the rustc guide: