3

gcc コンパイラ オプションで指定されたオプションと同様に、特定の Python コードの制御フロー グラフをダンプしたいと思います: c コードの -fdump-tree-cfg。

Python コードの AST (Abstract Syntax Trees) を取得することには成功しましたが、AST フェーズから制御フロー グラフを取得するのは非常に複雑で面倒です。

Python コードの制御フロー グラフを直接取得する簡単な方法はありますか? 助言がありますか?

ところで、私はpython3.5を使用しています

皆さん、ありがとうございました!

PS ボンネットの下で使用しているインタープリターの種類は本当にわかりません。私が知っている限り、それは CPython であり (よくわかりません)、PyPy(Rpython) ではないと思います。どうすれば確認できますか?

4

1 に答える 1

5

AST を使用して制御フロー グラフを作成する方法については、SO の回答を参照してください。

元の質問では Java の CFG について尋ねましたが、このアプローチは実際にはかなり一般的であり、同じアプローチが Python の CFG の生成にも機能します。

これを「非常に複雑」とは呼ばなかったでしょう。基本的な考え方はとてもシンプルです。

于 2016-09-27T09:09:59.390 に答える