Le langage SMS est exclu sur les forums ProgBoards, tout message ne respectant pas la charte sera déplacé, modifié, ou supprimé par nos modérateurs.

Forum Informatique » Logiciel » Logiciel de patch sémantique

Francesco
Modérateur
Citer Linux Firefox 3 - Posté le 19/07/2009 à 13:18
Eh oui, un petit logiciel que j'ai découvert récemment (en fait, il y a 5 min ^^). Le principe est de pouvoir faire des patchs pour corriger un fichier ou une série de fichier par comparaison, mais de patcher un pattern.

Par exemple, dans un programme, on souhaite remplacer les appels à la fonction fputs, par puts.
Avec la méthode classique, i.e. avec patch, il faut faire toutes les modifications dans tous les fichiers, puis créer un patch.

Avec coccinelle, il suffit de faire une règle comme suit


@@
expression str;
expression file;
@@

- fputs(str, file)
+ puts(str)



Et il fera le boulot pour vous, pour toutes les occurances de fputs dans tout les fichiers de votre projet !

Pour plus d'info, http://www.emn.fr/x-info/coccinelle

[edit]
Petit oublie. Contrairement à l'utilitaire patch qui n'a pas besoin de connaitre le type de fichier qu'il patch, notamment le langage, Coccinelle se doit de connaitre le langage contenu dans les fichiers. Coccinelle est un outli développé à la base pour le noyau linux. Il reconnait donc le C. Je n'ai pas trouvé d'info sur d'éventuel d'autre langage supporté, mais je pense que le C++ devrait aussi passer.
[/edit]

Edité par Francesco ( 19/07/2009 13:23:36 )
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)

Poster une réponse

STOP aux fautes volontaires !
Message
Formatage
Note: pour partager du code source, merci d'utiliser le wall !
Smileys (sourire) (yekyek) (clein d'oeil) (désapprouve) (triste) (cool) (langue) (confus) (gêné) (neutre) (eek) (surpris) (diable) (flèche) (exclamation) (question) (diable) (idée) (méchant)
Pseudonyme
Recopiez le code
v6 © Computaid SPRL 2005-2010 - Tous droits réservés - Hébergé par eTigris - Page générée en 0,015 s - Crédits - Stats
1 connecté