如何检索python代码的控制流图?

时间:2016-09-27 08:27:12

标签: python abstract-syntax-tree control-flow-graph

我想转储给定python代码的控制流图, 类似于gcc编译器选项给出的选项:-fdump-tree-cfg for c code。

我成功获得了python代码的AST(抽象语法树), 但是从AST阶段获得控制流图是非常复杂和麻烦的。

是否有更简单的方法直接检索python代码的控制流图?有什么建议吗?

哦顺便说一句,我使用的是python3.5

谢谢大家!

P.S 我真的不知道我在引擎盖下使用什么样的口译员, 据我所知,CPython(不确定),我不认为它是PyPy(Rpython)。 任何建议如何验证?

1 个答案:

答案 0 :(得分:2)

查看我的SO answer on how to build a control flow graph, using an AST

最初的问题是关于Java的CFGs,但这种方法实际上非常通用,并且相同的方法可以用于为Python生成CFG。

我不会称之为“相当复杂”;基本的想法很简单。