この質問をした後、以前は手動で記述していたパーサー ジェネレーターを使用することに自信が持てるようになりました。
しかし、C++ コードを生成するパーサーも、Unicode を正しく処理するパーサーも見つけることができないようです。(私の入力は UCS-2 にあることに注意してください -- パーサーの構築がより困難になる場合、基本多言語面の外側のビットをサポートすることは気にしません)
C を生成できるパーサーがいくつかありますが、そのようなパーサーはすべて、窓の外に例外安全性をスローしているように見えます。これにより、セマンティック アクション内で C++ を使用できなくなります。
これら 2 つの原則を満たすパーサー ジェネレーターは存在しますか?
編集:ああ、私のプロジェクトはBSLライセンスなので、パーサージェネレーター自体の出力の使用に多くの制限はありません。