编译原理期末试题(8套含答案+大题集) 联系客服

发布时间 : 星期日 文章编译原理期末试题(8套含答案+大题集)更新完毕开始阅读8393a8f60b4c2e3f56276349

[A] 递归 [B] 右递归 [C] 2型 [D] 含有公共左因子的 【 】3. 文法E→E+E|E*E|i的句子i*i+i*i的不同语法分析树的总数为______。

[A]1 [B]3 [C]5 [D]7 【 】4.四元式之间的联系是通过 实现。

[A]临时变量 [B]指示器 [C]符号表 [D]程序变量 【 】5.同心集合并可能会产生的新冲突为 。

[A]二义 [B]移进/移进 [C]移进/归约 [D]归约/归约 【 】6.代码优化时所依据的是 。

[A]语法规则 [B]词法规则 [C]等价变换规则 [D]语义规则

【 】7.表达式a-(-b)*c的逆波兰表示为 。

[A]a-b@c* [B]ab@c*- [C]ab@- [D]ab@c-* (注:@为单

目减运算符)

【 】8.过程的DISPLAY表记录了 。

[A]过程的连接数据 [B]过程的嵌套层次 [C]过程的返回地址 [D]过程的入口地址

二 填空题

3.对于文法G1和G2,若有L(G1)=L(G2) (或 G1和G2的语言相同),则称文法G1和G2是等价的。

4.对于文法G[E]:E→T|E+T T→F|T*F F→P^F|P P→(E)|i,句型T+T*F+i的句柄是T ,最左素短语是 T*F。 5.最右推导的逆过程称为规范归约 ,也称为 最左归约。

6.规范规约中的可规约串是句柄 ,算符优先分析中的可规约串是 最左素短语 7.(A∨ B)∧(C∨ ?D∧ E) 的逆波兰式是AB∨CD?E∧∨∧。 8.在属性文法中文法符号的两种属性分别称为继承属性 和综合属性(次序可换)。 9.符号表的每一项是由名字栏和 地址分配 两个栏目组成。在目标代码生成阶段,符号表是 地址分配 的依据。

10.一个过程的DISPLAY表的内容是它的 直接外层 的DISPLAY表的内容加上本过程的SP的地址

三 有穷自动机M接受字母表?={0,1}上所有满足下述条件的串:每个1都有0直接跟在右边。构造一个最小的DFA M及和M等价的正规式。 【】【】

第33页共6页

四 证明正规式(ab)*a 与正规式a(ba)*等价 (用构造他们的最小的DFA方法)。

五 写一个文法,使其语言是:

L = { 1n0m1m0n | m,n≥0 }

【】【】五 文法G:S → 1S0 | A

A → 0A1 | ε

六 对文法G[S]

S → aSb | P

P → bPc | bQc

第34页共6页

Q → Qa | a

(1) 它是否是算符优先文法?请构造算符优先关系表

(2) 文法G[S]消除左递归、提取左公因子后是否是LL(1)文法?请

证实。

【】【】1.求出G[S]的FIRSTVT集和LASTVT集:

FIERSTVT(S)={a,b} LASTBVT(S)={b,c}

FIERSTVT(P)={b} LASTBVT(P)={c} FIERSTVT(Q)={a} LASTBVT(Q)={a} 构造优先关系表为:

a b c a b c < > < < > > > > 由于在优先关系中同时出现了aa以及bb,所以该文法不是算符优先文法。

2. 消除左递归和提取左公因子后的文法为:

S → aSb | P P → bP’ P’→ Pc |Qc Q → aQ’ Q’→ aQ’|ε

求具有相同左部的两个产生式的Select集的交集:

Select(S→aSb)∩Select(S→P) = {a}∩First(P) = {a}∩{b} = Ф

Select(P’→Pc)∩Select(P’→Qc) = First(P)∩First(Q)={b}∩{a}= Ф Select(Q’→aQ’)∩Select(Q’→ε) = {a}∩Follow(Q) = {a}∩{c} = Ф 所以修改后的文法是LL(1)文法。

七 已知文法G为:

(0) S′→ S (1) S → aAd (2) S → bAc (3) S → aec (4) S → bed (5) A → e

试构造它的LR(1)项目集、可归前缀图和LR(1)分析表。 【】【答案:】 S I1:S′→S · , I0: # S′→· S , d # a A I4:S→aA· d , I8:S→aAd · , I2: S→· aAd , # S→a · Ad , # # S→a · ec , # e I5:S→ae· c , c I: , 9S→aec ·SA→· e , d # # → · bAc , A→e · , d # I10: b S→ ·aec , I3: S→b · Ac , A S→bAc · , 第35页共6页 I6: S→bA·c,# c # S→b · ed , # # e I7:S→be · d ,

构造LR(1)分析表 如下:

a b c d e # S A

S2 S3 0 1

1 ac

c S5 2 S7 3

S8 4

S9 r5 5

S10 6

r5 S11 7

r1 8

r3 9

r2 10 r4 11 八 已知源程序如下: prod:=0; i:=1;

while i≤20 do begin

prod:=prod+a[i]*b[i]; i:=i+1

end;

试按语法制导翻译法将源程序翻译成四元式序列(设A是数组a的起始地址,B是数组b的起始地址;机器按字节编址,每个数组元素占四个字节)。 【答案:】

状态 action goto 第36页共6页