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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.