All checks were successful
Build / build (push) Successful in 12m36s
925 B
925 B
date
date |
---|
2025-09-17 09:53 |
#programming-language
モダンなパーサジェネレータ。
Rustで実装されているが、Cライブラリを経由して様々な言語のバインディングが用意されている。
ただ、言語の文法定義はJavaScriptで行うなどちょっと複雑な作りをしている。
インクリメンタルな構文解析に対応していることが特徴。
実際に使おうとしてみての感想
カスタムの構文解析エラーメッセージの定義とかが難しい。これは長年問題になっているみたい
Helpful parser error messages · Issue #255 · tree-sitter/tree-sitter · GitHub
Rustのバインディングの問題。
kind_id
など多くのAPIがu16でのIDを返す