トップQs
タイムライン
チャット
視点
Tree-sitter
パーサジェネレータ・増分解析ライブラリ ウィキペディアから
Remove ads
Tree-sitterはパーサジェネレータ、増分解析ライブラリである。
概要
Tree-sitterは、ソースコードをコンパイラ、インタプリタ、テキストエディタ、静的アナライザで使用できる構文木に解析するために使用される[2][3]。コードをリアルタイムで編集しながら解析木を更新するための増分解析をサポートしており、コードを解析するための組み込みのS式クエリシステムを提供するため[4]、テキストエディタでの使用に特化している[5]。
Tree-sitterと公式に統合されているテキストエディタには、Atom[6]、GNU Emacs[7]、Neovim[8]、Lapce[9]、Zed[10]、Helix[11]などがある。言語バインディングにより、Go、Haskell、Java、JavaScript(Node.jsおよびWASMを使用)、Kotlin、Lua、OCaml、Perl、Python、Ruby、Rust、Swiftなどのプログラミング言語で使用できる。Tree-sitterパーサは、これらの言語やその他の多くの言語用に開発されている[12]。GitHubは、Gitリポジトリでのブラウザ内シンボリックコードナビゲーションをサポートするためにTree-sitterを使用している[13]。
Tree-sitterは、LR法の一種であるGLR法を使用している[14][15][13]。
Tree-sitterはもともとGitHubによってAtomで使用するために開発され、2018年に初めてリリースされた[16][6]。
Remove ads
関連項目
- パーサジェネレータ一覧
脚注
外部リンク
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads