2

所以我写了我想要的所有语法,一切都很顺利。当遇到语法时,我绝对不会采取任何行动。

这是我的 yyerror 函数的定义

int yyerror (const char *s)
{                                                     
    printf("parser error %s \n ",s);
    return 0;
}

好吧,如果我想获得有关我的解析器遇到的错误的更多信息,我已经阅读了我需要添加 %error-verbose 的地方;当我尝试添加它时,我收到了此错误消息

错误:无法识别:%error_verbose

考虑到我正在使用 Flex、Bison 并将它们与 VS2010 连接
编辑:即使错误提到了 error_verbose,我也确保我传递的是错误详细信息,使用破折号而不是下划线。

4

2 回答 2

1

它是%error-verbose,带有破折号,但您的错误消息显示的是下划线。

于 2012-05-10T11:16:29.210 回答
0

奇怪的是,当我在 Linux 的最新野牛版本上尝试 %error-verbose 时,它​​工作得很好,但不适用于 Windows 版本。
不确定这是否是我在 Windows 上使用的版本中的错误,或者它只是不支持的功能。

于 2012-05-31T11:22:49.313 回答