- 73
- 0
- 约1.32万字
- 约 24页
- 2017-09-02 发布于浙江
- 举报
编译原理王力红著习题答案
习题1
1-1 说明解释程序和编译程序的区别。
答:
通常,翻译程序可分为解释程序、汇编程序和编译程序。
所谓解释程序是一种将源程序按动态顺序逐句进行分析解释编译,边解释边执行、不产生目标程序的一种翻译程序。这种翻译程序结构简单、占用内存较少,易于在执行过程中对源程序进行修改,但工作效率低,只适合一些规模较小的语言,如解释BASIC等。
而编译程序(也称编译器)是源语言为某种高级语言,目标语言为相应于某一计算机的汇编语言或机器语言的一种翻译程序。这种编译程序将源程序翻译成执行时可完全独立于源程序的经优化的目标语言代码,因而运行效率高。更为重要的是,它使工作于高级语言环境下的程序设计人员,不必考虑与机器有关的繁琐细节,却能完成机器语言所能完成的绝大多数工作。
在解释方式下,并不生成目标代码,而是直接执行源程序本身。这是编译方式与解释方式的根本区别。
1-2 简述高级语言程序按编译方式的执行过程。
答:
高级语言程序按编译方式的执行过程一般可分为两个阶段:编译阶段和运行阶段。其中,编译阶段完成由源程序到目标程序的翻译,若目标程序是汇编语言程序,还需再通过汇编程序进一步翻译成机器语言程序。而运行阶段的任务是在目标计算机上执行编译阶段所得到的目标程序。但目标程序往往不能由计算机直接执行,一般还应有运行系统进行配合,这个运行系统包括链接程序和由这样一些子程序组成的系统库,如标准函数计算子程序、数组动态存储子程序等。由链接程序将目标程序和系统库连接在一起,最终形成一个可执行程序,在计算机上直接执行。
1-3 什么是编译系统?
答:
通常将编译程序、链接程序、系统库、源程序编辑程序等软件组成的系统称为编译系统。
1-4 编译过程通常有哪几个阶段?简述各阶段的主要任务。
答:
程序设计语言的编译过程一般可以分为词法分析、语法分析、语义分析和中间代码生成、代码优化、目标代码生成5个阶段。
词法分析是编译过程的第一个阶段。该阶段的主要任务是从构成源程序的字符串中识别出一个个具有独立意义的最小语法单位——单词,并指出其属性。
语法分析阶段的主要任务是在词法分析的基础上,根据相应程序设计语言的语法规定进行语法分析,在源程序的单词串中识别出各种语法成分,如“程序”、“语句”、“表达式”等,并确定整个输入串是否构成一个语法上正确的程序,检查出语法错误。
语义分析和中间代码生成阶段的主要任务有两个,其一是进行相应的语义检查,以保证源程序在语义上的正确性,其二是确定各语法成分的含义、用途,收集类型信息,确定应进行的运算和操作,并将其转换为某种内部表示形式,即生成中间代码。
代码优化阶段是编译过程的最后阶段。这一阶段的任务是对上一阶段产生的中间代码进行变换和改造,以期获得高质量的目标代码。
目标代码生成阶段的任务是把优化后的中间代码转换成特定机器上的绝对指令代码,或可重定位的指令代码,或汇编指令代码。
由于这种转换工作与具体的目标计算机的系统结构及其指令系统有关,涉及各种变量的存储空间分配、寄存器的调度、各种硬件功能部件的使用等,因此工作比较复杂。
1-5 什么是编译程序的遍?对编译程序来说,遍多和遍少各有什么优缺点?
所谓一遍(pass)或一趟,是指在编译过程中对源程序或与之等价的中间程序从头到尾扫描一遍,并将其转换成下一个中间程序的整个过程。
答:
编译程序按其扫描次数可分为单遍(趟)扫描和多遍(趟)扫描。采用多遍扫描方式,各遍的工作分工明确,便于多人合作开发,缩短开发周期,同时节省运行时的内存空间,易于提高目标程序的质量。但各遍之间的重复工作多,编译效率低。而单遍(趟)扫描的编译程序,编译速度快、效率高,但运行时占用空间大,目标程序质量低。
1-6 一个最简单的编译程序至少要包含哪几个组成部分(程序)?
答:
至少要包含词法分析程序、语法分析程序、目标代码生成程序等3个组成部分(程序)。
习题2
已知算术表达式文法G[E]:
E→E+T | T
T→T*F | F
F→(E) | i
求符号串i*i的最左推导、最右推导、最左归约、最右归约。
解:
最左推导:E=T=T*F=F*F=i*F=i*i
最右推导:E=T=T*F=T*i=F*i=i*i
最左归约:i*i = F*i = T*i = T*F = T= E
最右归约:i*i = i*F = F*F = T*F = T= E
2-4 设有文法G[A]:
A→bA | cc
判断符号串bbc,bbbcc,bbA,bbAc是否是G[A]的句型或句子。
解答:
∵ A=bA=bbA=bbbA=bbbcc
∴ bbA是G[A]的句型,bbbcc是G[A]的句子,
bbAc不是G[A]的句型,bbc不是G[A]的句子。
2-5 分别求下列文法所描述的语言:
① G1[S]:
S→aaSbb | (
解答
您可能关注的文档
最近下载
- SYT 5069-2017 石油天然气工业 钻井和采油设备 管柱类落物打捞工具.docx VIP
- WF-007A多功能自动氩弧填丝机使用说明书7.pdf VIP
- SYT 5496-2017 石油天然气工业 钻井和采油设备 震击器及加速器.pdf VIP
- 2025年烟花爆竹经营企业(包括批发和零售企业)安全检查表.pdf VIP
- 2025至2030药用真菌行业调研及市场前景预测评估报告.docx VIP
- SYT 5382-2009 钻井液固相含量测定仪.docx VIP
- 《消毒供应质量控制指标(2024年版)》.docx VIP
- 股市主力操盘盘 口摩斯密码(原创内容,侵权必究).pptx
- 2012下半年深圳市机关公开招考公务员职位表.doc VIP
- 国际期刊科技论文写作与发表.PDF VIP
原创力文档

文档评论(0)