問題タブ [xpressive]

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.

0 投票する
1 に答える
365 参照

c++ - .h ファイルをプリコンパイルする

私はboost::xpressiveで書かれた本当に短いプログラムを持っています

それは、Xpressive の「Hello World」です。コンパイルには、通常の hello world よりもかなり時間がかかります。xpressive.hpp ファイルが非常に大きいためだと思います。.hpp ファイルをプリコンパイルまたはプリプロセスしてコンパイルを高速化する方法はありますか?

0 投票する
0 に答える
283 参照

c++ - ブースト表現エラー

Boost xpressive (最新バージョン) を使用したこの簡単な例では、次のエラーがスローされますAccess violation reading location 0x000000。エラーは regex_match で発生します。これは単純なものでなければなりませんが、気が狂うまで見てきました。

これが機能しないのはなぜですか?

0 投票する
1 に答える
283 参照

c++ - boost::xpressive 文法で構文エラーの報告は可能ですか?

カスタム言語 (JSON とあまり似ていません) を解析しようとしていますが、楽しそうだったので、ブースト表現を使用することにしました。

ただし、xpressive の一致が失敗すると、単純に失敗します。ある種のエラー報告を実装する方法はありますか? 'のように、式は47文字目まで一致しました(そこから行番号を取得できます)。

必要なものを探し、この場合はエラーを報告した後、他のトークンまたは一致を探すように各サブ式を調整する方法はある程度わかりますが、それは非常に複雑な方法になるようです。

これを可能にする表現力のある機能はありますか(または誰かがアプローチを提案できますか)?

ありがとう。

0 投票する
1 に答える
254 参照

c++ - boost::xpressive static を使用してセマンティックアクション内でオプションのサブマッチを参照する方法は?

次と同等のブースト表現の sregex とセマンティック アクションがあります。

以前はこれをブースト 1.43 で問題なく使用していました。最近、新しいブーストにアップグレードする必要がありましたが、次の問題が発生しました。サブマッチが何も一致しない場合 (オプションであるため)、boost 1.48 では、空のオブジェクトで実行さbad_lexical_castれると、セマンティック アクションによって例外がスローされます。ass1

この問題を解決するにはどうすればよいですか。以前は機能していたのは単なる偶然であり、これを行うために使用すべきより安全な方法がありますか? それとも、これはたとえばlexical_cast、現在壊れているコードの変更xpressiveですか?

追加情報

regex_actions.hpp で以下を変更することで、実際の問題を一時的に解決することができました。

の中へ:

これは、おそらくこれ自体を修正する必要があるものであると私に信じさせますxpressive. しかし、それが私の側で間違っていることではないことをまだ100%確信しているわけではありませんxpressive.

0 投票する
1 に答える
151 参照

c++ - Boost :: Xpressive ::sregexuriパターンマッチ

私はすべてのURIに一致する正規表現を検索してテストしてきましたが、それらのすべてまたはほとんどに一致する正規表現を見つけることができないようです。私が試したものの多くは、コンパイルエラーをスローします。誰かがXpressive::sRegex互換の正規表現を持っていますか?

0 投票する
0 に答える
157 参照

excel - xpress での Excel ファイルの初期化

データをハードコーディングするのではなく、Excel ファイルを xpress スクリプトの初期化セクションにインポートしようとしています。複数の列と行を同時にインポートするスクリプトの例を誰か提供できますか? サンプル ファイルまたは詳細情報を提供する必要がある場合はお知らせください。残念ながら、Xpress オンラインに関するチュートリアルやドキュメントはあまりありません。ありがとう!

0 投票する
0 に答える
34 参照

c++ - Boost::xpressive regex_search 一致を単一の文字列に連結する

regex_search で見つかったすべての一致を単一の文字列に連結して返したいと思います。std::accumulate でやってみましたが失敗しました。

のようなものを返す方法はありstd::accumulate(what.begin()+1, what.end(), someFunc)ますか?
私は関数型プログラミングにあまり詳しくありません。文字列を追加する for ループを作成できることはわかっていますが、別の方法で試してみたいと思います。前もって感謝します!

これは、私が何をしたいのかをよりよく理解するのに役立つかもしれない疑似コードのスニペットです。