我认为这是一个非常直截了当的问题,但我无法在任何地方找到答案。
如果我的语法带有非终端,派生NULL,就像这样:
如何处理生产#3以绘制它的LR(0)状态?我是否必须在LR(0)解析表中包含与空集相对应的列?
答案 0 :(得分:4)
项P -> ·
与右手端·
的任何其他项目没有区别;事实上·
之前没有任何东西并没有使它变得特别。关闭项目
B -> id · P
将是州q
:
B -> id · P
P -> · ( E )
P -> ·
goto(q, P)
将指示转换为B -> id P ·
并转到(q,(
)将指示转换为P -> ( · E )
。 goto
和$
上的)
未在该州定义,但action
是;它表示应使用P
规则减少P ->
,之后将使用goto(q, P)
。