作业答案 发表于 2017-9-10 17:58:52

东北大学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]
查看完整版本: 东北大学17秋《编译方法》在线作业123标准答案参考