Я пишу диссертацию, и мне нужно проанализировать и разложить исходный код на отдельные функции. Для каждой функции я хотел бы извлечь имена типов, называемые именами функций и приведениями типов. Подходит ли лязг для такой работы? Если да, то как я могу это сделать?
Ниже представлена простая функция C. Жирным шрифтом выделены извлеченные элементы, которые я хочу:
static char func1(unsigned int a, struct foo *b) { int c = 0; struct bar *d; if (a == 0) { d = func2((int) a); } else { c = func3((struct bar *) b); } return c; }