program graphs
1.0.0
Una biblioteca experimental de Python para crear gráficos para programas escritos en diferentes lenguajes de programación. La biblioteca se basa en una gran biblioteca de titulares de árboles y puede proporcionar las siguientes relaciones en un programa:
De la consola:
$ echo " if (x > 0) { y = 0; } " | python3 -m program_graphsDe Python:
from program_graphs . adg import parse_java
java_code = '''
if (x > 0) {
y = 0;
}
'''
adg = parse_java ( java_code )
print ( adg )El resultado esperado son nodos y relaciones entre ellos:
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 y AST ;