东北大学17秋《编译方法》在线作业123标准答案参考
2017秋学期《编译方法》在线作业1一、单选题:【14道,总分:70分】
1.通常,正规式包含如下三种运算:( ). (满分:5)
A. 连接, 或, 方幂 B. 连接, 方幂, 闭包
C. 连接, 或, 闭包2.设下述文法G(Z):Z -> aBAd A -> bc | cB -> bB | c 下面的 LR( )分析表, 哪一个是正确的?(1) (2) (满分:5)
A.(1) B.(2)
3.代码优化的主要目标是( ).(1)如何提高目标程序的运行速度(2)如何减少目标程序运行所需的空间(3)如何协调(1)和(2)(4)如何是生成的目标代码尽可能简短 (满分:5)
A.(1),(2)
B.(1),(2),(3)
C.(1),(2),(4)
D.(1),(2),(3),(4)
4.语法制导翻译技术的核心问题是( ). (满分:5)
A. 语法分析技术 +语义分析技术
B. 语法分析技术 +翻译文法构造
C. 词法分析技术 +翻译文法构造
D. 词法分析技术 +语义分析技术
5.编译程序生成的目标程序( )是机器语言的程序. (满分:5)
A. 一定
B. 不一定
6.已知文法G(E):E -> TE'E'-> +TE'|εT -> FT'T'-> *FT'|ε F -> id|(E)(1) FIRST(TE')=( )A. {(, id} B. {S, id} C. {*,)} D. {+, *}(2) FOLLOW(E)=( )A. {), +} B. {(, )} C. {#, )} D. {), *} (满分:5)
A.A , B
B.B , C
C.C , D
D.A , C
7.填写下面文法 G(S)的 SELECT 集 ,并回答是否是 LL(1) 文法: G(S): S -> a A b(1) | d S(2)A -> a A(3) | ε (4)SELECT(①)={ } , SELECT(②)={ } , SELECT(③)={ }, SELECT(④)={ } (满分:5)
A.a, d, a, b, 不是
B.a, d, a, b, 是
C.a, a, d, b, 不是
D.a,b, a, b, 是
8.给定一个文法G, 如果L(G)中存在一个具有两棵或两棵以上分析树的句子, 则称G是( ). (满分:5)
A. 递归文法
B. 二义性文法
9.如果从一个类型转换到另一类型可以由编译器自动完成,这样的转换称为( )转换。 (满分:5)
A. 隐式
B. 显式
C. 自动
D.
10.当过程名出现在可执行语句中时, 就说过程在该点被( ). (满分:5)
A. 引用
B. 调用
C. 使用
D. 执行
11.已知语言L={anbbn|n>=1}, 则下述文法( )可以产生语言L. (满分:5)
A. Z -> aZb|aAb|b A -> aAb|b
B. A -> aAbA -> b
C. Z -> AbB A -> aA|a B -> bB|b
D. Z -> aAb A -> aAb|b
12.一个声明起作用的那部分程序称为该声明的( ). (满分:5)
A. 主体
B. 函数
C. 标识
D. 作用域
13.使用解释程序时,在程序未执行完的情况下,( )重新执行已执行的部分。 (满分:5)
A. 也能
B. 不能
14.基本块是指( ). (满分:5)
A. 一个子程序
B. 一个仅有一个入口和一个出口的语句
C. 一个没有嵌套的程序段
D. 一组顺序执行的程序段, 仅有一个入口和一个出口
二、判断题:【5道,总分:25分】
1.下述循环语句的四元式序列是否正确? while( x(1)( wh)(2)( (3)( do t1)(4)( * 3 x t2 )(5)( := t2y) (6)( we ) (满分:5)
A. 错误
B. 正确
2.根据算术表达式的常数合并优化算法,优化后的四元式序列是否正确? (满分:5)
A. 错误
B. 正确
3.下面基本块内优化的 DAG 图,及其重组的四元式序列正确吗? ※ 重组后的四元式:(1)( := 5 x) (2)( := 10a)(3)( /ab t2 )(4)( + t2 c y ) (满分:5)
A. 错误
B. 正确
4.优化处理是指为提高目标代码质量所作的工作; (满分:5)
A. 错误
B. 正确
5.已知下述 pascal 程序片段和符号表如下: procedure lex ; var a:real; begin a:=5 end;下列Token表示:lex( i , i2 ) ,var( k , k2 ) ,:( p , p2 ), 5( c, c1 ) (满分:5)
A. 错误
B. 正确
三、多选题:【1道,总分:5分】
1.常用的中间语言有以下几种:( ). (满分:5)
A. 四元式
B. 表达式
C. 语义树
D. 三元式
E. 逆波兰式
F. 语法树
2017秋学期《编译方法》在线作业2
一、单选题:【14道,总分:70分】
1.求下述有限自动机 FA 所定义的语言: (满分:5)
A. L(FA)={ abm,cbn|m>=1,n>=0 };
B. L(FA)={ abm,cbn|m>=0,n>=0 };
C. L(FA)={ abm,c|m>=1};
2.当过程名出现在可执行语句中时, 就说过程在该点被( ). (满分:5)
A. 引用
B. 调用
C. 使用
D. 执行
3.编译程序中的语法分析器接受以( )为单位的输入, 并产生有关信息供以后各阶段使用. (满分:5)
A. 表达式
B. 产生式
C. 单词
D. 语句
4.设有文法G1:E-> -EEE -> -EE -> a|b|c 则文法的句子 –a-bc 可能的语法树有( )棵. (满分:5)
A. 1
B. 3
C. 5
5.ab3的另一种表示方式是( ). (满分:5)
A. abbb
B. ababab
C. abbaab
D. aaabbb
6.下面的文法G( )二义文法. E -> EiT|T T -> T+F|iF|F F -> E*|( (满分:5)
A. 是
B. 不是
C. 无法判定
7.编译程序是一种常用的( )软件. (满分:5)
A. 应用
B. 系统
8.每棵语法树都有( )与之对应的最左推导. (满分:5)
A. 0个
B. 1个
C. 2个
D. 不能确定
9.常值表达式节省的目的是( ). (满分:5)
A. 使表达式中的常量尽可能少
B. 使表达式尽可能简短
C. 将可在编译时刻计算的常量运算, 在编译时刻计算出来, 用其值替换表达式中出现的所有这种常量运算, 使其生成的代码指令尽可能少
10.编译程序生成的目标程序( )是机器语言的程序. (满分:5)
A. 一定
B. 不一定
11.在形式语言理论中,语言被看成是( ). (满分:5)
A. 符号串的集合
B. 规则的集合
C. 文法的集合
12.设有下述文法 G(S): S ->a b A(1) | b S d(2) A ->a A(3)| ε(4)下面的 LL(1) 分析表哪一个是正确的?(1) (2) (3) (满分:5)
A.(1)
B.(2)
C.(3)
13.编译过程中, 语法分析器的任务是( ).(1) 分析单词是怎样构成的(2) 分析单词串是如何构成语句和说明的(3) 分析语句和说明是如何构成程序的(4) 分析程序的结构 (满分:5)
A.(2)和(3)
B.(4)
C.(2),(3),(4)
D.(1),(2),(3),(4)
14.代码优化的主要目标是( ).(1)如何提高目标程序的运行速度(2)如何减少目标程序运行所需的空间(3)如何协调(1)和(2)(4)如何是生成的目标代码尽可能简短 (满分:5)
A.(1),(2)
B.(1),(2),(3)
C.(1),(2),(4)
D.(1),(2),(3),(4)
二、判断题:【5道,总分:25分】
1.设有过程说明:PROCEDURE sem( x:integer ); CONSTinum=20; TYPEatype=ARRAY OF ARRAY OF real; VAR a,b : atype ; 下面符号表的相应内容是否正确? (满分:5)
A. 错误
B. 正确
2.一个文法G(Z)若存在推导序列Z …Z…, 则称G(Z)是二义性文法, 这类文法所产生的句子有有限个; (满分:5)
A. 错误
B. 正确
3.TOKEN 是词法分析中单词的一种机内数据结构表示, 其结构是{类,值}. (满分:5)
A. 错误
B. 正确
4.已知下述 c 程序片段和给定的符号表如下, main( ) { int a ,b ; b=2*a+5 ;} TOKEN表示:int( k , k2 ) , b( i , i2) ,5( c , c2 ) (满分:5)
A. 错误
B. 正确
5.语法分析方法分两类:(1) 自顶向下分析;(2) 自底向上分析; (满分:5)
A. 错误
B. 正确
三、多选题:【1道,总分:5分】
1.标识符的符号表内容(语义信息)主要有:( ). (满分:5)
A. 名字
B. 状态
C. 类型
D. 种类
E. 作用域
F. 地址
2017秋学期《编译方法》在线作业3
一、单选题:【14道,总分:70分】
1.填写下面文法 G(S)的 SELECT 集 ,并回答是否是 LL(1) 文法: G(S): S -> a A b(1) | d S(2)A -> a A(3) | ε (4)SELECT(①)={ } , SELECT(②)={ } , SELECT(③)={ }, SELECT(④)={ } (满分:5)
A.a, d, a, b, 不是
B.a, d, a, b, 是
C.a, a, d, b, 不是
D.a,b, a, b, 是
2.基本块是指( ). (满分:5)
A. 一个子程序
B. 一个仅有一个入口和一个出口的语句
C. 一个没有嵌套的程序段
D. 一组顺序执行的程序段, 仅有一个入口和一个出口
3.使用解释程序时,在程序未执行完的情况下,( )重新执行已执行的部分。 (满分:5)
A. 也能
B. 不能
4.当过程名出现在可执行语句中时, 就说过程在该点被( ). (满分:5)
A. 引用
B. 调用
C. 使用
D. 执行
5.文法G所描述的语言是( )的集合. (满分:5)
A. 文法G的字符表∑中所有符号组成的符号串
B. 文法G的字符表∑的闭包∑*中的所有符号串
C. 由文法的开始符号推出的所有符号串
D. 由文法的开始符号推出的所有终结符号串
6.基本块上的四元式序列如下所示( 除 Ti 外每个变量皆为基本块出口的活跃变量 ),试补充完整单寄存器下目标代码的指令: (满分:5)
A. ③ ST R0,T1 ④ MUL R0,A
B. ③LD R0,A ④ MUL R0,T1
7.通常,正规式包含如下三种运算:( ). (满分:5)
A. 连接, 或, 方幂
B. 连接, 方幂, 闭包
C. 连接, 或, 闭包
8.每棵语法树都有( )与之对应的最左推导. (满分:5)
A. 0个
B. 1个
C. 2个
D. 不能确定
9.设有下述文法 G(S): S ->a b A(1) | b S d(2) A ->a A(3)| ε(4)下面的 LL(1) 分析表哪一个是正确的?(1) (2) (3) (满分:5)
A.(1)
B.(2)
C.(3)
10.编译程序中的语法分析器接受以( )为单位的输入, 并产生有关信息供以后各阶段使用. (满分:5)
A. 表达式
B. 产生式
C. 单词
D. 语句
11.编译程序结构中,主要包含如下几个模块:( )。 (满分:5)
A. 词法分析,语法分析,语义分析,符号表管理,目标代码生成
B. 词法分析,语法分析,语义分析,优化,目标代码生成
C. 词法分析,语法分析,自底向上分析,优化,目标代码生成
12.下面的文法G( )二义文法. E -> EiT|T T -> T+F|iF|F F -> E*|( (满分:5)
A. 是
B. 不是
C. 无法判定
13.指出下述自动机(FA)所定义的字符串集合和正规式: (满分:5)
A. L(FA)={abnc, bnc, b|n>=1}; e = ab*c|b*c|b
B. L(FA)={abnc,b|n>=0}; e = ab*c|b
C. L(FA)={abnc, bnc, b|n>=0}; e = ab*c|b*c|b
14.已知文法G(E):E -> TE'E'-> +TE'|εT -> FT'T'-> *FT'|ε F -> id|(E)(1) FIRST(TE')=( )A. {(, id} B. {S, id} C. {*,)} D. {+, *}(2) FOLLOW(E)=( )A. {), +} B. {(, )} C. {#, )} D. {), *} (满分:5)
A.A , B
B.B , C
C.C , D
D.A , C
二、判断题:【5道,总分:25分】
1.过程的一次执行所需要的信息用一块连续的存储区域来管理,这块存储区叫做符号表。 (满分:5)
A. 错误
B. 正确
2.文法是用于定义语言的,它可用如下四元组描述: G(Z)=( VN , VT , Z , p ), 其中: Z 称为文法的结束符号; (满分:5)
A. 错误
B. 正确
3.根据公共表达式节省优化算法,填写下列优化后的四元式序列: (满分:5)
A. 错误
B. 正确
4.已知上下文无关文法为 G(S)=( Vn , Vt ,S , P ), 则:① 若有 S α;那么称α是句型; ② 若有 S α 且 α∈Vt*; 那么称α是句子 ; (满分:5)
A. 错误
B. 正确
5.下面基本块内优化的 DAG 图,及其重组的四元式序列正确吗? ※ 重组后的四元式:(1)( := 5 x) (2)( := 10a)(3)( /ab t2 )(4)( + t2 c y ) (满分:5)
A. 错误
B. 正确
三、多选题:【1道,总分:5分】
1.目标代码生成算法中,寄存器分配的三原则是:( ); (满分:5)
A. 主动释放
B. 选空闲者释放
C. 顺序释放
D. 强迫释放
E. 提前释放
页:
[1]