编译技术习题1
更新时间:2023-09-13 19:34:01 阅读量: 教学研究 文档下载
《编译技术》习题1
一、单项选择题
1. 程序基本块是指( )。
A、一个子程序 B、一个仅有一个入口和一个出口的语句 C、一个没有嵌套的程序段
D、一组顺序执行的程序段,仅有一个入口和一个出口 2.文法G产生的( )的全体是该文法描述的语言。
A、句型 B、终结符集 C、非终结符集 D、句子
3.在使用高级语言编程时,首先可通过编译程序发现源程序的全部( )错误。
A、语法 B、语义 C、语用 D、运行
4.由于受到具体机器主存容量的限制,编译程序几个不同阶段的工作往往被组合成( )。
A、过程 B、程序 C、批量 D、遍
5.文法G产生式为S→aSb|a|ab,句子aaaabbb句柄是( )。
A、最左边的a B、最右边的a C、ab D、aSb
第 1 页 共 6 页
6.中间代码生成时所依据的是( )。
A、语法规则
B、词法规则 C、语义规则 D、等价变换规则
7.词法分析器用于识别( )。
A、字符串 B、语句 C、单词 D、标识符
8.解释程序处理语言时,大多数采用的是( )方法。
A、源程序命令被逐个直接解释执行 B、先将源程序转化为中间代码,再解释执行 C、先将源程序解释转化为目标程序,再执行 D、以上方法都可以
9.文法分为四种类型,即0型、1型、2型、3型。其中3型文法是(A、短语文法 B、正则文法 C、上下文有关文法 D、上下文无关文法 10.程序基本块是指( )。
A、一个子程序 B、一个仅有一个入口和一个出口的语句 C、一个没有嵌套的程序段
D、一组顺序执行的程序段,仅有一个入口和一个出口
二、多项选择题
1.ab*c*(a|b)c 与下面的那些串匹配?( )
A、acbbc
第 2 页 共 6 页
。 )
B、abbcac C、abc D、acc
2.(a|b)a+(ba)* 与下面的哪些串匹配?( )
A、ba B、bba C、ababa D、aa
E、建立符号表
3.编译过程中,比较常见的中间语言有( )。
A、波兰表示 B、逆波兰表示
C、三元式 D、四元式
4.根据优化所涉及的范围,可将优化分为( )。
A、局部优化 B、过程优化 C、全局优化 D、循环优化 E、四元式优化
5.编译程序的输出结果可以是( )。
A、目标代码 B、汇编语言代码 C、中间代码 D、优化后的中间代码 E、可重定位代码
三、判断题(正确填“T”,错误填“F”)
1.在S属性定义的分析树中,可以由根向叶的方向依次计算各节点的属性值。
第 3 页 共 6 页
( )
2.在多次遍历的计算过程中,综合属性的函数以某种继承为参数。( ) 3.自上而下分析的宗旨是对任何输入串,从文法开始符号出发,自下而上、从左到右地为输入串建立分析树。( )
4.为语言设计类型系统的根本目的是防止程序运行时出现执行错误。( ) 5.算符优先关系表不一定存在对应的优先函数。( ) 6.数组元素的地址计算与数组的存储方式有关。( )
7.仅考虑一个基本块,不能确定一个赋值是否真是无用的。( ) 8.每个文法都能改写为LL(1)文法。( )
四、填空题
1.假设G一个文法,S是文法的开始符号,如果S=>*x,则称x是___。 2.从功能上说,程序语言的语句大体可分为___语句和___语句两大类。 3.语法制导的编译程序能同时进行___分析和___分析。
4.将过程的每次执行和过程的___相对应就解决了过程递归调用引起的问题。 5.一个上下文无关文法所含四个组成部分是___、___、___和___。 6.语法分析最常用的两类方法是______和______分析法。 7.一个句型中的最左简单短语称为该句型的______。 8.一个名字的属性包括______和______。
五、综合题
1. 影响存储分配策略的语言特征有哪些?
2.简述静态存储分配、栈式存储分配和堆式存储分配的特点和主要用途。
第 4 页 共 6 页
《编译技术》习题1答案
一、单项选择题 题号 1 答案 D
二、多项选择题 题号 1 答案 BC
三、判断题(正确填“T”,错误填“F”) 题号 1 答案 F
四、填空题 1、句型 2、执行性 说明性 3、语法 语义 4、活动记录
5、一组终结符号 一组非终结符号 一个开始符号 一组产生式 6、自上而下 自下而上 7、句柄
2 T 3 F 4 T 5 T 6 T 7 T 8 F 2 AD 3 BCD 4 ACD 5 BCDE 2 D 3 A 4 D 5 B 6 C 7 C 8 B 9 B 10 D 8、类型 作用域
五、综合题 1. 答:
影响存储分配策略的语言特征有: (1)过程能否递归;
(2)当控制从过程的活动返回时,局部变量的值是否要保留;
第 5 页 共 6 页
(3)过程能否访问非局部变量; (4)过程调用的参数传递方式; (5)过程能否作为参数被传递; (6)过程能否作为结果值传递;
(7)存储块能否在程序控制下动态地分配; (8)存储块是否必须显式地释放。 2. 答:
(1)静态存储分配的特点:编译时刻确定存储位置;访问效率高。主要用途:子程序的目标代码段、全局数据目标(全局变量)。
(2)栈(Stack)式存储分配的特点:嵌套调用次序、先进后出、生存期限于本次调用、自动释放。主要用途:过程的局部环境、活动记录。
(3)堆(Heap)式存储分配的特点:将内存空间分为若干块,根据用户要求分配;无法满足时,调用无用单元收集程序将被释放的块收集起来重新分配。主要用途:用于动态数据结构:存储空间的动态分配和释放。
第 6 页 共 6 页
正在阅读:
编译技术习题109-13
人教版专用2014高考地理 小专题突破精练(含2013模拟+解析):大规模的海水运动01-04
最好的礼物作文350字07-08
运输设备运行、检修、检测管理制度04-17
八年级(下)数学勾股定理单元测试卷03-17
英语值得收藏的东西10-01
机械加工质量分析与控制01-04
2018年中国私人银行服务行业现状调研分析报告目录05-22
第3章 网格划分技术及技巧 - 图文04-27
- 公务员上岸同学告诉你,怎样走出面试中常见的十大误区
- 作表率,我们怎么办(办公室主任)
- 乘务员安全责任书
- 增员面试流程
- 河南省焦作市规模以上租赁和商务服务业企业应付职工薪酬数据洞察报告2019版
- 最新4社区工作者面试题
- 个人简历表
- 男教工体检必检项目
- 河南省兰考县规模以上租赁和商务服务业企业应付职工薪酬数据洞察报告2019版
- 兼职译员测试稿
- 河南省开封市规模以上租赁和商务服务业企业应付职工薪酬数据洞察报告2019版
- 永州职业技术学院校园总体规划-永州职业学院
- 最新5、培训科长笔试题(答案)
- 2019雅商酒店境外人员登记培训稀有资料,不可错过
- 小学教师求职简历范文
- 红酒知识与礼仪
- 春节给领导拜年的短信拜年词
- 2019年上半年中小学教师资格证结构化面试真题1
- 20XX年县干部培训工作目标
- 硬笔试听课
- 习题
- 编译
- 技术