使用Bison(或yacc)我如何解决错误
multiple definition of `yyerror'
我尝试%option noyywrap nodefault yylineno
并将原型写在顶部。没有运气。
-edit -
没关系。当我复制粘贴一个例子来工作我没有意识到我已经有一个yyerror功能。
答案 0 :(得分:1)
您需要以下ld(1)
选项:
-y symbol
--trace-symbol=symbol
Print the name of each linked file in which symbol appears. This
option may be given any number of times. On many systems it is
necessary to prepend an underscore.
您可以通过cc(1)
-Wl,option
前端提供此内容
-Wl,option
Pass option as an option to the linker. If option contains commas,
it is split into multiple options at the commas.
所以,cc -Wl,--trace-symbol=yyerror ...
答案 1 :(得分:0)
嗯,我不确定,但“yyerror”是用户提供的功能(对于Bison而言)。如果你摆弄
%name_prefix
选项,例如
%name_prefix my_cool_parser_
你可以使用“my_cool_parser_error”代替yyerror。如果您尝试这样做,它是否有助于解决错误所在?