関数型言語でパーサーを作成する LL パーサーが明らかに不足していることに気付きました。成功せずに探していたものの理想的な発見は、ANTLR スタイルの LL(*) 文法 (文法のモジュロ マイナーな再フォーマット) 用の Haskell パーサーを生成するものであり、最後のすべてのパーサー ジェネレーターが関数型であることに驚きました。私が見つけた言語ターゲットはある種の LR パーサーでした。
私が取り組んでいるこの言語のパーサーを、ANTLR から言語自体の自己ホストへの関数機能を備えているものに移行したいと考えています。別の関数型言語でほぼ確実に正しいものを自分の言語に移植できれば、大いに役立ちます。 (できれば私がよく知っているもの、Haskell と Scala) をゼロから完全に書き直す必要はありませんが、コア言語は小さいため、最終的にはこれを行う可能性があります。
この時点で、これに対する解決策以上のものは、なぜそのような LL(*) や LL(k) パーサー ジェネレーターさえないのに、多くの LR ジェネレーターがあるのかについて非常に興味があります。