我有以下语法,我被告知是LR(1)而不是SLR(1):
我不明白为什么会这样。您将如何证明这一点?
最佳答案
我没有足够的声誉来评论上面的答案,这个问题我来晚了,但是...
我已经在其他地方看到了这种语法作为示例,并且OP实际上做了错别字。它应该是:
S ::= a | b a c | d c | b d一
::= d
即 S 的第一个子句是' A a',而不是'a A '。
在这种情况下,为A设置的跟随是{$,a,c},并且状态8中存在SLR冲突。
关于parsing - 语法LR(1)而不是SLR(1)怎么样?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10505717/