- 博客(0)
- 资源 (5)
空空如也
编译原理课后习题答案2
第五章 习题参考答案
1、(1) 对(a,(a,a)的最左推导为:S(T) (T,S) (S,S) (a,S) (a,(T)) (a,(T,S)) (a,(S,S))(a,(a,S))(a,(a,a)) 对(((a,a),∧,(a)),a) 的最左推导为:S(T) (T,S) (S,S) ((T),S)((T,S),S) ((T,S,S),S)((S,S,S),S) (((T),S,S),S)(((T,S),S,S),S)(((S,S),S,S),S)(((a,S),S,S),S) (((a,a),S,S),S) (((a,a),∧,S),S) (((a,a),∧,(T)),S) (((a,a),∧,(S)),S) (((a,a),∧,(a)),S) (((a,a),∧,(a)),a)
对((( a, a ), , ( a )), a )的最左推导为:S ( T ) ( T, S ) ( S, S ) (( T ), S ) (( T, S ), S ) (( T, S, S ), S )
(( S, S, S ), S ) ((( T ), S, S ), S ) ((( T, S ), S, S ), S ) ((( S, S ), S, S ), S ) ((( a, S ), S, S ), S ) ((( a, a ), S, S ), S ) ((( a, a ), , S ), S ) ((( a, a ), , ( T )), S ) ((( a, a ), , ( S )), S ) ((( a, a ), , ( a )), S ) ((( a, a ), , ( a )), a )
对((( a, a ), , ( a )), a )的最左推导为:S ( T ) ( T, S ) ( T, a ) ( S, a ) (( T ), a ) (( T, S ), a ) (( T, ( T )), a ) (( T, ( S )), a ) (( T, ( a )), a ) (( T, S, ( a )), a ) (( T, , ( a )), a ) (( S, , ( a )), a ) ((( T ), , ( a )), a ) ((( T, S ), , ( a )), a ) ((( T, a ), , ( a )), a ) ((( S, a ), , ( a )), a ) ((( a, a ), , ( a )), a )
(2) 改写文法为: 0) S→a 1) S→∧ 2) S→( T ) 3) T→S N 4) N→, S N 5) N→ε
S: T: N:
(3)
N
N
Y
入口
a
^
(
)
Y
Y
Read(w)
T
Read(w)
N
N
出口
出错
入口
S
N
出口
入口
Y
,
N
S
N
出口
Read(
2009-12-28
编译原理清华版课后习题答案1
1、(1) a*(-b+c) :ab-c+* (3) abcde/+*+ (4) AB∧C D∨∨
(7) xy+z*0=sab+c*:=sab*c*:=¥(注:¥表示if-then-else 运算)
2、
三元式 (1) (+ a, b)
(2) (+ c, d)
(3) (* (1), (2))
(4) (- (3), /)
(5) (+ a, b)
(6) (- (4), (5))
4、(0) S′→E { if error≠1 then print E.VAL}
(1) E→E1+E2 { if E1.TYPE=int AND E2.TYPE=int then
begin
E.VAL:=E1.VAL + E2.VAL;
E.YTPE:=int;
end
else if E1.TYPE=real AND E2.TYPE=real then
begin
E.VAL:=E1.VAL + E2.VAL;
E.YTPE:=real;
end
else error=1
}
(2) E→E1*E2 { if E1.TYPE=int AND E2.TYPE=int then
begin
E.VAL:=E1.VAL * E2.VAL;;
E.YTPE:=int;
end
else if E1.TYPE=real AND E2.TYPE=real then
begin
E.VAL:=E1.VAL * E2.VAL;;
E.YTPE:=real;
end
else error=1
}
(3) E→(E1) { E.VAL:=E1.VAL;
E.TYPE:=E1.TYPE }
(4) E→n { E.VAL:=n.LEXVAL;
E.TYPE:=n.LEXTYPE }
5
2009-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人