Re: FWD:Re: refactoring
Joel de Guzman <[email protected]>
| Newsgroups | gmane.comp.documentation.synopsis |
|---|---|
| Message-ID | <[email protected]> |
David Abrahams wrote: > Stefan Seefeld <[email protected]> writes: > > >>Hi David, >> >>I hope we can sort out the current mail dilemma ! >> >>Meanwhile: >> >> (Dave Abrahams) wrote: >> >>>Stefan Seefeld <[email protected]> writes: >> >>>>There is still a lot of code in the C++ parser module that needs to >>>>be cleaned up, and I plan to shortly build an alternative python >>>>extension module for C++ parsing that uses the new symbol lookup >>>>(and overload resolution, which I'm working on now), instead of >>>>the old and rather inefficient code. >>> >>>Wow, that's great! Are you really implementing the C++ overloading >>>and name lookup rules, including all the template stuff? This is an >>>unbelievably complicated area. >> >>I'v been working on symbol resolution, but without any type analysis, >>i.e. there is no overload resolution yet. >>While I would definitely like to work on all this, I'm not sure >>how much I can do single-handedly, as I realize just how complicated >>all this gets. I would certainly appreciate any help on any level. > > > This is essentially the problem of building a C++ compiler front-end. > I know some people who might be very interested in working on such a > thing with you. > > >>In particular, I'm looking for an elegant design that helps to generate >>a representation for C++'s type system, and which can then be used >>to obtain information about type relationships... > > > It would be wonderful to have such a thing... in C++! Too many C++ > compilers are written in unexpressive C. Hi, Hartmut Kaiser noted that Stefan intends to use the Wave C/C++ preprocessor. Wave started out as a challenge I posed that Hartmut took seriously. Hartmut, with lots of help and advice from Paul Mensonides (the CPP guru), got it going strong. Prior to Wave, there were plans for a Spirit based C++ parser. In fact, there were some early attempts, but were not quite there yet partly due to lack of a good preprocessor. With a good lexing preprocessor, the next logical step is the C++ parser. I'd be thrilled in any collaboration. WRT templates and the C++ type system, my current thinking is that I need an embedded runtime interpreter specifically geared to handling the C++ meta template language. It would be a minimalist FP language similar to scheme/lisp. I implemented one called "Rave" last year which turned out to be a runtime-dispatch equivalent of the Phoenix library with dynamic types, lambda and all those stuff. Regards, -- Joel de Guzman http://www.boost-consulting.com http://spirit.sf.net