Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检索python代码的控制流图?_Python_Abstract Syntax Tree_Control Flow Graph - Fatal编程技术网

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

如何检索python代码的控制流图?,python,abstract-syntax-tree,control-flow-graph,Python,Abstract Syntax Tree,Control Flow Graph,我想转储给定python代码的控制流图, 类似于gcc编译器选项给出的选项:-fdump tree cfg for c代码 我成功地获得了python代码的AST(抽象语法树), 但是,从AST阶段获取控制流图非常复杂和麻烦 有没有更简单的方法直接检索python代码的控制流图?有什么建议吗 哦,顺便说一句,我用的是python3.5 谢谢大家! 附言 我真的不知道我用的是哪种口译员, 据我所知,它是CPython(不确定),我不认为它是PyPy(Rpython)。 有什么建议我如何验证吗?请参

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

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

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

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

谢谢大家!

附言 我真的不知道我用的是哪种口译员, 据我所知,它是CPython(不确定),我不认为它是PyPy(Rpython)。 有什么建议我如何验证吗?

请参阅我的

最初的问题是关于Java的CFGs,但这种方法实际上相当通用,同样的方法也适用于为Python生成CFG


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

ANTLR不是诀窍;它只是构建了一个AST。我的答案告诉你如何使用任何解析器生成的AST生成CFG。Downvoter:你愿意解释为什么这个答案不是一个好答案吗?@JammingThebBits:如果你喜欢我的答案,请向上投票(请参见答案顶部指向上的灰色三角形)。记录声誉低于15的人的投票,但不要更改公开显示的帖子score@JammingThebBits:嗯,现在你的分数是19:-}