我正在为一个项目编写一个编译器前端,我试图了解什么是对源代码进行标记的最佳方法。我无法在两种方式之间进行选择:1)标记器读取所有标记:boolParser::ReadAllTokens(){Tokentoken;while(m_Lexer->ReadToken(&token)){m_Tokens->push_back(token);token.Reset();//resetthetokenvalues..}return!m_Tokens->empty();}然后解析阶段开始,对m_Tokens列表进行操作。这样getNextToken(),peekNextToken(),ungetTo