>>>> @movement@
>>>> expression E;
>>>> identifier V1, V2, Vx;
>>>> statement S;
>>>> type T1, T2;
>>>> @@
>>>>  T1 V1;
>>>>  ... when any
>>>>  T2 V2
>>>> -      = \( <+... Vx ...+> \& E \)
>>>
>>> What is Vx for?  He wants an expression that involves a.
>>
>> I chose a slightly more unique metavariable identifier for the desired
>> clarification of this use case.
>>
>> a ⇔ Vx
>>     (Or should the identifier “V1” be used instead?)
>
> Vx is not bound to anything.

This interpretation might be appropriate.


> It will match any identifier.

Should the desired “binding” work with the variable name “V1” (or “a”) finally?


>>>>  ;
>>>>  ... when any
>>>>      when != S
>>>> ++ V2 = E;
>>>
>>> What do you expect this code to be added on to?
>>
>> I imagine that we would like to determine the end of the code block
>> for variable declarations somehow.
…
> I already asked above what you expected the ++ code to be attached to.
> All added code has to be attached to something.

The shown simple SmPL exclusion specification for statements can be replaced
also with a better source code search approach.

Would you recommend to exclude declarations (and/or definitions) of C variables
by any other means?
(Is more SmPL code needed for this purpose?)

Regards,
Markus
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

Reply via email to