On Fri, 2 Mar 2012, Julia Lawall wrote:

On Fri, 2 Mar 2012, David Wagner wrote:

Hi all,

I have successfully used a regular expression for a function name but
I didn't find how to pass it on the command line.

I first tried
 identifier virtual.func
with
 -D func=~"^nvm_"
but realised that it didn't make sense and then tried
 identifier func =~ virtual.regexp
with
 -D regexp="^nvm_"
but that doesn't work either.

Does that functionality exists yet and if yes, how should it be used ?

No it doesn't exist. Regular expressions are not currently metavariables. It could probably be added. Identifier metavariables can be used in fresh identifier declarations, for example.

Maybe you can just use the regular expression in a script:

@r@
identifier f;
@@

f (...) { ... }

@script:ocaml@
f << r.f;
re << virtual.re;
@@

if not (Str.string_match (Str.regexp re) f 0)
then Coccilib.include_match(false)

In python, you would say cocci.include_match(False) for the cases you want to discard.

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

Reply via email to