parsing - 如何让 Bison 摆脱所有错误

标签 parsing error-handling bison

我将Flex/Bison用于脚本解析器,该解析器需要突破解析器并从yyparse()返回ALL ERRORS的非零状态。我能找到的关于Bison的每一份文档都是关于恢复的-我如何编写一个保全(即使用YYABORT)而不是试图恢复的规则集?

感谢您的集体智慧。

最佳答案

如果您指的是语义错误,即检查您在语法规则的语义部分中所做的工作,那么您只需调用exit()函数即可立即退出解析器的可执行文件。 exit()的参数是返回到Shell环境的错误代码。

您还可以实现yyerror(),如果需要,可以调用exit()(在语法错误时退出)。这已记录为here

关于parsing - 如何让 Bison 摆脱所有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32256177/

相关文章:

parsing - 重写多用途日志文件解析器以使用形式语法会提高可维护性吗?

ios - 暂停/继续解析 PEGKit 解析器?

javascript - 如何使用Observable进行 Angular 错误处理

Bison ,@1 和 $1 之间的差异

c - 在函数 ‘yylex’ : 'Variable’ undeclared 中

mysql - Talend MySql String To MySql Date 用于存储和差异计算

Javascript:用逗号分割字符串,括号内除外

Perl:如果 IPC::Run 终止,则从进程中检索输出

javascript - JavaScript 控制台中的 GET 错误是什么?

parsing - Flex/Lex 和 Yacc/Bison 有什么区别?