[CEDET-devel] RE: [cedet-semantic] problem parsing legal c++ declaration
Brought to you by:
zappo
From: Berndl, K. <kla...@sd...> - 2003-04-04 12:29:38
|
>Hi everybody, >I am using semantic 1.4.3. The following C++ code appears underlined: >class list_of_facts : public list<fact>, public entity { >}; >class temp2{ > list<temp<int> >::const_iterator t; // this is underlined >}; >g++ compiles it ok (of course). >Is it a bug in the parser? Yes, but now its a fixed bug :-) I have just checked in a new c.bnf and semantic-c.el in the branch v1p4 which fixes parsing bugs like these. Just get the new semantic-c.el from the cedet CVS (branch v1p4!!) and test it. If you use semanticdb then you must delete the cache-files before! For the cedet-developers: I have alos checked in a new test.cpp in v1p4 and i have also checked all the output of semantic-test-all-token->text-functions if it still correct after c.bnf changes --> it is :-) Suggestion: What about a function which runs for every token in a file semantic-test-all-token->text-functions and puts the whole output for this file in file which then can be used a reference. After grammar changes we just run the new grammar/parser against the test-files, call the new output-generate-function and do then a diff between the new output of the new parser and the old reference-output- file ---> would be an easy, fast and save way to ensure that changes do not damage something what was working ok before the changes. IMHO regression-able tests are very valueable!! Should not be hard to write such a function....... Cedet-guys, what do you think? Klaus |