python
答案根据
夸克,gemini-2.5-pro,Claude3.7,AUGMENT
等模型深度思考得出答案

单选题

1、给定属性文法G(P)如下:
则对该文法属性的分类正确的是()。
D.综合属性:R.a,R.d,Q.a; 继承属性:R.b,R.C
2、假设 t:=ab是循环不变计算,且没有副作用(如抛出异常),则下列TAC序列中,()中的t=a@b可以外
提。
C.L0:t:=0
L1:
if i>= N goto L2i:=i+ 1t := aФbM{] := tgoto L1
L2:
X := t

3、在运行时,程序代码,静数数据,堆区,栈区各自所在地址空间从低到高的顺序是()
C.程序代码,静态数据区,堆区,栈区
4、在属性文法中,终结符可以具有()属性。
B.综合属性
5、有文法及其语法制的翻译如下:
E'→E {print(E.val)}E→E ⓍT {E.val= E.val T.val}E→T {E.val = T.val}T→T on {Tval= T .val + n}T→n {Tval = n}
注:语义中的
/+运算符为常规意义下的算术运算符,Φ,8为文法的运算符,n为整型数字字面量。
分析句子:283@4输出结果为()。
C.14
6、首先提出属性文法(Attributed Grammar)概念的学者是()
D. Donald Knuth
7、文法G[S]的语法制导的翻译定义如下
B.2

判断题

对的
1、S-属性文法只含有综合属性
4、栈从高地址向低地址增长,而堆从低地址向高地址增长
5、S-属性文法一定也是L-属性文法。
6、数组总是从低地址向高地址的方向依次连续存储,其第一个元素的地址最小(低)。
10、在连通的流图中,如果d是n的必经结点,e也是n的必经结点,则一定有d是e的必经结点或e是d的必经结点
11、一遍扫描的翻译模式和语法分析配合,能够一遍扫描(没有语法错误的单词流)完成语法分析和中间代码生成。
错的
2、数组元素地址计算的代码翻译与数组的存储方式(行存列存)没有关系
3、L-属性文法只含继承属性
7、程序运行时,全局变量分配在高地址,局部变量分配在低地址。
8、函数P调用函数Q,则在Q运行期间,Q的栈帧位于比P的栈帧地址更高的地址空间。
9、在属性文法中,对于每个产生式,必须在语义计算规则中给出该产生式中所有符号的所有属性的计算规则。
12、采用自底向上一遍扫描的翻译模式,在扫描完一个布尔表达式后,该布尔表达式对应的中间代码已经完整生成,后续扫描无需回头处理其对应的中间代码。
13、在语法树中,一个结点的继承属性只能依赖于其父结点。

多选题

1、将中间代码(出口处z是活跃的)
上述转换过程采用了哪些优化技术?
A. 强度削弱
B.死代码删除
D.公共子表达式删除

2、以下C语言程序片段:
上述翻译过程中采用了什么优化方法?
A.循环不变计算外提
C.循环基本归纳变量删除
D.循环归纳变量强度削弱

3、与赋值语句a:=b(-c)+b(-c)等价的中间代码有()
A.有向无环图
B.三址码:
(1)t1=-C
(2)t2=b*t1
(3)t3=t2+t2
(4)a=t3