我用 Flex 构建了一个词法分析器。但是有一个主要问题:Flex 默认会生成此错误方法:
void yyFlexLexer::LexerError( yyconst char msg[] )
{
std::cerr << msg << std::endl;
exit( YY_EXIT_FAILURE );
}
这意味着每次出现语法错误时,我的应用程序都会退出。当然这不是我想要的,因为即使输入错误,我也需要一遍又一遍地调用词法分析器。
有没有办法改变 Flex 的行为?