Boost logo

Boost :

From: Michiel Salters (michiel.salters_at_[hidden])
Date: 2005-02-10 03:50:12


> -----Original Message-----
> From: boost-bounces_at_[hidden]
> [mailto:boost-bounces_at_[hidden]] On Behalf Of Paul Mensonides
> Sent: woensdag 9 februari 2005 23:44
> To: boost_at_[hidden]
> Subject: RE: [boost] Re: Wave C++ Review Begins Today -
> February 7, 2005
>
> > -----Original Message-----
> > From: boost-bounces_at_[hidden]
> > [mailto:boost-bounces_at_[hidden]] On Behalf Of Hartmut Kaiser

[ attribution already lost ]
 
> > > b. Sometimes it may be useful to be able to "partially
> > > preprocess" given source. E.g. I would like to
> > > have cleaner version of STLport just for my platform.
> > >
> > > It would be nice if I could specify list of
> > > #defines and #undefines to be processed, the rest
> > > left as is.
> >
> > Hmmm, that's more complex, I'll have to think about this.
>
> That is actually a lot more complex. It implies a heavy duty
> dependency analysis on, for example, macros. I think that
> implementing this would be more complex (to do correctly)
> than the entire preprocessor altogether.

I've been thinking about this as well. I'm not sure if we actually
want the same, but my idea was to have a partial-evaluation mode
which would replace only those tokens actually defined, and evaluate
only those #ifdef( )/#if statements that depend on the macros
explicitly defined or undefined.
I suspect the major internal difference is that in full evaluation
a macro is either defined or undefined, while in partial evaluation
it can also be not evaluated.

The technically tricky stuff is probably neatly rewriting complex
#if (a&&b||c) conditions. Requirement-wise it's what to do with
#include'd files.

Regards,
Michiel Salters

This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.


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