秋北航《编译技术》在线作业一
北航14秋《汇编语言》在线作业一答案

北航《汇编语言》在线作业一单选题判断题一、单选题(共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分,每题答案完全一样得满分,少选、多选、错选均不得分。
大工19秋《编译原理基础》在线作业1答卷

试卷总分:100 得分:100
一、判断题 (共 15 道试题,共 75 分)
NFA可以用带标记的有向图表示,即状态转换图,结点表示状态,有标记的边代表转换函数。
答案:正确
确定的有限自动机从任何状态出发,对于任何输入符号,最多只有一个转换。
答案:正确
A.规范归约
B.最左推导
C.最左归约
D.从左到右识别输入串
答案:D
推导的意思是把产生式看成重写规则,把符号串中的非终结符用其产生式右部的串来代替。
答案:正确
最左推导又称规范推导。
答案:错误
分析树是推导的图形表示。
答案:正确
分析树的叶结点由非终结符或终结符标记,所有这些标记从左到右构成一个句型。
答案:正确
一个文法,如果存在某个句子有不止一棵分析树与之对应,那么称这个文法是二义的。
正规式M1和M2等价是指( )。
A.M1和M2的状态数相等
B.M1和M2的有向边条数相等
C.M1和M2状态数和有向边条数相等
D.M1和M2所识别的语言集相等
答案:D
设有文法G[S]:S→S1|S0|Sa|Sc|a|b|c,下列符号串中( )不是该文法的句子。
A.bc10
B.ab0
每一个正规集都可以由一个状态数最少的DFA识别,这个DFA是唯一的。
答案:正确
自下而上分析器按从根结点到叶结点的次序来建立分析树。
答案:错误
最有效的自上而下和自下而上的分析法都只能处理上下文无关文法的子类。 答 Nhomakorabea:正确
正规式只能表示给定结构的固定次数的重复或者不指定次数的重复。
【在线】17春北航《编译技术》在线作业二

一、单选题(共 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是该文法的一个句型,并指出该句型的所有短语、直接短语和句柄。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
秋北航《编译技术》在线作业一————————————————————————————————作者:————————————————————————————————日期:北航《编译技术》在线作业一试卷总分: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 分。