I ended with your conclussions more or less:
-Synopsis: Great and light parser but not so tested on win32.
-Elsa: Advanced parser based on a parser generator. Doesn't compile on ming32.
-OpenC++: Discarded because is not actively mantained.
-PCCTS 1.33: It was original ANTLR, written in C, not mantained anymore.
-ANTLR C++ 3.1: Almost the best solution, a C++ parser generated from ANTLR. Very actively mantained. Works out-of-the-box on mingw32, MSVC, GCC, etc.
-CodeStore: This is what we need.
So, what is CodeStore? From
VCF Builder site:
The C++ parser is based on the ANTLR parser generator project. The C++ grammar is based on the work done by Terrence Parr, Sumana Srinivasan, and Russell Quong in PCCTS, then modified for ANTLR by Jianguo Zuo and David Wigg. I've made a few minor modifications myself as well. This grammar expects pre-processed C++, so I had to find a C pre-processor library. For that I used the ucpp library by Thomas Pornin. I've made some more modifications to this as well, mainly in the form of adding the ability for callbacks to be invoked at various times during the pre-processing.
All of this work is being made into a generic library I call the CodeStore. This is being done so that there exists a usable (hopefully) C++ parser that exists in library form that people can use to deal with parsing C++ and generating an AST from this.So it's what we need, because it's a library with the purpose of serving to a codecompletion or symbols browser thing.
It's being used in VCF Builder, another open-source IDE, written using VCF, which is an advanced C++ GUI framework (like wxWidgets) which is completely cross-platform.
So far, I've tried to compile CodeStore from Code::Blocks using ming32 and it compiles almost out-of-the-box.
You only need to import the MSVC workspace and it's ready to use.
Here's an screenshoot of CodeStore working on VCF Builder:
So, what do you think?