东北大学秦皇岛分校编译原理课件第二章第七章.pptVIP

  • 4
  • 0
  • 约1.57万字
  • 约 51页
  • 2016-08-17 发布于重庆
  • 举报

东北大学秦皇岛分校编译原理课件第二章第七章.ppt

东北大学秦皇岛分校编译原理课件第二章第七章

第7章 LR分析法 7.1 LR类分析法 LR分析法根据当前分析栈和输入串来确定句柄。 LR分析过程是一种规范归约过程。 LR分析法适用于大多数无二义性的上下文无关文法。 常用的LR分析法有: (1)LR(0)分析法 (2)SLR(1)分析法 (3)LALR(1)分析法 (4)LR(1)分析法 LR(K)的含义: L表示由左向右处理输入; R表示生成了最右推导; 数字K表示使用了先行的K个符号。 LR分析法同样要用到先行集合(FIRST集合)和后跟集合(FOLLOE集合)。 SLR(1)是“简单LR(1)”的简写,是对LR(1)分析的改进。 LALR(1)即先行LR(1),是比SLR(1)分析稍微强大但却比一般LR(1)分析简单的方法。 S → E E → T | E + T T → int | (E) Reduce: 如能找到一产生式 A → w 且栈中的内容是 qw (q 可能为空), 则可以将其归约为 qA。即倒过来用这个产生式。 如上例, 若栈中内容是 (int ,我们使用产生式 T → int并把栈中内容归约为(T Shift: 如不能执行一个归约且在输入串中还有 token ,就把它从输入串移到栈中。 如上例,假定栈中内容是 ( ,输入中还有 int+int)#.不能对( 执行一个归约,因为

文档评论(0)

1亿VIP精品文档

相关文档