0.2.3rc3 is now available.  The main change is the ability to write 
scripts using ocaml.  The notation is the same as for python; just replace 
eg script:python by script:ocaml.  Terms inherited from the smpl rules are 
still expressed as strings.  The only change is that in positions, line 
numbers etc are expressed as integers rather than strings.  The script 
rules and the finalize rule are wrapped in functions, but the initialize 
rule is inlined into the ocaml code as is.  This allows the initialize 
rule to declare global variables.  On the other hand, actions to be 
performed in the initialize rule must be wrapped in let _ = ...

The main advantage of using ocaml scripting as compared to python 
scripting is that the ocaml code is statically type checked.  Indeed, the 
ocaml code is type checked and compiled already when using -parse_cocci, 
so you can check that your scripts are OK before applying your semantic 
patch to any source code.

There are some very simple examples of the use of ocaml in the demos 
directory (ocaml.cocci and ocaml1.cocci).

julia
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)

Reply via email to