西安交通大学课程考试复习资料
单选题
1.有文法G=({S},{a},{S→SaS,S→ε},S),该文法是( )。
A.LL(1)文法 B.二义性文法 C.算符优先文法 D.SLR(1)文法; 答案: B
2.正规表达式(ε|a|b)2表示的集合是( )
A.{ε,ab,ba,aa,bb} B.{ab,ba,aa,bb}
C.{a,b,ab,aa,ba,bb} D.{ε,a,b,aa,bb,ab,ba} 答案: D
3.以( )作为输出,允许自程序单独编译。
A.绝对机器代码
B.可再定位机器语言 C.汇编语言程序 D.中间语言 答案: B
4.Fortran语言的编译程序采用( )分配策略。
A.静态 B.最佳
C.堆式动态 D.栈式动态 答案: A
5.两个不同过程的活动,其生存期是( )。
A.重叠的,不嵌套的 B.不重叠的,嵌套的 C.重叠的,嵌套的 D.不重叠的,不嵌套的 答案: B
6.表达式作为实在参数可以传递给被调用的过程,替换过程体中的( )。
A.局部变量 B.形式参数 C.全局变量 D.实在参数 答案: B
7.编译程序使用( )区别标识符的作用域。
A.说明标识符的过程或函数名
B.说明标识符的过程或函数的静态层次 C.说明标识符的过程或函数的动态层次 D.标识符的行号 答案: B
8.表达式-a+b*(-c+d)的逆波兰式是( )。
A.ab+-cd+-* B.a-b+c-d+* C.a-b+c-d+* D.a-bc-d+*+ 答案: D
9.使用三元式是为了( )。
A.便于代码优化处理
B.避免把临时变量填入符号表 C.节省存储代码的空间 D.提高访问代码的速度 答案: B
10.为了便于优化处理,三地址代码可以表示成( )。
A.三元式 B.四元式 C.后缀式 D.间接三元式 答案: D
11.布尔表达式计算时可以采用某种优化措施,比如A and B用if-then-else可解释为( )。
A.if A then true else B B.if A then B else false; C.if A then false else true; D.if A then true else false; 答案: B
12.对应于产生式A→XY继承属性Y.y的属性计算,可能正确的语义规则是( )。
A.A.a:=f(X.x,Y.y) B.Y.y:=f(A.a,Y.y) C.Y.y:=f(X.x) D.A.a:=f(Y.y); 答案: C
13.有文法G=({S},{a},{S→SaS,S→ε},S),该文法是( )。
A.LL(1)文法 B.二义性文法 C.算符优先文法 D.SLR(1)文法; 答案: B
14.算符优先分析法每次都是对( )进行归约:
A.句柄
B.最左素短语 C.素短语 D.简单短语 答案: B