LR分析法

Posted 青山应回首

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LR分析法相关的知识,希望对你有一定的参考价值。

转自:http://guanjy0129.blog.163.com/blog/static/1115494452010614113333509/

  LR分析法的归约过程是规范推导的逆过程,所以LR分析过程是一种规范归约过程。

  LR分析法正是给出一种能根据当前分析栈中的符号串(通常以状态表示)和向右顺序查看输入串的K个(K≥0)符号就可唯一地确定分析器的动作是移进还是归约和用哪个产生式归约,因而也就能唯一地确定句柄。

  其中LR(0)分析器是在分析过程中不需向右查看输入符号,因而它对文法的限制较大,然而,它是构造其它LR类分析器的基础。

  因此,首先应学好LR(0)项目集规范族构造的基本原理和方法。当K=1时,已能满足当前绝大多数高级语言编译程序实现的需要。

  SLR(1)分析是为学习LR(1)分析做准备,LR(1)项目集族的构造是LALR(1)分析器的构造原理和基础。

  LALR(1) 分析器是当前大多数高级程序设计语言编译程序所采用的语法分析技术,也是编译程序语法分析器自动构造工具YACC的实现基本原理。

  由此,LR(0)、SLR(1)、LALR(1)、LR(1)四种分析器的构造方法都必须深入理解和掌握。

 

【知识结构】 

 

以上是关于LR分析法的主要内容,如果未能解决你的问题,请参考以下文章

LR分析法

编译原理LR语法分析器的设计与实现

编译原理LR语法分析器的设计与实现

编译原理LR语法分析器的设计与实现

P17 LR 分析法编译原理

LL,LR,SLR,LR,LALR的 联系与区别