- 25
- 0
- 约 35页
- 2017-04-23 发布于北京
- 举报
第04章文法和语法分析(下)
第04章 文法与语法分析;4.5.6 LR(1)方法; 例:下列文法的部分LRSM如右图:
Z ? E
E ? (L,E)
E ? S
L ? L,E
L ? E
S ? id
S ? (S);LR(1)分析中的相关定义;LR(1)项目的产生途径:
[1] 发射:[A→??X?,a] ? [A→?X??,a]
[2] 扩展:[A→??B?,a] ? [B→??,b]
其中B→?是产生式 , b?First(?a)}
展望符的计算原理:设Z?S为增广产生式,#为结束符,?(A)为A的后继符,则:
[1] ?(Z)={#}
[2] 若?(A)=ss,A?αB?,则 ?(B)=First2(?,ss)
其中,当???时,First2(?,ss)=First(?)-{?} ∪ss;否则First2(?,ss)=First(?); shift函数:假设给定项目集IS,则:
shift(IS)={[A→?X??,a]|[A→??X?,a]?IS}
它表示IS中“·”右移一位所得的项目集。
LR(1)项目集的闭包:假设IS是LR(1)项目集,则称下面close_lr(IS)为IS的闭包集:
[1] IS?close_
原创力文档

文档评论(0)