Tree-sitterはパーサジェネレータ、増分解析ライブラリである。

概要 Tree-sitterは、ソースコードをコンパイラ、インタプリタ、テキストエディタ、静的アナライザで使用できる構文木に解析するために使用される。コードをリアルタイムで編集しながら解析木を更新するための増分解析をサポートしており、コードを解析するための組み込みのS式クエリシステムを提供するため、テキストエディタでの使用に特化している。

Tree-sitterと公式に統合されているテキストエディタには、Atom、GNU Emacs、Neovim、Lapce、Zed、Helixなどがある。言語バインディングにより、Go、Haskell、Java、JavaScript(Node.jsおよびWASMを使用)、Kotlin、Lua、OCaml、Perl、Python、Ruby、Rust、Swiftなどのプログラミング言語で使用できる。Tree-sitterパーサは、これらの言語やその他の多くの言語用に開発されている。GitHubは、Gitリポジトリでのブラウザ内シンボリックコードナビゲーションをサポートするためにTree-sitterを使用している。

Tree-sitterは、LR法の一種であるGLR法を使用している. See 22:30 for Wagner influence and 29:27 for GLR implementation.。

Tree-sitterはもともとGitHubによってAtomで使用するために開発され、2018年に初めてリリースされた。

関連項目

脚注

外部リンク