我是 stackoverflow 的新手,但到现在为止我得到了很多帮助,这要感谢社区。
我正在尝试创建一个软件,向我展示遗留代码的调用者依赖关系。
我用 pycparcer 用 c 代码解析一个目录,并且对于每个文件我想用 pydot 创建一个子图。
两个问题:
解析 ac 文件时,解析器会从包含的文件中引用 #includes,这是我的 AST 中的一个函数。我怎么知道该函数是否包含在内,或者来自这个实际文件/或忽略#includes?
对于我要创建一个子图的每个文件,然后将此文件中的所有函数添加到此子图中。我不知道我必须创建多少个子图......
我有一组文件,其中每个文件都是一个具有该文件功能的冻结集,像这样可能吗?
for files in SetOfFiles:
#how to create subgraph with name of files?
for function in files:
self.graph.add_node(pydot.Node(funktion)) #--> add node to subgraph "files"
我希望你能接受我的挑战……有什么想法吗?
谢谢!
编辑:
我解决了关于 pydot 的问题,这很容易......所以我坚持我的 pycparser 问题:(
for files in ListOfFuncs:
cluster_x = pydot.Cluster(files, label=files)
for functions in files:
cluster_x.add_node(pydot.Node(functions))
graph.add_subgraph(cluster_x)