Sto provando a scrivere un programma che elenca tutte le variabili e le funzioni esportate pubblicamente di un programma C o C++ usando Clang.Come ottenere un elenco di tutte le dichiarazioni globali di un programma C/C++ utilizzando Clang?
Ho seguito la parte 05 di this tutorial, ma non funziona per la versione corrente di clang. Oltre a ciò, ho ottenuto some hints che CompilerInstance
può rendere il codice più breve, ma non sono del tutto sicuro di come utilizzarlo.
Come implementeresti questa funzionalità? Puoi darmi qualche suggerimento nella giusta direzione? Ad esempio: esiste una grande tabella hash di variabili dichiarate globalmente o devo attraversare l'AST?
Per gli esempi di codice aggiornati utilizzando Clang come libreria, consultare https://github.com/eliben/llvm-clang-samples –