zoukankan      html  css  js  c++  java
  • 【转】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)四种分析器的构造方法都必须深入理解和掌握。

    【知识结构】 

    作者:Standby一生热爱名山大川、草原沙漠,还有妹子
    出处:http://www.cnblogs.com/standby/

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    移动端开发touchstart,touchmove,touchend事件详解和项目
    我对JVM的理解
    快速排序
    归并排序(Merge sort)
    希尔排序
    插入排序
    选择排序
    冒泡排序(Bubble Sort)
    java设计模式之单例模式
    Java中反射机制的理解
  • 原文地址:https://www.cnblogs.com/standby/p/6792787.html
Copyright © 2011-2022 走看看