On Sun, 24 May 2020, Markus Elfring wrote:
> > > I am trying to move local variable initialization of some variable to
> > > first statement. …
>
> I find such a source code transformation task also interesting.
> But it points some software development challenges out also for the safe
> application
> of the semantic patch language for this use case.
>
>
> > put \(<+...a...+>\&E\) in place of E
>
> How do you think about the following SmPL script variant?
>
> @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.
> ;
> ... when any
> when != S
> ++ V2 = E;
What do you expect this code to be added on to?
julia
>
> elfring@Sonne:~/Projekte/Coccinelle/janitor> spatch --parse-cocci
> convert_variable_initialisation_to_assignment.cocci
> …
> plus: parse error:
> File "convert_variable_initialisation_to_assignment.cocci", line 10, column
> 9, charpos = 117
> around = '\(',
> whole content = - = \( <+... Vx ...+> \& E \)
>
>
> I have tried another SmPL code variation out then.
>
> -T2 V2 = \( <+... Vx ...+> \& E \)
> +T2 V2
> ;
>
> elfring@Sonne:~/Projekte/Coccinelle/janitor> spatch --parse-cocci
> convert_variable_initialisation_to_assignment2.cocci
> …
> 14: no available token to attach to
>
>
> How will the software evolution be continued here?
>
> Regards,
> Markus
>
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci