移进规约冲突的消除

风暴红QxRed 发表于 2008-02-19 15:39:30

对于项目集I:
A->B.
A->C.a b
A1-> ...
其中A,B,C为非终结符,a 为终结符或非终结符,b为终结符或非终结符组成的字符串
此时会产生移进规约冲突,补救方法:
记S=所有右边首个符号集合,如果S 交  FOLLOW(B)= NULL,则可以通过向前看一个输入字符(终结符)判断
为何不是 FIRST(S) 交FOLLOW(B)?
因为如果a\in S为终结符,则a==FIRST(a)
如果a为非终结符,则存在
a->.c
c为终结符或非终结符组成的字符串,且该项也在项目集I中
如果c为终结符,则c=FIRST(c) \in S,因此FIRST(a) 交 FOLLOW(B)=NULL
如果c为非终结符,则存在
c->.d
...

所以S 交  FOLLOW(B)=NULL 等价于 FIRST(S) 交FOLLOW(B)=NULL
收藏: QQ书签 del.icio.us 订阅: Google 抓虾

最新评论

发表评论

* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 
 

分类小组论坛
杂谈, 娱乐、八卦, 文学、艺术, 体育, 旅游、同城, 象牙塔, 情感, 时尚、生活, 星座, 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定