我是lex和yacc的新手,管理错误时遇到问题。
yyparse函数始终返回0,无论要解析的字符串是否正确。
在.y文件中,我将yyerror定义如下
void yyerror(Complex_c *value, char *s)
{
fprintf(stderr, "Error: %s\nValue: %fi%f\n",s,(*value).re,(*value).im);
}
当字符串在语法上错误时,错误消息会正确打印,但是yyparse返回0而不是1。
我在做什么错了?