問題タブ [boost-spirit]
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 を使用してバイト ストリーム データを解析できますか?
Spirit (Boost C++ ライブラリの一部) を使用して、ストリームからのバイナリ データを解析できますか? たとえば、ソケットからのデータを構造体、バイト、および個々のビット フラグに解析するために使用できますか? ありがとう!
c++ - DLL で使用すると Boost Spirit がクラッシュする
アプリケーションで Boost.Spirit および Boost.Thread ライブラリを使用しているときにクラッシュが発生しました。これは、メイン スレッドからのプロセスの有効期間中に Spirit パーサーを使用した場合にのみ発生します。
クラッシュは終了時に発生し、Spirit パーサーによって割り当てられたスレッド固有のストレージのクリーンアップに関連しているようです。スレッド固有のメモリが既にアンロードされている DLL 内に割り当てられているため、DLL がアンロードされる順序が原因でクラッシュしている可能性があります。ただし、Boost.Thread DLL は、アプリケーション自体が終了するまでアンロードされません。
プロセス デタッチ通知を受け取ったときに、Spirit にスレッド固有のストレージ (たとえば、dll-main 内) を強制的に消去させる方法はありますか?
解決策/ヒントをいただければ幸いです。
PS!私のプラットフォームと設定:
- ビジュアル スタジオ 2005
- BOOST_ALL_DYN_LINK
- BOOST_SPIRIT_THREADSAFE
c++ - ブーストスピリットは最初の単語を抽出し、それをベクトルに保存します
Boost.Spirit による文字列の解析に問題があります。
文字列は次のようになります
名前を抽出する必要があります。"has this and that" というテキストは常に同じですが、名前がスペースで構成されている可能性があるため、graph_p を使用できません。
1) そのような文字列を解析するにはどうすればよいですか?
文字列にはその形式の行がいくつかあるため、名前をベクトルに格納する必要があります。
私は次のようなものを使用しました
1つの名前を保存するためですが、
2) 複数の名前をベクトルに保存する最良の方法は?
前もって感謝します
コンラッド
c++ - Boost は、Boost らしくないという罪を犯していますか?
Boost::Spirit LL パーサー フレームワークの紹介を読んでいたところです。序文は、著者と作成者がそのような解析テクノロジを使用してプログラム オプションを読み取ることを好むことを示唆しています。Boost には、プログラム オプション用の独自のライブラリがありませんか?
Boost 委員会は、共通のテーマとスタイルについてすべてのライブラリ ノートを確認しますか? 各ライブラリのドキュメントには独自のフレーバーがあるようです。
それ以外の場合は素晴らしいソフトウェアに対する小さな不満ですが、私はそれが好奇心旺盛であることがわかりました.
c++ - boost.org の Spirit パーサー ジェネレーター フレームワークの欠点は何ですか?
いくつかの質問で、 boost.orgからのSpiritパーサー ジェネレーター フレームワークの推奨事項を見てきましたが、コメントには、満足していない Spirit を使用している人々からの不平があります。それらの人々は立ち上がって、スピリットを使用することの欠点や欠点を私たちに説明してくれませんか?
c++ - これを精神的に正しく解析するにはどうすればよいですか?
私の状況:私はSpiritを初めて使用します。VC6を使用する必要があるため、Spirit1.6.4を使用しています。
私はこのような行を持っています:
DESCRIPTION
行が。で始まる場合は、テキストを文字列に入れたいです//The Description;
。
私にはうまくいくものがありますが、私にはそれほどエレガントに見えません:
印刷可能なすべての文字を次の文字に割り当てたいのです';'
が、次の理由で機能しません。parse(...).hit == false
どうすればヒットさせることができますか?
c++ - Boost.Spirit の単体テスト
Boost.Spirit と Boost.Test は初めてなので、文法の正確性をどのように検証しているか知りたいです。以下は、現時点で私が行っている方法の簡略化されたバージョンであり、より良い方法があると確信しています。
各テスト ケースには、解析するテキストと、セミコロンで区切られた期待される結果を含む 2 つの文字列のペアがあります。
解析関数は実際の解析を行い、期待される結果と等しい文字列を返します。
c++ - パーサー: テンプレート ファイル内の式の解析
最初に問題を説明し、次にライブラリに関して現在調べていることを説明します。
私のアプリケーションでは、常に利用可能な一連の変数があります。例: TOTAL_ITEMS、PRICE、CONTRACTS、ETC (約 15 個あります)。アプリケーションのクライアントは、これらの変数を使用して、特定の計算を実行および表示したいと考えています。今まで、私はそれらの計算を常にアプリに追加してきました。アプリケーションが解析して計算する数式のセットをユーザーが指定できるテンプレートを作成することで、より一般的なものにしたいと思います。
以下に 1 つのケースを示します。
したがって、ユーザーがテンプレートファイルで定義するために、次のようなことをしたいと思います:
total_cost = CONTRACTS*PRICE*TOTAL_ITEMS
そして、それを表示する画面のようないくつかのメタ日付。したがって、彼らは画面で式を指定します。ファイルには、この性質の多くの式が含まれます。
今、私は 2 つの図書館を見ています: Spiritとmatheval
参考文献、例、リンクだけでなく、このタスクに適したものを誰かが推奨しますか?
質問が不明確な場合はお知らせください。さらに明確にするよう努めます。
ありがとう、
サーシャ
c++ - Boost :: spiritにEBNFを翻訳するための翻訳ツールはありますか?
翻訳者もboost::spiritにいる可能性があります。インターネットで何も見つかりませんでした。多分私はそれを作るべきですか?