RE: [cedet-semantic] parser problem with C++ classes
Brought to you by:
zappo
From: <kla...@sd...> - 2006-02-16 09:52:13
|
Hi Eric, IIRC this problem was already vreported sometimes or at least a similar = problem with slightly fifferent preprocessor keywords bevor or after the = class keyword... Of course there can not be implemented an own = preprocessor to the semantic-library (at least not IMHO) but IMO a lot = of people would be helped if we could support this special case of a = preprocessor macro concerning class-defnitions... So there a different = keywords and we can not write an own parser for each one and we can also = not list all preprocessor keyreported until now because probably there = are some more. But - and now my question: Would it be possible to define a customizable = option for the c/c++-semantic library which wuld be taken into account = by the parser - so a user could define in the option a list of keywords = which should be correctly ignored if placed before/after the = class-keyword.... Is this possible?? Ciao, Klaus Ulrich Becker wrote: > Hello, >=20 > I am new at using the cedet and ECB tools. Using either speedbar or > ECB, I found that certain classes in my C++ source code where not > displayed at all. Since it occurs with both browsers and since both > use semantic for the analysis, I thought I ask for help here. =20 >=20 > The problem is with handling a preprocessor macro that is required to > export symbols under Windows. Under Linux it will be empty. Classes > "decorated" correctly with this macro will disapear in the class > listings. =20 > Classes incorrectly decorated will be displayed, but will not compile > correctly.=20 >=20 > Below is an example C++ code demonstrating the problem. >=20 > I'd appreciate any help here, because I'd need this functionality to > continue using cedet tools.=20 >=20 >=20 > Thank you > Ulrich >=20 >=20 > //--- snipp ---------- save as foobar.cpp > ------------------------------- //-*- compile-command: "make > foobar.o" -*-=20 >=20 > #ifdef _WIN32 > #define fbexport __declspec(dllexport) > #else > #define fbexport > #endif >=20 >=20 > /// Recognized by semantic and doxygen as a class, but not recognized > /// by emacs syntax highlighting. <p> /// /// <b>Worse, this does not > compile correctly under Windows.</b> Tried /// MinGW and original ms > compilers. This is the error message /// > http://msdn2.microsoft.com/en-us/library/eehkcz60.aspx /// =20 > fbexport class foo > { > public: > int ifoo; > }; >=20 >=20 > /// Not recognized by semantic, but recognized by doxygen as a class > /// and by emacs syntax highlighting as a variable. And this > compiles /// under Windows. ///=20 > class fbexport bar > { > public: > int ibar; > }; >=20 >=20 > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through > log files for problems? Stop! Download the new AJAX search engine > that makes searching your log files as easy as surfing the web.=20 > DOWNLOAD SPLUNK! =20 > = http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D103432&bid=3D230486&dat=3D= 121642 > _______________________________________________ > cedet-semantic mailing list > ced...@li... > https://lists.sourceforge.net/lists/listinfo/cedet-semantic |