Skip to content

sarahclark102811/tree-sitter-rust

This branch is 163 commits behind tree-sitter/tree-sitter-rust:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a3e6768 · Mar 9, 2021
Mar 9, 2021
Mar 4, 2021
Mar 4, 2021
Jun 10, 2019
May 14, 2020
Dec 10, 2019
Mar 4, 2021
Jan 22, 2018
Feb 25, 2021
Jun 10, 2019
Mar 4, 2021
Mar 4, 2021
Mar 29, 2017
Mar 9, 2021
Mar 4, 2021
Mar 4, 2021
Mar 4, 2021

Repository files navigation

tree-sitter-rust

Build/test

Rust grammar for tree-sitter

Features

  • Speed - When initially parsing a file, tree-sitter-rust takes 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 ms

    But 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.

About

Rust grammar for tree-sitter

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 79.3%
  • Scheme 7.4%
  • Rust 7.2%
  • Shell 3.2%
  • C++ 2.1%
  • Python 0.8%