秋北航《编译技术》在线作业一
- 格式:doc
- 大小:112.50 KB
- 文档页数:9
北航《汇编语言》在线作业一单选题判断题一、单选题(共15 道试题,共60 分。
)1. IBM PC微机中,有符号数是用()表示的A. 原码B. 补码C. 反码D. BCD码-----------------选择:B2. 把汇编源程序变成代码程序的过程是()A. 编译B. 汇编C. 编辑D. 链接-----------------选择:B3. OR AL,AL是( )操作指令。
A. 异或B. 加法C. 右移D. 逻辑或-----------------选择:D4. 实现将DX:AX中存放的32位数扩大四倍,正确的程序段是()。
A. SHL AX,2 ROL DX,2B. RCL AX,2 SHL DX,2C. MOV CX,2 LOP:SHL AX,1 RCL DX,1 LOOP LOPD. SHL AX,1 SHL AX,1 RCL DX,1 RCL DX,1 -----------------选择:C5. 某存储单元的物理地址是12345H,可以作为它的段地址有()A. 2345HB. 12345HC. 12340HD. 1234H-----------------选择:D6. 在进行二重循环程序设计时,下列描述正确的是( )A. 外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B. 外循环初值应置外循环之内;内循环初值应置内循环之内C. 内、外循环初值都应置外循环之外D. 内、外循环初值都应置内循环之外,外循环之内-----------------选择:A7. 下面是80X86宏汇编语言中关于SHORT和NEAR的叙述,哪一个是正确的?。
编译技术考试试题及答案考试试题一:编译过程的基本原理是什么?答案:编译过程是将源代码转化为目标代码的过程。
它主要包括以下几个步骤:词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成。
其中,词法分析将源代码划分为一个个的词法单元;语法分析将词法单元按照语法规则进行组织和分析;语义分析对语法正确的代码进行语义检查;中间代码生成将源代码转化为一种中间表示形式;代码优化对中间代码进行优化以提高程序执行效率;目标代码生成将中间代码转化为目标机器代码。
考试试题二:什么是LL(1)文法?答案:LL(1)文法是一种上下文无关文法。
它的特点是每个非终结符的任意一个产生式的开始符号的集合都是不相交的,并且对于任意一个非终结符的产生式,它的所有后继符号串的FIRST集合也是不相交的。
LL(1)文法主要用于LL(1)语法分析器的构建。
考试试题三:请解释一下语法制导翻译的概念。
答案:语法制导翻译是指将源语言的语法结构翻译为目标语言的过程。
它通过在语法分析的同时进行翻译动作,将源语言的语义信息传递到目标语言中。
语法制导翻译可以通过语法制导定义的方式来实现,即在语法规则中嵌入翻译动作。
这样,在语法分析的过程中,每次使用某个产生式进行规约时,都会执行相应的翻译动作。
考试试题四:简述基于栈的中间代码生成方法。
答案:基于栈的中间代码生成方法是将源代码转化为中间代码的一种常用方法。
它利用栈数据结构来辅助生成中间代码。
具体步骤如下:1. 初始化栈,将栈底设置为$2. 读入源代码的符号串3. 从左到右扫描输入符号串,遇到终结符号则入栈,遇到非终结符号则查找相应的产生式,并将产生式右部符号入栈4. 重复步骤3,直到栈顶为$且输入符号串为空时停止5. 栈中剩余的中间代码即为生成的结果基于栈的中间代码生成方法简单高效,能够准确地将源代码转化为中间代码,为后续的代码优化和目标代码生成提供了便利。
考试试题五:编译过程中常见的代码优化技术有哪些?答案:编译过程中常见的代码优化技术包括:常量传播、复制传播、死代码删除、公共子表达式消除、循环优化、函数内联、代码重排等。
北航《编译技术》在线作业一一、单选题(共14 道试题,共56 分。
)1. ()负责分析程序语法结构A. 扫描程序B. 语法分析程序C. 语义分析程序D. 代码生成程序正确答案:2. 在下述的编译方法中,自顶向下的分析方法有()。
①简单优先分析②算符优先分析③递归下降分析④预测分析技术⑤LR(K)分析⑥SLR(k)分析⑦LL(k)分析⑧LALR(K)分析A. ③④⑦B. ③④⑧C. ①②⑤⑥⑦D. ①②⑤⑥⑧正确答案:3. 正规式(a|b)*表示的是()。
A. 所有由字母a或b构成的串B. 字符串a|bC. 字符串(a|b)*D. 空串正确答案:4. 词法扫描程序把源代码生成为()。
A. 记号流B. 语法树C. 词法树D. 目标代码正确答案:5. 高级语言编译程序常用的语法分析方法中,递归下降分析法属于()分析方法。
A. 自左至右B. 自上而下C. 自下而上D. 自右向左正确答案:6. 把一个高级语言程序翻译成机器可执行的目标程序的工作由()完成。
A. 汇编程序C. 编译程序D. 预处理程序正确答案:7. 编译器与要编译的源程序的接口阶段是()。
A. 扫描程序B. 语法分析程序C. 语义分析程序D. 代码生成器正确答案:8. 语法分析程序输出()。
A. 记号系列B. 分析树或语法树C. 中间代码D. 目标代码正确答案:9. 类型转换时,整数到实数的转换称为()。
A. 截断B. 舍入C. 拓展D. 收缩正确答案:10. 文法E→(E)产生的语言是()。
A. 空集B. ()C. (E)D. ((((E))))正确答案:11. 赋值语句X::=-(a+b)/(c-d)-(a+b*c)r的逆波兰表示是()。
A. Xab+cd-/-bc*a+-:=B. Xab+/cd--bc*a+--:=C. Xab+-cd-/abc*+-:=D. Xab+cd-/abc*+--:=正确答案:12. 有限自动机可以有()个初始状态。
北航《编译技术》复习题一一、单项选择题1、目标代码生成属于编译器的()阶段A.词法分析B.语法分析C.分析D.综合2、算符优先分析每次规约的是()A.最左短语B.直接短语C.句柄D.最左素短语3、简单优先分析每次规约的是()A.最左短语B.直接短语C.句柄D.最左素短语4、若文法 G 定义的语言是无限集,则文法必然是()A .递归的 B. 前后文无关的C .二义性的 D. 无二义性的5、Chomsky 定义的四种形式语言文法中, 1 型文法又称为()文法;A .短语结构文法 B.前后文无关文法C.前后文有关文法D.正规文法6、一个文法所描述的语言是()A .唯一的 B. 不唯一的C .可能唯一, D.可能不唯一7、数组的内情向量中肯定不含有数组的()的信息A.维数 B.类型C.维上下界D.各维的界差8、自顶向下的分析方法有()。
①简单优先分析②算符优先分析③递归下降分析④预测分析技术⑤LR(K)分析⑥ SLR(k)分析⑦ LL(k)分析⑧LALR(K)分析A.③④⑦B. ③④⑧C.①②⑧D.③④⑤⑥⑦9、文法 G 所描述的语言是()的集合。
A.文法 G 的字母表 V 中所有符号组成的符号串B.文法 G 的字母表 V 的闭包 V 中的所有符号串C.由文法的开始符号推出的所有终极符串D.由文法的开始符号推出的所有符号串10、乔姆斯基(Chomsky)把文法分为四种类型,即 0 型、1 型、2 型、3 型。
其中 3 型文法是()。
A.短语文法B.正则文法C.上下文有关文法D.上下文无关文法二、判断题11、每个基本块可用一个DAG表示。
A.对 B.错12、每个过程的活动记录的体积在编译时可静态确定。
A.对 B.错13、2型文法一定是3型文法。
BA.对 B.错14、一个句型一定是句子。
BA.对 B.错15、算符优先分析法每次都是对句柄进行归约。
A.对 B.错16、甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。
一、多选(共计25分,每题2.5分,每题答案完全一样得满分,少选、多选、错选均不得分。
)错误:【A;B;D】2、对于文法G【E】:⑴E→E+T ⑵E→T ⑶T→T*F ⑷T→F ⑸F→(E) ⑹F→a句型a错误:【A;D】错误:【B;D】错误:【B;D】5、通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标错误:【C;D】错误:【A;D】错误:【A;D】错误:【A;B;C】错误:【A;B;C】10、在词法分析中,能识别出_____。
错误:【A;B;D】二、判断(共计25分,每题2.5分)错误:【A】错误:【A】错误:【B】14、紧跟在条件转移语句后面的语句是基本块的入口语句。
错误:【A】错误:【B】错误:【A】17、对于在一个基本块内后边不再被引用的变量所占用的寄存器应尽早释放,以提高寄存错误:【A】错误:【B】错误:【B】错误:【A】三、单选(共计50分,每题2.5分)错误:【C】22、在编译过程中,如果遇到错误应该_____。
A. 把错误理解成局部的错误B. 对错误在局部范围内进行纠正,继续向下分析错误:【C】错误:【B】错误:【C】错误:【A】错误:【D】27、不能被如下状态转换图识别的句子是____。
错误:【D】28、自底向上语法分析法的原理是____。
A. “移进——推导法”B. “最左推导法”错误:【C】29、已知属性文法G【S】:则若输入“xxxxyzz”,文法将输出____。
错误:【B】错误:【D】31、如果文法G是无二义的,则它的任何句子α_____。
A. 最左推导和最右推导对应的语法树必定相同B. 最左推导和最右推导对应的语法树可能不同错误:【A】错误:【A】错误:【C】错误:【D】错误:【B】错误:【A】错误:【C】38、文法G 所描述的语言是____的集合。
错误:【C】错误:【B】40、有文法G及其语法制导翻译的属性文法如下所示(语义规则中的*和+分别是常规意义下的算术运算符):错误:【C】一、多选(共计25分,每题2.5分,每题答案完全一样得满分,少选、多选、错选均不得分。
一、单选题(共 14 道试题,共 56 分。
) V 1. 有限自动机有()个接受状态A. 只能一个B. 只能两个C. 只能三个D. 0个、一个或多个2. Chomsky 定义的四种形式语言文法中, 3 型文法又称为()文法。
A. 短语文法B. 上下文无关文法C. 上下文有关文法D. 正规文法3. 赋值语句X::=-(a+b)/(c-d)-(a+b*c)r的逆波兰表示是()。
A. Xab+cd-/-bc*a+-:=B. Xab+/cd--bc*a+--:=C. Xab+-cd-/abc*+-:=D. Xab+cd-/abc*+--:=4. 描述一个语言的文法是()。
A. 唯一的B. 不唯一的C. 可能唯一D. 可能不唯一5. 下面哪个文法是左递归的()。
A. E→E+T|TB. T→F*TC. E→(E)D. E→a6. 有限自动机()个接受状态。
A. 只能有一个B. 只能有两个C. 只能有三个D. 可以有0个、一个或多个7. 编译程序诸阶段的工作往往是()。
A. 顺序B. 并行C. 成批D. 穿插8. ()的任务是从源代码中读取字符并形成由编译器的以后部分处理的逻辑单元——记号。
A. 扫描程序B. 语法分析程序C. 语义分析程序D. 源代码优化程序9. 在编译的各阶段中,和目标机器关系最为密切的是()。
A. 词法分析B. 语法分析C. 语义分析D. 目标代码生成10. 简单优先分析每次规约的是()。
A. 最左短语B. 直接短语C. 句柄D. 最左素短语11. 在LR分析法中,分析栈中存放的状态是识别规范句型()的DFA状态。
A. 句柄B. 前缀C. 活前缀D. LR(0)项目12. 正则文法()二义性的。
A. 可以是B. 一定不是C. 一定是D. 可以不是13. Chomsky 定义的四种形式语言文法中,2 型语言文法又称为()文法。
A. 短语文法B. 上下文无关文法C. 上下文有关文法D. 正规文法14. 文法 E→(E)产生的语言是()。
编译技术考试试题及答案一、填空题(每空1分,共20分)1.编译过程一般分为、、中间代码生成、和目标代码生成五个阶段。
2.语法分析最常用的两类方法是和分析法。
3.确定的有穷自动机是一个,通常表示为。
4.所谓最右推导是指。
5.语法分析器的任务是。
6.如果一个文法的任何产生式的右部都不含有的非终结符,则这种文法称为文法。
7.进行确定的自上而下语法分析要求语言的文法是无和的。
8.LR分析法是一种的语法分析方法。
9.根据优化对象所涉及的程序范围,代码优化分为、和等。
10.常用的优化技术包括:、、强度削弱、复写传播、等。
二、是非题(下列各题,你认为正确的,请在题后的括号内打“√”,错的打“×”。
每题2分,共20分)1.正规文法产生的语言都可以用上下文无关文法来描述。
…………………… ( )2.仅考虑一个基本块,不能确定一个赋值是否真是无用的。
………………………()3.如果一个文法是递归的,则其产生的语言的句子是无穷个。
…………………()4.四元式之间的联系是通过符号表实现的。
…………………………………………()5.文法的二义性和语言的二义性是两个不同的概念。
…………………………()6.一个LL( l)文法一定是无二义的。
………………………………………………( )7.在规范规约中用最左素短语来刻划可归约串。
……………………………… ( )8.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。
…………… ( )9.编译程序是对汇编程序的翻译。
……………………………………()10.逆波兰法表示的表达式亦称前缀式。
…………………………………………… ( )三、简答题(每题5分,共15分)1、简述栈式存储管理策略;2、何谓DAG;3、何谓文法的二义性;四、给出下述文法对应的正规式(7分)S→ 0A| 1BA→1S | 1B→0S | 0五、已知文法G(E):E→T | E+T | E-TT→F | T*F | T/FF→(E) | i证明E+T*F是该文法的一个句型,并指出该句型的所有短语、直接短语和句柄。
编译技术课后答案《编译原理》习题参考答案(四)第四章4.1 根据表4.1的语法制导定义,为输入表达式5*(4*3+2)构造注释分析树。
Solution:LE.val =70 nT.val = 70T.val =5 * F.val =14F.val =5 ( E.val =14 )digit.lexval =5 E.val =12 + T.val =2T.val = 12 F.val = 2T.val =4 * F.val =3 digit.lexval =2F.val = 4 digit.lexval = 34.3 为文法→ ( L ) | aSL→ L , S | S( a )写一个语法制导定义,它输出括号的对数。
( b )写一个语法制导定义,它输出括号的最大深度。
Solution:( a ) :Sˊ→S n print ( S.val )S → ( L ) S.val = L .val + 1S → a S.val = 0L →L1 , S L.val = L1.val + S.valL → S L.val = S.val( b ) :Sˊ→S n print ( S.val )S → ( L ) S.val = L .val + 1S → a S.val = 0L →L1 , S L.val = max ( L1.val , S.val )L → S L.val = S.val4.5 给出对表达式求导数的语法制导定义,表达式由+和*作用于变量x和常数组成,如x * ( 3 * x + x * x ),并假定没有任何化简,例如将3 * x 翻译成3 * 1 + 0 * x。
Solution:exp为原表达式的字符串,s为求导后的字符串。
|| 为串联接符E′→ E n print ( E.s )E → E1 + T E.exp = E1.exp || " + " || T.expE.s = E1.s || " + " || T.sE → T E.exp = T.expE.s = T.s T → T1 * FT.exp = T1.exp || " * " || F.expT.s = " ( " || T1.s || " ) " || " * " || F.exp || " + " ||T.exp || " * " || F.s T → F T.exp =F.exp T.s = F. sF → ( E ) F.exp = " ( " || E.exp || " ) " F.s = " ( " || E.s || " ) " F → num F.exp =num.lexmeF.s = " 0 "F → x F.exp = " x "F.s = " 1 "4.6 给出把中缀表达式翻译成没有冗余括号的中缀表达式的语法制导定义。
编译技术作业1单项选择题第1题要在某台机器上为某种语言构造编译程序,必须掌握下述那些内容?() a. 汇编语言b. 高级语言c. 源语言d. 目标语言e. 程序设计方法学f. 机器语言g. 编译方法A、abfB、afgC、cdgD、efg答案:C第2题程序语言一般分为()和()两大类。
A、高级语言低级语言B、低级语言通用程序语言C、高级语言专用程序语言D、低级语言专用程序语言答案:D第3题把汇编语言程序翻译成机器可执行的目标程序的工作是由()完成的。
A、编译器B、汇编器C、解释器D、预处理器答案:B第4题编译程序与具体的机器()。
A、有关B、无关答案:A第5题程序语言的语言处理程序是一种()。
A、系统软件B、应用软件C、实时系统D、分布式系统答案:A第6题汇编程序是将()翻译成()。
A、汇编语言程序机器语言程序B、汇编语言程序高级语言程序C、高级语言程序汇编语言程序或机器语言程序D、汇编语言程序或高级语言程序机器语言程序或高级语言程序答案:A第7题在使用高级语言编程时,首先可通过编译程序发现源程序的全部()错误和部分()错误。
A、语法语义B、语义语用C、语用运行D、语法语用答案:A第8题编译程序中的语法分析器接受以()为单位的输入,并产生有关信息供以后各阶段使用。
A、表达式B、产生式C、单词D、语句答案:C第9题正规式ab*代表的正规集合为()。
A、{a}∪{b}*B、{a,b}*C、{a}{b}*D、{ab}*答案:C第10题给定文法, A::= bA | cc, 下面哪些符号串可由其推导出?①cc ②b*cc ③b*cbcc ④bccbcc ⑤bbbccA、①B、①③④⑤C、①⑤D、①②⑤答案:D第11题()这样一些语言,它们能被确定的有穷自动机识别,但不能用正规表达式表示。
A、存在B、不存在C、无法判定是否存在答案:B多项选择题第12题编译过程中扫描器的任务包括()。
A、组织原程序的输入B、识别单词属性,并输出C、删除注解D、行计数、列计数E、建立符号表答案:A|B|C|D|E第13题编译过程中,语法分析器的任务是()。
西电《编译原理与技术》在线作业一、单选题(共 25 道试题,共 100 分。
)1. 与逆波兰式+*+对应的中缀表达式是()。
. ++*. (+)*+. (+)*(+). +*+正确答案:2. 程序设计语言中大多数的语法现象可用homsky的()文法表示。
. 0型(短语结构文法). 1型(上下文有关文法). 2型(上下文无关文法). 3型(正规文法)正确答案:3. 一个文法产生的语言是指()。
. 从开始符号出发推导的所有符号串的集合. 所有终结符和非终结符形成的集合. 所有短语构成的集合. 该文法产生的句子的集合正确答案:4. ()是与规范归约(最左归约)互逆的一个过程。
. 最左推导. 最右推导. 词法分析. 语义分析正确答案:5. 源程序是句子的集合,()可以较好地反映句子的结构。
. 线性表. 树. 完全图. 堆栈正确答案:6. 表达式的类型检查工作在()_阶段进行。
. 语法分析. 词法分析. 语义分析. 优化正确答案:7. 编译器分析源程序时遇到的错误可分为语法错误和语义错误两类,()。
. 表达式中括号不匹配是语法错误,运算对象与运算符号不匹配是语义错误. 表达式中括号不匹配是语义错误,运算对象与运算符号不匹配是语法错误. 表达式中括号不匹配和运算对象与运算符号不匹配都是语法错误. 表达式中括号不匹配和运算对象与运算符号不匹配都是语义错误正确答案:8. 识别上下文无关语言的自动机是()。
. 下推自动机. NF. F. 图灵机正确答案:9. 一个句型中的最左()称为该句型的句柄。
. 短语. 直接短语. 非终结符号. 终结符号正确答案:10. 给定文法→|,()是该文法的句子。
. ().. ().正确答案:11. 为数组声明:rry[1..4,()0..3]中分配的存储空间的首地址为s_,且每个数组元素占据一个存储单元。
若以行为主存放,数组元素[3,1]在存储空间中相对s_的偏移量是()。
() . 8. 9. 10. 11正确答案:12. 生成中间代码所依据的是()。
编译技术习题1《编译技术》习题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、最左边的aB、最右边的aC、abD、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、abbcacC、abcD、acc2.(a|b)a+(ba)某与下面的哪些串匹配?()A、baB、bbaC、ababaD、aaE、建立符号表3.编译过程中,比较常见的中间语言有()。
A、波兰表示B、逆波兰表示C、三元式D、四元式4.根据优化所涉及的范围,可将优化分为()。
A、局部优化B、过程优化C、全局优化D、循环优化E、四元式优化5.编译程序的输出结果可以是()。
习题一1.1最早的计算机程序设计语言是机器语言(指令系统),机器语言中的指令都是用二进制代码直接表示的。
随后出现了符号语言和汇编语言等程序设计语言,它们比机器语言虽前进了一步,但仍属计算机低级语言,编写程序效率很低。
程序设计语言发展的第三阶段是计算机高级程序设计语言的诞生。
随着1954年第一种高级语言FORTRAN I语言的问世,计算机高级程序设计语言从此以后如雨后春笋,不断涌现。
作为高级程序设计语言的一种发展,目前流行的面向对象程序设计语言是对传统的面向过程程序设计语言的一种挑战。
1.4翻译有两种方式:一种是编译方式,另一种是解释方式。
编译方式是先将源程序翻译成汇编语言程序或机器语言程序(称为目标程序),然后再执行它。
它一般包括词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、代码优化程序、目标代码生成程序、表格处理程序和出错处理程序。
编译过程可由一遍或多遍完成。
和编译方式不同,解释方式并不先产生目标程序然后再执行之,而是对源程序边翻译边执行。
二者的根本区别在于是否生成目标代码,而不是是否进行翻译。
1.5编译程序包括以下主要组成部分:①词法分析程序(又称扫描器)。
依据语言词法规则,分析由字符组成的源程序,把它识别为一个一个具有独立意义的最小语法单位,即“单词”,并识别出与其相关的属性(如是标识符,是界限符,还是数,等等)以供其他部分使用。
②语法分析程序。
依据语言的语法规则,逐一地分析词法分析时得到的单词,以确定它们是怎样组成说明和语句的,以及说明和语句是怎样组成程序的。
分析时如发现有不合语法规则的地方,便把这些出错的地方及出错性质打印输出报告给程序员;如无语法错误,则以另一种内部表示(如语法分析树或其他中间表示)给出正确的语法结构,供下一阶段分析使用。
③语义分析和中间代码生成程序。
依据语言的语义规则对语法分析得到的语法结构进行静态语义检查(确定类型、类型和运算合法性检查、识别含义与相应的语义处理及其他一些静态语义检查),并用另一种内部形式表示出来,或者直接用目标语言表示出来。
秋北航《编译技术》在线作业一————————————————————————————————作者:————————————————————————————————日期:北航《编译技术》在线作业一试卷总分:100 测试时间:--单选题多选题判断题、单选题(共 14 道试题,共 56 分。
)1. 赋值语句X::=-(a+b)/(c-d)-(a+b*c)r的逆波兰表示是()。
A. Xab+cd-/-bc*a+-:=B. Xab+/cd--bc*a+--:=C. Xab+-cd-/abc*+-:=D. Xab+cd-/abc*+--:=满分:4 分2. 有限自动机有()个接受状态A. 只能一个B. 只能两个C. 只能三个D. 0个、一个或多个满分:4 分3. 在自下而上的语法分析方法中,分析的关键是()。
A. 寻找句柄B. 寻找句型C. 消除递归D. 选择候选式满分:4 分4. 规范规约是()。
A. 最左规约B. 最右规约C. 动态规约D. 静态规约满分:4 分5. 下面哪个文法是右递归的()A. A E→TE|TB. T→aTC. E→(E)D. E→a满分:4 分6. 类型转换时,整数到实数的转换称为()。
A. 截断B. 舍入C. 拓展D. 收缩满分:4 分7. 下面的优化项目中,不属于循环优化的是()。
A. 不变运算外提B. 削弱运算强度C. 消除归纳变量D. 合并已知运算满分:4 分8. 下面哪个文法是左递归的()。
A. E→E+T|TB. T→F*TC. E→(E)D. E→a满分:4 分9. 在编译时安排所有数据对象的存储单元的分配策略属于()。
A. 静态分配策略B. 动态分配策略C. 栈式分配策略D. 堆分配策略满分:4 分10. ()负责分析程序语法结构A. 扫描程序B. 语法分析程序C. 语义分析程序D. 代码生成程序满分:4 分11. 编译程序中语法分析器接收以()为单位的输入。
A. 单词B. 表达式C. 产生式D. 句子满分:4 分12. 若一个文法是递归的,则它所产生的句子个数()。
A. 必定是无穷的B. 是有限个的C. 根据具体情况而定D. 不确定满分:4 分13. 在LR分析法中,分析栈中存放的状态是识别规范句型()的DFA状态。
A. 句柄B. 前缀C. 活前缀D. LR(0)项目满分:4 分14. 语法分析属于编译器的()阶段。
A. 词法分析B. 语法分析C. 分析满分:4 分多选题1. 在如下上下文无关文法G中: stmt-sequence → stmt; stmt-sequence | stmt stmt → s 下面哪些是可以由该文法推导出的句型?()A. stmt; stmt-sequenceB. sC. s;sD. s;s;stmt满分:4 分2. 关于栈式分配,下面说法正确地是()。
A. 属于动态分配B. 属于静态分配C. 适用于可递归调用、具有分程序结构的语言D. 不适用于可递归调用语言满分:4 分3. 下面属于静态检查的是()。
A. 类型检查B. 控制流检查C. 唯一性检查D. 关联名字检查满分:4 分4. 下面哪些语言特征会影响存储分配策略?()A. 过程能否递归B. 当控制从过程的活动返回时,局部变量的值是否要保留C. 过程能否访问非局部变量D. 过程调用的参数传递方式满分:4 分判断题1. 优先关系表对应的优先函数,如果存在,一定唯一。
()A. 错误B. 正确满分:4 分2. 符号表管理和出错管理是编译过程中的两项重要工作。
()A. 错误B. 正确满分:4 分3. 文法二义并不代表语言一定是二义的。
只有当产生一个语言的所有文法都是二义的时,这个语言才是二义的。
()A. 错误B. 正确满分:4 分4. 仅考虑一个基本块,不能确定一个赋值是否真是无用的。
()A. 错误满分:4 分5. 每个文法的综合符合集和集成属性集的交应该为空。
()A. 错误B. 正确满分:4 分6. 把汇编语言程序翻译成机器可执行的目标程序的工作是由编译器完成的。
()A. 错误B. 正确满分:4 分7. 解释程序与编译程序的不同指出在于:它立即执行源程序而不是生成在翻译完成之后才执行的目标代码。
()A. 错误B. 正确满分:4 分北航《编译技术》在线作业一试卷总分:100 测试时间:--单选题多选题判断题、单选题(共 14 道试题,共 56 分。
)1. 赋值语句X::=-(a+b)/(c-d)-(a+b*c)r的逆波兰表示是()。
A. Xab+cd-/-bc*a+-:=B. Xab+/cd--bc*a+--:=C. Xab+-cd-/abc*+-:=D. Xab+cd-/abc*+--:=满分:4 分2. 有限自动机有()个接受状态A. 只能一个B. 只能两个C. 只能三个D. 0个、一个或多个满分:4 分3. 在自下而上的语法分析方法中,分析的关键是()。
A. 寻找句柄B. 寻找句型C. 消除递归D. 选择候选式满分:4 分4. 规范规约是()。
A. 最左规约B. 最右规约C. 动态规约D. 静态规约满分:4 分5. 下面哪个文法是右递归的()A. A E→TE|TB. T→aTC. E→(E)D. E→a满分:4 分6. 类型转换时,整数到实数的转换称为()。
A. 截断B. 舍入C. 拓展D. 收缩满分:4 分7. 下面的优化项目中,不属于循环优化的是()。
A. 不变运算外提B. 削弱运算强度C. 消除归纳变量D. 合并已知运算满分:4 分8. 下面哪个文法是左递归的()。
A. E→E+T|TB. T→F*TC. E→(E)D. E→a满分:4 分9. 在编译时安排所有数据对象的存储单元的分配策略属于()。
A. 静态分配策略B. 动态分配策略C. 栈式分配策略D. 堆分配策略满分:4 分10. ()负责分析程序语法结构A. 扫描程序B. 语法分析程序C. 语义分析程序D. 代码生成程序满分:4 分11. 编译程序中语法分析器接收以()为单位的输入。
A. 单词B. 表达式C. 产生式D. 句子满分:4 分12. 若一个文法是递归的,则它所产生的句子个数()。
A. 必定是无穷的B. 是有限个的C. 根据具体情况而定D. 不确定满分:4 分13. 在LR分析法中,分析栈中存放的状态是识别规范句型()的DFA状态。
A. 句柄B. 前缀C. 活前缀D. LR(0)项目满分:4 分14. 语法分析属于编译器的()阶段。
A. 词法分析B. 语法分析C. 分析D. 综合满分:4 分多选题1. 在如下上下文无关文法G中: stmt-sequence → stmt; stmt-sequence | stmt stmt →s 下面哪些是可以由该文法推导出的句型?()A. stmt; stmt-sequenceB. sC. s;sD. s;s;stmt满分:4 分2. 关于栈式分配,下面说法正确地是()。
A. 属于动态分配B. 属于静态分配C. 适用于可递归调用、具有分程序结构的语言D. 不适用于可递归调用语言满分:4 分3. 下面属于静态检查的是()。
A. 类型检查B. 控制流检查C. 唯一性检查D. 关联名字检查满分:4 分4. 下面哪些语言特征会影响存储分配策略?()A. 过程能否递归B. 当控制从过程的活动返回时,局部变量的值是否要保留C. 过程能否访问非局部变量D. 过程调用的参数传递方式满分:4 分判断题1. 优先关系表对应的优先函数,如果存在,一定唯一。
()A. 错误B. 正确满分:4 分2. 符号表管理和出错管理是编译过程中的两项重要工作。
()A. 错误B. 正确满分:4 分3. 文法二义并不代表语言一定是二义的。
只有当产生一个语言的所有文法都是二义的时,这个语言才是二义的。
()A. 错误B. 正确满分:4 分4. 仅考虑一个基本块,不能确定一个赋值是否真是无用的。
()A. 错误B. 正确满分:4 分5. 每个文法的综合符合集和集成属性集的交应该为空。
()A. 错误B. 正确满分:4 分6. 把汇编语言程序翻译成机器可执行的目标程序的工作是由编译器完成的。
()A. 错误B. 正确满分:4 分7. 解释程序与编译程序的不同指出在于:它立即执行源程序而不是生成在翻译完成之后才执行的目标代码。
()A. 错误B. 正确满分:4 分。