1

canonical LR Method用来构造解析表。

考虑语法:

s -> D C A
s -> D a B
a -> C
s -> a A

我正在阅读的书中提到了第一个关闭状态

I(0) = [s -> .D C A , $]
       [s -> .D a B , $]
       [a -> .C , A]
       [s -> .a A , $]

在该州

[a -> .C , A]

从哪里来?A_ item所有项目都有$一个Look ahead 符号,第三个项目有A

请解释一下。

4

1 回答 1

2

项目:

[ a -> · C, A ]

项目扩展的结果:

[ s -> · a A ]

其中非终结符a后面是终结符A。这意味着 to 的减少C可以a发生在上下文为s -> a · A;的后续状态中。或者,换句话说,当前瞻是A.

您提到的状态中的所有其他项目都来自初始(隐式)项目

[ s' -> · s $ ]

其中非终结符s后面是伪终结符$(即输入结束标记),因此它们的前瞻都是$.

于 2013-04-19T20:39:08.233 回答