私は(IDE用の)C ++パーサーを開発しているので、C++文法を詳細に理解しようとしています。http://www.nongnu.org/hcb/で優れた文法ソースを見つけましたが、その一部を理解するのに苦労しています。特に、どの「実際の」言語構成がさまざまなプロダクションに対応しているかを理解するのに苦労しています。
そのため、さまざまなプロダクション/ルールに一致するコードの例が記載されたC / C++BNF文法ガイドを探しています。いずれかがあります?
私は(IDE用の)C ++パーサーを開発しているので、C++文法を詳細に理解しようとしています。http://www.nongnu.org/hcb/で優れた文法ソースを見つけましたが、その一部を理解するのに苦労しています。特に、どの「実際の」言語構成がさまざまなプロダクションに対応しているかを理解するのに苦労しています。
そのため、さまざまなプロダクション/ルールに一致するコードの例が記載されたC / C++BNF文法ガイドを探しています。いずれかがあります?
ハイパーリンクされた(意図された)文法は、必ずしもパーサーを簡単に構築できるものではありません。これは、構文解析エンジンの性質と、気になるCおよびC ++の実際の方言(ANSI?GNU?C99?C ++ 11?MS?)によって決まります。
動作するC++パーサーを構築するのは本当に難しいです。C ++をLR(1)パーサーで解析できない理由に対する私の答えを参照してください。いくつかの理由で。「優れた」パーサーが必要な場合は、既存のパーサーの1つを使用することをお勧めします。オープンソースであるため、一見の価値があるのはElsaかもしれません。