私は (あまりにも) 多くの場合、テキスト データ ファイル (「誰もが」XML を使用する前に使用されていたテキスト構造化データ表現のようなもの) を解析しなければならないというタスクに直面しています。これはある種の業界標準です。(これらの数が多すぎます。)
とにかく、基本的なタスクは常にテキスト ファイルを取得し、そこにあるものをある種のデータ構造に詰め込んで、C++ コードが情報を使用して何かを実行できるようにすることです。
さて、私はいくつかの単純な (そして非常にバグの多い) パーサーを手作業で実装しました。:-)
それで、構造化されたテキストデータをメモリ内表現に「解析」したいときの現在の最先端技術は何なのかと思っていました(考えてみてください:任意の言語のXMLデータバインディング)。
これまでに見つけたのは「どのパーサージェネレーターをお勧めしますか」でしたが、パーサージェネレーター(ANTLRなど)を求めているかどうかはわかりません。
明らかな候補はpegtlとBoost.Spiritのようですが、どちらもかなり複雑に見えます (ただし、少なくとも言語内にはあります)。最後に Spirit を試したとき、コンパイラ エラーで頭がおかしくなりました。(そして、pegtl には C++11 互換のコンパイラが必要ですが、これはここではまだ問題です (VC++ 2005)。)
だから、次のようなものを取得するためのより簡単なソリューションがありませんか
/begin COMPU_METHOD
DEC " Decimal value"
RAT_FUNC
"%3.0"
"dec"
COEFFS 0 1.000000 0.000000 0 0.000000 1.000000
/end COMPU_METHOD
C++ データ構造に? (これは、そのようなファイルの一部がどのように見えるかを示す恣意的な例にすぎません。この形式については、十分に普及しているため、解析するライブラリを購入することができます (そしておそらく購入する必要があります) 。出会い。)
--それとも、Boost.Spirit などの複雑さを求める必要がありますか?