【考研计算机专业课】天津大学 编译原理讲义 LR0)分析表.pptVIP

  • 38
  • 0
  • 约3.37千字
  • 约 21页
  • 2018-07-11 发布于浙江
  • 举报

【考研计算机专业课】天津大学 编译原理讲义 LR0)分析表.ppt

【考研计算机专业课】天津大学 编译原理讲义 LR0)分析表

4.3.2 LR(0)项目集规范族和LR(0)分析表 LR(0)项目集描述了一种只概括“历史”资料而不包含推测性“展望”材料的“状态”。 LR(0)分析表的构造: I. 先构造识别文法的活前缀的非确定有限自动机,然后确定化,得到LR(0)项目集规范族,再构造LR(0)分析表。 II. 直接构造LR(0)项目集规范族,再构造LR(0)分析表。 (1) 规范句型的活前缀 所谓活前缀是指规范句型的一个前缀,这种前缀不含句柄之后的任何符号。 之所以称为活前缀,是因为在右边增添一些终结符之后,就可以使它成为一个规范句型。 例,文法G的产生式为: E→T|E+T T→F|T*F F→(E)|i T*i2+i3 ?T*F+i3 ?T+i3 ?E+i3 ?E+F ?E+T ? E 句型T*i2+i3的活前缀为: ε;T;T*;T*i2 因为i2是句柄。 I 字的前缀是指该字的任意首部。 (2) 文法的LR(0)项目 设文法G的某一产生式为A→x1x2…xn,则A→x1…xi · xi+1…xn 称为文法G的LR(0)项目。 其中,“·”或在文法符号xi和xi+1之间,i=1,2,…,n-1;或在x1之前;或在xn之后。 (1) E→aA (2) A→cA (3) A→d 例,文法G A→d有两个LR(0)项目: A→·d A→d·

文档评论(0)

1亿VIP精品文档

相关文档