《编译原理及实践教程》第一章学习笔记.pdfVIP

《编译原理及实践教程》第一章学习笔记.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《编译原理及实践教程》第⼀章学习笔记 《编译原理及实践教程》第⼀章学习笔记 课后习题 1. 解释下列术语。 答: 翻译程序:是⼀种系统程序,它将计算机编程语⾔编写的程序翻译成另外⼀种计算机语⾔的⼀般来说等价的程序,主要包括编译程序 和解释程序,汇编程序也被认为是翻译程序。 编译程序:也称为编译器,是指把⽤⾼级程序设计语⾔书写的源程序,翻译成等价的机器语⾔格式⽬标程序的翻译程序。编译程序属 于采⽤⽣成性实现途径实现的翻译程序。它以⾼级程序设计语⾔书写的源程序作为输⼊,⽽以汇编语⾔或机器语⾔表⽰的⽬标程序作 为输出。编译出的⽬标程序通常还要经历运⾏阶段,以便在运⾏程序的⽀持下运⾏,加⼯初始数据,算出所需的计算结果。 解释程序:是⼀种语⾔处理程序,在词法、语法和语义分析⽅⾯与编译程序的⼯作原理基本相同,但在运⾏⽤户程序时,它直接执⾏ 源程序或源程序的内部形式(中间代码)。因此,解释程序并不产⽣⽬标程序,这是它和编译程序的主要区别。 源程序:也称源代码,是指未编译的按照⼀定的程序设计语⾔规范书写的⽂本⽂件,是⼀系列⼈类可读的计算机语⾔指令。 在现代程 序语⾔中,源代码可以是以书籍或者磁带的形式出现,但最为常⽤的格式是⽂本⽂件,这种典型格式的⽬的是为了编译出计算机程 序。计算机源代码的最终 ⽬的是将⼈类可读的⽂本翻译成为计算机可以执⾏的⼆进制指令,这种过程叫做编译,通过编译器完成。 ⽬标程序:⼜称为 “⽬的程序”,是源程序经编译可直接被计算机运⾏的机器码集合,在计算机⽂件上以.obj作扩展名由语⾔处理 程序 (汇编程序,编译程序,解释程序)将源程序处理 (汇编,编译,解释)成与之等价的由机器码构成的,计算机能够直接运⾏的 程序,该程序叫⽬标程序。⽬标代码尽管已经是机器指令,但是还不能运⾏,因为⽬标程序还没有解决函数调⽤问题,需要将各个 ⽬ 标程序与库函数连接,才能形成完整的可执⾏程序。 遍 :把对源程序或其等价的中间表⽰形式从头到尾扫描并完成规定任务的过程。 前端 :编译前端包括词法分析,语法分析,语义分析和中间代码⽣成,以及部分代码优化⼯作,是对源程序进⾏分析的过程,它主要 与源语⾔有关,与⽬标机⽆关,主要根据源语⾔的定义静态分析源程序的结构,以检查是否符合语⾔的规定,确定原源程序所表⽰的 对象和规定的操作,并以某种中间形式表⽰出来。 后端 :编译后端包括部分代码优化和⽬标代码⽣成,是对分析过程的综合,与源语⾔⽆关,依赖于中国语⾔和⽬标机,主要是根据分 析的结果构造出⽬标程序。 2. ⾼级语⾔程序有哪两种执⾏⽅式?阐述其主要异同点。描述编译⽅式执⾏程序的过程。 答: ⾼级语⾔程序的两种执⾏⽅式是:解释⽅式和编译⽅式。 解释⽅式:利⽤解释程序直接读取⾼级语⾔程序中的每个语句,翻译并直接执⾏ 编译⽅式:利⽤编译程序将⾼级语⾔程序翻译为机器语⾔程序,然后再运⾏这个机器语⾔程序 3. 在你所使⽤的C语⾔编译器中,观察程序1.1经过预处理、编译、汇编、链接四个过程⽣成的中间结果。 答: 4. 编译程序有哪些主要构成成分?各⾃的主要功能是什么? 答: 词法分析器(Scanner,⼜称扫描器)的功能是读⼈源程序,进⾏词法分析,输出单词记号。 语法分析器(Parser,⼜称解析器)的功能是对单词记号串进⾏语法分析,识别出各类语法单位,最终判断输⼊串是否构成语法上正确的程 序。 语义分析器(Semantic Analyzer)的功能是将各种符号的必要信息填⼊符号表,并按照 语义规则对语法分析器识别出的语法单位进⾏静态语义检查。 中间代码⽣成器(Intermediate Code Generator)的功能是将语法分析器识别出的各语法单位翻译成⼀定形式的中间代码。 代码优化器(Optimizer)的功能是对⽣成的中间代码进⾏优化处理。 ⽬标代码⽣成器(Target Code Generator)的功能是把中间代码或优化后的中间代码翻译为⽬标代码。如果没有优化器,⽬标代码⽣成 器也可以从识别出的语法单位直接⽣成⽬标代码。 5. 编译程序的构造需要掌握哪些原理和技术?编译程序构造⼯具的作⽤是什么? 答: 6. 复习C语⾔,其字母表中有哪些符号?有哪些关键字、运算符和界符?标识符、整数和实数的构成规则是怎样的?各种语句和表达式的 结构是什么样的? 答:暂⽆ 7. 编译技术可应⽤在哪些领域?

文档评论(0)

千帆起航 + 关注
实名认证
文档贡献者

走过路过,不要错过!

1亿VIP精品文档

相关文档