<div dir="auto">Thanks alot for your reply. I will look into this option .<div dir="auto">I was hoping to use coccinelle to annotate some c code so that I would later parse it to determine the program flow.</div><div dir="auto"><br></div><div dir="auto">Is there a way to get more information from -show-ctrl-flow switch in coccinelle ? It only shows "if" nodes without the expression s inside them in dot graph ?</div><div dir="auto"><br></div><div dir="auto">Thanks alot</div><div dir="auto"><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Aug 28, 2018, 12:53 PM Julia Lawall <<a href="mailto:julia.lawall@lip6.fr">julia.lawall@lip6.fr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
On Tue, 28 Aug 2018, Moustafa Mahmoud wrote:<br>
<br>
> this semantic patch doesn't produce the required behavioir<br>
><br>
> @annotate_if_conditions@<br>
> expression ex;<br>
> @@<br>
><br>
> <+...<br>
> + /* ex */<br>
> if(ex){...}<br>
> ...+><br>
><br>
><br>
> it produces the following <br>
><br>
>      int x =5;<br>
>      int y =6;<br>
>      int m =funct();<br>
> +    /* ex */   // the required behavoir I need is  /* x */<br>
>      if(x)<br>
>      {<br>
> +       /* ex */<br>
>         if(y)<br>
>         {<br>
>             return 1;<br>
<br>
Sorry, it doesn't work.  Currently the only tihng you can do is use python<br>
to make an identifier metavariable that actually contains a comment, and<br>
then add that metavariable where you want your comments.  By your comments<br>
will have to have a ; after them, and are thus better made with // than<br>
with /* */, because an identifier is not a valid statement by itself.<br>
Instead you need an identifier followed by a semicolon.<br>
<br>
For using python to make an identifier metavariable please see<br>
demos/pythontococci.{c,cocci,res}.  Please write back if it is not clear.<br>
<br>
julia</blockquote></div>