From: William S F. <ws...@fu...> - 2006-09-25 20:08:12
|
Olly Betts wrote: > I've just noticed that SWIG has Source/CParse/cscanner.c and > Source/Swig/scanner.c, which both produce tokens from C/C++ source code. > It appears that both are in use too - cscanner.c is used to feed the > Bison parser, while scanner.c seems to be used to do some nefarious > parsing of #define constants. > > What exactly is the difference, and why are there two different bits of > code doing apparently the same job? > > The danger of course is that they get out of step (e.g. scanner.c knows > about relational operators like !=, <=, etc which cscanner.c didn't > until I patched it to a few days ago so that we can handle them in > template parameters and other constant expressions). > No idea, Dave Beazley is probably the man who knows the history of this. If you can see some obvious ways to remove duplicate code go for it. William |