mirror of https://github.com/Wilfred/difftastic/
Closes #453 |
||
|---|---|---|
| .. | ||
| .github/workflows | ||
| bindings | ||
| corpus | ||
| queries | ||
| script | ||
| src | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .npmignore | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
| binding.gyp | ||
| grammar.js | ||
| package.json | ||
README.md
tree-sitter-rust
Rust grammar for tree-sitter
Features
-
Speed - When initially parsing a file,
tree-sitter-rusttakes around twice as long as Rustc's hand-coded parser.$ wc -l examples/ast.rs 2157 examples/ast.rs $ rustc -Z ast-json-noexpand -Z time-passes examples/ast.rs | head -n1 time: 0.007 parsing # (7 ms) $ tree-sitter parse examples/ast.rs --quiet --time examples/ast.rs 16 msBut if you edit the file after parsing it, this parser can generally update the previous existing syntax tree to reflect your edit in less than a millisecond, thanks to Tree-sitter's incremental parsing system.
References
- The Rust Grammar Reference - The grammar reference provides chapters that formally define the language grammar.
- The Rust Reference - While Rust does not have a specification, the reference tries to describe its working in detail. It tends to be out of date.
- Syntax Index - This appendix from The Book contains examples of all syntax in Rust cross-referenced with the section of The Book that describes it.