問題タブ [qi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Boost Spirit Qi、構造体に「動的に」マッピングしたいパーサーがあります (つまり、パラメーターの順序は固定されていません)。
だから私は自分の肌の下でboost::spirit::qiを取得しようと懸命に努力しています。これまでの私のおもちゃの例は、次の形式を持つ Wavefront OBJ マテリアル ライブラリを解析するパーサーです。
ただし、マテリアル ShortBox への引数の順序は異なる場合があります。それを正常に解析する次の文法を作成しました。
今、次のように定義されているstd::map<std::string,Material>
場所を構築したいと思います。Material
以下のフュージョン適応:
したがって、私の現在の考えはmtl_details
、完全なMaterial
ルールmtl
を返すようにルールを変更し、キーが の後の文字列であるマテリアルのマップを返すルールに変更することnewmtl
です。ただし、属性を使用して解析ツリーから Material オブジェクトを構築し、Ka, Kd, Ks
ect のすべてのヒットをマッピングする方法がわかりません。同じ構造体に。例を読むと、それらはすべて、関連付けられている変数に暗黙的にマップされるか、オブジェクトではなく単純な値にのみマップされるようです。
c++ - boost::spirit::qi 構造化テキスト ファイルを解析するための文法
a)これまでのところ、これは私の改訂された完全なコードです。次のようなエラーが発生しているため、完全には実行されていません
「エラー: 'struct boost::spirit::traits::container_value に 'type' という名前のタイプがありません」
上記の完全なコードを見つけてください。おそらく、これで私の質問がより明確になる可能性があります。私のコードはまだ実行されていません。渡す必要があるデータの一例を以下に示します。
integration - rpm -qi にインストール済みのカーネル バージョンが表示されない
私のOL 6.5サーバーは、「rpm -qi」で以下に表示されます。
バージョン: 2.6.32
リリース: 431.el6
ソース RPM: kernel-2.6.32-431.el6.src.rpm
ただし、「uname -a」はカーネルバージョンの下に表示されます。
Linux dmdroemoc01 3.8.13-16.2.1.el6uek.x86_64 #1 SMP Thu Nov 7 17:01:44 PST 2013 x86_64 x86_64 x86_64 GNU/Linux
以下に示す「rpm -qカーネル」:
カーネル-2.6.32-431.el6.x86_64
Microsoft Integrated Services をインストールするには、「uname -a」の出力と「rpm -q kernel」の出力を同じにする必要があります。何か助けてください。