|
Boost : |
From: Doug Gregor (dgregor_at_[hidden])
Date: 2004-09-30 09:30:24
On Sep 30, 2004, at 7:44 AM, Stefan Seefeld wrote:
>
>> From: David Abrahams [mailto:dave_at_[hidden]]
>> Sent: September 30, 2004 08:21
>
>> Stefan has recently been trying to get compile-time constants from
>> sizeof() into the parser. As he knows, this is going to mean handling
>> such things as template instantiation and overload resolution. This
>> is a great opportunity to learn more about how C++ works and to create
>> a compiler platform that's actually usable by C++ programmers for
>> prototyping new features -- one of the major obstacles in C++
>> standardization is that the source for the only open-source C++
>> compiler has a steep learning curve.
>
> I should mention that the design of the C++ parser allows to manipulate
> the generated parse tree in-memory and write it out into a file again
> in
> a non-lossy way, i.e. it could indeed be used as a source-to-source
> compiler.
That's an excellent goal, and you have me interested. It's a huge task,
requiring a great deal of expertise (collectively, we have that) and
will require a lot of time. I think it would be wise to attempt to
isolate some of the interesting-but-disjoint problems early, so we can
put out a "request for libraries" of some sort. Things that come to
mind quickly: a unification algorithm (for template
instantiation/partial ordering), a tree manipulation/rewriting library
(for AST transformations), and a flexible symbol table library.
Doug
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk