building a c++ lexical analyzer for java program tokens