![]() | |
Original author(s) | Max Brunsfeld |
---|---|
Initial release | 2018 |
Stable release | 0.21.0
/ 21 February 2024 |
Repository | |
Written in | Rust, C |
Platform | Cross-platform |
Type | Parser generator |
License | MIT License |
Website |
tree-sitter |
In computing, Tree-sitter is a parser generator and incremental parsing library.
It is used to parse source code into concrete syntax trees usable in compilers, interpreters, text editors, and static analyzers. [1] [2] It is specialized for use in text editors, as it supports incremental parsing for updating parse trees while code is edited in real time, [3] and provides a built-in S-expression query system for analyzing code. [4]
Text editors which have official integrations with Tree-sitter include Atom, [5] GNU Emacs, [6] Neovim, [7] Lapce, [8] Zed, [9] and Helix. [10] Language bindings allow it to be used from programming languages including Go, Haskell, Java, JavaScript (with Node.js and WASM), Kotlin, Lua, OCaml, Perl, Python, Ruby, Rust, and Swift. Tree-sitter parsers have been written for these languages and many others. [11] GitHub uses Tree-sitter to support in-browser symbolic code navigation in Git repositories. [12]
Tree-sitter uses a GLR parser, a type of LR parser. [13] [14] [12]
Tree-sitter was originally developed by GitHub for use in the Atom text editor, where it was first released in 2018. [15] [5]
![]() | |
Original author(s) | Max Brunsfeld |
---|---|
Initial release | 2018 |
Stable release | 0.21.0
/ 21 February 2024 |
Repository | |
Written in | Rust, C |
Platform | Cross-platform |
Type | Parser generator |
License | MIT License |
Website |
tree-sitter |
In computing, Tree-sitter is a parser generator and incremental parsing library.
It is used to parse source code into concrete syntax trees usable in compilers, interpreters, text editors, and static analyzers. [1] [2] It is specialized for use in text editors, as it supports incremental parsing for updating parse trees while code is edited in real time, [3] and provides a built-in S-expression query system for analyzing code. [4]
Text editors which have official integrations with Tree-sitter include Atom, [5] GNU Emacs, [6] Neovim, [7] Lapce, [8] Zed, [9] and Helix. [10] Language bindings allow it to be used from programming languages including Go, Haskell, Java, JavaScript (with Node.js and WASM), Kotlin, Lua, OCaml, Perl, Python, Ruby, Rust, and Swift. Tree-sitter parsers have been written for these languages and many others. [11] GitHub uses Tree-sitter to support in-browser symbolic code navigation in Git repositories. [12]
Tree-sitter uses a GLR parser, a type of LR parser. [13] [14] [12]
Tree-sitter was originally developed by GitHub for use in the Atom text editor, where it was first released in 2018. [15] [5]