[Cocci] parameter list to expression list?

Michael Stefaniuc
2013-03-25T22:56:59Z

On 03/25/2013 10:27 PM, Julia Lawall wrote:
> On Mon, 25 Mar 2013, Michael Stefaniuc wrote:
>
>> Hello,
>>
>> is there an intrinsic way to get from a parameter list to an expression
>> list? That would come in handy when forwarding from one function to
>> another one. At the moment I help myself with a python rule that
>> transforms the parameter list to an identifier but that feels clumsy.
>> E.g. in SmPL pseudo code something like this would be nice:
>>
>> @@
>> type T;
>> parameter list P;
>> expression list E = P;
>> expression ret;
>> @@
>> T foo(P)
>> {
>> return
>> - ret
>> + bar(E)
>> ;
>> }
>
> No, there is nothing. I guess your transformation gets rid of the types in
> the parameter list? Perhaps what you would liek is a way to just match
> the list of identifier parts?
Yes, something like that.
What I do now is:

@script:python new@
params << get.params;
args;
@@
import re
for p in params.elements:
coccinelle.args += ", " + re.sub(r".* (\w+)$", r"\1", p)

thanks
bye
michael