编译原理中LR(1) 那个向前搜索符怎么求的 跪求高手解答 复制粘贴或者答非所问的别来

如题所述

1、首先第一步就是项目[S’-> . S,],自动生成搜索符],自动生成搜索符],自动生成搜索符,从项目[A->α.Bβ,?]生成项目[B->…,first(β)]。



2、接着就是进行以S′→·S,#属于初始项目集中,把’#‘号作为向前搜索符,表示活前缀为γ(若γ是有关S产生式的某一右部)要归约成S时,必须面临输入符为’#'号才行,如下图所示。



3、然后就是在I2:S->a. Ad,#中A的后面是d,这时候注意的是FIRST(d#)={d}(就是“d#”的第一个终结符d),所以接下来A的后面跟的是的即可。



4、最后就是在确定了A的逗号后面的搜索符后,基本上就可以直接照搬下去就完成了,如下图所示。


温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-05
计算搜索符
生成搜索符的两种方式
1.项目[S'-> . S,$],自动生成搜索符$
2.从项目[A->α.Bβ,?]生成项目[B->...,first(β)],
自动生成搜索符first(β)
搜索符的两种传播方式
1.项目[A->α.Bβ,a],当β能导出空串时,该项目的
搜索符a传播到项目[B->...,a],称为纵向传播
2.项目[A->α.B β,a],搜索符a传播到项目[A->αB .β,a]
称为横向传播本回答被提问者采纳
相似回答