Boost logo

Boost :

Subject: Re: [boost] The C++ Post-Processor
From: Pierre Morcello (pmorcell-cppfrance_at_[hidden])
Date: 2009-10-19 16:54:11


>>>From : Jeffrey Bosboom >>>While annotation processors are not >>> allowed to modify the original source files, they are >>> allowed to generate new files that get passed to the >>> compiler Well, I suppose something like the C++ Qt post-processor could do the trick in that case. By the way I am not sure about the thread: is it about the preprocessor or about a possible post processor? From my point of view, the thread opening talks only of preprocessor, while the title is postprocessor. Concerning automatic reflection system, I know 2 possibilities to access the name of some classes and methods and their quality (without doing a C++ parser). The first one is to use doxygen directly to generate xml to parse. It produces lots of errors but may be enough for simple uses. There is also visual studio which can ouput xml (it's huge!). I never used the visual studio system though (I mean for reflection). But in both case it's possible to use it (to generate new C++ files, or to feed the program directly). I just say that because it may help. Concerning C++ parsing, I suppose that it is a beautiful wish, but as long as nobody propose a good interface to extract the data out of a bunch of C++ files + configuration generation (including classes, typedef, templates, but also commentaries, pragma, spaces, etc... for code refactoring), then it won't be possible to propose any good implementation. First it needs a tremendous work for specifying a complete convincing C++ interface, then only the implementation might be done. Concerning the whole topic, I think that reasearching is not something bad, as long as you don't lose too much in the process :-). It is sometimes very hard to tell what will be found in the end, and it might be rewarding as well. Best Regards, Pierre Morcello


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