Я новичок в stackoverflow, но до сих пор я получил большую помощь благодаря сообществу для этого.Игнорировать включает в себя #pycparser и определять несколько подграфов в #pydot
Я пытаюсь создать программное обеспечение, показывающее мне caller depandencys для legacycode.
Я просматриваю каталог с кодом c с помощью pycparer, и для каждого файла я хочу создать подграф с pydot.
Два вопрос:
При разборе кесарева файла, парсер упоминание о директивах #includes, я получаю также функции в моем AST, из включенных файлов. Как я могу знать, если функция включена или оригинальна из этого фактического файла/или игнорировать #includes?
Для каждого файла я хочу создать подграф, а затем добавить все функции в этот файл к этому подграфу. Я не знаю, сколько подграфов я должен создать ...
У меня есть набор файлов, где каждый файл является frozenset с функциями этого файла Somthing как это pssible?
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"
Надеюсь, у вас есть мой вызов ... любые идеи?
Спасибо!
EDIT:.
Я решил вопрос о 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)