Hello.
     I want to search within the C code for certain functions that meet a 
signature 
criteria, etc. For this kind of search it is suitable to use the CIL 
interpreted 
deconstructors (eventually with placeholders).

     More exactly I used to search in the C code the following deconstructors:
        - "void * const (*)(int x)" - matches function: void * const 
my_wait(int x) (BTW, it 
means void pointer where the pointer is const), also const void * const 
my_wait(int x), 
but does NOT match const void *my_wait(int x)

        - "void (*)(int)" - matches function: void my_wait(int sec)
          Note however that the deconstructor:
                void (*)(int sec) - matches also function: void my_wait(int sec)
                void (*)(int secBla) - does NOT match function: void 
my_wait(int sec)

        - "void (*)(int, int)"

        - "void (*)(%F:t)"
           Note that the id after semilcolon (:t in this case) is not relevant 
- we can 
use any other correct name instead (e.g., as var name).

        - "void my_wait(int seconds)"
             This deconstructor gives parsing error:
                <string>[1:5-12] : syntax error
                Error: Parsing error: void my_wait(int seconds)
                <string>[1:5-12] : syntax error
                Error: Parsing error: void my_wait(int seconds)
                <string>[1:5-12] : syntax error
                Error: Parsing error: void my_wait(int seconds)

        - "void printf(%F:t)"
             This deconstructor gives parsing error:
                string>[1:5-11] : syntax error
                Error: Parsing error: void printf(%F:t)
                <string>[1:5-11] : syntax error
                Error: Parsing error: void printf(%F:t)
                <string>[1:5-11] : syntax error
                Error: Parsing error: void printf(%F:t)

   Given the above examples, I would like to have a few extensions to the CIL 
deconstructors:
       - specify names of functions - currently adding real function names to 
deconstructors gives parse error
       - maybe specify partial names of formal arguments for functions, or 
maybe even use 
some reg-expressions.

   Did anybody attempt such extensions (or maybe I am even missing something 
you would 
want to share)?
   As mentioned in cil.pdf, Section 6.2, the one responsible for 
(de)constructors is 
formatcil.ml (method doParse, etc). I did a strange hack in this direction, but 
I'm 
thinking to add these extensions within the formatcil.ml.

   Best regards.
      Alex

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
CIL-users mailing list
CIL-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cil-users

Reply via email to