编译原理第五章课程总结
自下而上语法分析方法:
自下而上语法分析方法,就是从输入串开始,逐步归约,直至归约到文法的开始符号。
各种不同的自下而上分析法的共同特点是,边输入单词符号,边归约。核心问题是,识别可归约串。
对于规范归约,要清楚短语,直接短语,最左直接短语的含义。对于一个从开始符号推导出来的句型,短语由非终结符推导来,直接短语由非终结符一步推导出来的,最左直接短语是语法树中最左分支。一个句型的最左直接短语称为该句型的句柄。
![](/assets/blank.gif)
一、移进-归约法
这种方法的大致意思是:用一个寄存符号的先进先出后进栈,把输入符号一个一个地移进到栈里,当栈顶形成某个产生式的候选
式时,即把栈顶的这一部分替换成(归约为)该产生式的左部符号。
例如:设文法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
![](/assets/blank.gif)
编译原理第五章课程总结相关推荐
- 微机原理第五章 存储器
微机原理笔记分享 课程链接:https://www.bilibili.com/video/BV1qv411Y7AA?share_source=copy_web 微机原理第五章 @[TOC](微机原理第 ...
- 计算机原理存储器课件,计算机原理第五章存储器课件.ppt
计算机原理第五章存储器课件.ppt 教材例题讲解 图5.33 全译码法8088与6264构成32KB存储空间 图5.34 部分译码法8088与6116构成8KB存储空间 图5.35 8088与ROM/ ...
- 编译原理第四章练习题
目录 编译原理第四章作业 课本习题 补充习题 编译原理第四章作业 自己写的不包对,有错请指正 BY hllinyu 2023年3月31日 课本习题 编译原理 第三版 王生原- 清华大学出版社 的那本 ...
- 通信原理第五章 基带信号的表示和传输
通信原理第五章 基带信号的表示和传输 思维导图
- 编译原理(五)自底向上分析之算符优先分析法
自底向上分析之算符优先分析法 说明:以老师PPT为标准,借鉴部分教材内容,AlvinZH学习笔记. 基本过程 1. 一般方法:采用自左向右地扫描和分析输入串,从输入符号串开始,通过反复查找当前句型的句 ...
- 编译原理——第三章词法分析总结
词法分析 在词法分析这一章主要通过学习了词法分析.正规表达式和有限自动机来了解词法分析器的构造. 词法分析器是执行词法分析的程序.将源程序输入词法分析器后,词法分析器从左至右逐个字符的对源程序进行扫描 ...
- 【编译原理】第一章 引论
一,语言处理器 1)一个集成的软件开发环境,其中包括很多种类的语言处理器,比如编译器.解释器.汇编器.连接器.加载器.调试器以及程序概要提取工具. 2)编译器:把源程序的每一条语句都编译成机器语言,并 ...
- 【笔记】编译原理——第三章 词法分析
目录 编译过程结构框架 3.1 对于词法分析器的要求 3.1.1 词法分析器的功能和输出形式 3.1.2 词法分析器作为一个独立子程序 3.2 词法分析器的设计 3.2.1 输入.预处理 3.2.2 ...
- 微机原理-第五章 微型计算机接口和外设的数据传输
本章内容: 为什么要用接口电路? CPU和输入/输出设备之间的信号 接口部件的I/O端口 接口的功能以及在系统中的连接 CPU和外设之间的数据传输方式 本章重点: 为什么要用接口? 中断传输的原理 D ...
最新文章
- 跨网文件摆渡如何满足不同安全要求?
- android将被代替的控件,Android 控件被忽略的属性
- MIT自然语言处理第三讲:概率语言模型(第四、五、六部分)
- ie手机浏览器_IE永不为奴?微软Edge浏览器开启双核模式
- 【C++ 第七章 个人银行账户管理程序案例】
- 最牛营业部——国信泰然九路揭秘
- flex平均分布换行后自动对齐
- linux java usb 串口_2019-11-02 Linux下USB-串口的使用
- C# 代理访问页面并获取数据
- oracle创建联机重做日志,oracle联机重做日志文件管理!
- 懒人的小技巧, 批处理修改IP
- Java集合——TreeMap源码详解
- svnadmin hotcopy
- 帮你整理了1000套实习报告模板,快快收藏
- 手把手教你自制一寸两寸照
- Java流(Stream)
- CDR是什么软件?用来做什么的,CorelDRAW版本更新历史及快捷键教程分享下载
- JAVA图书管理系统不用数据库_java简单的图书管理系统(只用java代码不用数据库和可视化界面,一个管理员表和图书表)...
- 手机邮箱可以撤回邮件吗_苹果手机邮箱撤回邮件 手机邮箱如何撤回邮件
- 数据挖掘技术-绘制饼图