Script : extraction des appels de fonctions [Résolu] - Shell/Batch - Programmation
Marsh Posté le 20-06-2005 à 11:35:52
man indent pour retapper un peu ton fichier
Marsh Posté le 20-06-2005 à 12:42:51
black_lord a écrit : man indent pour retapper un peu ton fichier |
J'aimerai autant que possible ne pas y toucher...
Je l'ai fait et c'est cool, je n'ai plus les pb de tablations non plus
Voilà mon dernier essai en date, c'est pas mal, juste qu'il faudrait pouvoir simplifier l'expression reguliere!
grep -E -o "[^\(!= *\)\>\<\)&\+\-\/\*]+[(]" machin.c
Je crois que mon problème est résolu!
Merci!
Marsh Posté le 20-06-2005 à 11:35:14
Bonjour,
j'essaie de me faire un script pour extraire d'un fichier les appels de fonction. J'ai pensé que la définition d'un appel de fonction serait : "blabla(" .A partir de là, j'ai essayé
grep -E "[^(!= ]+[(]" test.c | sed -r "s/.* ([^(!= ]+)[(](.*)/\1/g"
et
grep -E "[(]?[a-zA-Z_]*+[(]" test.c | sed -r "s/.* ([(]?[a-zA-Z_]*+)[(](.*)/\1/g"
mais je n'obtient pas de résultat satisfaisant, surtout que le fichier n'est pas normalisé (espaces irréguliers autour des affectations par exemple, on a tout de même pas d'espace entre la fonction et la "(" ). J'obtiens bien les appels de fonction mais avec les arguments... et je voudrai aussi virer les parenthèses. Les deux donnent le même résultat, pas mal, mais je n'arrive pas non plus à virer les '=' comme dans i=fonction() comment dire "une chaîne qui contient des lettres et _ mais pas de ="?
Merci pour les pistes que vous me donnerez!
Nifnef
Message édité par nifnef le 20-06-2005 à 13:19:11