C#Resharperは、古いプールforループをLINQの式に書き換えることを管理します。 C + +で同じことをやっているツールはありますか?それは、ループを書き換えてstlアルゴリズムを利用するのが妥当な場合です。C++ for-loopsをstl-algorithmに書き換えるツールはありますか?
答えて
これを行うには、DMS Software Reengineering ToolkitとそのC++ Front EndのようなProgram Transformationシステムが必要です。
DMSはASTにコードを解析し、さまざまな分析を実行できるようにし、分析条件に合わせたソースからソースへの変換を適用し、変換されたASTからソースコードを再生成することができます。
コメントの一つでは、ロブは、SEZ:
私は置き換えツールのために解決したいは(Tは::イテレータがc.beginを()=;それ< c.end()。 ++ it)x(* it)for(auto & t:c)x(t)である。 DMSで書くのはとても簡単です
:
rule robs_rule(T:IDENTIFIER, it:IDENTIFIER,
c:IDENTIFIER, x: IDENTIFIER)
:statement->statement
= " for(\T::iterator \it = \c.begin(); \it < \c.end(); ++\it) \x(*\it)"
=> "for(auto& \t : \c) \x(\t)";
ルールはテキストであるように見えるが、それは実際にはAST書き換えにASTの説明です。 DMS C++のフロントエンドで解析されます。その結果、マッチは信頼でき、文字列のハッキングに基づいていません。 (\ cがパターン内で2回起こるという事実は、両方が同じであることを強制する)。
実際には、気になるケースをカバーするためのルールがたくさんありますが、補助ステートメントで* \ it => \ itを適用するなど、より一般化したいと思うでしょう。また、さまざまな種類のフロー解析を利用して変換をサポートすることも有用です。この時点で、DMSは制御フロー分析を提供しますが、C++のデータフロー分析はまだ提供していません。
現在、これらの種類のタスクは可能ですが、必ずしもDMSで簡単に書き込むことはできません。これは大規模なC++アーキテクチャの再構成を実行するために使用されています。ウェブサイトの参考文献を確認してください。
本当にクールです。 –
まあ、そのようなツールはありません(まだ)。その間はcppcheckを見ることができます。これはスタティックコード分析のためのツールです。それは一般的な面でかなり良い仕事をしますが、独自のルールセットを定義することもできます。これにより、実際にはC#Resharperソリューションの近くに来るかもしれません。
- 1. PostbackUrlとURL書き換えにバグはありますか?
- 2. Managed C++をC++/CLIに変換するツールはありますか?
- 3. c/C++のソースコードをhtmlに変換するツールはありますか?
- 4. ANSI CコードをC#に変換するツールはありますか?
- 5. Tomcat/Java用のURL書き換えエンジンはありますか?
- 6. .htaccess書き換えに問題がありますか?
- 7. preg_replace()→preg_replace_callback()の書き換えにエラーがありますか? [Smarty_Compiler.class.php]
- 8. cプログラムをcに変換するツールや方法がありますか#
- 9. C#ある辞書から別の辞書に値を置き換える
- 10. CodeIgniterのURL書き換え - XAMPPディレクトリにはありません
- 11. レガシーVMLをSVGに変換するツールはありますか?
- 12. Zephyrをベロシティテンプレートに変換するツールはありますか?
- 13. ホストヘッダーのURL書き換えに問題があります
- 14. URLの書き換えに問題があります
- 15. C++書き換えファイル
- 16. URL書き換えC#.net
- 17. adp/sqlserverへのアクセスをC#.netに書き換えますか?
- 18. nginxがhtaccessの書き換えに書き換えます。
- 19. SVNリポジトリを文書化するツールはありますか?
- 20. コアデータモデルを文書化するツールはありますか?
- 21. Excelファイルを前後に置き換えてマージするツールはありますか?
- 22. C#からJava書き換え - ジェネリッククラス
- 23. htaccessは既に書き換えられたURLに書き換えます
- 24. htaccess URLを書き換えて#書き換えます!
- 25. Nginx sub_filterは書き換えますか?
- 26. nginxの書き換えは、私はこのようになりますnginxの書き換えを持つインデックス
- 27. htaccess書き換えベースを変更せずにかなりのURLを書き換えます
- 28. アップロードしたファイルを置き換える/上書きする方法はありますか?
- 29. Java、JavaScript、PythonをPHPに変換するツールはありますか?
- 30. Nginxはサブディレクトリを書き換えます
これは本当に良いことです。 – pmr
ええと、私はビジネスアイデアを持っているかもしれません=) –
C++は信頼性の高いツールとして解析するのが難しいです。 –