自下而上语法分析方法:

自下而上语法分析方法,就是从输入串开始,逐步归约,直至归约到文法的开始符号。

各种不同的自下而上分析法的共同特点是,边输入单词符号,边归约。核心问题是,识别可归约串。

对于规范归约,要清楚短语,直接短语,最左直接短语的含义。对于一个从开始符号推导出来的句型,短语由非终结符推导来,直接短语由非终结符一步推导出来的,最左直接短语是语法树中最左分支。一个句型的最左直接短语称为该句型的句柄。

  算符优先法思想:定义算符之间优先关系,借助这种关系来寻找 “ 可归约串 ” 和进行归约。

一、移进-归约法

这种方法的大致意思是:用一个寄存符号的先进先出后进栈,把输入符号一个一个地移进到栈里,当栈顶形成某个产生式的候选

式时,即把栈顶的这一部分替换成(归约为)该产生式的左部符号。

例如:设文法G(S):

(1) S —> aAcBe

(2) A —> b

(3) A —> Ab

(4) B —> d

分析:首先让a进栈,然后把b进栈,根据第二条规则,把b归约成A,再让第二个b进栈,此时栈顶有Ab,根据第三条规则,将

Ab归约成A,让c进栈,d进栈,根据第四条规则,将d归约成B,最后让e进栈,此时栈里的符号为aAcBe,最后根据第一条规则

将其归约为S。

二、规范归约

定义:令G是一个文法,S是文法的开始符号,假定αβ△是文法G的一个句型

其中α,β,△∈(VN∪VT)*,A∈VN ,如果有

则称β是句型αβ△相对于非终结符A的短语

特别是,如果有A=>β则称β是句型αβ△相对于规则A—>β的直接短语,一个句型的最左直接短语称为该句型的句柄

注:因为句型是由开始符号推出来的,而短语是由非终结符号推出来的。所以,短语是句型的一部份或全部符号串。

活前缀

活前缀是指规范句型的一个前缀。文法G每一个产生式的右部添加一个圆点称为G的一个LR(0)项目。能够把识别活前缀的NFA确定化,使之成为一个以项目集合为状态的DFA,这个DFA就是建立LR分析算法的基础。构成识别一个文法活前缀的DFA的项目集的全体称为这个文法的LR(0)项目集规范族。

构造识别该文法所有活前缀的NFA

(1)求出该文法的LR(0)项目

(2)构造识别文法的NFA为

M= (S, ∑, f, S0, Z)

其中

S={s|s是文法G的18个LR(0)项目}

∑={S’,E, A, B,a, b, c, d}

S0= S¢→·E

Z: 规定每个状态都是识别活前缀的终态 (18 个 )
课后习题:
 总结:
   学过本章后,对LR分析法的理解也更加深刻,但是对FIRST集FELLOW集运用的还不是很熟练,还是要多做练习争取熟练掌握 。

编译原理第五章课程总结相关推荐

  1. 微机原理第五章 存储器

    微机原理笔记分享 课程链接:https://www.bilibili.com/video/BV1qv411Y7AA?share_source=copy_web 微机原理第五章 @[TOC](微机原理第 ...

  2. 计算机原理存储器课件,计算机原理第五章存储器课件.ppt

    计算机原理第五章存储器课件.ppt 教材例题讲解 图5.33 全译码法8088与6264构成32KB存储空间 图5.34 部分译码法8088与6116构成8KB存储空间 图5.35 8088与ROM/ ...

  3. 编译原理第四章练习题

    目录 编译原理第四章作业 课本习题 补充习题 编译原理第四章作业 自己写的不包对,有错请指正 BY hllinyu 2023年3月31日 课本习题 编译原理 第三版 王生原- 清华大学出版社 的那本 ...

  4. 通信原理第五章 基带信号的表示和传输

    通信原理第五章 基带信号的表示和传输 思维导图

  5. 编译原理(五)自底向上分析之算符优先分析法

    自底向上分析之算符优先分析法 说明:以老师PPT为标准,借鉴部分教材内容,AlvinZH学习笔记. 基本过程 1. 一般方法:采用自左向右地扫描和分析输入串,从输入符号串开始,通过反复查找当前句型的句 ...

  6. 编译原理——第三章词法分析总结

    词法分析 在词法分析这一章主要通过学习了词法分析.正规表达式和有限自动机来了解词法分析器的构造. 词法分析器是执行词法分析的程序.将源程序输入词法分析器后,词法分析器从左至右逐个字符的对源程序进行扫描 ...

  7. 【编译原理】第一章 引论

    一,语言处理器 1)一个集成的软件开发环境,其中包括很多种类的语言处理器,比如编译器.解释器.汇编器.连接器.加载器.调试器以及程序概要提取工具. 2)编译器:把源程序的每一条语句都编译成机器语言,并 ...

  8. 【笔记】编译原理——第三章 词法分析

    目录 编译过程结构框架 3.1 对于词法分析器的要求 3.1.1 词法分析器的功能和输出形式 3.1.2 词法分析器作为一个独立子程序 3.2 词法分析器的设计 3.2.1 输入.预处理 3.2.2 ...

  9. 微机原理-第五章 微型计算机接口和外设的数据传输

    本章内容: 为什么要用接口电路? CPU和输入/输出设备之间的信号 接口部件的I/O端口 接口的功能以及在系统中的连接 CPU和外设之间的数据传输方式 本章重点: 为什么要用接口? 中断传输的原理 D ...

最新文章

  1. 跨网文件摆渡如何满足不同安全要求?
  2. android将被代替的控件,Android 控件被忽略的属性
  3. MIT自然语言处理第三讲:概率语言模型(第四、五、六部分)
  4. ie手机浏览器_IE永不为奴?微软Edge浏览器开启双核模式
  5. 【C++ 第七章 个人银行账户管理程序案例】
  6. 最牛营业部——国信泰然九路揭秘
  7. flex平均分布换行后自动对齐
  8. linux java usb 串口_2019-11-02 Linux下USB-串口的使用
  9. C# 代理访问页面并获取数据
  10. oracle创建联机重做日志,oracle联机重做日志文件管理!
  11. 懒人的小技巧, 批处理修改IP
  12. Java集合——TreeMap源码详解
  13. svnadmin hotcopy
  14. 帮你整理了1000套实习报告模板,快快收藏
  15. 手把手教你自制一寸两寸照
  16. Java流(Stream)
  17. CDR是什么软件?用来做什么的,CorelDRAW版本更新历史及快捷键教程分享下载
  18. JAVA图书管理系统不用数据库_java简单的图书管理系统(只用java代码不用数据库和可视化界面,一个管理员表和图书表)...
  19. 手机邮箱可以撤回邮件吗_苹果手机邮箱撤回邮件 手机邮箱如何撤回邮件
  20. 数据挖掘技术-绘制饼图

热门文章

  1. 只要2.5分钟!机器手轻松完成最危险复杂的手术
  2. Unity 之 UGUI 图片 和 粒子特效显示层级关系调整
  3. 核芯模数转换器新品CL1680,对标AD7980
  4. QCOM camera架构
  5. 智慧办公室管理系统提升企业的科技化形象
  6. Modbus TCP转Profinet网关连接昆仑通态触摸屏案例
  7. 拿到offer提出离职,公司拖30天才放人,但下家公司等不了30天,怎么办?
  8. 使用Spring Cloud构建分布式应用
  9. 那一年,春晚拓荒牛背后的故事
  10. 程序员辞职也需要辞得帅,辞得大家都开心,多为将来考虑,辞职不要急,本是好事要办好