Synopsis - Issue Tracker

Task31 Editing

Title design and implement unit tests for SymbolTable module (C++ parser)
Created on 2004-10-19.13:41:26 by stefan, last changed 2005-06-19.02:21:05. by stefan
assigned to stefan, volodya priority high
type design solves
topic components website & tools, C++ parser
status closed result done
depends on superseded by
Add Comment:
File
CC List:? stefan, volodya

Messages
Author: stefan Date: 2004-10-19.13:41:25
I'v checked in (rev:1392) some code extracted from 
the ISO C++ standard, which should provide an 
extensive set of cases to test against.
We need to define how to implement the tests, i.e. 
how to trace what the parser is doing.
Alternatively, we could introspect the symbol 
table after the parsing and validate that the 
symbol references are set up correctly (possibly
using the Visitor idea involving comments you
mentioned earlier).
Author: stefan Date: 2004-12-17.15:06:33
Since symbol declaration is now in place
(roughly), I'm ready to work out a test
that will help us measure the progress in
the development of the actual symbol lookup.

I think the applet should parse an input file,
generating both a ptree as well as a symbol
table. Then a specialized visitor should run
over the ptree and look up each occurence of
an identifier that is not itself a declarator.

The generated output should show the qualified
name of all matched symbols, as well as failures
encountered during the parsing as well as the
lookup. The parser already stores syntax and
symbol lookup errors, so it should be possible
to generate output that allows us to unambiguously
determine whether the program does the right 
thing.

Does this make sense to you ?
Author: stefan Date: 2005-06-19.02:21:05
While far from complete, it is already working 
nicely and helping in the development as more tests
are added / enabled.
History
Date User Action Args
2004-10-19 13:41:26stefancreate
2004-12-17 15:06:36stefansetmessages: + msg335
2005-06-19 02:21:05stefansetstatus: open
messages: + msg449
result: (no value)
dependson: - design error handling facilities for the C++ parser