
Pavel Vozenilek wrote:
- time_conversion_helper.hpp (don't know where to put it but it would come very handy many times)
Hmmm... Where does this belong? Any ideas?
Maybe as small, standalone utility in date-time.
Good idea. Other thought's?
________________________________________________________
Maybe also "expand" pragma could be added, which simply expands block of code, w/o explaining how.
Could you elaborate, please?
When I want to check how preprocessed source looks like now I do things like cl /E xyz.cpp and then search through multimegabyte file.
If I could have
... #pragma wave expand .. what is here gets expanded but the rest not #pragma wave expand-end ....
This would help to avoid these huge files when I am not interested in trace output.
Understood. That will require an additional thought (or two). I'll get back to you on this, ok?
________________________________________________________
I would like to have something as my own private preprocessor:
@@ifdef CUSTOMER_X .... @@else .... @@endif
@@ifdef CUSTOMER_Y @@include "licensing_info_text" #include <...> ... @@endif
Could it be described how/whether it can be done with Wawe? Or maybe even sample.
By default Wave respects the standard directive syntax only (starting with a '#'). But you can implement this very easily by providing your own lexing component, which fakes the pp tokens (used internally for #include, #define etc.) when recognising the @@include, @@define etc. in the input stream.
Maybe docs could give some hints what is needed to touch.
Ok, I'll add a new section about lexer customization, because this seems to be interesting for several people.
________________________________________________________ One possible feature: would it make sense to have macro as __TU_FILE__ which always expands into the name of "initially processed file"?
Say one may like to automatically register modules where certain feature is used.
(No idea how this would play with precompiled headers.)
The name of the translation unit is constant, right? And since wave doesn't support precompiled headers yet, it shouldn't be a problem at all. And even Wave will get such a feature added it is possible to keep track of this predefined macro. I'll give it an additional thought, but currently I don't see any reason not to add it to Wave. Regards Hartmut