- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理答案(前三章)
第1章引论 第1题
解释下列术语:
答案:
(1) 编译程序:如果源语言为高级语言,目标语言为某台 计算机上的汇编语言或机器语
言,则此翻译程序称为编译程序。
源程序:源语言编写的程序称为源程序。目标程序:目标语言书写的程序称为目标程序。编译程序的前端:它由这样一些阶段组成:这些阶段(2)
源程序:源语言编写的程序称为源程序。
目标程序:目标语言书写的程序称为目标程序。
编译程序的前端:它由这样一些阶段组成:这些阶段
(3)
(4) 的工作主要依赖于源语言而与
目标机无关。通常前端包括词法分析、语法分析、语义分析 和中间代码生成这些阶
段,某些优化工作也可在前端做,也包括与前端每个阶段相 关的出错处理工作和符
号表管理等工作。
(5) 后端:指那些依赖于目标机而一般不依赖源语言,只 与中间代码有关的那些阶段,
即目标代码生成,以及相关出错处理和符号表操作。
IWJ(6) 遍:是对源程序或其等价的中间语言程序从头到尾扫 视并完成规定任务的过程。
IWJ
第2题
liiJ一个典型的编译程序通常由哪些部分组成?各部分的主要功 能是什么?并画出编译程
liiJ
序的总体结构图。
答案:
liiJ一个典型的编译程序通常包含8个组成部分,它们是词 法分析程序、语法分析程序、语
liiJ
义分析程序、中间代码生成程序、中间代码优化程序、目标
代码生成程序、表格管理程序和
错误处理程序。其各部分的主要功能简述如下。
词法分析程序:输人源程序,拼单词、检查单词和分析 单词,输出单词的机内表达形式。
语法分析程序:检查源程序中存在的形式语法错误,输 出错误处理信息。
语义分析程序:进行语义检查和分析语义信息,并把分 析的结果保存到各类语义信息表
中。
中间代码生成程序:按照语义规则,将语法分析程序分 析出的语法单位转换成一定形式 的中间语言代码,如三元式或四元式。
中间代码优化程序:为了产生高质量的目标代码,对中 间代码进行等价变换处理。
目标代码生成程序:将优化后的中间代码程序转换成目标代
码程序。
表格管理程序:负责建立、填写和查找等一系列表格工 作。表格的作用是记录源程序的
各类信息和编译各阶段的进展情况,编译的每个阶段所需信 息多数都从表格中读取,产生的
中间结果都记录在相应的表格中。可以说整个编译过程就是 造表、查表的工作过程。需要指 出的是,这里的“表格管理程序”并不意味着它就是一个独 立的表格管理模块,而是指编译
程序具有的表格管理功能。
错误处理程序:处理和校正源程序中存在的词法、语法
和语义错误。当编译程序发现源
程序中的错误时,错误处理程序负责报告出错的位置和错误 性质等信息,同时对发现的错误
进行适当的校正(修复),目的是使编译程序能够继续向下进 行分析和处理。
注意:如果问编译程序有哪些主要构成成分,只要回答六部
分就可以。如果搞不清楚,
就回答八部分。
第3题
何谓翻译程序、编译程序和解释程序?它们三者之间有何种
关系?
答案:
翻译程序是指将用某种语言编写的程序转换成另一种语 言形式的程序的程序,如编译程 序和汇编程序等。
编译程序是把用高级语言编写的源程序转换(加工)成 与之等价的另一种用低级语言编 写的目标程序的翻译程序。
解释程序是解释、执行高级语言源程序的程序。解释方 式一般分为两种:一种方式是,
源程序功能的实现完全由解释程序承担和完成,即每读出源 程序的一条语句的第一个单词,
则依据这个单词把控制转移到实现这条语句功能的程序部 分,该部分负责完成这条语句的功
能的实现,完成后返回到解释程序的总控部分再读人下一条 语句继续进行解释、执行,如此
反复;另一种方式是,一边翻译一边执行,即每读出源程序 的一条语句,解释程序就将其山
译成一段机器指令并执行之,然后再读人下一条语句继续进 行解释、执行,如此反复。无论
是哪种方式,其加工结果都是源程序的执行结果。目前很多 解释程序采取上述两种方式的综
合实现方案,即先把源程序翻译成较容易解释执行的某种中 间代码程序,然后集中解释执行 中间代码程序,最后得到运行结果。
广义上讲,编译程序和解释程序都属于翻译程序,但它
们的翻译方式不同,解释程序是
边翻译(解释)边执行,不产生目标代码,输出源程序的运
行结果。而编译程序只负责把源
程序翻译成目标程序,输出与源程序等价的目标程序,而目 标程序的执行任务由操作系统来
完成,即只翻译不执行。
第4题
对下列错误信息,请指出可能是编译的哪个阶段(词法分析、 语法分析、语义分析、
代码生成)报告的。
代码生成)
报告的。
(1) else没有匹配的if
(2) 数组下标越界
(3) 使用的函数没有定义
(4) 在数中出现非数字字符
答案:
(1) 语法分析
(2) 语义分析
(3) 语法分析
(4) 词法
您可能关注的文档
最近下载
- 劳动能力鉴定课件.ppt VIP
- 第十六讲文明新路与人类命运共同体-中华民族共同体概论专家大讲堂课件.pptx VIP
- 2025届高考数学抛物线中的八个常考二级结论与秒杀模型(解析版).pdf VIP
- 课题申报书:科学教育背景下开展初中物理项目化实践的路径研究.docx VIP
- 《劳动能力鉴定》PPT课件培训讲学.ppt VIP
- 商业插画高职全套教学课件.pptx
- EBZ掘进机电气原理讲解.ppt VIP
- 《石油化工企业设计防火标准》gb5060-2008局部修订2018年版.docx VIP
- 义务教育版(2024)七年级全一册信息科技 第4课 数据分包灵活传 课件.pptx VIP
- 初中物理大单元教学研究.docx VIP
文档评论(0)