【发布时间】:2013-01-28 18:30:47
【问题描述】:
我是 stackoverflow 的新手,但到目前为止我得到了很多帮助,感谢社区的帮助。
我正在尝试创建一个软件,向我展示遗留代码的调用者依赖关系。
我用 pycparcer 用 c 代码解析一个目录,并且对于每个文件我想用 pydot 创建一个子图。
两个问题:
在解析 c 文件时,解析器会从包含的文件中引用 #include,这是我的 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)
【问题讨论】: