Tree-sitter
エディタ向けに作られたパーサジェネレータ兼パース用ライブラリ。GitHub のマックス・ブランスフェルドが作り、2018年に公開した。正規表現で見当をつける代わりに、コードの本物の構文木を作る。
他のパーサがエディタで使い物にならない場面でも使える理由は二つある。一つはインクリメンタルであること。1文字打つと影響を受ける部分の木だけを作り直すので、大きなファイルでもフレーム予算に収まる。もう一つはエラー耐性があること。書きかけのコードはエディタでは普通の状態なので、それでも有用な木を作る。文法は JavaScript の DSL で書き、C にコンパイルされる。名前が実際に何なのかを理解する構文ハイライト、構造単位の選択、コードナビゲーション、インデントに使われ、GitHub のコード表示、Neovim、Helix、Zed、Emacs 29 が採用している。