我正在尝试为 C 语言的子集构建语法。在我的一些规则中,我有以下内容(pNode
作为在 中定义的指针union
):
rule : { $<pNode>$ = $<pNode>0; } the rest
但是,在阅读 Bison 文档后,似乎可以省略该操作,因为$<pNode>0
已经引用了堆栈中的前一个符号。我对吗?
能够省略该操作会很棒,因为它会导致一些原本不会出现的移位/减少冲突。
我正在尝试为 C 语言的子集构建语法。在我的一些规则中,我有以下内容(pNode
作为在 中定义的指针union
):
rule : { $<pNode>$ = $<pNode>0; } the rest
但是,在阅读 Bison 文档后,似乎可以省略该操作,因为$<pNode>0
已经引用了堆栈中的前一个符号。我对吗?
能够省略该操作会很棒,因为它会导致一些原本不会出现的移位/减少冲突。