Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2002-12-17 20:52:13


"craigp_at_[hidden]" <craigp_at_[hidden]> writes:

>> > A reflective framework could be in three stages: a preprocessing stage
>> > (which creates the reflection data), an optional code
>> > generation/transformation stage, then a compilation stage. In this sense,
>> > it would be both a compile and run-time framework.
>
>> Sounds like a great idea to me.
>
> A couple more questions.
>
> I'm afraid I don't have the time or expertise to create a full C++
> compiler

I think that must just be because you're lazy <wink>

> (tho it would be interesting to try using Spirit). If I were to
> base a reflection framework on PDT, its parser and toolset comes as
> binaries for the following platforms:
>
> alpha
> apple
> hp9000s700
> linux
> rs6000
> sgi32
> sgin32
> sgi64
> solaris2
> hitachi
> Windows
> t3e
>
> The actual PDT reflection library is open-source and portable. Would this
> be acceptable for submission to Boost? I don't know if there's a policy
> about library submissions depending on closed-source tools. I don't think
> there should be a problem (after all, most compilers Boost supports are
> closed-source), but it seems prudent to ask up-front.

I don't really know. There are other truly open alternatives that
might be worth looking into, e.g. GCC_XML, and Synopsis/OCC (get it as
part of the Synopsis package at synopsis.sf.net).

> Also, it seems to me that PDT's license meets Boost's requirements. Can
> anyone verify this (I've appended it below)?
>
> Finally, is there anyone interested in working on a reflection
> framework? Does anyone have other ideas on approaching this
> problem? Any comments at all? I'll consolidate the information and
> put them up on the Wiki board.

I'm both interested and incredibly busy. It could be very useful for
Boost.Python among other things.

My other comment is that Bjarne Stroustrup was working on a system
known as XTI that extracted this sort of info from the debug symbol
output of GCC. I am only saying this to make the point that many
people think better reflection capability for C++ is important.

> Were talking exclusively about reflection now... I don't want this muddled
> with the serialization discussion. They are separate topics. :-)
>
> TIA,
> --craig
>
>
> *********************************************************************************
> ** Program Database Toolkit
> **
> ** http://www.acl.lanl.gov/pdtoolkit

<snip license>

It looks pretty Boost-compatible to me.

-Dave

-- 
                       David Abrahams
   dave_at_[hidden] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk