最新西安交通大学《编译原理》作业考核试题

合集下载

《编译原理》考试试题及答案

《编译原理》考试试题及答案

《编译原理》考试试题及答案(附录)一、判断题:1.一个上下文无关文法的开始符,可以是终结符或非终结符。

( X )2.一个句型的直接短语是唯一的。

( X )3.已经证明文法的二义性是可判定的。

( X )4.每个基本块可用一个DAG表示。

(√)5.每个过程的活动记录的体积在编译时可静态确定。

(√)6.2型文法一定是3型文法。

( x )7.一个句型一定句子。

( X )8.算符优先分析法每次都是对句柄进行归约。

(应是最左素短语) ( X )9.采用三元式实现三地址代码时,不利于对中间代码进行优化。

(√)10.编译过程中,语法分析器的任务是分析单词是怎样构成的。

( x )11.一个优先表一定存在相应的优先函数。

( x )12.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。

( )13.递归下降分析法是一种自下而上分析法。

( )14.并不是每个文法都能改写成LL(1)文法。

( )15.每个基本块只有一个入口和一个出口。

( )16.一个LL(1)文法一定是无二义的。

( )17.逆波兰法表示的表达试亦称前缀式。

( )18.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。

( )19.正规文法产生的语言都可以用上下文无关文法来描述。

( )20.一个优先表一定存在相应的优先函数。

( )21.3型文法一定是2型文法。

( )22.如果一个文法存在某个句子对应两棵不同的语法树,则文法是二义性的。

( )二、填空题:1.( 最右推导 )称为规范推导。

2.编译过程可分为(词法分析),(语法分析),(语义分析和中间代码生成),(代码优化)和(目标代码生成)五个阶段。

3.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是()。

4.从功能上说,程序语言的语句大体可分为()语句和()语句两大类。

5.语法分析器的输入是(),其输出是()。

6.扫描器的任务是从()中识别出一个个()。

20春西交《编译原理》在线作业答案3

20春西交《编译原理》在线作业答案3

(单选题)1: 许多广为使用的语言,如Fortran、C、Pascal等,属于()。

A: 强制式语言
B: 应用式语言
C: 基于规则的语言
D: 面向对象的语言
正确答案: A
(单选题)2: 在编译方法中,动态存储分配的含义是( )。

A: 在运行阶段对源程序中的数组.变量.参数等进行分配
B: 在编译阶段对源程序中的数组.变量.参数进行分配
C: 在编译阶段对源程序中的数组.变量.参数等进行分配,在运行时这些数组.变量.参数的地址可根据需要改变
D: 其他都不正确
正确答案: A
(单选题)3: 现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。

A: 重定位程序;
B: 解释程序;
C: 连接装配程序;
D: 诊断程序;
正确答案: C
(单选题)4: 语法分析应遵循()。

A: 语义规则
B: 语法规则
C: 构词规则
D: 等价变换规则
正确答案: C
(单选题)5: ()是指源程序中不符合语法或词法规则的错误,这些错误一般在词法分析或语法分析时能检测出来。

A: 语义错误
B: 语法错误
C: 短语错误
D: 短句错误
正确答案: B
(单选题)6: 在使用高级语言编程时,首先可通过编译程序发现源程序的全部和部分( )错误。

A: 语法
B: 语义
C: 语用。

西安交通大学18年3月课程考试《编译原理》作业考核试题

西安交通大学18年3月课程考试《编译原理》作业考核试题

谋学网【奥鹏】[西安交通大学]西安交通大学18年3月课程考试《编译原理》作业考核试题试卷总分:100 得分:100第1题,不是编译程序的组成部分。

A、词法分析程序B、代码生成程序C、设备管理程序D、语法分析程序第2题,在下述的编译方法中,自顶向下的分析方法有()。

A、简单优先分析B、算符优先分析C、递归下降分析D、预测分析技术E、LR(K)分析F、SLR(k)分析G、LL(k)分析H、LALR(K)分析第3题,编译过程中,语法分析器的任务是( )① 分析单词的构成② 分析单词串如何构成语句③ 分析语句是如何构成程序④ 分析程序的结构A、②③B、④C、①②③④D、②③④第4题,Pascal中过程说明的局部变量地址分配在()。

A、调用者的数据区中B、被调用者的数据区中C、主程序的数据区中D、公共数据区中第5题,( )文法不是LL(1)的。

A、递归B、右递归C、2型D、含有公共左因子的第6题,正则表达式R1和R2等价是指( )A、R1和R2都是定义在一个字母表上的正则表达式B、R1和R2中使用的运算符相同C、R1和R2代表同一正则集D、R1和R2代表不同正则集第7题,四元式之间的联系是通过( )实现的。

A、指示器B、临时变量C、符号表D、程序变量第8题,最适合动态建立数据实体的内存分配方式是()A、栈式分配B、堆式分配C、编译时预先分配D、以上三种均可第9题,已知文法G[S]:S→A1,A→A1|S0|0。

与G等价的正规式是( )A、0(0|1)*B、1*|0*1C、0(1|10)*1D、1(10|01)*0第10题,扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即()A、字符B、单词C、句子D、句型第11题,以()作为输出,允许自程序单独编译。

A、绝对机器代码B、可再定位机器语言C、汇编语言程序D、中间语言第12题,()不可能是目标代码。

A、汇编指令代码B、可重定位指令代码C、绝对指令代码D、中间代码第13题,识别上下文无关语言的自动机是( )A、下推自动机B、NFAC、DFAD、图灵机第14题,Chomsky 定义的四种形式语言文法中, 2 型语言可由()识别。

西安交通大学17年9月课程考试《编译原理》作业考核试题满分答案

西安交通大学17年9月课程考试《编译原理》作业考核试题满分答案

西安交通大学17年9月课程考试《编译原理》作业考核试题
试卷总分:100 得分:100
一、单选题 (共 30 道试题,共 60 分)
1. LR(1)文法都是( )
A. 无二义性且无左递归
B. 可能有二义性但无左递归
C. 无二义性但可能是左递归
D. 可以既有二义性又有左递归
满分:2 分
正确答案:C
2. 文法开始符号的所有()作为属性计算前的初始值。

A. 综合属性
B. 继承属性
C. 继承属性和综合属性
D. 都不是
满分:2 分
正确答案:B
3. 一个( )指明了在分析过程中的某时刻所能看到产生式多大一部分。

A. 活前缀
B. 前缀
C. 项目
D. 项目集
满分:2 分
正确答案:C
4. ( )文法不是LL(1)的。

A. 递归
B. 右递归
C. 2型
D. 含有公共左因子的
满分:2 分
正确答案:D
5. 如果文法G是无二义的,则它的任何句子( )
A. 最左推导和最右推导对应的语法树必定相同
B. 最左推导和最右推导对应的语法树可能不同
C. 最左推导和最右推导必定相同
D. 可能存在两个不同的最左推导,但它们对应的语法树相同。

西交《编译原理》在线作业

西交《编译原理》在线作业
B. 前缀
C. 活前缀
D. LR(0)项目
满分:2 分
10. 最适合动态建立数据实体的内存分配方式是( )。
A. 栈式分配
B. 堆式分配
C. 编译时预先分配
D. 以上三种均可
满分:2 分
11. 语义分析与中间代码产生所依循的是( )。
A. 正规式
A. 寻找句柄
B. 寻找句型
C. 消除递归
D. 选择候选式
满分:2 分
26. 有限自动机可以有( )个初始状态。
A. 一个
B. 两个
C. 三个
D. 多个
满分:2 分
27. 下述方法中,( )不是自下而上分析方法。
A. 规范归约
B. 算符优先分析法
C. (1)(2)(3)
D. (2)(3)
满分:2 分
35. 文法 E→(E)产生的语言是( )。
A. 空集
B. ()
C. (E)
D. ((((E))))
满分:2 分
36. 下面哪个文法具有二义性( )。
A. A→AA | (A) |
B. E→E+T|T
满分:2 分
3. 正则文法( )二义性的。
A. 可以是
B. 一定不是
C. 一定是
D. 可以不是
满分:2 分
4. 优化所依循的原则是( )。
A. 正规式
B. 上下文无关文法
C. 语言的语义规则
D. 程序的等价变换规则
满分:2 分
5. 在下述的编译方法中,自上而下的分析方法有( )。 ①简单优先分析 ②算符优先分析 ③递归下降分析 ④预测分析技术 ⑤LR(K)分析 ⑥ SLR(K)分析 ⑦ LL(K)分析 ⑧LALR(K)分析

西交20秋《编译原理》在线作业【标准答案】

西交20秋《编译原理》在线作业【标准答案】

(单选题) 1: 文法G产生的( )的全体是该文法描述的语言。

A: 句型
B: 终结符集
C: 非终结符集
D: 句子
正确答案: D
(单选题)2: 正则文法( )二义性的。

A: 可以是
B: 一定不是
C: 一定是
D: 没有正确答案
正确答案: A
(单选题)3: 用高级语言编写的程序经编译后产生的程序叫( )
A: 源程序
B: 目标程序
C: 连接程序
D: 解释程序
正确答案: B
(单选题)4: 在LR(0)的ACTION子表中,如果某一行中存在标记"rj"的栏,则( )。

A: 该行必定填满rj
B: 该行未填满rj
C: 其他行也有rj
D: goto子表中也有rj
正确答案: A
(单选题)5: 程序语言的单词符号一般可以分为5种,下面( )不需要超前搜索
A: 关键字
B: 标识符
C: 常数
D: 算符和界符
正确答案: B
(单选题)6: 使用()可以定义一个程序的意义。

A: 语义规则
B: 词法规则
C: 产生规则
D: 词法规则
正确答案: A
(单选题)7: 现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个( )把各个目标模块,包括系统提供的库模块连接在一起,确定程序变。

编译原理考试题及答案

编译原理考试题及答案

编译原理考试题及答案一、选择题(每题5分,共20分)1. 编译器的主要功能是什么?A. 代码优化B. 代码翻译C. 代码调试D. 代码运行答案:B2. 下列哪个选项不属于编译器的前端部分?A. 词法分析B. 语法分析C. 语义分析D. 代码生成答案:D3. 在编译原理中,文法的产生式通常表示为:A. A -> αB. A -> βC. A -> γD. A -> δ答案:A4. 下列哪个算法用于构建语法分析树?A. LL(1)分析B. LR(1)分析C. SLR(1)分析D. LALR(1)分析答案:A二、填空题(每空5分,共20分)1. 编译器的前端通常包括词法分析、语法分析和________。

答案:语义分析2. 编译器的后端主要负责________和目标代码生成。

答案:代码优化3. 编译器中的词法分析器通常使用________算法来识别单词。

答案:有限自动机4. 语法分析中,________分析是一种自顶向下的分析方法。

答案:递归下降三、简答题(每题10分,共30分)1. 简述编译器的作用。

答案:编译器的主要作用是将高级语言编写的源代码转换成计算机能够理解的低级语言或机器代码,以便执行。

2. 解释一下什么是语法制导翻译。

答案:语法制导翻译是一种翻译技术,它利用源语言的语法信息来指导翻译过程,使得翻译过程能够更好地理解源代码的语义。

3. 什么是词法分析器?答案:词法分析器是编译器前端的一部分,它的任务是将源代码文本分解成一系列的标记(tokens),这些标记是源代码的最小有意义的单位。

四、计算题(每题10分,共30分)1. 给定一个简单的文法G(E):E → E + T | TT → T * F | FF → (E) | id请计算文法的非终结符号E的FIRST集和FOLLOW集。

答案:E的FIRST集为{(, id},FOLLOW集为{), +, $}。

2. 假设编译器在进行语法分析时,遇到一个语法错误的代码片段,请简述编译器如何处理这种情况。

《编译原理》考试试题及答案(汇总)

《编译原理》考试试题及答案(汇总)

《编译原理》考试试题及答案(汇总)一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分)1.编译程序是对高级语言程序的解释执行。

(× )2.一个有限状态自动机中,有且仅有一个唯一的终态。

(×)3.一个算符优先文法可能不存在算符优先函数与之对应。

(√ )4.语法分析时必须先消除文法中的左递归。

(×)5.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。

(√)6.逆波兰表示法表示表达式时无须使用括号。

(√ )7.静态数组的存储空间可以在编译时确定。

(×)8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。

(×) 9.两个正规集相等的必要条件是他们对应的正规式等价。

(× )10.一个语义子程序描述了一个文法所对应的翻译工作。

(×)二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分) 1.词法分析器的输出结果是_____。

A.( ) 单词的种别编码B.( ) 单词在符号表中的位置C.( ) 单词的种别编码和自身值D.( ) 单词自身值2.正规式M 1 和M 2 等价是指_____。

A.( ) M1和M2的状态数相等B.( ) M1和M2的有向边条数相等C.( ) M1和M2所识别的语言集相等D.( ) M1和M2状态数和有向边条数相等3.文法G:S→xSx|y所识别的语言是_____。

A.( ) xyx B.( ) (xyx)* C.( ) xnyxn(n≥0) D.( ) x*yx*4.如果文法G是无二义的,则它的任何句子α_____。

A.( )最左推导和最右推导对应的语法树必定相同B.( ) 最左推导和最右推导对应的语法树可能不同C.( ) 最左推导和最右推导必定相同D.( )可能存在两个不同的最左推导,但它们对应的语法树相同5.构造编译程序应掌握______。

西安交通大学《编译原理》在线作业答卷

西安交通大学《编译原理》在线作业答卷

西交《编译原理》在线作业试卷总分:100 得分:100一、单选题 (共 30 道试题,共 60 分)1. 许多广为使用的语言,如Fortran、C、Pascal等,属于()。

A. 强制式语言B. 应用式语言C. 基于规则的语言D. 面向对象的语言答案:A2.在编译方法中,动态存储分配的含义是( )。

A. 在运行阶段对源程序中的数组.变量.参数等进行分配B. 在编译阶段对源程序中的数组.变量.参数进行分配C. 在编译阶段对源程序中的数组.变量.参数等进行分配,在运行时这些数组.变量.参数的地址可根据需要改变D. 其他都不正确答案:A3.现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。

A. 重定位程序;B. 解释程序;C. 连接装配程序;D. 诊断程序;答案:C4.语法分析应遵循()。

A. 语义规则B. 语法规则C. 构词规则D. 等价变换规则答案:C5.()是指源程序中不符合语法或词法规则的错误,这些错误一般在词法分析或语法分析时能检测出来。

A. 语义错误B. 语法错误C. 短语错误D. 短句错误答案:B6.在使用高级语言编程时,首先可通过编译程序发现源程序的全部和部分( )错误。

A. 语法B. 语义C. 语用D. 运行答案:A7.下列关于标识符和名字叙述中,正确的是( )。

A. 标识符有一定的含义B. 名字是一个没有意义的字符序列C. 名字有确切的属性D. 都不正确答案:C8.编译程序是一种( )A. 汇编程序B. 翻译程序C. 解释程序D. 目标程序答案:B9.代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个()把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。

Zhujiao057《编译原理》习题答案

Zhujiao057《编译原理》习题答案

《编译原理》习题答案一、单项选择题(本大题共164小题,每小题2分)1、如果一个编译程序能产生不同于其宿主机的机器代码,则称它为( C )。

A、诊断编译程序B、优化编译程序C、交叉编译程序D、可变目标编译程序2、( C )不是编译程序的组成部分。

A、词法分析程序B、代码生成程序C、设备管理程序D、语法分析程序3、现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个( C )把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。

A、重定位程序B、解释程序C、连接装配程序D、诊断程序;4、产生正则语言的文法为(D)。

A、0型B、1型C、2型D、3型5、(A)是一种典型的解释型语言。

A、BASICB、CC、FORTRAND、PASCAL6、把汇编语言程序翻译成机器可执行的目标程序的工作是由(B)完成的。

A、编译器B、汇编器C、解释器D、预处理器7、用高级语言编写的程序经编译后产生的程序叫(B)A、源程序B、目标程序C、连接程序D、解释程序8、文法G:S→b|∧(T)T→T,S|S则FIRSTVT(T)(C)。

A、{b,∧,(}B、{b,∧,)}C、{b,∧,(,,}D、{b,∧,),,}9、通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六个部分,还应包括(C)。

A、模拟执行器B、解释器C、表格处理和出错处理D、符号执行器10、编译程序绝大多数时间花在(D)上。

A、出错处理B、词法分析C、目标代码生成D、表格管理11、设文法为:S→SA|AA→a|b则对句子aba,下面(D)是规范推导。

A、S⇒SA⇒SAA⇒AAA⇒aAA⇒abA⇒abaB、S⇒SA⇒SAA⇒AAA⇒AAa⇒Aba⇒abaC、S⇒SA⇒SAA⇒SAa⇒Sba⇒Aba⇒abaD、S⇒SA⇒Sa⇒SAa⇒Sba⇒Aba⇒aba12、Chomsky把文法分成四种类型,其中,( D )也称正规文法A、0型B、1型C、2型D、3型13、源程序是句子的集合,(B)可以较好地反映句子的结构。

编译原理考试题及答案

编译原理考试题及答案

编译原理考试题及答案一、选择题(每题2分,共20分)1. 编译器的主要功能是将高级语言源程序转换成机器语言目标程序。

(对/错)答案:对2. 编译过程中,词法分析器的主要任务是识别源程序中的各种词法单位。

(对/错)答案:对3. 在语法分析阶段,编译器使用的数据结构是栈。

(对/错)答案:错4. 语义分析的主要目的是检查程序的语法结构是否正确。

(对/错)答案:错5. 编译器的优化阶段可以提高目标程序的执行效率。

(对/错)答案:对6. 编译器的代码生成阶段负责将中间代码转换为目标代码。

(对/错)答案:对7. 编译器的运行时系统包括内存管理、输入输出处理等功能。

(对/错)答案:对8. 编译器的前端主要负责源程序的分析,后端负责目标代码的生成。

(对/错)答案:对9. 编译器的词法分析阶段不涉及对标识符的识别。

(对/错)答案:错10. 编译器的语法分析阶段可以识别出所有的语法错误。

(对/错)答案:对二、填空题(每题2分,共20分)1. 编译器在进行语法分析时,通常采用________算法。

答案:LL(1)或LR(1)2. 编译器在语义分析阶段,需要对变量的________进行检查。

答案:作用域和生命周期3. 编译器在代码优化阶段,常用的优化技术包括________和循环优化。

答案:常量传播4. 编译器在目标代码生成阶段,需要考虑________的约束。

答案:目标机器5. 编译器的运行时系统包括________、内存管理、输入输出处理等。

答案:程序启动和异常处理6. 编译器在词法分析阶段,需要识别的词法单位包括________、标识符、常量等。

答案:关键字7. 编译器在语法分析阶段,使用的分析表可以是________表或ACTION 表。

答案:GOTO8. 编译器在语义分析阶段,需要对表达式的________进行计算。

答案:类型9. 编译器的代码生成阶段,需要将中间代码转换为________代码。

答案:目标机器10. 编译器的运行时系统在内存管理中,需要处理________和垃圾收集。

15春西交《编译原理》在线作业满分答案

15春西交《编译原理》在线作业满分答案

15春西交《编译原理》在线作业满分答案奥鹏15春西交《编译原理》在线作业试卷总分:100 测试时间:--单选题判断题一、单选题(共 30 道试题,共 60 分。

)1. 自上而下分析面临的四个问题中,不包括( )A. 需消除左递归;B. 存在回朔;C. 虚假匹配;D. 寻找可归约串满分:2 分2. __________不是编译程序的组成部分。

A. 词法分析程序B. 代码生成程序C. 设备管理程序D. 语法分析程序满分:2 分3. 文法开始符号的所有________作为属性计算前的初始值。

A. 综合属性B. 继承属性C. 继承属性和综合属性D. 都不是满分:2 分4. 编译程序使用_______区别标识符的作用域。

A. 说明标识符的过程或函数名;B. 说明标识符的过程或函数的静态层次;C. 说明标识符的过程或函数的动态层次;D. 标识符的行号;满分:2 分5. 两个不同过程的活动,其生存期是________。

A. 重叠的,不嵌套的;B. 不重叠的,嵌套的;C. 重叠的,嵌套的;D. 不重叠的,不嵌套的;满分:2 分6. LR语法分析栈中存放的状态是识别_______的DFA状态。

A. 前缀;B. 可归前缀;C. 项目;D. 句柄;满分:2 分7. 为了便于优化处理,三地址代码可以表示成________。

A. 三元式B. 四元式C. 后缀式D. 间接三元式满分:2 分8. 教材介绍了三种符号表的构造和处理方法,其中________中常把符号表组织成二叉树形式。

A. 线性组织;B. 排序组织和二分法;C. 杂凑(散列)组织;D. 非线性组织满分:2 分9. Chomsky把文法分成四种类型,其中,( )也称正规文法A. 0型B. 1型C. 2型D. 3型满分:2 分10. 语言的词法规则一般用Chomsky的( )型文法来描述:A. 0B. 1C. 2D. 3满分:2 分11. 对应于产生式A→XY继承属性Y.y的属性计算,可能正确的语义规则是________。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安交通大学《编译原理》作业考核试题一、选择题1. 设有文法G[S]:S→S1|S0|Sa|Sc|a|b|c,下列符号串中是该文法的句子有( )A. ab0B. a0c01C. a0b0a[正确]D. bc10满分:2 分2. 设G为算符优先文法,G的任意终结符对a、b有以下关系成立()。

A. 若f(a)>g(b),则a>bB. 若f(a)<g(b),则a<b[正确]C. a~b都不一定成立D. a~b一定成立满分:2 分3. 程序基本块是指()。

A. 一个子程序B. 一个仅有一个入口和一个出口的语句C. 一个没有嵌套的程序段[正确]D. 一组顺序执行的程序段,仅有一个入口和一个出口满分:2 分4. 如果文法G是无二义的,则它的任何句子( )[正确]A. 最左推导和最右推导对应的语法树必定相同B. 最左推导和最右推导对应的语法树可能不同C. 最左推导和最右推导必定相同D. 可能存在两个不同的最左推导,但它们对应的语法树相同满分:2 分5. 在目标代码生成阶段,符号表用于( )。

A. 目标代码生成B. 语义检查C. 语法检查[正确]D. 地址分配满分:2 分6. Chomsky把文法分成四种类型,其中,()也称正规文法A. 0型B. 1型C. 2型[正确]D. 3型满分:2 分7. 在LR(0)的ACTION子表中,如果某一行中存在标记“rj”的栏,则( )。

[正确]A. 该行必定填满rjB. 该行未填满rjC. 其他行也有rjD. goto子表中也有rj满分:2 分8. 使用三元式是为了()。

A. 便于代码优化处理[正确]B. 避免把临时变量填入符号表C. 节省存储代码的空间D. 提高访问代码的速度满分:2 分9. 识别上下文无关语言的自动机是( )A. 下推自动机B. NFA[正确]C. DFAD. 图灵机满分:2 分10. 在LR分析法中,分析栈中存放的状态是识别规范句型( )的DFA状态。

A. 句柄B. 前缀[正确]C. 活前缀D. LR(0)项目满分:2 分11. 描述一个语言的文法是( )A. 唯一的[正确]B. 不唯一的C. 可能唯一D. 都不正确满分:2 分12. 编译程序使用( )区别标识符的作用域。

A. 说明标识符的过程或函数名[正确]B. 说明标识符的过程或函数的静态层次C. 说明标识符的过程或函数的动态层次D. 标识符的行号满分:2 分13. 使用()可以定义一个程序的意义。

[正确]A. 语义规则B. 词法规则C. 产生规则D. 词法规则满分:2 分14. 在整个编译期间,对符号表的操作大致都有()。

A. 查询给定名字[正确]B. 填入新名字C. 访问给定名字的信息D. 更新给定名字的信息满分:2 分15. ()语言具有这样的特点:没有分程序结构;过程定义不允许嵌套;允许过程嵌套定义。

A. FortranB. Pascal[正确]C. CD. 都不满分:2 分16. 中间代码生成时所遵循的是()。

A. 语法规则B. 词法规则[正确]C. 语义规则D. 等价变换规则满分:2 分17. 编译程序是对()。

A. 汇编程序的翻译B. 高级语言程序的解释执行C. 机器语言的执行[正确]D. 高级语言的翻译满分:2 分18. 以()作为输出,允许自程序单独编译。

A. 绝对机器代码[正确]B. 可再定位机器语言C. 汇编语言程序D. 中间语言满分:2 分19. 静态分配允许程序出现( )。

A. 递归过程B. 可变体积的数据项目[正确]C. 静态变量D. 待定性质的名字满分:2 分20. 以绝对机器代码为输出,所有地址均已定位,这种代码的优点是()。

[正确]A. 可立即执行B. 可进一步优化C. 目标代码简短D. 目标代码执行效率高满分:2 分21. 一个( )指明了在分析过程中的某时刻所能看到产生式多大一部分。

A. 活前缀B. 前缀[正确]C. 项目D. 项目集满分:2 分22. 一个文法所描述的语言是( )[正确]A. 唯一的B. 不唯一的C. 可能唯一D. 都不正确满分:2 分23. 赋值语句x:=-(a+b)/(c-d)-(a+b*c)的逆波兰式表示是()。

A. xab+cd-/-bc*a+-:=B. xab+/cd-bc*a+--:=[正确]C. xab+-cd-/abc*+-:=D. xab+cd-/abc*+--:=满分:2 分24. 程序所需的数据空间在程序运行前可确定,称为( )管理技术。

A. 动态存储B. 栈式存储[正确]C. 静态存储D. 堆式存储满分:2 分25. 评价一个代码生成器最重要的指标是()。

[正确]A. 代码的正确性B. 代码的高效性C. 代码的简洁性D. 代码的维护性满分:2 分26. 所谓在程序中某个给定点是活跃的,是指如果在程序中,()。

[正确]A. 该点以后被引用B. 该点以后被计算C. 该点正在被计算D. 该点一直被计算满分:2 分27. Pascal中过程说明的局部变量地址分配在()。

A. 调用者的数据区中[正确]B. 被调用者的数据区中C. 主程序的数据区中D. 公共数据区中满分:2 分28. 在编译方法中,动态存储分配的含义是( )。

[正确]A. 在运行阶段对源程序中的数组.变量.参数等进行分配B. 在编译阶段对源程序中的数组.变量.参数进行分配C. 在编译阶段对源程序中的数组.变量.参数等进行分配,在运行时这些数组.变量.参数的地址可根据需要改变D. 以上都不正确满分:2 分29. 变量应当()。

A. 持有左值B. 持有右值[正确]C. 既持有左值又持有右值D. 既不持有左值也不持有右值满分:2 分30. 给定文法A→bA | ca,为该文法句子的是( )A. bbaB. cab[正确]C. bcaD. cba满分:2 分二、判断题1. 语法分析时必须先消除文法中的左递归。

( )[正确]A. 错误B. 正确满分:2 分2. 对于每一个左线性文法G1,都存在一个右线性文法G2,使得L(G1)=L(G2)。

( )A. 错误[正确]B. 正确满分:2 分3. 一个文法所有句型的集合形成该文法所能接受的语言。

( )[正确]A. 错误B. 正确满分:2 分4. 非终结符只有综合属性,由词法分析器提供。

( )A. 错误[正确]B. 正确满分:2 分5. 若某一个句型中出现了某一产生式的右部,则此右部不一定是该句型的句柄。

( )[正确]A. 错误B. 正确满分:2 分6. 二义文法是上下文无关文法。

( )A. 错误[正确]B. 正确满分:2 分7. 对任意一个右线性文法G,都存在一个DFAM,满足L(G)=L(M)。

( )A. 错误[正确]B. 正确满分:2 分8. 在归约过程的任一时刻,一个上下文无关文法的任何句型的直接短语一般都是唯一的。

( ) [正确]A. 错误B. 正确满分:2 分9. 可能有两个不同的文法G和G′,期中一个是二义的而另一个是无二义的,但是却有L(G)=L(G′)。

( )A. 错误[正确]B. 正确满分:2 分10. 任何算符优先文法的句型中不会有两个相邻的非终结符号。

( )A. 错误[正确]B. 正确满分:2 分11. 对于允许递归调用的程序语言,程序运行时的存储分配策略不能采用静态的存储分配策略。

( )A. 错误[正确]B. 正确满分:2 分12. 只含有综合属性的属性文法是S-属性文法。

( )A. 错误[正确]B. 正确满分:2 分13. “回填”技术用于对过程中的说明语句进行处理时把计算出的有关符号的属性填入符号表。

[正确]A. 错误B. 正确满分:2 分14. 规范归约和规范推导是互逆的两个过程。

( )[正确]A. 错误B. 正确满分:2 分15. 设M是一个NFA,并且L(M)={x,y,z},则M的状态数至少为4个。

( )[正确]A. 错误B. 正确满分:2 分16. 一个二义性文法可以是SLR文法或LALR文法。

( )[正确]A. 错误B. 正确满分:2 分17. 对任何一个NFAM,都存在一个DFAM',使得L(M')=L(M)。

( )A. 错误[正确]B. 正确满分:2 分18. 一棵语法树表示了一个句型所有的不同推导过程,包括最右推导和最左推导。

( )A. 错误[正确]B. 正确满分:2 分19. 正规文法产生的语言都可以用上下文无关文法来描述。

( )A. 错误[正确]B. 正确满分:2 分20. LL(1)文法不能用LR(1)分析器来分析。

( )[正确]A. 错误B. 正确满分:2 分。

相关文档
最新文档