lambda-graphs 0.1.4__py3-none-any.whl → 0.1.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lambda_graphs/cli.py +1 -1
- lambda_graphs/codeviews/SDFG/SDFG.py +15 -1
- lambda_graphs/codeviews/combined_graph/combined_driver.py +8 -0
- lambda_graphs/utils/postprocessor.py +5 -1
- {lambda_graphs-0.1.4.dist-info → lambda_graphs-0.1.5.dist-info}/METADATA +1 -1
- {lambda_graphs-0.1.4.dist-info → lambda_graphs-0.1.5.dist-info}/RECORD +10 -10
- {lambda_graphs-0.1.4.dist-info → lambda_graphs-0.1.5.dist-info}/WHEEL +0 -0
- {lambda_graphs-0.1.4.dist-info → lambda_graphs-0.1.5.dist-info}/entry_points.txt +0 -0
- {lambda_graphs-0.1.4.dist-info → lambda_graphs-0.1.5.dist-info}/licenses/LICENSE +0 -0
- {lambda_graphs-0.1.4.dist-info → lambda_graphs-0.1.5.dist-info}/top_level.txt +0 -0
lambda_graphs/cli.py
CHANGED
|
@@ -41,7 +41,7 @@ def main(
|
|
|
41
41
|
help="Custom name for combined file (without extension), e.g., 'myproject'",
|
|
42
42
|
),
|
|
43
43
|
graphs: str = typer.Option("ast,dfg", help="ast, cfg, dfg"),
|
|
44
|
-
output: str = typer.Option("dot", help="all/json/dot (dot generates png as well)"),
|
|
44
|
+
output: str = typer.Option("dot", help="all/json/dot/svg (dot generates png as well)"),
|
|
45
45
|
blacklisted: str = typer.Option("", help="Nodes to be removed from the AST"),
|
|
46
46
|
collapsed: bool = typer.Option(
|
|
47
47
|
False, help="Collapses all occurrences of a variable into one node"
|
|
@@ -65,13 +65,27 @@ class DfgRda:
|
|
|
65
65
|
self.graph,
|
|
66
66
|
output_file.rsplit(".", 1)[0] + ".dot",
|
|
67
67
|
output_png=True,
|
|
68
|
+
output_svg=(graph_format == "all"),
|
|
68
69
|
src_language=self.src_language,
|
|
69
70
|
)
|
|
70
|
-
if graph_format == "all" or graph_format == "dot":
|
|
71
71
|
postprocessor.write_to_dot(
|
|
72
72
|
self.debug_graph,
|
|
73
73
|
output_file.rsplit(".", 1)[0] + "_debug.dot",
|
|
74
74
|
output_png=True,
|
|
75
|
+
output_svg=(graph_format == "all"),
|
|
76
|
+
src_language=self.src_language,
|
|
77
|
+
)
|
|
78
|
+
if graph_format == "svg":
|
|
79
|
+
postprocessor.write_to_dot(
|
|
80
|
+
self.graph,
|
|
81
|
+
output_file.rsplit(".", 1)[0] + ".dot",
|
|
82
|
+
output_svg=True,
|
|
83
|
+
src_language=self.src_language,
|
|
84
|
+
)
|
|
85
|
+
postprocessor.write_to_dot(
|
|
86
|
+
self.debug_graph,
|
|
87
|
+
output_file.rsplit(".", 1)[0] + "_debug.dot",
|
|
88
|
+
output_svg=True,
|
|
75
89
|
src_language=self.src_language,
|
|
76
90
|
)
|
|
77
91
|
self.json = postprocessor.write_networkx_to_json(self.graph, output_file)
|
|
@@ -52,6 +52,14 @@ class CombinedDriver:
|
|
|
52
52
|
self.graph,
|
|
53
53
|
output_file.split(".")[0] + ".dot",
|
|
54
54
|
output_png=True,
|
|
55
|
+
output_svg=(graph_format == "all"),
|
|
56
|
+
src_language=self.src_language,
|
|
57
|
+
)
|
|
58
|
+
if graph_format == "svg":
|
|
59
|
+
postprocessor.write_to_dot(
|
|
60
|
+
self.graph,
|
|
61
|
+
output_file.split(".")[0] + ".dot",
|
|
62
|
+
output_svg=True,
|
|
55
63
|
src_language=self.src_language,
|
|
56
64
|
)
|
|
57
65
|
|
|
@@ -27,7 +27,7 @@ def to_dot(graph):
|
|
|
27
27
|
return nx.nx_pydot.to_pydot(graph)
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
def write_to_dot(og_graph, filename, output_png=False, src_language=None):
|
|
30
|
+
def write_to_dot(og_graph, filename, output_png=False, output_svg=False, src_language=None):
|
|
31
31
|
graph = copy.deepcopy(og_graph)
|
|
32
32
|
if not os.getenv("GITHUB_ACTIONS"):
|
|
33
33
|
dot_reserved_keywords = {
|
|
@@ -81,3 +81,7 @@ def write_to_dot(og_graph, filename, output_png=False, src_language=None):
|
|
|
81
81
|
check_call(
|
|
82
82
|
["dot", "-Tpng", filename, "-o", filename.rsplit(".", 1)[0] + ".png"]
|
|
83
83
|
)
|
|
84
|
+
if output_svg:
|
|
85
|
+
check_call(
|
|
86
|
+
["dot", "-Tsvg", filename, "-o", filename.rsplit(".", 1)[0] + ".svg"]
|
|
87
|
+
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
lambda_graphs/__init__.py,sha256=S2v6SCVa7xEjnOZQneNVt1DyVOya1CBRAxz2bxJfqkg,503
|
|
2
2
|
lambda_graphs/__main__.py,sha256=pqqaM3Xr6Ypfhy0Y8xUxkPT-hKy9L_Erl9X08cZHT3o,106
|
|
3
|
-
lambda_graphs/cli.py,sha256=
|
|
3
|
+
lambda_graphs/cli.py,sha256=q3YbV1a3PbSvKu7NG1RuUf9Lh1elAccu5CDMN5udkKM,5561
|
|
4
4
|
lambda_graphs/codeviews/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
lambda_graphs/codeviews/AST/AST.py,sha256=1CQyadl9_3lRK5qkX-UzBdmzn_6Q9fahdluGELZrLAQ,4270
|
|
6
6
|
lambda_graphs/codeviews/AST/AST_driver.py,sha256=rmhodB78EeUhq04o0Vy81fY93FwT4vS7UgiF0JOWClw,1138
|
|
@@ -15,13 +15,13 @@ lambda_graphs/codeviews/CST/CST_driver.py,sha256=1LLax-qYbl_63DDnCnQo8qeLOoFDc5P
|
|
|
15
15
|
lambda_graphs/codeviews/CST/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
16
|
lambda_graphs/codeviews/DFG/DFG_driver.py,sha256=iLi2H94TQFN-trXxpfaVcz7NzMeGc-zq3vdHs1L9rGs,1333
|
|
17
17
|
lambda_graphs/codeviews/DFG/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
-
lambda_graphs/codeviews/SDFG/SDFG.py,sha256=
|
|
18
|
+
lambda_graphs/codeviews/SDFG/SDFG.py,sha256=_qCbJ9WRC8XTLzZYvlITucetSoFZNvbJRVewt1gN710,4889
|
|
19
19
|
lambda_graphs/codeviews/SDFG/SDFG_c.py,sha256=2SXLh4flQ_7aHFAqvE6xdMqZ8HY07aqmDNNMADqvBVE,80365
|
|
20
20
|
lambda_graphs/codeviews/SDFG/SDFG_cpp.py,sha256=PsQcTVNyFziXEKgAosiL2Uq6rHORBUSr-LwVLTGhSZU,158990
|
|
21
21
|
lambda_graphs/codeviews/SDFG/SDFG_java.py,sha256=ug2IHsd0D5dfIvQsCuS2PROft703b65AJeyUyYC0_zw,67012
|
|
22
22
|
lambda_graphs/codeviews/SDFG/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
23
|
lambda_graphs/codeviews/combined_graph/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
|
-
lambda_graphs/codeviews/combined_graph/combined_driver.py,sha256=
|
|
24
|
+
lambda_graphs/codeviews/combined_graph/combined_driver.py,sha256=pgj9kP-_PoIH2vOgcmMBFiDRSrpK_LQHEWQkGEHtJkM,5823
|
|
25
25
|
lambda_graphs/tree_parser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
26
|
lambda_graphs/tree_parser/c_parser.py,sha256=ekvA_LTZjalNvzW7LyG27hZOLRh6zzIo-ypR8kCmyrg,21926
|
|
27
27
|
lambda_graphs/tree_parser/cpp_parser.py,sha256=CZ6q0_O5t09HAIBtlfPp1MhUQwbwW49rmaoMCuN0lek,15617
|
|
@@ -34,12 +34,12 @@ lambda_graphs/utils/c_nodes.py,sha256=_01qu1oRMS_bdsl9KNTfl89doQ21qqZdyXNz8yBaFp
|
|
|
34
34
|
lambda_graphs/utils/cpp_nodes.py,sha256=1LhL78EOHjGyDQnCi1Tb6bPfpUEAFb_TGJU_GVfh7vg,49242
|
|
35
35
|
lambda_graphs/utils/java_nodes.py,sha256=mx3zlhMzZTv0vDvvxKWOagfL1YcopMWXga-OEiJHS_s,27637
|
|
36
36
|
lambda_graphs/utils/multi_file_merger.py,sha256=w4n5YpO9-m87wT8vX93L47mDnqW2pGHo_MxV7E2Vhqw,15623
|
|
37
|
-
lambda_graphs/utils/postprocessor.py,sha256=
|
|
37
|
+
lambda_graphs/utils/postprocessor.py,sha256=9sJQygyM9AuSkIxtMbxu2eIB82ayPF3P1ZfJS1XZ6vA,2748
|
|
38
38
|
lambda_graphs/utils/preprocessor.py,sha256=tNNvCqBrXkfIEt4dj31Zv3eYrWcdxA4d0emdi0BBJeQ,1991
|
|
39
39
|
lambda_graphs/utils/src_parser.py,sha256=KI8jp1rGy92FDU6ZSAyvAlTXIqRvwaBU8Nyk1_PLQc0,630
|
|
40
|
-
lambda_graphs-0.1.
|
|
41
|
-
lambda_graphs-0.1.
|
|
42
|
-
lambda_graphs-0.1.
|
|
43
|
-
lambda_graphs-0.1.
|
|
44
|
-
lambda_graphs-0.1.
|
|
45
|
-
lambda_graphs-0.1.
|
|
40
|
+
lambda_graphs-0.1.5.dist-info/licenses/LICENSE,sha256=A4IQBtKltZRdmeznEO-WkeUNgar9pYrAnnqgwuPM7eo,1078
|
|
41
|
+
lambda_graphs-0.1.5.dist-info/METADATA,sha256=xTslTLq9s3jAorkj6fTTPytlT54szj4H3tqgRq7IjV0,12293
|
|
42
|
+
lambda_graphs-0.1.5.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
|
|
43
|
+
lambda_graphs-0.1.5.dist-info/entry_points.txt,sha256=hELYD6w17o_ccUXd3p97Dx8-aBj123HLc1to4otGONo,56
|
|
44
|
+
lambda_graphs-0.1.5.dist-info/top_level.txt,sha256=BeOCfsbh498OkGRd1Bc8Z5HnUp_C3KfpOJ7u_dbd9Qk,14
|
|
45
|
+
lambda_graphs-0.1.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|