Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 wink

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