On Mon, 9 May 2011, Derek M Jones wrote:
> Oops,
>
> > Bug: Specifying -use_cache results in a spurious TODO being sent
> ^^^^
> TOFIX
OK. I have expanded on that to make the issue more clear.
thanks,
julia
> > to stderr.
> >
> > > > I did wonder about what information Coccinelle might be able to
> > > > provide for 'free', ie information it always collects when
> > > > processing code but does not provide a means to access.
> > > > For instance, the number of definitions and statements in a
> > > > function definition,
> > >
> > > It's not clear what this means, because statements can be nested.
> >
> > Whatever can be made available can be of use.
> >
> > > > or the code matched by ... .
> > >
> > > It doesn't know this. The implementation of ... keeps track of what is
> > > reachable from what, but not how it is reachable. How it is reachable
> > > would be difficult to calculate in the presence of loops. It would be
> > > conceptually possible to keep track of the set of control-flow graph
> > > nodes
> > > matched, but that is not currently expressible.
> >
> > I was hoping that it might be possible to internally figure out
> > something like: if we start here and end here the code involved must
> > be foo___bar
> >
> > > > The obvious script has the problem that it does not supply
> > > > parameter number information:
> > >
> > > You just need a parameter list metavariable:
> > >
> > > parameter list[n] ps;
> > >
> > > Afterwards, you can use either n or ps. ps can be empty/n can be 0.
> >
> > I don't see a way this would enable me to match the 1st/2nd parameter
> > of a function containing just two parameters or the 1st/2nd/3rd
> > parameter of a function containing just three parameters.
> >
> > At the time looking for differences based on how many parameters
> > a function was defined with sounded like a good idea.
> >
> > > When you inherit n into python it is a string (although when you
> > > inherit n
> > > into ocaml, it is an integer).
> > >
> > > julia
> > >
> >>> @ fn_p_any @
> > > > type ret_T, pany_T;
> > > > identifier fn, p_any;
> >>> @@
> > > >
> > > > ret_T fn(..., pany_T p_any, ...)
> > > > {
> > > > ... when != p_any
> >>> }
> > > >
> >>> @script:python @
> > > > param_any<< fn_p_any.p_any;
> > > > func<< fn_p_any.fn;
> >>> @@
> > > > print "unused", func, param_any
> > > >
> > > > so I wrote lots of patterns like:
> > > >
> >>> @ fn_no_p1 @
> > > > type ret_T, p1_T;
> > > > identifier fn, p1;
> >>> @@
> > > >
> > > > ret_T fn(p1_T p1)
> > > > {
> > > > ... when != p1
> >>> }
> > > >
> >>> @script:python @
> > > > param_1<< fn_no_p1.p1;
> > > > func<< fn_no_p1.fn;
> >>> @@
> > > > print "1_1", func, param_1
> > > >
> > > > to match particular instances.
> > > >
> > > > >
> > > > > julia
> > > > >
> > > > >
> > > > > > Trying out a new idea with something that takes 300+ hours to run
> > > > > > is a bit
> > > > > > impractical.
> > > > > >
> > > > > > Does anybody have any thoughts on:
> > > > > >
> > > > > > o converting the source to some intermediate form that will
> > > > > > speed up Coccinelle processing,
> > > > > >
> > > > > > o using Coccinelle in the cloud, eg Amazon,
> > > > > >
> > > > > > o speeding up Coccinelle.
> > > > > >
> > > > > > --
> > > > > > Derek M. Jones tel: +44 (0) 1252 520 667
> > > > > > Knowledge Software Ltd mailto:[email protected]
> > > > > > Source code analysis http://www.knosof.co.uk
> > > > > > _______________________________________________
> > > > > > Cocci mailing list
> > > > > > [email protected]
> > > > > > http://lists.diku.dk/mailman/listinfo/cocci
> > > > > > (Web access from inside DIKUs LAN only)
> > > > > >
> > > > > >
> > > > >
> > > >
> > > > --
> > > > Derek M. Jones tel: +44 (0) 1252 520 667
> > > > Knowledge Software Ltd mailto:[email protected]
> > > > Source code analysis http://www.knosof.co.uk
> > > > _______________________________________________
> > > > Cocci mailing list
> > > > [email protected]
> > > > http://lists.diku.dk/mailman/listinfo/cocci
> > > > (Web access from inside DIKUs LAN only)
> > > >
> > >
> >
>
> --
> Derek M. Jones tel: +44 (0) 1252 520 667
> Knowledge Software Ltd mailto:[email protected]
> Source code analysis http://www.knosof.co.uk
> _______________________________________________
> Cocci mailing list
> [email protected]
> http://lists.diku.dk/mailman/listinfo/cocci
> (Web access from inside DIKUs LAN only)
>
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)