program graphs
1.0.0
다른 프로그래밍 언어로 작성된 프로그램을위한 그래프를 작성하는 실험적인 파이썬 라이브러리. 도서관은 훌륭한 트리 시터 라이브러리를 기반으로하며 프로그램에서 다음과 같은 관계를 제공 할 수 있습니다.
콘솔에서 :
$ echo " if (x > 0) { y = 0; } " | python3 -m program_graphs파이썬에서 :
from program_graphs . adg import parse_java
java_code = '''
if (x > 0) {
y = 0;
}
'''
adg = parse_java ( java_code )
print ( adg )예상 출력은 노드와 그들 사이의 관계입니다.
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 및 AST 관계가 설명되어 있습니다.