2

柠檬中,当起始符号减少时,我能够使用解析函数的第三个参数将结果传回给调用者。

我将如何在野牛中做同样的事情?是否足以在起始符号的操作代码中将该值分配给 $$,并在最终调用之后从调用者将其作为“yy 次要”值yypush_parse()

解析器是推送和纯粹的。线程安全是必须的。

4

1 回答 1

2

如果你想要一个 AST,你几乎必须自己使用 bison/yacc,通过创建自己的节点并将它们分配给 $$。

http://epaperpress.com/lexandyacc/上的示例(查看 Calculator->Yacc 输入中的 .y 文件)或http://www.progtools.org/compilers/tutorials/cxx_and_bison/cxx_and_bison.html可能会给您关于如何做到这一点的想法。

于 2011-04-13T17:47:03.850 回答