Bison 我如何让野牛在出错时停下来?

Bison 我如何让野牛在出错时停下来?,bison,flex-lexer,Bison,Flex Lexer,如何使Bison在输入文件出错时停止? 我尝试使用“错误”操作,但似乎没有帮助。 即使在输入文件出错后,解析器也会处理整个输入文件 rules: rules rule | rules error { declaration_context = false; YYABORT; } | rule ; 语法中没有error操作的解析器将在第一个语法错误发生后退出yyparse函数。只有在有错误生成规则的情况下,才能在语法错误后继续分析。如果这些不能成功地恢复解析,那

如何使Bison在输入文件出错时停止?
我尝试使用“错误”操作,但似乎没有帮助。
即使在输入文件出错后,解析器也会处理整个输入文件

rules:
    rules rule
    | rules error { declaration_context = false; YYABORT; } 
    | rule
    ;

语法中没有
error
操作的解析器将在第一个语法错误发生后退出
yyparse
函数。只有在有错误生成规则的情况下,才能在语法错误后继续分析。如果这些不能成功地恢复解析,那么更多的错误将随之而来,这迟早会导致终止


参考:(2.1.5)

语法中没有
错误的解析器将在第一个语法错误发生后退出
yyparse
函数。只有在有错误生成规则的情况下,才能在语法错误后继续分析。如果这些不能成功地恢复解析,那么更多的错误将随之而来,这迟早会导致终止

参考:(2.1.5)