[Pharo-project] Initial PetitC parser

Ricardo Moran richi.moran at gmail.com
Fri Apr 8 22:45:15 CEST 2011


On Fri, Apr 8, 2011 at 6:17 PM, Alexandre Bergel <alexandre.bergel at me.com>wrote:

> > Can't macros and preprocessor directives be represented as just another
> nodes in the AST?
>
> In some cases yes, in some other no. The preprocessor allows you to
> completely change the syntax of C. This makes it very hard to parse.
> Consider the following valid C program:
>
> #define LEFTPARENT (
> #define RIGHTPARENT )
>
> int main LEFTPARENT void RIGHTPARENT {
>  return 0;
> }
>
>
Ok, I see the problem now...


>
> 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
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gforge.inria.fr/pipermail/pharo-project/attachments/20110408/d656ea35/attachment.htm>


More information about the Pharo-project mailing list