- 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 高级程序设计语言有哪些特点?
1.3 高级程序设计语言为何需要翻译程序?
1.4 高级程序设计语言有哪两种翻译方式?分别介绍它们的特点。
1.5 编译程序具有哪些特点?
1.6 编译程序包括哪几个主要组成部分?分别阐述各个组成部分的主要任务。
1.7 试叙述编译程序的结构和组织方式。
1.8 简述编译程序的自展技术、移植、自动化以及可再入性。
1.9 何谓翻译程序的编写系统?
1.10 并行编译程序有什么特点?
参考答案
1.1 答:最早的计算机程序设计语言是机器语言(指令系统),机器语言中的指令都是用二进制代码直接表示的。随后出现了符号语言和汇编语言等程序设计语言,它们比机器语言虽前进了一步,但仍属计算机低级语言,编写程序效率很低。程序设计语言发展的第三阶段是计算机高级程序设计语言的诞生。随着1954年第一种高级语言FORTRAN I语言的问世,计算机高级程序设计语言从此以后如雨后春笋,不断涌现。作为高级程序设计语言的一种发展,目前流行的面向对象程序设计语言是对传统的面向过程程序设计语言的一种挑战。
1.2 答:高级程序设计语言具有以下的特点:独立于机器、接近自然语言、编写效率高、编写出的程序易读、易理解、易修改、易移植等。
1.3 答:由于计算机不能直接执行用高级语言编写的程序,只能直接执行机器语言程序。所以,用高级语言编写的程序必须由一个翻译程序翻译成机器语言程序。
1.4答:翻译有两种方式,一种是编译方式,另一种是解释方式。
编译方式是先将源程序翻译成汇编语言程序或机器语言程序(称为目标程序),然后再执行它。它一般包括词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、代码优化程序、目标代码生成程序、表格处理程序和出错处理程序。编译过程可由一遍或多遍完成。和编译方式不同,解释方式并不先产生目标程序然后再执行之,而是对源程序边翻译边执行。二者的根本区别在于是否生成目标代码,而不是是否进行翻译。
1.5 答:编译程序具有以下的一些特点:
① 模块性。对于较大的软件系统,一般都将其划分为若干个模块,由编译程序分别对这些模块进行编译。然后再由连接装配程序将编译出的各个目标模块连接成一个完整的目标程序。
② 动态解释和静态解释。在设计和编写编译程序时,应该记住源语句序列(静态解释)与运行时的程序(动态解释)之间的区别。
③ 机器无关性。编译程序应该能适应多种不同的机器结构,能够以极小的开销从一台机器移植到另一台具有不同结构的机器上。
④ 语言标准化。程序语言的可携带性应该通过对语言本身的标准化来实现,标准化的方法和途径包括:出版物、共同接受的标准文件以及政府的法规。
⑤ 程序语言特征。编译程序作为程序语言的实现者应该具备程序语言具备的特征。在可能的情况下,还应提供一个适当的程序设计开发环境。
1.6 答:编译程序包括以下的主要组成部分:
① 词法分析程序(又称扫描器)。依据语言词法规则,分析由字符组成的源程序,把它识别为一个一个具有独立意义的最小语法单位,即“单词”,并识别出与其相关的属性(如是标识符,是界限符,还是数,等等)以供其它部分使用。
② 语法分析程序。依据语言的语法规则,逐一地分析词法分析时得到的单词,以确定它们是怎样组成说明和语句的,以及说明和语句是怎样组成程序的。分析时如发现有不合语法规则的地方,便把这些出错的地方及出错性质打印输出报告给程序员;如无语法错误,则以另一种内部表示(如语法分析树或其它中间表示)给出正确的语法结构,供下一阶段分析使用。
③ 语义分析和中间代码生成程序。依据语言的语义规则对语法分析得到的语法结构进行静态语义检查(确定类型、类型和运算合法性检查、识别含义与相应的语义处理及其它一些静态语义检查),并用另一种内部形式表示出来,或者直接用目标语言表示出来。
④ 代码生成程序。如果语义分析时把源程序表示成内部形式而不是表示成目标指令,则由本部分完成从内部形式到目标指令的生成工作。如果语义分析时,已直接生成目标指令,则无需做代码生成工作。如果目标代码是:
a 绝对指令代码,则目标代码可立即运行;
b 汇编指令代码,则需要经汇编之后才可运行;
c 可重新定位的指令代码,则必须借助于一个连接装配程序把各个目标模块连接在一起,确定程序变量(或常数)在主存中的位置,确定装入内存中指定的起始地址,使之成为一个可以独立运行的绝对指令代码程序。
⑤ 代码优化程序。依据程序的等价变换规则,尽量压缩目标程序运行所需的时间和所占的存储空间,以提高目标程序的质量。
1.7 答:编译过程往往分为前端和后端。前端包括词法分析、语法分析、语义分析(或中间代码生成)和中间代码优化,主要依赖
您可能关注的文档
- 八下unit6SectionA英语说课稿.doc
- 班组安全教育教案文档.ppt
- 班组劳动竞赛管理实施细则(检修).doc
- 班组学习培训考核办法和激励奖惩制度.doc
- 办公后勤人员工作总结范文3篇.doc
- 办公设备使用期限.doc
- 宝安教育系统行政办公视频会议系统验收测试表.doc
- 宝马E65培训资料AAAA.doc
- 宝马F04整车技术培训课件.ppt
- 宝姿时装兴衰启示录:100%中国制造的高端时装品牌.ppt
- 2025年AWS认证CloudWatch日志与Splunk集成专题试卷及解析.docx
- 2026届甘肃省天水市甘谷县第一中学化学高三上期末教学质量检测试题含解析.doc
- 《尝试对生物进行分类》优教教案.docx
- 体位引流1课件.ppt
- 2026届江苏省北大附属宿迁实验学校化学高二上期末监测模拟试题含答案.doc
- 2025年AWS认证AWSControlTower治理生命周期管理专题试卷及解析.docx
- 2024年大学《药理学》期末试题库(有答案).pdf
- 2022年中考数学复习:反比例函数.pdf
- 2025年AWS认证CloudWatch日志与SystemsManager自动化专题试卷及解析.docx
- 2021年10月认证通用基础真题及答案.pdf
原创力文档


文档评论(0)