0
萊克斯代碼解析註釋:錯誤而在法
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;
}
在上面的代碼法,有當「//設置名爲」解析沒有錯誤。請注意句子中「//」後面的空格。但是,當「// set name」被解析時,會報告一個錯誤。你能指出我出錯的地方嗎?謝謝。
錯誤是由yyerror
捕捉並報告
SampleParser.y:43: int CMTSTapTestSeq_yyerror(char*): Assertion `0 && "Error parsing Sample file\n"' failed.
這種說法是由我添加。
有什麼錯誤?它應該包含在你的問題中。 – Michelle
錯誤被yyerror捕獲並報告SampleParser.y:43:int CMTSTapTestSeq_yyerror(char *):斷言'0 &&「解析示例文件\ n」'失敗。這個斷言是由我添加的。 – mickeyj