编译原理的的教案lr分析.pptVIP

  • 2
  • 0
  • 约1.79万字
  • 约 78页
  • 2018-05-07 发布于福建
  • 举报
编译原理的的教案lr分析

由文法的产生式直接构造识别活前缀和可归前缀的有限自动机 项目(item):在每个产生式的右部适当位置添加一个圆点构成项目 例如:产生式S → aAcBe对应有6个项目 [0] S → ? aAcBe [1] S → a ? AcBe [2] S → aA ? cBe [3] S → aAc ? Be [4] S → aAcB ? e [5] S → aAcBe ? 有限自动机的每一个状态由一个项目构成 项目圆点的左部表示分析过程的某个时刻用该产生式归约时句柄已识别的部分,圆点右部表示待识别的部分。 构造识别活前缀的NFA: 1、把文法的所有产生式的项目都引出,每个项目都为NFA的一个状态 2、确定初态、句柄识别态、句子识别态 3、确定状态之间的转换关系 *若项目i为 X → X1X2...Xi-1 ? Xi...Xn 项目j为 X → X1X2...Xi-1 Xi ? Xi+1...Xn 则从状态i到状态j连一条标记为Xi的箭弧 *若i为X →? ? A?,k为A → ? ?,则从状态i画标 记为 ? 的箭弧到状态k 文法G‘: S’ ? E E ? T + E E ? T T ? int * T T ? int T ? (E) 文法的项目有: 1、 S’ ? ? E 2、 S’ ? E ? 3、 E ? ? T + E 4、 E ? T ? + E 5、 E ? T + ? E 6、 E ? T + E ? 7、 E ? ? T 8、 E ? T ? 9、T ? ? int * T 10、T ? int ? * T 11、T ? int * ? T 12、T ? int * T ? 13、 T ? ? int 14、 T ? int ? 15、 T ? ?(E) 16、 T ? (? E) 17、 T ? (E ?) 18、 T ? (E) ? NFA for Viable Prefixes of the Example T ? . (E) T ? (.E) T ? (E.) T ? (E). ( E ) S’ ? E. E ? . T+E E ? T.+E E ? T+.E E ? T+E. S’ ? . E E? . T E? T. T? int. T? .int T ? .int * T T ? int * T. T ? int *.T T ? int.* T e e e e E e T e e e E + e int int * T e e e e e T e NFA for Viable Prefixes in Detail (1) S’ ? . E NFA for Viable Prefixes in Detail (2) S’ ? . E S’ ? E. E E? . T e E ? . T+E e NFA for Viable Prefixes in Detail (3) S’ ? E. E ? . T+E S’ ? . E E? . T T ? .int * T e e E T ? . (E) e T? .int e e E? T. T NFA for Viable Prefixes in Detail (4) T ? . (E) S’ ? E. E ? . T+E S’ ? . E E? . T E? T. T? .int T ? .int * T e e E E ? T.+E T e e e e e e T NFA for Viable Prefixes in Detail (5) T ? . (E) T ? (.E) ( S’ ? E. E ? . T+E S’ ? . E E? . T E? T. T? .int T ? .int * T e e E e e e e e e T E ? T.+E T NFA for Viable Prefixes in Detail (6) T ? . (E) T ? (.E) ( S’ ? E. E ? . T+E S’ ? . E E? . T E? T. T? .int T ? .int * T e e e e E e e e e e e T E ? T.+E T T ? (E.) E NFA for Viable Prefixes in Detail (7) T ? . (E) T ? (.E) ( S’ ? E. E ? . T+E S’ ? . E E? . T E? T. T? .int T ? .int * T e e e e E e e e e e e T E ?

文档评论(0)

1亿VIP精品文档

相关文档