编译原理课后习题答案(陈火旺+第三版)

合集下载

编译原理及编译程序构造

编译原理及编译程序构造

第一章 引论 一、程序设计语言
•程序设计语言 –高级语言 –汇编语言 –机器语言 •在计算机上如何执行一个高级语言程序? –把高级语言程序翻译成机器语言程序 –运行所得的机器语言程序求得计算结果
第一章 引论 二、程序设计语言的转换与编译
•翻译 –在不改变语义的条件下,把某种语言的源程序 转换成另一种语言程序——目标语言程序。 •解释 –接受某高级语言的一个语句输入,进行解释并 控制计算机执行,马上得到这句的执行结果,然 后再接受下一句。
第一章 引论 三、编译程序 4.优化
• 任务 对产生的中间代码进行加工变换,以期在最 后阶段能产生更为高效(省时间、省空间)的 目标代码 • 依据原则:程序的等价变换规则 • 主要优化内容 删除公共子表达式、合并已知量、删除无用 赋值语句、循环优化等
第一章 引论 三、编译程序 5.目标代码生成
• 任务:把中间代码程序转化成具体机器的指令序列 • 注:转换过程需涉及具体机器的指令系统以及寄存 器分配等硬件功能。
第一章 引论 三、编译程序 8. 遍
• 遍:指对源程序或源程序的中间结果从头到尾扫描一次, 并做有关的加工处理,生成新的中间结果或目标代码的过 程。 –注:遍与阶段的含义毫无关系。 • 多遍扫描的好处 –节省内存空间,提高目标代码质量,使编译的逻辑结构 清晰。 • 多遍扫描的缺点 –编译时间较长。 –注:在内存许可情况下,还是遍数尽可能少些为好。
词 源程序 法 分 析 器
语 法 代 码 生 成
优 化
目 标 代 目标代码 码 生 成
出错处理
第一章 引论 三、编译程序 1.词法分析
• 任务 –输入源程序,对构成源程序的字符串进行扫 描和分解,依照词法规则,识别出一个个的 单词,并转化为机器易于使用的内码形式。 • 单词 –是高级语言中有实在意义的最小语法单位, 它由字符构成。

信息学院06版《编译原理》课程教学大纲

信息学院06版《编译原理》课程教学大纲

《编译原理》课程教学大纲课程编号:(先不填)英文名称:Compiler Construction Principles课程类型:专业基础课学时/学分:40+16/3.5授课对象:本科生先修课程:高等数学,数据结构,C程序设计课程简介:本课程是计算机专业学生的一门重要专业基础课,本课程属于计算机科学与技术专业的一门重要的专业必修课。

通过本课程学习,使学生掌握编译程序的一般构造原理,包括语言基础知识、词法分析程序设计原理和构造方法。

各种语法分析技术和中间代码生成符号表的构造、代码优化、并行编译技术常识及运行时存储空间的组织等基本方法和主要实现技术。

它有一定的理论性,又有一定的实践性, 尤其是本课程的知识与计算机应用中很多领域有紧密联系与广泛应用。

了解与掌握本课程的基本内容将有利于学生提高专业素质和适应社会多方面需要的能力。

教学目的和要求:教学目的:培养学生掌握构造编译程序的基本原理与设计方法,为培养计算机语言与大型应用程序的开发人才打下良好的基础。

本课程坚持理论与实践教学并重的原则,理论上主要叙述语言和文法的形式定义、自动机理论、词法分析、语法和语义分析、优化和代码生成等环节的基本理论和方法,与此同时,通过上机实习构造简单语言的编译程序等编辑器使学生掌握开发应用程序的基本方法。

教学要求:通过本课程的学习, 学生应掌握形式语言理论与编译实现相关的基础概念, 了解与掌握编译程序构造的基本原理与技术, 从形式语言理论的角度, 进一步认识与理解程序设计语言及其与编译程序的联系。

做习题是理解课程中基本概念、培养思考能力和解题能力的重要方面, 要求学生认真做好习题, 并注意解题规范化。

学生也应重视配合教学, 做好上机实习。

教学内容:第1章编译程序概述(2学时)1、教学内容:1)什么是编译程序2)编译过程概述3)编译程序的结构4)编译阶段的组合5)编译技术和软件工具2、教学重点:编译程序的结构3、教学难点:编译程序的结构,以及每一阶段任务第3章文法与语言(6学时)1)文法的直观概念2)符号和符号串3)文法与语言的形式定义4)文法的分类5)上下文无关文法及其语法树6)句型的分析7)有关文法实用中的一些说明2、教学重点:与编译技术密切相关的一些术语和概念。

编译原理PPT课件

编译原理PPT课件
《编译原理》课程信息
教学目的与要求:
编译程序是现代计算机系统的基本组成部
分之一。本课程重点讲述编译程序的设计
原理和常用实现技术。通过课程的学习和
实验的完成,应该清楚的理解一个编译程
序是如何工作的;如果在以后遇到了任何
一个程序设计语言,应该知道如何实现这
个语言的多数机制;应具有一定的使用编
译构造工具开发编译程序的经验;会将所
参考书:《程序设计语言 编译原理》(第3 版),陈火旺、刘春林等,国防工业出版社 2000
等等
2021/3/7
CHENLI
2
教学内容
1 编译程序概述 编译程序是现代计算机系统的基本组成部分之 一.编译程序一般由词法分析程序,语法分析程 序,语义分析程序,中间代码生成程序,目标 代码生成程序,代码优化程序,符号表管理程 序和错误处理程序等成分构成。本章概要介绍 编译成分的主要功能以及编译阶段的逻辑关系。
教学内容
5 语法分析程序的构造
自顶向下的语法分析。可以看作是为一个输入串寻找 一个最左推导的过程,也等价于从根开始,按前序生成 结点,为输入串构造分析树的过程。讨论一种有效的 无回溯的自顶向下分析程序,这种分析程序称为预测 分析程序。介绍对于一个文法类:LL(1)文法, 如 何自动的构造预测分析程序。
2 PL/0 编译程序剖析 给出一个简单的类Pascal语言,其编译程序用 高级语言(C和Pascal)实现。通过剖析该高 级语言程序以理解各编译成分的功能及手工实 现方法。
2021/3/7
CHENLI
3
教学内容
3 高级语言的认识
要学习和构造编译程序,理解和定义程序设计语言
是必不可少的。每个程序设计语言都有一定的规则用 以规定合适程序的语法结构,也需要有对一个程序的 含义的描述。上下文无关文法给出程序设计语言的精 确的,易于理解的语法说明。尚没有公认的形式系统 描述程序含义,但也有流行的描述语义规则的方法— 属性文法。

浏览该文件 - 齐鲁师范学院继续教育中心 首页

浏览该文件 - 齐鲁师范学院继续教育中心 首页

遗传学(上下册)(第二 刘祖洞 版) 微生物学(第二版) 进化生物学基础 国际贸易地理 黄秀梨 李难 赵苏
09 科 09 科 10 10 10 11
地理科学本 地理科学本 会计学本科 会计学本科 会计学本科 法学本科
第5学期 人口地理学 第6学期 地理信息系统 第5学期 第5学期 第6学期 第5学期 货币银行学 会计制度设计 企业信息管理 经济法
第5学期 西方经济学 第5学期 公共关系学 第5学期 文书学 第5学期 社交礼仪概论 第5学期 幼儿园管理与经营 第5学期 学前语言教育 第5学期 教育行政学 第5学期 教育法学 第5学期 经济法 第5学期 婚姻与家庭法 第5学期 计算机组成结构 第5学期 ASP网络编程技术 第5学期 汇编语言程序设计 第5学期 大学语文 第5学期 普通心理学
高等教育出版社 高等教育出版社 高等教育出版社 南京大学出版社 高等教育出版社 高等教育出版社 北京大学出版社 高等教育出版社 清华大学出版社 复旦大学出版社 高等教育出版社 高等教育出版社 化学工业出版社 高等教育出版社 国防工业出版社 高等教育出版社 高等教育出版社 高等教育出版社 高等教育出版社 高等教育出版社
02 英语本科
02 英语本科
第6学期
03 历史学本科 第5学期 史学名著选读 03 历史学本科 03 历史学本科 04 数学与应用 数学本科 04 数学与应用 数学本科 04 数学与应用 数学本科 第5学期 史学理论 第6学期 民族与宗教 第5学期 计算方法 第5学期 数学史 第6学期 初等数论
人教社、 中日交流 标准日本语 初 光村图书 级(上、下) 出版株式 会社 英语国家社会与文化入门 朱永涛 (第二版) (上下) 王立礼 中国历史要籍介绍及选读 赵淡元 (上、下) 史学概论 庞卓恒 宗教学概论(修订版) 赖永海 张德莱 计算方法 王新民 数学史概论(第二版) 初等数论(第二版) 数字电子技术基础简明教 程(第三版) 物理学史(第二版) 固体物理简明教程(第二 版) 化学教学论(第三版) 结构和物性-化学原理的 应用(第二版) 高分子化学(增强版) 微型计算机技术(修订 版) 编译原理(第3版) 图形图像处理实用教程 李文林 潘承洞 余孟尝 郭奕玲 蒋平 刘知新 周公度 潘祖仁 孙德文 陈火旺 柳青

“四诊”教学法在“编译原理”课程教学中的应用研究-精选文档

“四诊”教学法在“编译原理”课程教学中的应用研究-精选文档

“四诊”教学法在“编译原理”课程教学中的应用研究基金项目:河南省教育厅科学技术研究重点项目(12B520048)。

“编译原理”是计算机科学与技术专业中的一门核心课程,除了编译中基本的理论方法外,更有很多基本的问题求解方法、处理问题的思路等,这些思想和方法对培养学生的计算思维、程序设计与实现、算法设计与分析、计算机系统的认知、开发和利用等能力非常重要,是在程序设计、数据结构与算法等课程中受到一定的锻炼后,从系统的级别上对程序、算法认识的再提高[1-2]。

“编译原理”课程的理论和实践性非常强,由于学生之间的差别比较大,所以不同的学校应该根据自己的实际,合理地制定教学目标和教学大纲,教师也应该根据学生的基本情况,合理地安排教学内容和教学方法。

在“编译原理”课程教学中,教学内容的选取不宜采用大、精、深,面面俱到的做法往往会面面不到[4-5]。

再一点就是根据学时安排,合理分配理论授课和实践课的比例,使教学方法和教学内容真正摆脱枯燥的理论教学,使理论和实践紧密结合,提高学生提出问题、分析问题、解决问题的能力,培养学生在实际工作中对编译知识综合应用的能力。

1.教学内容的组织以我校为例,“编译原理”课程采用的教材是陈火旺院士编写的经典教材《程序设计语言编译原理》,本教材是编译原理方面的经典教材,被全国80%以上的高校选用,发行量已突破百万册。

这本教材对大多高校的学生来说,难度都非常大。

但是通过合理地组织教学内容,删繁就简,切中重点,多进行方法和应用的训练,少进行深奥理论的探讨,实践证明在实际教学过程中起到了良好的效果。

结合我校学生的实际情况和作者在教授编译原理课程中多年积累的经验,特对教材内容按如下几个原则做出处理:1)简化教材,偏重于基本的理论和方法。

2)注重应用和方法,淡化理论推导。

3)注重和其他课程的联系交叉。

4)引入最新的科研应用技术和方法,增强学生的学习兴趣。

基于此,课堂教学中主要讲授编译原理的基础知识(第一章),词法分析中的形式语言和自动机(第二、三章),语法分析中的LL(1)分析法、算符优先分析法及LR分析法(第四、五章),属性文法、语义分析及中间代码的生成(第六、七章),简单优化及目标代码的生成(第十、十一章)。

计算机网络andrew第五版答案

计算机网络andrew第五版答案

计算机网络andrew第五版答案【篇一:《计算机网络》第5版andrew课后第1章】p class=txt>1. 第一章1. 狗携带的数据 7gb*3=21gb数据传送21gb 的时间需要 t=21gb/150mbps = 1146.88s这段时间狗运动的路程 s=18km/h* 1146.88s = 5734.4m如果够的速度加倍或者磁盘容量,最大距离也会加倍。

如果线路传输速率加倍,则最大距离减半2. lan模型有可拓展性,如果lan 只是一条单一线路,虽然成本更低,但如果出现错误,则链路将崩溃。

客户机-服务器提供了更好的计算性能和更好的接口。

3. 大陆间的光钎网络,虽然能搭载大量数据,但由于距离遥远,所以延迟比较高 56kbps 的调制解调网络带宽较低,延迟也比较低。

4. 为提供数字语音流量和视频流量,需要统一的投递时间。

如果针对金融业务流量,稳定性和安全性很重要。

5. 交换时间不会成为延迟的主要因素。

信号传输速率为200 000 000m/s 在10us 内传输距离为2km,而纽约到加州距离为5000km,即使有50个交换机,也只增加了100km的距离,整体影响为只有2% 。

6. req 来回需要2次传输,rep 返回也需要2次总共4次传输距离为40 000km *4 = 160 000km 。

传输延迟 t = 160 000km / 300 000 000 = 523ms。

7.8.有ab ac ad ae bc bd be cd ce de 10种可能的线路,每个线路有高速线路中速线路低速线路不设置线路 4种状态所有有4^10 = 1048576 中可能。

100ms 一种线路,需要花费 104857.6s 。

9.总共n+2 个时间,事件1 - n 表示对应主机成功反问信道,未遇到冲突,该概率为p(1-p)^(n-1), n+1 表示空闲信道该概率为 (1-p)^n ,n+2事件是冲突。

“编译原理”课程教学探讨


展,其 中,算符优先 分析到 目前为止 已经很少使
用 , 目标代 码生 成部 分生成 的代 码 已经过 时 ,采 用 的示例 语言基 本 上 以 P S A A C L或 Fra 主等 等 , ot n为 r 这些 问题 的存在 给学 生接 受这 门课 程所 讲授 的原 理
的深入了解 ,包括数据结构、编译原理等多门重要 课程 的学 习所带来 的 巨大潜力 。而编译 原理 这 门课 程对 于学 生深入 理解编 程 的思 想和构造 更优 良的代
码具 有重 要的影 响 ,是 计算机 专业学 生能够 在将 来 的开发工 作 中 ,各个方 面强 于其他专业 学 生的一 个 重要 砝码 ,因此 ,学好 编译原 理这 门课 程对 计算 机 专业 的学 生来讲 ,具有 重要 的意义 。 对 于编译原 理这 门课程 的教学 ,因为课 程 的抽 象 程度 比较高 ,理论性 比较强 ,因此 导致 很多学 生 觉得 这 门课 程不好 学 ,产生 了一些畏难 情绪 。经 过 对 编译原 理课 程的多年 教学 ,笔者尝试 从 教学 内容 和教学方 式上对 编译原 理这 门课程 的教学 进行一 些
现在的就业压力太大了,应该给学生提供足够多的 技能来 适应 找工作 的需要 ,而 当前 的课 程设 置则 主
要在 于理论 上 的学 习 ,对 实 际的技能 锻炼不 足 。同


教材 的选 择
门课程 ,教学效 果 的好坏 ,教材 的选择 至关
时有部分教师担心 ,随着信息技术的发展 ,计算机
编译原 理课程 以介绍程 序设计 语言 编译程 序构
造的基本原理和设计方法为教学 目标…。通过该 课程的学习,一方面使学生能够掌握和理解编译 系 统的结构、工作流程以及编译程序各组成部分的设 计原理和实现技术 ,获得分析、设计、实现和维护

羊四清编译原理

代码进行加工,以期在最后阶段产生更 为高效(省时间和空间)的代码 工具:
优化所依循的原则是程序的等价变换 规则.
其方法有:公共子表达式的提取、循 环优化、删除无用代码等。
第一章 引 论
第五阶段:目标代码生成
任务: 把中间代码(或经优化处理后)变换成
特定机器上的低级语言代码。它有赖于硬件 系统结构和机器指令含义。
在编译程序使用的表格中最重要的是符号 表它用来登记源程序中出现的每一个名字以及名 子的各种属性。如一个名字是常量名、变量名, 还是过程名等;如果是变量名它的类型又是什么 、所站内存是多大、地址是什么等。
第一章 引 论
1.3.3 出错处理
一个编译程序不仅能对书写正确的 程序进行编译,而且应能对处现在源程 序中的错误进行处理。如果源程序有错 ,编译程序应设法发现错误,把有关错 误报告给用户。这部分的工作是由专门 的一组程序(叫做处错处理程序)完程 的。
第一章 引 论
第一章 引 论
现在将编译器移植到一个新的主机,只要求重写源代码的后端来生成新 机器的代码。接着用旧的编译器来编译它以生成一个交叉编译器,该编译器 又再次被交叉编译器重新编译,以得到新机器的工作版本。图1 - 3 a和图1 3 b描述了这一过程。
• 2、弄懂书中的例题与习题 • 3、在看书时或理解例题时,一定要划出
相应的细节变化过程,通过画图来加深 理解 • 4、在理解的基础上记忆 • 5、理论结合实践
第一章 引 论
学习要求
• 成绩考核方法
– 平时成绩占30% – 期末考试成绩占70%。
• 平时成绩为:
• 课堂点名10% • 作业10% • 上机实验10%
编译原理
主讲: 羊四清
授课对象:计算机系 计算机科学与技术专业2019级

编译原理课件1


1.4 编译程序的组织
1、遍(Pass) 、 2、前端,后端 、前端,
课 程 名 称 : 编译原理
主讲教师: 主讲教师:徐艳群
本章要点
要求理解编译程序,解释程序和遍的基本概念; 要求理解编译程序,解释程序和遍的基本概念; 掌握编译过程各阶段的任务和编译程序逻辑结构 及其各部分的基本功能。 及其各部分的基本功能。
课 程 名 称 : 编译原理
主讲教师: 主讲教师:徐艳群
《编译原理》课程基本信息 编译原理》
(一)课程名称 :编译原理 学时, (二)学时学分 :周7学时,4学分 高等数学、C (PASCAL)、离散数学、 汇编语言、 (三)预修课程 :高等数学、C (PASCAL)、离散数学、 汇编语言、 数据结构 后继课程 :形式语言与自动机等 编译原理》 (四)使用教材 :《编译原理》(第2版) 主编:张素琴、吕映芝) (清华大学出版 主编:张素琴、吕映芝)
课 程 名 称 : 编译原理
主讲教师: 主讲教师:徐艳群
1.2 编译过程概述
1、编译程序结构 、 2、编译过程 、
课 程 名 称 : 编译原理
主讲教师: 主讲教师:徐艳群
1.3 编译程序的逻辑结构
1、编译逻辑过程 、 2、编译程序各阶段任务 、
课 程 名 称 : 编译原理
主讲教师: 主讲教师:徐艳群
掌握编译程序的结构
课 程 名 称 : 编译原理
主讲教师: 主讲教师:徐艳群
教学重点
Transaction Data
解释程序
编译程序
Customer Profile
编译的过程
编译概念
课 程 名 称 : 编译原理
主讲教师: 主讲教师:徐艳群
教学难点

编译原理课后题答案【清华大学出版社】ch8


如果题目是 S::=L.L | L L::=LB | B B::=0 | 1 则写成: S`::=S {print(S.val);} S::=L1.L2 { S.val:=L1.val+L2.val/2L2.length ;} S::= L { S.val:=L.val; } L::=L1B { L.val:=L1.val*2+B.val; L.length:=L1.length+1; } L::=B { L.val:=B.val; L.length:=1;} B::=0 { B.val:=0; } B::=1 { B.val:=1;}
如采用 LR 分析方法,给出表达式(5*4+8)*2 的语法树并在各结点注明语义值 VAL。
答案:
计算机咨询网()陪着您
5
缄默TH浩的小屋
《编译原理》课后习题答案第八章
采用语法制导翻译思想,表达式 E 的“值”的描述如下:
产生式
语义动作
(0) S′→E
{print E.VAL}
四元式:
100 (+, a, b, t1) 101 (+, c, d, t2) 102 (*, t1, t2, t3) 103 (-, t3, /, t4) 104 (+, a, b, t5) 105 (+, t5, c, t6) 106 (-, t4, t6, t7)
树形:
计算机咨询网()陪着您
计算机咨询网()陪着您
6
缄默TH浩的小屋
《编译原理》课后习题答案第八章
第5题
令 S.val 为下面的文法由 S 生成的二进制数的值(如,对于输入 101.101,S.val=5.625); SÆL.L | L LÆLB | B BÆ0 | 1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课后答案网 http://www.khdaw.com 课后答案网 http://www.khdaw.com 第二章 P36-6 (1) LG()1是0~9组成的数字串

(2) 最左推导:

NNDNDDNDDDDDDDDDDDDDNNDDDDNNDNDDDDDDDD0010120127334556568

最右推导: NNDNNDNNDNDNNDNDNNDNNDND77272712712701274434886868568

P36-7 G(S) ONODNSOAOAADN1357924680|||||||||||

P36-8 文法: ETETETTFTFTFFEi|||*|/()|

最左推导: EETTTFTiTiTFiFFiiFiiiETTFFFiFiEiETiTTiFTiiTiiFiii********()*()*()*()*()*()*()

最右推导: EETETFETiEFiEiiTiiFiiiiiETFTFFFEFETFEFFEiFTiFFiFiiiii**********()*()*()*()*()*()*()*()

语法树:/******************************** 课后答案网 http://www.khdaw.com 课后答案网 http://www.khdaw.com EEFTE+TFFT+iiiE

EFTE-TFFT-i

ii

EEFT+TFFTiii*

i+i+ii-i-ii+i*i

*****************/ P36-9

句子iiiei有两个语法树: SiSeSiSeiiiSeiiiieiSiSiiSeSiiSeiiiiei

P36-10 /**************

) (|)(|STTTSS

***************/ P36-11 /*************** L1:

||cCCabaAbAACS



L2: bcbBcBaAAABS||

L3: 课后答案网 http://www.khdaw.com 课后答案网 http://www.khdaw.com ||aBbBaAbAABS

L4: ABBAABAS|01|10|

***************/ 第三章习题参考答案

P64–7 (1) 101101(|)*

0 1   1 0 1

1 确定化: 0 1 {X} φ {1,2,3} φ φ φ {1,2,3} {2,3} {2,3,4} {2,3} {2,3} {2,3,4} {2,3,4} {2,3,5} {2,3,4} {2,3,5} {2,3} {2,3,4,Y} {2,3,4,Y} {2,3,5} {2,3,4,}

0 1 0 0 0 1 1 0 0 1 0 1 1 1 最小化:

X 1 2 3 4 Y 5 X Y

6 0 1 2 3 5 4 课后答案网 http://www.khdaw.com

课后答案网 http://www.khdaw.com {,,,,,},{}{,,,,,}{,,}{,,,,,}{,,,}{,,,,},{},{}{,,,,}{,,}{,,,},{},{},{}{,,,}{,012345601234513501234512460123456012341350123456012310100

3012312401234560110112233234012345610101}{,,,}{,,}{,},{,}{},{},{}{,}{}{,}{,}{,}{}{,}{}{},{},{,},{},{},{} 

0 1 0 0 1 0 0 1 0 1 1 1

P64–8 (1) 01)0|1(*

(2) )5|0(|)5|0()9|8|7|6|5|4|3|2|1|0)(9|8|7|6|5|4|3|2|1(*

(3) ******)110|0(01|)110|0(10

P64–12 (a) a

a,b

a

确定化: a b {0} {0,1} {1} {0,1} {0,1} {1} {1} {0} φ

5 0 1 2

4 3

0 1 课后答案网 http://www.khdaw.com

课后答案网 http://www.khdaw.com φ φ φ 给状态编号: a b 0 1 2 1 1 2 2 0 3 3 3 3

a a

a b b b b a 最小化: {,},{,}{,}{}{,}{}{,}{,}{,}{}{,},{},{}012301101223032330123abab

a a b b

a b

(b) b b a

a b a a b b a a a

已经确定化了,进行最小化

0 1 2 3

0 1 2 0 2 3 1 4 5 课后答案网 http://www.khdaw.com

课后答案网 http://www.khdaw.com 最小化: {{,}, {,,,}} 012345011012423451305234523452410243535353524012435011012424{,}{}{,}{,}{,,,}{,,,}{,,,}{,,,}{,}{,}{,}{,}{,}{,}{,}{,}{{,},{,},{,}}{,}{}{,}{,}{,}abababababa

{,}{,}{,}{,}{,}{,}{,}10243535353524

b

ab

b b a a b a P64–14 (1) 0 1

0 (2):

(|)*010

0 1  

0 确定化: 0 1 {X,1,Y} {1,Y} {2}

0 1 2 0 1 Y X

Y X

2 1 课后答案网 http://www.khdaw.com

课后答案网 http://www.khdaw.com {1,Y} {1,Y} {2} {2} {1,Y} φ φ φ φ 给状态编号: 0 1 0 1 2 1 1 2 2 1 3 3 3 3 0

0 1 0 1 1 1

0 最小化: {,},{,}{,}{}{,}{}{,}{,}{,}{}{,},{},{}0123011012231323301230101

0 1 1 1

0 0

第四章

P81–1 (1) 按照T,S的顺序消除左递归

|,)(||^)(TSTTSTTaSSG





递归子程序: procedure S; begin if sym='a' or sym='^' then abvance else if sym='('

0 2 1 3

0 1 3 课后答案网 http://www.khdaw.com

课后答案网 http://www.khdaw.com then begin advance;T; if sym=')' then advance; else error; end else error end; procedure T; begin S;T end; procedure T; begin if sym=',' then begin advance; S;T end end; 其中: sym:是输入串指针IP所指的符号 advance:是把IP调至下一个输入符号 error:是出错诊察程序 (2) FIRST(S)={a,^,(} FIRST(T)={a,^,(} FIRST(T)={,,} FOLLOW(S)={),,,#} FOLLOW(T)={)} FOLLOW(T)={)} 预测分析表 a ^ ( ) , # S Sa S^ ST() T TST TST TST T T TST,

是LL(1)文法 P81–2 文法:

相关文档
最新文档