program graphs
1.0.0
Perpustakaan Python eksperimental untuk membangun grafik untuk program yang ditulis dalam berbagai bahasa pemrograman. Perpustakaan didasarkan pada perpustakaan pengasuh pohon yang hebat dan mampu memberikan hubungan berikut dalam suatu program:
Dari konsol:
$ echo " if (x > 0) { y = 0; } " | python3 -m program_graphsDari Python:
from program_graphs . adg import parse_java
java_code = '''
if (x > 0) {
y = 0;
}
'''
adg = parse_java ( java_code )
print ( adg )Output yang diharapkan adalah node dan hubungan di antara mereka:
From To Dependencies
---------------------- -- ---------------------- -------------------------------
program:1 -> if:2 syntax,control-flow
program:1 -> block-exit:10 syntax
if:2 -> if_condition:3 syntax,control-flow
if:2 -> block:4 syntax
if:2 -> if_exit:9 syntax
if_condition:3 -> block:4 control-flow
if_condition:3 -> if_exit:9 control-flow
block:4 -> {:5 syntax
block:4 -> }:7 syntax
block:4 -> expression_statement:6 syntax,control-flow
block:4 -> block-exit:8 syntax
expression_statement:6 -> block-exit:8 control-flow
block-exit:8 -> if_exit:9 control-flow
if_exit:9 -> block-exit:10 control-flow
$ git clone --recurse-submodules [email protected]:acheshkov/program-graphs.git
$ pip install -r requirements/default.txtCFG , CDG , DDG , dan AST diperhitungkan;