《编译原理教程课后习题答案——第一章(共2页).doc》由会员分享,可在线阅读,更多相关《编译原理教程课后习题答案——第一章(共2页).doc(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上第一章 绪论1.1 完成下列选择题:(1) 构造编译程序应掌握 。 a. 源程序 b. 目标语言 c. 编译方法 d. 以上三项都是(2) 编译程序绝大多数时间花在 上。 a. 出错处理 b. 词法分析 c. 目标代码生成 d. 表格管理(3) 编译程序是对 。 a. 汇编程序的翻译 b. 高级语言程序的解释执行 c. 机器语言的执行 d. 高级语言的翻译【解答】 (1) d (2) d (3) d 1.2 计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?【解答】计算机执行用高级语言编写的程序主要有两种途径:解释和编译。在解释方式下,翻译程序事先并
2、不采用将高级语言程序全部翻译成机器代码程序,然后执行这个机器代码程序的方法,而是每读入一条源程序的语句,就将其解释(翻译)成对应其功能的机器代码语句串并执行,而所翻译的机器代码语句串在该语句执行后并不保留,最后再读入下一条源程序语句,并解释执行。这种方法是按源程序中语句的动态执行顺序逐句解释(翻译)执行的,如果一语句处于一循环体中,则每次循环执行到该语句时,都要将其翻译成机器代码后再执行。在编译方式下,高级语言程序的执行是分两步进行的:第一步首先将高级语言程序全部翻译成机器代码程序,第二步才是执行这个机器代码程序。因此,编译对源程序的处理是先翻译,后执行。从执行速度上看,编译型的高级语言比解释
3、型的高级语言要快,但解释方式下的人机界面比编译型好,便于程序调试。这两种途径的主要区别在于:解释方式下不生成目标代码程序,而编译方式下生成目标代码程序。1.3 请画出编译程序的总框图。如果你是一个编译程序的总设计师,设计编译程序时应当考虑哪些问题?【解答】 编译程序总框图如图1-1所示。作为一个编译程序的总设计师,首先要深刻理解被编译的源语言其语法及语义;其次,要充分掌握目标指令的功能及特点,如果目标语言是机器指令,还要搞清楚机器的硬件结构以及操作系统的功能;第三,对编译的方法及使用的软件工具也必须准确化。总之,总设计师在设计编译程序时必须估量系统功能要求、硬件设备及软件工具等诸因素对编译程序构造的影响等。专心-专注-专业