A good source of ideas: http://www.sdml.info/projects/srcml/
Alexandre On 8 Apr 2011, at 12:57, Javier Pimás wrote: > > > On Fri, Apr 8, 2011 at 1:08 PM, Alexandre Bergel <[email protected]> > wrote: > What is tricky with analyzing C are macros and preprocessors directive. > srcML does a satisfactory job. But indeed, having a solution based on > PetitParser is indeed promising. > > Yes, and I don't know what to do, and would like to know if you or someone > else have any idea of how to solve it. I will think some approach, but if you > have some idea to share it would be better so I go directly to a good > solution. I'm thinking that to feed the parser I'll have to preprocess the > string with another parser, and make a string to string conversion by having > a set of defines and paths so that #includes and #ifdefs work. But probably > I'll need a cache because the generated string will be huge. > > What do you think? > > Regards, > Javier. > > Cheers, > Alexandre > > > On 7 Apr 2011, at 23:53, Javier Pimás wrote: > > > by the way, the grammar is based on > > > > http://www.quut.com/c/ANSI-C-grammar-l-1998.html > > > > and > > > > http://www.quut.com/c/ANSI-C-grammar-y.html > > > > I'd be very grateful if you contribute to cover the full extent of it! > > > > > > On Fri, Apr 8, 2011 at 12:37 AM, Javier Pimás <[email protected]> > > wrote: > > Hi, > > I took some time to start developing a C parser with PetitParser. I > > used the slides of the smalltalk school, they were pretty useful, and after > > some hours I have a very basic tokens scanner. The idea of this work is to > > be able to feed the parser with C headers and automagically get the C > > bindings done in smalltalk. > > > > Now I have to actually start doing something with the scanned code. How > > should I do that, all in the same class? What if I want to generate > > bindings for different kinds of FFIs? Other question, how should I handle > > preprocessing? (now there isn't any kind of preprocessing) > > > > You can see the code, download it and commit improvements to the repo at > > www.squeaksource.com/Bindings > > > > Anybody who is interested is welcomed to help in the development! > > > > Regards, > > Javier. > > > > -- > > Javier Pimás > > Ciudad de Buenos Aires > > > > > > > > -- > > Javier Pimás > > Ciudad de Buenos Aires > > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > > > > > > -- > Javier Pimás > Ciudad de Buenos Aires -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
