编译原理期末试题(8套含答案+大题集) 下载本文

内容发布更新时间 : 2024/12/27 18:53:09星期一 下面是文章的全部内容请认真阅读。

状况。

主要技术:线性表,对折查找,杂奏技术。 五、计算题: 1.设文法G(S):

S→^ | a | (T) T→ | S

⑴ 消除左递归;

⑵ 构造相应的和集合; ⑶ 构造预测分析表 2.语句 E S

(1) 改写文法,使之适合语法制导翻译; 3. 设文法(2) 写出改写后产生式的语义动作。S→(T→ | ST) | aG(S ): (1)计算

和;

4.(设某语言的语句的形式为2)构造优先关系表。 (1) 其语义解释为 i:=E E(2)

S i:: i:==E(1)

(2) <=E

S;i:

=i+1 (;

(1)写出适合语法制导翻译的产生式; 5.2把语句)写出每个产生式对应的语义动作。 a<10

c>0 1

翻译成四元式序列。 *3-1;

6. 设有基本块 *C*E 2 *C 2*S *Q *5

7.已知文法 假设基本块出口时只有G(S)

M还被引用,请写出优化后的四元序列。17 / 81

S→a | ^ | (T) T→ | S

(1) 给出句子(a,())的最左推导;

(2) 给出句型(())的短语, 直接短语,句柄。 8.对于 C 语言 S E语句

(1)改写文法,使之适合语法制导翻译; (2)写出改写后产生式的语义动作。 9.已知文法G(S) S→ A→ b B→d

(1)给出句子的最左推导及画出语法树; (2)给出句型的短语、素短语。 10.设文法G(S): S→(T) | | a T→ | S

⑴消除左递归和提公共左因子; ⑵构造相应的和集合; ⑶构造预测分析表。 11.把语句

X>0 ∨ Y<0 X>0 *3 3;

翻译成四元式序列。 12.已知文法G(S) E→ | T T→T* F F→(E)| i

(1) 给出句型 ()*的最左推导及画出语法树;

(2) 给出句型 ()* 的短语,素短语和最左素短语。 13.设文法G(S):

S→T | S∨T T→U ∧U U→i

(1)计算 和;

(2)构造优先关系表。

18 / 81

答案:(1)消除左递,文法变为G’[S]: S→^ | a | (T)' T→’ | S T’→’ |ε

此文法无左公共左因子。

(2)构造相应的和集合: (S)={a, ^, (}, (S)={#, ,, )} (T)={a, ^, (} ,(T)={}} (T’)={,, ε} ,(F)={)} (3)构造预测分析表: a ^ ( ) , S S→a S→^ S→(T)' T T→’ T→’ T→’ T’ T’→ε T’→’ 2. (1) C→ E (1) S→ (2)

C→ E {(, ); } (1) (1) S→{(, S. )} 3. (1) (S)={a, ( } (T)={+, , (} (S)={a, ) }

(T)={+, a, )}

(2) a + ( ) a .> .> + <. .> <. .> ( <. <. <. =. ) .> .> >. (1)(2) 4. (1) F→ E (1) S→(1)(2) (2)F→ (1) E

{(, E, _, (i)); (i); ; (2)

(, E, _, ); ; ;

(j≤, (i), , 2) ;

(j, _, _, 0)} (1)S→(1) {(S, ); (+, , 1, ); (j, _, _, ); }

5. (1) (j<, a, ‘10’, (3))

19 / 81

# (2) (j, _, _, (12)) (3) (j>, c, ‘0’, (5)) (4) (j, _, _, (8)) (5) (+, a, ‘1’, T1)) (6) (, T1, _, a) (7) (j, _, _, (1)) (8) (*, a, ‘13’, T2) (9) (-, T2, ‘1’, T3) (10) (, T3, _, a) (11) (j, _, _, (1)) 6.优化后的四元序列

*C *E 20

7. 最左推导

(T)=>()=>()=>()=>(a,(T))=>(a,())=>(a,())=>(a,())=>(a,()) 短语 (()) () () a

直接短语 a 句柄 8.(1)

S→ M1 S1 M2 E M→ε (2)

M→ε {;}

S→ M1 S1 M2 E {(s1, M2);

(, M1); ; } 9.(1) >>>>

(2) 短语: , , d 素短语: , d 10.(1) S →(L) | ’ S’→S |ε L→’

L’→’ |ε

(2) (S)={a, (} (S’)={a, (, ε} (L)={a, (} (L’)={,, ε}

(S)={,, ), #} (S’)={,, ), #} (L)={ )} (L’)={ )}

20 / 81