identifier [\._a-zA-Z0-9\/]+
comment "//"
<*>{comment} {
cout<<"Comment\n";
char c;
while((c= yyinput()) != '\n')
{
}
}
<INITIAL>{s}{e}{t} {
BEGIN(SAMPLE_STATE);
return SET;
}
<SAMPLE_STATE>{identifier} {
strncpy(yylval.str, yytext,1023);
yylval.str[1023] = '\0';
return IDENTIFIER;
}
在上面的lex代码中,解析“// set name”时没有错误。请注意解析的句子中“//”后面的空格。但是,在解析“//set name”时,却报错。我相信这与标识符和注释中出现的正斜杠有关。你能指出我哪里出错了吗?谢谢。
错误被 yyerror 捕获