xref: /dflybsd-src/test/cocci/comma.cocci (revision 194bb2afcef86db2c8a0a56b7d8527aa3eb01fb0)
13a05fd2aSSascha Wildner//
23a05fd2aSSascha Wildner//  convert comma to semicolon
3*194bb2afSSascha Wildner//    needs devel/ocaml-findlib
43a05fd2aSSascha Wildner//
53a05fd2aSSascha Wildner// Target: Linux
63a05fd2aSSascha Wildner// Copyright:  Copyright: 2014 - LIP6/INRIA
73a05fd2aSSascha Wildner// License:  Licensed under GPLv2 or any later version.
83a05fd2aSSascha Wildner// Author: Julia Lawall <Julia.Lawall@lip6.fr>
93a05fd2aSSascha Wildner// URL: http://coccinelle.lip6.fr/
103a05fd2aSSascha Wildner// URL: http://coccinellery.org/
113a05fd2aSSascha Wildner
123a05fd2aSSascha Wildner@initialize:ocaml@
133a05fd2aSSascha Wildner@@
143a05fd2aSSascha Wildnerlet tbl = Hashtbl.create(100)
153a05fd2aSSascha Wildner
163a05fd2aSSascha Wildnerlet add_if_not_present file =
173a05fd2aSSascha Wildnertry let _ = Hashtbl.find tbl file in ()
183a05fd2aSSascha Wildnerwith Not_found ->
193a05fd2aSSascha Wildner   Hashtbl.add tbl file ();
203a05fd2aSSascha Wildner   let it = new iteration() in
213a05fd2aSSascha Wildner   it#set_files [file];
223a05fd2aSSascha Wildner   it#register()
233a05fd2aSSascha Wildner
243a05fd2aSSascha Wildner@script:ocaml@
253a05fd2aSSascha Wildner@@
263a05fd2aSSascha WildnerHashtbl.clear tbl
273a05fd2aSSascha Wildner
283a05fd2aSSascha Wildner@r@
293a05fd2aSSascha Wildnerexpression e1,e2,e;
303a05fd2aSSascha Wildnerposition p1,p2;
313a05fd2aSSascha Wildnertype T;
323a05fd2aSSascha Wildneridentifier i;
333a05fd2aSSascha Wildner@@
343a05fd2aSSascha Wildner
353a05fd2aSSascha Wildner(
363a05fd2aSSascha WildnerT i = ...;
373a05fd2aSSascha Wildner|
383a05fd2aSSascha Wildner e;
393a05fd2aSSascha Wildner)
403a05fd2aSSascha Wildner e1,@p1 e2@p2;
413a05fd2aSSascha Wildner
423a05fd2aSSascha Wildner@script:ocaml@
433a05fd2aSSascha Wildnerp1 << r.p1;
443a05fd2aSSascha Wildnerp2 << r.p2;
453a05fd2aSSascha Wildner@@
463a05fd2aSSascha Wildner
473a05fd2aSSascha Wildnerif (List.hd p1).line = (List.hd p2).line
483a05fd2aSSascha Wildnerthen include_match false
493a05fd2aSSascha Wildnerelse add_if_not_present ((List.hd p1).file)
503a05fd2aSSascha Wildner
513a05fd2aSSascha Wildner@@
523a05fd2aSSascha Wildnerexpression e1,e2;
533a05fd2aSSascha Wildnerposition r.p1;
543a05fd2aSSascha Wildner@@
553a05fd2aSSascha Wildner
563a05fd2aSSascha Wildner e1
573a05fd2aSSascha Wildner- ,@p1
583a05fd2aSSascha Wildner+ ;
593a05fd2aSSascha Wildner  e2;
60