我创建了自己的。效果很好。但是,我想使用 flex/bison 提供的默认 yyerror() 函数。我在 Windows 11 上使用 GNU C。
系统提供的yyerror版本类似这样:
void yyerror(char *s)
{
fprintf(stderr, "%s\n", s);
}
你的版本会更好。
由于古老的历史,返回类型可能是
int
。返回的值不太可能很大。
Flex 的
-lfl
库提供了一个默认的 main()
函数和一个默认的 yywrap()
函数 — 仅此而已。 它不提供yyerror()
。
Bison 的
-ly
库提供了默认的 main()
函数和默认的 yyerror()
,或多或少如上所示。