/ / Ako získať graf riadenia tokov pre kód pythonu? - python, abstraktný syntaktický strom, graf riadenia-toku

Ako získať graf riadenia tokov pre kód pythonu? - python, abstraktný syntaktický strom, graf riadenia-toku

Chcel by som vynechať Graph Flow Flow grafu daného pythonového kódu, podobne ako v prípade voľby z kompilátora gcc: -fdump-tree-cfg pre c kód.

Podarilo sa mi získať kód AST (abstraktné syntaxové stromy) ale zdá sa to pomerne zložité a hádka, aby ste získali graf riadenia toku z fázy AST.

Existuje jednoduchší spôsob, ako priamo získať graf riadenia toku kódu pythonu? nejaké návrhy?

oh, myslím, že používam python3.5

Ďakujem vám všetkým!

P.S Naozaj neviem, aký tlmočník používam pod kapotou, Pokiaľ viem, že to je CPython (nie je si istý), nemyslím si, že je to PyPy (Rpython). Akýkoľvek návrh, ako ho môžem overiť?

odpovede:

2 pre odpoveď č. 1

Pozri môj Tak odpovedzte na to, ako vytvoriť graf riadiaceho toku pomocou AST.

Pôvodná otázka o CFG pre Java, ale prístup je vlastne dosť generický a rovnaký prístup by fungoval pri výrobe CFG pre Python.

Nebol by som nazývať tento "dosť zložitý", základný nápad je dosť jednoduchý.