問題タブ [control-flow-graph]
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++ - C++ コード用の制御フロー グラフ ジェネレーター
C++ で記述されたソース コード用の制御フロー グラフ ジェネレーターを探しています。オープンソースの静的ジェネレーターを知っていますか?
卒業プロジェクトで使用して、制御フロー グラフを生成し、分析されたアプリケーションの実行中に実行されたパスを強調表示したいと考えています。
実行された行をログに記録するエンジン全体を既に作成しました。
すべての回答に感謝します。
compiler-construction - AST を SSA に変換できますか、それとも CFG に変換してから SSA に変換する必要がありますか?
抽象構文ツリーを SSA フォームに直接変換できますか?それとも、制御フロー グラフを作成してから、CFG から静的単一割り当てフォームを作成する必要がありますか?
制御フロー グラフのコンテキストでは、これを C ライクなプログラムでどのように表現すればよいでしょうか。すべての関数のすべての基本ブロックの CFG のグラフを保存できると考えていますが、たとえば関数を呼び出すと、事態が複雑になる可能性があります。私が考えることができる別の方法は、プログラム全体、つまりすべてのソースファイルの CFG ですが、関数に関する情報をどのように保存すればよいでしょうか? 関数へのポインターを基本ブロック (つまり、親ノード) に格納できますか?
CFG から SSA を生成する場合、ステートメントの制御フローを表す CFG について心配する必要はありますか? 基本的なブロック制御フローを表すだけでよいと考えています。