[C2hs] Re: [Gtk2hs-devel] A new lexer/parser for c2hs
Manuel M T Chakravarty
chak at cse.unsw.edu.au
Wed Jun 1 08:16:07 EDT 2005
Sounds good to me.
Manuel
Duncan Coutts:
> On Tue, 2005-05-31 at 12:13 +0200, Gour wrote:
> > Duncan Coutts (duncan.coutts at worc.ox.ac.uk) wrote:
> >
> > > So I think it's worth trying to get this done for the 0.9.8 gtk2hs
> > > release. That should provide reasonable testing and then we can create
> > > patches for the mainline c2hs.
> >
> > Definitely. This would greatly improve usability of the library 'cause
> > it will be possible to actually build it without enormous amounts of
> > memory and fiddling with the precomp files.
>
> Ok, how about this for a plan:
>
> I'll integrate the new parser into the gtk2hs fork of c2hs. I'll keep
> both versions of the lexer & parser in it with the choice selectable by
> a command line switch. This will allow us to test that the new parser is
> producing exactly the same output as the old parser.
>
> We can ask gtk2hs-0.9.8 release candidate testers to run a few checks to
> make sure that this is indeed the case for the header files on their
> platform.
>
> The basic check is to see that the precomp files produced by each method
> is the same but I'll add another couple dump options to allow the C AST
> and the result of the name analysis to be dumped.
>
> If we can do this test at least once on each supported platform (Linux,
> Solaris, FreeBSD, Windows, MacOS X?) then I think we can be quite
> confident that the new parser is not going to introduce subtle bugs.
>
> After all that when we're confident it's working correctly, we can tidy
> our c2hs fork up be removing the old lexer & parser and send patches for
> the mainline c2hs.
>
> Currently, on my machine the two variants:
> $ c2hs +RTS -M380m -RTS --precomp=gtk.precomp.old-parser --old-parser gtk/gtk.h
> $ c2hs +RTS -M80m -RTS --precomp=gtk.precomp.new-parser gtk/gtk.h
>
> produce exactly the same output. :-)
>
> Duncan
>
> _______________________________________________
> C2hs mailing list
> C2hs at haskell.org
> http://www.haskell.org/mailman/listinfo/c2hs
More information about the C2hs
mailing list