Bison 野牛报告错误机制可以被覆盖吗?

Bison 野牛报告错误机制可以被覆盖吗?,bison,Bison,我注意到Bison使用了一条特定的错误消息,该消息通过yyreportSyntaxError()传递给yyrerror()函数。这是使用glr.c生成的函数 有没有办法修改此函数的行为 一种解决方案是修改yyrorm()中的错误消息。但是假设我想避免这种情况,我可以指示Bison使用我自己的函数而不是yyreportSyntaxError()?() @博特写道: 我不是野牛专家。但就手册和o'reilly Bison/Flex手册而言,使用yyerror()是一个不错的选择。但是,如果您使用类似

我注意到Bison使用了一条特定的错误消息,该消息通过
yyreportSyntaxError()
传递给
yyrerror()
函数。这是使用
glr.c
生成的函数

有没有办法修改此函数的行为

一种解决方案是修改
yyrorm()
中的错误消息。但是假设我想避免这种情况,我可以指示Bison使用我自己的函数而不是
yyreportSyntaxError()

()

@博特写道:


我不是野牛专家。但就手册和o'reilly Bison/Flex手册而言,使用
yyerror()
是一个不错的选择。但是,如果您使用类似flex的lexer,您可以在解析时直接捕获错误,并提供自己的错误例程,而无需使用
yyerror()
。您基本上定义了一个标记,它定义语法中的错误,并使用错误例程捕获它


我不是野牛专家。但就手册和o'reilly Bison/Flex手册而言,使用
yyerror()
是一个不错的选择。但是,如果您使用类似flex的lexer,您可以在解析时直接捕获错误,并提供自己的错误例程,而无需使用
yyerror()
。您基本上定义了一个标记,它定义语法中的错误,并使用错误例程捕获它。