Boost logo

Boost :

Subject: Re: [boost] [preprocessor metaprogramming] tools
From: Paul Mensonides (pmenso57_at_[hidden])
Date: 2012-07-30 12:15:11


On Mon, 30 Jul 2012 08:19:44 -0500, Hartmut Kaiser wrote:

> Well, thinking about it... The trace already (implicitly) has the
> information about a macro name being blue painted. The rescanning [...]
> output gives you the scope for which the macro under expansion is not
> available for further expansion (e.g. it is marked blue).

Hartmut, does Wave still use a recursive expansion model?

If so, while Wave emulates the correct results well, it gets there in a
fashion that isn't technically correct. Debugging preprocessor
metaprogramming naturally exposes that internal process.

The theoretical process is essentially a stream-editing process with some
(implementation-specific) method of dealing with the hidesets (i.e.
virtual tokens or whatever). What would be ideal for debugging is a
preprocessor that implemented this directly (such as the algorithm I
posted a while back--which is nowhere near efficient enough for a real
preprocessor). Otherwise, you are 1) really only debugging against Wave
instead of against a standard and 2) learning the wrong things.

Regards,
Paul Mensonides


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