0

我目前正在处理 yacc & lex。这部分大部分已经完成,但是我希望我的 yyparse 函数接收一个参数。

我在野牛文档中找到了这个http://www.gnu.org/software/bison/manual/html_node/Parser-Function.html

这几乎解决了我的问题,但是我想知道你们是否使用过

%parse-param  {int *nastiness}

我的意思是,在 Linux 之外,你知道 %parse-param 是否可移植吗?它包含在 yacc 标准中吗?

4

1 回答 1

3

%parse-param不在Posix中,它不适用于yacc. 另一方面,没有任何东西链接bison到 Linux,而且bison它本身非常便携。

如果您正在寻求可移植性以便为您的程序分发源代码,您可能会发现现在很多人都没有yacc安装任何程序。在 tarball 中包含 bison 和 (f) flex 处理的文件通常更容易,特别是如果您使用 bison 和 flex 特定的功能。

编辑

我刚刚检查了 Berkeley yacc( byacc),它确实处理了%parse-param. 所以只有 AT&T yacc 没有,这不是一个非常常见的安装 afaik。

于 2013-10-30T19:31:53.953 回答