收藏 分销(赏)

编译原理样题(含答案).doc

上传人:xrp****65 文档编号:7227105 上传时间:2024-12-28 格式:DOC 页数:8 大小:114KB 下载积分:10 金币
下载 相关 举报
编译原理样题(含答案).doc_第1页
第1页 / 共8页
编译原理样题(含答案).doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
编译原理试题 计算机学院_____级 班 学号 姓名 题号 一 二 三 四 五 六 七 八 九 十 总分 满分 得分 一 选择题 1、编译原理各阶段工作都涉及 (第1章): A.词法分析 B.表格管理 C.语法分析 D.语义分析 2、正则表达式R1和R2等价是指 (第4章) A.R1和R2都是定义在一个字母表上的正则表达式 B.R1和R2中使用的运算符相同 C.R1和R2代表同一正则集 D.R1和R2代表不同正则集 3、在以下的语法分析中, 特别适合于表达式的分析。(第5,6,7章) A.LR分析 B.LL(1)分析 C.递归下降分析 D.算符优先分析 4、与(a|b)*(a|b)等价的正规式是 。(第4章) A.a*| b* B.(ab)*(a|b) C.(a|b)(a|b)* D.(a|b)* 5、在语法制导翻译中不采用拉链回填技术的语句是 。(第8章) A.跳转语句 B.赋值语句 C.条件语句 D.循环语句 6、在属性文法中,终结符只具有 属性。(第8章) A.传递 B.继承 C.抽象 D.综合 7、过程的Display表中记录了_ _____。(第10章) A. 过程的连结数据 B. 过程的嵌套层数 C. 过程的返回地址 D. 过程的入口地址 二 判断题 1、最左归约也称为规范归约。(第3章) 2、逆波兰法表示的表达式把运算对象放在运算符的后面。(第8章) 3、同心集的合并有可能产生“归约/归约”冲突。(第7章) 4、DFA可以通过多条路径识别一个符号串。(第4章) 5、动态数组的存储空间在编译时就可完全确定。(第10章) 三 填空题 1、词法分析所依循的是语言的 ;而中间代码生成所依循的是 。(第4,8章) 2、在LR(0)分析法中,若a,βÎV*且aÎ则称“S ®a.A”为    项目,称“S ®a.aβ”为    项目。(第7章) 3、规范规约每次规约的是句型的______________。 (第6章) 4、无符号常数的识别和计算该常数的工作,通常在____________阶段完成的。(第4章) 四、设字母表为{a,b}的语言L的句子是满足下述条件的串:每个a都有b直接跟在右边。构造该语言的正则式。(第4章) 五、将下图的NFA确定化为DFA,图中初态为X,终态为Y。(第4章) + 六、写一个2型文法G,使得L(G)={ai+2bi|i>=0}∪{aibi+2|i>=0}。(第3章) 七、设文法G(S):(第5章)    S → S+aF|aF|+aF    F → *aF|*a (1)消除左递归和左因子; (2)构造相应的FIRST和FOLLOW集合; (3)构造预测分析表。 八、对文法G[S]:S → aSb | P (第6章) P → bPc | bQc Q → Qa | a 请构造简单优先关系表,该文法是否是简单优先文法? 九、设有以下程序段(第10章) program main; var a,b:integer; procedure p(x,y,z:integer); begin y:=y*2; z:=z+x end; begin a:=5; b:=2; p(a*b,a,a); write(a) end. 对于下列参数传递方式,分别写出执行程序后a的输出值。 (1)传值; (2)传地址; (3)值结果; (4)传名。 十、文法G[S]及其LR分析表如下,请给出对串dada#的分析过程。(第7章)    G[S]: 1) S →VdB    2) V →e       3) V →ε      4) B →a       5) B →Bda     6) B →ε 状态 ACTION GOTO d e a # S B V 0 r3 S3     1   2 1       acc       2 S4             3 r2             4 r6   S5 r6   6   5 r4     r4       6 S7     r1       7     S8         8 r5     r5       十一、试将下述程序段翻译成三地址形式的中间代码表示。(第8章) while ( a+b<c OR a=b ) while ( a<5 AND b<10 ) { a=a+1; b=b+1; } } 十二、将下面程序划分为基本块,并画出其程序流图。 read(A,B) F:=1 C:=A*A D:=B*B if C<D goto L1 E:=A*A F:=F+1 E:=E+F write(E) halt L1: E:=B*B F:=F+2 E:=E+F write(E) if E>100 goto L2 halt L2: F:=F-1 goto L1 十三、对PL/0语言扩充单词-=和--: (第2章) 请完成下列识别单词‘-’,‘-=’和‘--’(设单词内码分别为MINUS,MINUSBECOME和MINUSMINUS)的词法分析算法: if ( CH=='-' ) { ① ; if ( ② ) { SYM=MINUSBECOME; GetCh(); } else if ( CH=='-' ) { ③ } else ④ } 答案 一 选择题 b,c,d,c,b,d,b 二 判断题 √×√×× 三 填空题 1、文法   语义 2、待约项目 移进项目 3、句柄 4、词法 四 (b|ab)* 五 解:用子集法确定化如下表 I Ia Ib 状态 {X,0,1,3} {0,1,3}.. {2,3,Y}.. {1,3}.... {2,Y}.... {Y}.... {0,1,3} {0,1,3} {1,3} {1,3} {2,3,Y} {2,3,Y} {Y}.... {2,Y}.. {Y}.... -X 1 +2 3 +4 +Y 确定化后如下图 六 解:文法G(S):    S ®aSb    S ®aa    S ®bb    七 解:    (1)(消除左递归,提公因左因子)       S→aFS'|+aFS'       S'→+aFS'|ε       F→*aF'       F'→F|ε    (2)       FIRST(S)={a,十}   FOLLOW(S)={#}       FIRST(50)={+,ε }  FOLLOW(S')={#}       FIRST(F)={*}    FOLLOW(F)=(+,#)       FIRST(F')={*,ε}   FOLLOW(+,#}     (3)   八 Head(S)={a,P,b} Head(P)={b} Head(Q)={Q,a} Tail(S)={b,P,c} Tail(P)={c} Tail(Q)={a} (1)“=”关系: a=S S=b b=P P=c b=Q Q=c Q=a (2)“<”关系: a<Head(S) b<Head(P) b<Head(Q) (3)“>”关系: Tail(S)>b Tail(P)>c Tail(Q)>a 简单优先关系矩阵如下: S a b P Q c S = a = < > < < > b < < > = = < P > = Q = = c > > 由于矩阵中有元素存在多种优先关系,故不是简单优先文法。 九 (1)5; (2)20; (3)15; (4)30。 十 对输入串dada#的分析过程 步骤 状态栈 文法符号栈 剩余输入符号 动作 1 2 3 4 5 6 7 8 9 0 02 024 0245 0246 02467 024678 0246 01 # #V #Vd #Vda #VdB #VdBd #VdBda #VdB #S dada# dada# ada# da# da# a# # # # 用V →ε归约 移进 移进 用B →a归约 移进 移进 用B →Bda 归约 用S →VdB 归约 接受       十一 解:三地址代码如下: 100: t:=a+b 101: if t<c goto 105 102: goto 103 103: if a=b goto 105 104: goto 112 105: if a<5 goto 107 106: goto 100 107: if b<10 goto 109 108: goto 100 109: a:=a+1 110: b:=b+1 111: goto 105 112: 十二 将程序划分为五个基本块,B1、B2、B3、B4和B5,如流图所示。 read(A,B) B1 F:=1 C:=A*A D:=B*B if C<D goto L1 E:=A*A B2 F:=F+1 E:=E+F write(E) halt L1: E:=B*B B3 F:=F+2 E:=E+F write(E) if E>100 goto L2 halt B4 L2: F:=F-1 B5 goto L1 十三 GetCh(); CH=='=' SYM=MINUSMINUS SYM=MINUS
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服