Tree-sitter (parser generator)

Parser generator and library From Wikipedia, the free encyclopedia

Tree-sitter is a free and open-source 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.[2][3] It is specialized for use in text editors, as it supports incremental parsing for updating parse trees while code is edited in real time,[4] and provides a built-in S-expression query system for analyzing code.[5]

Original authorMax Brunsfeld
Initial release2018; 8 years ago (2018)
Stable release
0.26.2[1] Edit this on Wikidata / 9 December 2025; 3 months ago (9 December 2025)
Written inRust, C
Quick facts Original author, Initial release ...
Tree-sitter
Original authorMax Brunsfeld
Initial release2018; 8 years ago (2018)
Stable release
0.26.2[1] Edit this on Wikidata / 9 December 2025; 3 months ago (9 December 2025)
Written inRust, C
PlatformCross-platform
TypeParser generator
LicenseMIT License
Websitetree-sitter.github.io/tree-sitter/
Repository
Close

Text editors which have official integrations with Tree-sitter include GNU Emacs,[6] Neovim,[7] Lapce,[8] Zed,[9] Helix,[10] and Atom.[11] 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, Swift, and Zig. Tree-sitter parsers have been written for these languages and many others.[12] GitHub uses Tree-sitter to support in-browser symbolic code navigation in Git repositories.[13]

Tree-sitter uses a GLR parser, a type of LR parser.[14][15][13]

Tree-sitter was originally developed by GitHub for use in the Atom text editor, where it was first released in 2018.[16][11]

See also

References

Related Articles

Wikiwand AI