|
| |
| 作者 | Max Brunsfeld |
|---|---|
| 初版 | 2018年 |
| 最新版 | |
| リポジトリ | |
| プログラミング 言語 | Rust, C言語 |
| プラットフォーム | クロスプラットフォーム |
| 種別 | パーサジェネレータ |
| ライセンス | MITライセンス |
| 公式サイト |
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法を使用している。
Tree-sitterはもともとGitHubによってAtomで使用するために開発され、2018年に初めてリリースされた。