【发布时间】:2013-04-19 14:28:15
【问题描述】:
我正在使用 canonical LR Method 来构造 Parsing 表。
考虑语法:
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]
item 中的A 来自哪里?所有项目都有 $ 作为 前瞻符号,第三个项目有 A 。
请解释一下。
【问题讨论】:
-
你有没有在书中搜索过是否是已知错误?你能给出书名(和版本)吗?
-
请注意,对于第三项,符号 preceding
->也不同:它是a而不是s。看起来像是替换了第一条中的第四条规则。 -
@MSalters 编辑了问题。这是一个错字
-
@Damien_The_Unbeliever books.google.co.in/… 编译器设计原理
标签: parsing syntax compiler-construction lr