By the way, wouldn't it be nice if boost offered a compliant (and maybe extended) preprocessor implementation written in Standard C++? That wouldn't be, strictly speaking, a C++ library, but I think it would be a good executable.
 
The improved preprocessor could contain things such as #scope, varags for macros, and stuff from the preprocessor library.
 
 
Andrei