全部来自 AI 原创生成并经逐题审校的题目,带 精品 标记的为 AI 复审通过。整卷生成请去组卷。
按以下语法制导定义生成三地址代码:E→E₁+T:E.place 为新临时变量,输出 E₁.place、T.place 与 E.place 的加法指令;E→T:E.place=T.place;T→T₁*F:T.place 为新临时变量,输出 T₁.place、F.place 与 T.place 的乘法指令;T→F:T.place=F.place;F→(E):F.place=E.place;F→id:F.place 为该标识符。临时变量按生成顺序命名为 t₁、t₂……。翻译 a+(b*c) 时,最后一条三地址指令的完整文本是____。
登录后查看答案
某语言中,a 的类型为 int,b 的类型为 bool,c 的类型为 real。类型检查规则:int 可隐式转换为 real,real 不可隐式转换为 int;逻辑运算符“且”要求两个操作数均为 bool 类型;条件表达式 if(E) x else y 要求 E 为 bool 类型,且 x、y 类型一致。设有声明 int x; real y;,则语句 if(a 且 c) x else y 通过类型检查。
判断题:某编译程序在处理嵌套分程序结构时,将符号表组织为栈式结构,每进入一个内层分程序就建立一张新表并压栈,退出时弹栈。已知在当前分程序中查找标识符时,若本层查不到,则沿栈向更外层的表继续查找。有同学据此认为:既然退出分程序时该层表已弹栈销毁,那么在内层分程序中允许引用外层声明的同名标识符,等价于允许在内层重新声明该标识符并修改其属性,因为查找总会命中内层新声明的那个。该观点是否正确?
给定文法 S → a A b,A → x A y | #。采用语法制导定义:产生式 S → a A b 的语义规则为 S.val = A.val;产生式 A → x A₁ y 的语义规则为 A.val = A₁.val || "xy";产生式 A → # 的语义规则为 A.val = "#",其中 || 表示字符串连接。对输入串 axx#yyb,自底向上归约时,根结点 S.val 为 ____。
某编译器采用栈式(分层)符号表管理,进入新作用域时建新表并压栈,退出时弹栈;同名条目内层屏蔽外层。程序片段依次发生如下事件:①进入函数 f 的作用域,声明变量 x 为 integer,数组 a 为 real;②进入复合语句 S1 的作用域,声明变量 x 为 real;③在 S1 内对 x 进行一次引用(登记该引用所绑定的声明);④退出 S1;⑤进入复合语句 S2 的作用域,声明变量 y 为 integer;⑥在 S2 内对 x 和 a 各进行一次引用。问:第③步中 x 的引用绑定到的类型,以及第⑥步结束时符号表栈顶(S2 的表)中的条目个数,依次为( ) A. real,1 B. real,2 C. integer,1 D. integer,2
判断:四元式 (+, m, n, t₁) 表示的三地址码是 m = n + t₁。
某语言中,n 的类型为 int,r 的类型为 real,b 的类型为 bool。类型检查规则为:int 可隐式转换为 real;“+”要求两个操作数均为数值类型,结果取二者中较宽的数值类型;“<”要求两个操作数均为数值类型,结果为 bool;“&&”要求两个操作数均为 bool。以下哪个表达式通过类型检查? A. (n + r) < r && b B. n + b < r && b C. (n < r) + b D. (r < n) && n
给定增广文法 S′→S,S→L=R | R,L→*R | id,R→L。关于该文法的 LR(0)、SLR(1) 与 LALR(1) 分析表,哪项结论正确? A. LR(0) 无冲突,SLR(1) 有冲突,LALR(1) 无冲突 B. LR(0) 有冲突,SLR(1) 无冲突,LALR(1) 有冲突 C. LR(0) 与 SLR(1) 均有冲突,LALR(1) 无冲突 D. 三种分析表均无冲突
给定文法(开始符号为 S):S→L=R | R;L→*R | id;R→L。对其增广后,以下哪项准确描述该文法的分析能力? A. 是 LR(0) 文法 B. 不是 LR(0) 文法,但属于 SLR(1) 文法 C. 不是 SLR(1) 文法,但属于 LALR(1) 文法 D. 不是 LALR(1) 文法
在四元式 (运算符, 运算对象1, 运算对象2, 结果) 中,四元式 (−, a, b, t1) 所表达的三地址码是: A. t1 = a − b B. a − b = t1 C. t1 = b − a D. a = t1 − b
设文法 G:S → if C then S | if C then S else S | a,其中 C 和 a 为终结符。该文法是二义性文法。若规定 else 与其前面最近的未匹配的 then 配对(最近匹配原则),则消除二义性后的等价文法中,须将 S 拆分为两个非终结符:M 表示'完整条件语句',U 表示'不完整条件语句'(即无 else 部分的语句)。已知改写后产生式集为:M → if C then M else M | if C then U else M | a;U → if C then M | if C then U | a。则该文法共有____条产生式;按最近匹配原则,语句'if C then if C then a else a'中 else 应与____个 then 配对。
给定文法,S 为开始符号,a、b、c、d 为终结符,ε 为空串:S→ABc | d;A→aA | ε;B→bB | C;C→cC | ε。按通常定义,求 (FIRST(S), FOLLOW(A), FOLLOW(B), FOLLOW(C)) = ____。
设NFA M:状态集{s0,s1,s2},输入字母表{a,b},初态s0,接受态s2,转移函数δ为:δ(s0,a)={s0,s1},δ(s0,b)=∅,δ(s1,a)=∅,δ(s1,b)={s2},δ(s2,a)={s2},δ(s2,b)={s2}。用子集法将M确定化,问等价DFA中从初态出发可达的状态(含死状态∅)共有多少个? A. 3 B. 4 C. 5 D. 6
已知文法 S→aSb | ε。下列哪一项是该文法生成 aabb 的最左推导? A. S⇒aSb⇒aaSbb⇒aabb B. S⇒ε⇒aabb C. S⇒aSb⇒aaSbb⇒aaabbb D. S⇒aSb⇒ab
完全 DFA 的状态集为 {A,B,C,D,E},初态为 A,终态集为 {E},字母表为 {0,1}。转移为:A 读 0 到 C、读 1 到 B;B 读 0 到 C、读 1 到 A;C 读 0 到 D、读 1 到 A;D 读 0 到 E、读 1 到 A;E 读 0 到 E、读 1 到 A。判断:该 DFA 最小化后仍有 5 个状态,因为 A 与 B 在输入 1 下转移到不同状态。
判断:对于一个NFA,某个状态在某输入符号下的转移可以为空(即δ无定义),但将其确定化为等价的DFA后,DFA的每个状态在任何输入符号下都必须恰好有一个后继状态(死状态也算有后继)。
某编程环境提供两种运行选项:选项P在用户每次运行程序时,都需要同时对源程序进行翻译并立即执行各条语句;选项Q在首次运行前将整个源程序一次性翻译成等价的目标程序并保存,之后每次运行都直接执行该目标程序,不再涉及源程序。某程序会被多次运行且频繁修改的情况较少,用户希望选择运行开销更小、且源程序内容对最终使用者保密的选项。按编译与解释的区别判断,该用户应选择的选项是____,其主要理由是:编译方式生成的目标程序可脱离源程序____执行(填「独立」或「非独立」),且多次运行时无需重复____阶段。
判断题:某高校开发智能评优系统,训练数据取自近十年各院系上报的评优记录,而历史上理工科学院的推荐名额远多于文科学院。系统设计者认为:由于模型只是忠实学习并拟合了训练数据中的分布规律,只要模型本身算法正确、预测准确率高,其输出结果就不存在算法偏见问题。即使训练数据本身含有结构性偏差,这种偏差也会随着模型训练而被自然消除,不会在输出中被继承或放大。
某住房补贴机构训练模型预测申请人是否符合补贴条件。训练样本主要来自过去审核较严格的地区,且模型未使用申请人的族群信息,却保留了与居住区域高度相关的邮政编码;上线后,某些群体被判为不符合条件的比例明显偏高。按题干所述原因,造成这一现象的两个偏见来源依次是:训练样本的代表性不足属于____,保留邮政编码作为相关特征属于____。
某企业拟发布用户消费数据集。其方案是:仅对最终统计结果加入噪声使其满足差分隐私,而每条原始记录仍完整保留用户姓名与精确位置。负责人据此宣称:由于发布内容满足差分隐私,原始数据的匿名化处理已不再必要,个体隐私已得到完全保护。请判断这一说法是否正确。