
Stefan Roiser wrote:
I was not aware of synopsis. Both projects are very interesting but their scope seems to be different. I understood that both use reflection as a vehicle for their needs while Reflex only concentrates on introspection and interaction with C++.
Synopsis is meant to be a code-source introspection framework (with the first application being a documentation tool). From what I understand it has about the same scope as Reflex.
Reflex does also not try to parse C++ definitions itself but leaves this to gccxml (a frontend of gcc) and subsequently processes it's xml output to produce dictionary source code. My guess is, that it is very hard to implement a C++ parser. So with Reflex the dictionary information for any C++ definition which is compilable with gcc, can be produced.
Right, though gccxml has some drawbacks, too.
What may also be important is, that reflection source code is produced in a non-intrusive way and that interaction with objects from the meta-level is possible.
That is true for synopsis, too. FWIW, Stefan