#1 Le 06/09/2007, à 17:03
- YouhouLesGens
[Script]Parser un fichier C et imprimer les fonctions externes
Salut a tous,
Mon but est de parser le fichier blah.c automatiquement et de sortir toutes les fonctions externes qui sont utilisees par blah.c
Evidemment l'utilitaire utilise doit etre scriptable donc que personne ne me suggere de cliquer sur un bouton "generer la documentation" de tel IDE
genre voila blah.c
int main(){
youhou(blah());
}
et le resultat doit etre quelque chose comme:
youhou
blah
Merci,
#2 Le 06/09/2007, à 17:19
- abetsic
Re : [Script]Parser un fichier C et imprimer les fonctions externes
cat ton_fichie.c | sed '/[a-zA-Z_](/!d' | sed 's/\([a-zA-Z_]*\)(.*/\1/'
voilà un truc très crade dont tu peux te servir pour partir
le premier sed n'imprime que les lignes qui contiennent des fonctions, le deuxième imprime uniquement ce qui est avant le "("
Les fonctions appelés plusieurs fois seront imprimées autant de fois, les "while", "if", "for" et compagnie risquent aussi d'être affiché, mais avec un coup de grep tu dois pouvoir les virer facilement. Les fonctions commentées apparaitront aussi, mais avec un règle sed tu dois pouvoir virer les commentaire.
Après je ne suis pas sûr que ça marche avec ton exemple mais l'idée est là. Tu peux te renseigner sur les expressions régulières et sur sed un peu partout sur internet pour développer ce dont tu as besoin.
Dernière modification par abetsic (Le 06/09/2007, à 17:22)
Hors ligne