[Pharo-project] Initial PetitC parser

Stéphane Ducasse stephane.ducasse at inria.fr
Sat Apr 9 09:20:21 CEST 2011


in that case you have also cil in oCaml used by Frama-C.

But I do not think that this is necessary to read all the ressources of earth.

Javier contact nick because he started (I guess to implement a parser for C using PP).

Stef
On Apr 8, 2011, at 8:25 PM, Alexandre Bergel wrote:

> 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 <alexandre.bergel at me.com> 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 <elpochodelagente at gmail.com> 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
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> 
> 
> 
> 
> 
> 




More information about the Pharo-project mailing list