Bison 如何获取开始规则的返回值

Bison 如何获取开始规则的返回值,bison,yacc,Bison,Yacc,如何使用Yacc/Bison获取语法开始规则的“return”值($变量) yyparse返回解析器的错误代码。最简单的解决方案是将值存储在yyparse的附加参数中。通常,您将在开始规则的操作中存储此值;有时,使用单元生产定义一个额外的启动非终端来保持动作是有用的 如果您使用的是bison,那么您可以使用该指令定义额外的参数,然后只需要调用yyparse,并将结果存储到变量的地址中 您仍然需要检查yyparse中的返回值;如果不表示成功,则通过out参数返回的值将不正确

如何使用Yacc/Bison获取语法开始规则的“return”值(
$
变量)


yyparse
返回解析器的错误代码。

最简单的解决方案是将值存储在
yyparse
的附加参数中。通常,您将在开始规则的操作中存储此值;有时,使用单元生产定义一个额外的启动非终端来保持动作是有用的

如果您使用的是bison,那么您可以使用该指令定义额外的参数,然后只需要调用
yyparse
,并将结果存储到变量的地址中

您仍然需要检查
yyparse
中的返回值;如果不表示成功,则通过out参数返回的值将不正确