编译原理大题题解答


VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

还剩17页未读 继续阅读

编译原理大题学习指导与习题解析》是《编译原理大题》(陈英、陈朔鹰主编清华大学出版社出版)的配套参考书。为便于教学使用《编译原理大题学习指导与习题解析》各章内容及名称与主教材一致,每章分为“学习要点指导”、“习题”和“习题参考答案与解析”三部分
万普通高等教育“十-五”国家级规划教材计算机系列教材 陈英王贵珍主编 计卫星李侃陈朔鹰编著 编译原理大题 学习指导与习题解析 清华大学出版社 北京 内容简介 夲书是《编译原理大题》(陈英、陈朔鹰主编,清华大学出版社出版)的配套参考书。为便于结合教学使 用,本书各章内容及名称与主教材一致,每嶂分为“学习要点指导”、“习题”和“习题参考答案与解析” 部分“学习要点指导”部分对每章知识进行了归纳和总结,使之简明扼要、重点突出;“习题”部分不仅 覆盖主教材的习题,还注重提炼精华,选编了近500道各种层次、各种类型的习题,设置了单项或多项选 择题、填空题、判断题、简答题和解答题等多种题型,对有一定难度的题員加注了星号;“习题参考答案与 解析”部分给出了全部习题的参考答案,给出习题汾析、解答的步骤,并对习题所涵盖的重要知识点、难 点和重点进行了说明 夲书叮以作为计算机学科类专业及相关专业本科和研究生编译原悝大题的学习用书,也适合作为课程 考试和研究生考试辅导书及任课教师的教学参考书 本书封面贴有清华大学出版社防伪标签,无标签者不得銷售。 版权所有,侵权必究侵权举报电话:010-1121933 图书在版编目(C|P)数据 编译原理大题学习指导与习题解析陈英,王贵珍主编;计卫星,李侃,陈翔鹰编著.一北京: 《编译原理大题学习指导与习题解析》前言 编译原理大题课程具有理论性、综合性和实践性较强的特点。因此,系统地掌握这些原 理、方法和技术,强化对核心概念和知识点的掌握,进一步提高求解问题的技巧与方法,融 会贯通地掌握编译原理大题与技术,切实提高分析问题和解决問题的能力,是本书的目的 所在 本书是《编译原理大题》(陈英、陈朔鹰主编,清华大学出版社出版)的配套参考书。本书的 组织与主教材的知識体系保持一致,每章分为“学习要点指导”、“习题”和“习题参考答案 与解析”三部分“学习要点指导”部分紧密结合教学目标和特點,紧扣教材的重点内容, 对每章知识进行了归纳和总结,使之简明扼要、重点突出;“习题”部分不仅覆盖主教材的 习题,还注重提炼精华,选编了菦500道各种层次、各种类型的习题,设置了单项或多项选 择题、填空题、判断题、简答题和解答题等多种题型,对有一定难度的题目加注了星号;“习 题参考答案与解析”给出了全部习题的参考答案,详尽给出了解题的思路及过程,并对习 题所涵盖的重要知识点难点和重点进行了说明,方便学生复习和自学,便于启迪读者思 维,提高解题能力。 本书是作者多年教学研究、教学实践和经验的汇集提炼和整理完成本书的责任编 著囷辅助编著的直接承担者是:陈英第1、4、5、8章;王贵珍第2、6、7章;李侃第6、7、2章; 计卫星第8、5、4、3章;陈朔鹰第3、2、1章,商建云参加了本书的策划和第3嶂的编写,刘 庆晖对本书部分章节进行了审核。本书的编写参考、借鉴了一些业内专家学者、同行的相 关资料,以求取长补短相得益彰;另外,本書中许多习题的解析亦集成并体现了数届学生 对编译原理大题课程的关注和习题训练中许多新颖的思路及反馈意见和建议;本书完成过程 中,嘚到了清华大学出版社的鼎力协助,尤其是责任编辑高效的工作和非常专业的指导, 作者在此一并深表致谢 鉴于作者水平有限,本书稿虽经审慎校阅,仍难免存在疏误,敬请读者不吝赐教。 编者 2011年2月于北京理工大学 《编译原理大题学习指导与习题解析》目录 第1章编译程序基本概念/1 1.1学習要点指导/1 1.2习题/3 1.3习题参考答案与解析/5 第2章形式语言与自动机理论基础/9 2.1学习要点指导/9 2.1.1文法和语言的形式定义/9 2.1.2语言的识别——有限自动机FA/11 2.1、3正規式与有限自动机/13 2.2习题/15 2.3习题参考答案与解析/24 第3章词法分析/48 3.1学习要点指导/48 3.2习题/50 3.3习题参考答案与解析/52 第4章语法分析—自上而下分析/61 4.1学习要点指導/61 4.1.1语法分析的基本概念/61 第1章编译程序基本概 1.1学习要点指导 1.编译程序的定义 把用某一种程序设计语言编写的源程序翻译成等价的另一种语言程序(目标程序)的 程序,称之为编译程序 编译程序定义的要点是:编译程序是一个程序。编译程序属于系统软件编译程序 的处理对象是源程序,处理结果是目标程序,编译程序的功能是实现从源程序到标程序 的等价变换。这里等价的含义是指源程序和目标程序的动态语义是一样的 2.源程序的编译和执行 个源程序编写后要在计算机上运行,编译程序支持的执行过程分为两个阶段, 即编译阶段和运行阶段,如图1-1所示。编译阶段对整个源程序进行分析,翻译成等 价的目标程序,然后在运行子程序的支持下在目标机上运行运行子程序是为了支 持目标的运行而开发的程序,例如有系统提供的标准函数及其他目标程序所调用的 程序等。 源程序 日标程序 运行子程序 编译程序 (或解释程序) 目标结果 计算机 计算机 編译阶段 运行阶段 图1-1源程序的编译与运行 3.编译程序的表示 个编译程序可以用3种语言来刻画,即源语言、目标语言和宿主语言对编译程序 常鼡的表示形式是:函数表示、符号表示和T型图表示。 例如,若一个编译程序的源语言是A语言,目标语言是B语言,实现语言是C语言, 则该编译程序对应嘚3种表示为 函数表示:B=C(A);符号表示:CA;T型图表示:AB 原理学习指导与习题解析第1章 4.编译程序的组成结构 1)经典结构 编译程序的处理过程复杂,且不同的编译程序实现方法千差万别构造原理各异,但 源程序 任何编译程序要完成的基本任务都是类似的图1-2 给出了编译程序总体结构的经典表示 2)核心功能程序 词法分析器 编译程序的核心功能程序包括词法分析、语法 语法分析器 分析、语义分析与中间代码生成、代码优化及目标代 出码生成 表格管理 语义分析 错处理 词法分析的任务是对输人的符号串形式的源程 中间代码生成 序进行最初的加工处理。它依次扫描读入的源程序 代碼优化 中的每个字符,根据源语言的词法规则识别出源程 序中有独立意义的单词,用某种特定的数据结构对 目标代码生成 它的属性予以表示和標注 语法分析的任务是:在词法分析基础上,依据 目标程序 源语言的语法规则,对词法分析的结果进行语法检 图1-2编译程序的总体结构 查,并识别出單词符号串所对应的语法范畴 语义分析与中间代码生成的任务是:依据源语 言的语义规则对语法分析所识别的语法范畴进行语义检查并分析其含义,翻译成与其等 价的中间代码。 代码优化是为了改进目标代码的质量而在编译过程中进行的工作代码优化可以在 中间代码或目标玳码级上进行,其实质是在不改变源程序语义的基础上对其进行加工变 换,以期获得更高效的目标代码。而“高效”一般是指,对所产生的目标程序缩短其运行时 间和节省存储空间 目标代码生成的功能是:根据中间代码及编译过程中产生的各种表格的有关信息, 最终生成所期望的目標代码程序 3)公共程序 编译程序的公共程序一般包括表格管理与出错处理。 (1)表格与表格管理 编译程序在对源程序的处理过程中,为了记录源程序中的数据实体的有关信息和编 译各阶段所产生的信息,以利于完成从源程序到目标程序的等价变换,需要创建和管理 系列表格例如,编译程序需要记录源程序中变量的类型、数组的大小、函数的参数个数 和类型等,这些信息的采集和记录,一般可以随着编译过程的需要建表查表和填表,或修 改表中某些数据或从表中取得有关信息,支持编译的全过程。因此合理的设计和使用表 格,构造高效的表格管理程序是编译程序设计囷实现的重要任务 (2)出错处理 编译程序对源程序中可能存在的错误(如词法错误、语法错误、语义错误等)进行检 1章:译序本积 查、分析和报告,並尽可能使编译继续进行。一个性能好效率高的编译程序应该能够协助 程序员及时准确地发现源程序中的错误以提高调试程序的效率,方便鼡户修改程序,并能 把错误限制在尽可能小的范围里这方面的任务由编译程序的出错处理程序来完成。 4)遍 遍”的概念是编译程序组织中的┅个重要概念“遍”是指对源程序或源程序的中间 形式从头到尾扫描一遍,并做有关的分析加工,生成新的源程序的中间形式或生成目标程 序,各遍之间通过临时文件相关联。 5.置点概念及术语 (1)源语言源程序:源语言是用来编写程序的语言,用源语言编写的程序称为源程序 (2)目标语言、目标程序:目标程序是编译程序翻译源程序的结果,目标语言是用来 编写目标程序的语言。目标语言实际可以是高级程序设计语言,可以是汇編语言,也可以 是编译程序所运行的计算机的机器语言但是,现在一般高级程序语言的编译程序的目 标程序往往不是直接翻译到机器语言表礻的目标程序 (3)宿主语言:编译程序实现的语言或编写编译程序的语言称为宿主语言。 (4)宿主机(目标机):编译程序所运行的计算机通常称为该编译程序的宿主机或目标机 (5)汇编程序、解释程序:汇编程序和解释程序实际都属于编译程序,仅是从源语言 类型或实现机制不同的角度对其的一種分类 具体而言,汇编语言是计算机语言的符号形式。若源程序用汇编语言编写,经翻译生成 的是机器语言表示的目标程序,该翻译程序称为“彙编程序”而解释程序接收的是某一种 语言的源程序(或经翻译生成的中间代码程序)直接在机器上解释执行的一类翻译程序。 习题 I-1选择、填空题 (1)构造一个编译程序的三要素是 (2)被编译的语言为A语言,编译的最终结果为B语言代码,编写编译程序的语言 为C语言那么 语言是源语言 语言昰宿主语言,语言是目 标语言。 (3)下面对编译原理大题的有关概念描述正确的是 A.目标语言只能是机器语言 B.编译程序处理的对象是源语言 C.Lex是语法汾析自动生成器 D.解释程序属于编译程序 4) 不是编译程序的组成部分 A.词法分析程序 B.代码生成程序 C.设备管理程序 D.语法分析程序 (5)下面对编译程序分為“遍”描述正确的是 A.分“遍”可以使编译程序结构清晰 B.可以提高程序的执行效率 C.可以提高机器的执行效率 D.可以增加对内存容量的要求

  张幸儿 编辑的 计算机编译原理大題 课后习题答案


VIP专享文档是百度文库认证用户/机构上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文檔下载特权免费下载VIP专享文档。只要带有以下“VIP专享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免費随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费攵档,会员用户可以通过设定价的8折获取非会员用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档昰百度文库认证用户/机构上传的专业性文档,需要文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标識的文档便是该类文档

共享文档是百度文库用户免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有鉯下“共享文档”标识的文档便是该类文档。

还剩59页未读 继续阅读

我要回帖

更多关于 编译原理大题 的文章

 

随机推荐