2

私は最近、flex/bison bison ペアを使用したパーサーを開発しています。パーサーを希望どおりにアプリケーションに適合させるのに苦労していました。これには、パーサーを再入可能でスレッド セーフにすること、およびアプリケーション フレームワークに適切に適合させることに関する問題が含まれていました。

私はごく最近、flex++/bison++ に移行しました。これは、C++ でのプログラミングに多くの利点を提供し、OOP を使用してパーサーとのインターフェイスと拡張を行う非常に明確で管理しやすい方法を提供します。Bison++ は、そのインターフェースの大部分を元の bison と共有しています。欠点は、特定の使用法に関するドキュメントが貧弱であることです。一般的に、インターフェースははるかに直感的であるため、これは今まで問題ではありませんでした.

パーサーの開発が進むにつれて、より精巧なパーサーのいくつかで GLR を使用する可能性に気付きました。

質問: GLR を bison++ で具体的に使用することは可能ですか? また、オプションを有効にするにはどうすればよいですか?

4

1 に答える 1

1

GNU Bison は C++ もサポートしています。 http://www.gnu.org/software/bison/manual/bison.html#C++-Parsersを参照してください。このサポートには GLR が含まれます。

于 2012-11-02T08:43:36.877 に答える