Perhaps we could organize a project to connect the two. If anyone has
some good arguments as to why the kinds of transformations Coccinelle is
good at would be useful in C++ code, that could be helpful. Actually, I
I think many of the simple non C++ specific evolutions Coccinelle
already does could be useful on C++ codebases as well. Just as I suppose
it can already be used for non-linux-kernel C projects.
Also maybe new kinds of transformations can be written, if Coccinelle
provides a good foundation (I only started reading about it so not sure
if this is the case at the moment)
I started looking at Coccinelle and Pork after seeing many of the new
LibreOffice project's easy contribution tasks are simple to do, but are
slightly more complex than sed can handle, or in any case would be much
cleaner expressed in spatch syntax than using convoluted regexps.
They have tasks like changing
Type v = function(id)
into
Type v = macro(id)
only when id is a constant string and not a variable, with hundreds of
occurences across the codebase.
Coccinelle handles this easily in C code but does not parse C++ and does
not understand namespaced or class qualified identifiers so it cannot be
used.
have never written anything in C++ :)
Indeed, writing spatch evolutions beats messing with repetitive C++ code :)
Jani
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)