以前からrubygemをRustで実装することが出来ることをご存知の方は多いと思います。 最近はmagnusというライブラリで、C拡張を書いていた時に近いAPIでRust製のrubygemが実装できる様になっており、Bundlerが生成するスケルトンにも採用されています。 今回、それを利用してRustでTreeSitterパーサーのRubyバインディングを実装してみました。 TreeSitterを題材にしたのは、去年からのRuby Worldでのパーサーの盛り上がりに触発されてtree-sitter-rbsというRBSのパーサーを作成してみてTreeSitterに興味があったこと、そしてRustのライブラリがあったからです。 このトークでは、Rustでrubygemsを実装する方法と苦労しそうな点について解説し、実際に作ってみたTreeSitterのバイディングを用いて色々なソースコードをパースするデモを紹介するつもりです。