パーサーを自動生成することの利点にはある種の性質を検査できるという点があって、パーサージェネレーターによくあるセマンティックアクションも含めて人が手を入れられるようにするとその性質が保証できなくなる(たとえるなら引数を型検査したけど中でキャストしまくってる感じ)から、むしろカスタマイズしなくてもいい感じになるパーサージェネレーターを目指したい気持ちがある。
じゃあいい感じってなんだよ、というのはあって、さっきの https://arxiv.org/abs/2209.08383 の人は文法定義を渡したらASTのデータ構造もツリービルダーも自動生成する(というか、ASTの大まかなあるべき形も文法定義の中に入っているというべきか)ツール https://github.com/jzimmerman/langcc を書いてて、それで気になってる。その根本原理を理解できてないけど。