编译原理实用教程 杨德芳 第6章 LR分析技术新.pptVIP

  • 11
  • 0
  • 约2.42万字
  • 约 119页
  • 2018-01-01 发布于广东
  • 举报

编译原理实用教程 杨德芳 第6章 LR分析技术新.ppt

第6章 LR分析技术 本章学习目标 LR(k)分析器是这样一种分析程序:它总是按从左到右的方式扫描输入串,并按照自底向上的方式进行归约。在这种分析过程中,它至多向前查看k个输入符号就能确定当前的动作是移进还是归约。本章要点: LR分析的基本原理 LR(0)分析表的构造 SLR(1)分析表的构造 LR(1)分析表的构造 LALR(1)分析表的构造 6.1 LR分析器的工作原理 自底向上分析方法是一种移进—归约过程,当分析栈的栈顶符号串形成句柄时就采取归约动作,因而自底向上分析方法的关键问题是在分析过程中如何确定句柄。LR分析方法根据当前分析栈中的符号串(通常用状态来表示)和向右顺序查看输入串的k(k≥0)个符号就能惟一确定句柄。LR分析方法的归约过程正是规范推导的逆过程,所以LR分析过程是一种规范归约。 LR(k)分析方法是1965 年Knuth提出的。括号中的 k表示向右查看输入串符号的个数。这种方法比起自顶向下的LL(k)分析方法和自底向上的优先分析对文法的限制要少得多。也就是说对于大多数无二义性上下文无关文法描述的语言都可以用相应的LR分析器识别。而且这种方法还具有分析速度快,能准确、及时地指出出错位置等优点。它的主要缺点是对于一个实用语言文法分析器的构造工作量相当大,实现比较困难。 1.LR分析的概述 一个LR分析器由三部分组成: (1)总控程序,也称为驱动程序。对所

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档