我有一些让我发疯的问题,请帮助我理解它们:
1.在 LR(1) 中,解析器是否在给定时间内查找输入并查找下一个输入,然后决定做出意味着移位或减少的决定,如果是 LR(0) 解析器没有的权利查看任何输入,那么它如何确定解析器是否看不到输入?
在悬而未决的其他问题中:
s---> if a then s |
if a then s else s
为什么这个语法不是 LR(1)?
在 LR 解析中,我们是自下而上的,所以首先我们移动“if”,然后我们移动“a”,然后“then”,然后“s”,然后我们查看前瞻标记,如果它是“else”,那么我们不减少直到获得第二个完整语句,如果不是“else”,那么我们通过第一个语句进行减少,那么会发生的`shift-reduce冲突在哪里?