递归定义与shift/reduce的问题 #88
Answered
by
NyakoApocalipse
NyakoApocalipse
asked this question in
Q&A
-
我试图用这种递归方法来写我的规则,但是实际中会出现shift/reduce冲突。bison输出如下:
但在类似的规则下,下面这种状态则没有出现冲突:
也有可能是因为一些别的因素导致的区别,但我想不到什么debug的方向QAQ |
Beta Was this translation helpful? Give feedback.
Answered by
NyakoApocalipse
Apr 5, 2023
Replies: 1 comment
-
找到问题所在了,这是因为作为间隔的T_COMMA同时能够在一个语句上表示两种意义,举我自己的例子,T_COMMA可以作为ConstDef和InitVal的间隔以及ConstDef与ConstDefS的间隔,加上一开始我看错语法规则了,所以导致这样的结果。 |
Beta Was this translation helpful? Give feedback.
0 replies
Answer selected by
NyakoApocalipse
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
找到问题所在了,这是因为作为间隔的T_COMMA同时能够在一个语句上表示两种意义,举我自己的例子,T_COMMA可以作为ConstDef和InitVal的间隔以及ConstDef与ConstDefS的间隔,加上一开始我看错语法规则了,所以导致这样的结果。