Non, l'objectif est de pouvoir identifier dans du code C existant des situations d'une manière formelle et d'appliquer une transformation dessus. Cela n'a pas été fait pour créer du code nouveau (à ma connaissance) et les capacités d'expressions semblent vraiment orientées dans une optique de maintenance de code que d'écriture.
En général les patchs générés dans le noyau avec ont la commande associée dans le message de commits pour expliquer comment cela a été obtenu. Je ne trouve pas la syntaxe de Coccinelle particulière lisible ou avantageuse sur ce point, mais c'est efficace pour l'objectif poursuivi car de nombreuses transformations qui semblent simples en apparence peuvent être exprimées de manière différentes et il faut pouvoir les capturer au maximum.
[^] # Re: en gros
Posté par Renault (site web personnel) . En réponse au lien Coccinelle for Rust progress report. Évalué à 6.
Non, l'objectif est de pouvoir identifier dans du code C existant des situations d'une manière formelle et d'appliquer une transformation dessus. Cela n'a pas été fait pour créer du code nouveau (à ma connaissance) et les capacités d'expressions semblent vraiment orientées dans une optique de maintenance de code que d'écriture.
En général les patchs générés dans le noyau avec ont la commande associée dans le message de commits pour expliquer comment cela a été obtenu. Je ne trouve pas la syntaxe de Coccinelle particulière lisible ou avantageuse sur ce point, mais c'est efficace pour l'objectif poursuivi car de nombreuses transformations qui semblent simples en apparence peuvent être exprimées de manière différentes et il faut pouvoir les capturer au maximum.
Car des exemples valent mille mots, une diapo qui montre les capacités tirés d'exemples réels : https://events.static.linuxfound.org/sites/events/files/slides/part1.pdf