遍历 bison 中的 $ 元素

Looping over $ elements in bison

我是 bison 的新手,所以这听起来可能微不足道。我有一个生产假设:

A: B C D E { $$ = + + + }

现在,是否可以为 $1 + $2 编写一个循环...因为我可能在 RHS 上有大量的非终端,我不想像这样手动写下来。我尝试在 i 是循环变量的地方执行 $i,但没有成功。

不,你不能。就bison而言,$$</code>、<code>等都是标识符,它们各有类型。所以这就像要求一个将 var1 + var2 + var3... 作为循环写入的快捷方式。