发布时间 : 星期二 文章哈工大编译原理习题及答案更新完毕开始阅读
If next_token=’d’ then If next_token=’;’ then If X then
If next_token=”end” then return; Restore; P:=false; End;
Function X:boolean; Begin Save; X:=true;
If next_token=’d’ then If next_token=’;’ then If X then return; Restore;
If next_token=’s’ then If Y then return; Restore; X:=false; End;
Function Y:boolean; Begin Save;
Y=true;
If next_token=’;’ then If next_token=’s’ then If Y then return; Restore; End;
(2)消去文法左递归,并记为:
P→begin S endS→A|CA→V:=EC→ if E then S E→VE’E’ →+VE’|εV→I Function P:boolean; Begin Save; P:=true;
If next_token=”begin” then If S then
If next_token=”end” then return;; Restore; P:=false; End;
Function A:boolean; Beign Save; A:=true;
If V then
If next_token=”:=” then If E then return; Restore; A:=flase; End;
Function S:boolean; Beign Save; S:=true;
If A then return; Restore;
If C then return; Restore; S:=false; End;
Function C:boolean; Begin Save; C:=true;
If next_token=”if” then If E then
If next_token=”then” then
If S then return; Restore; C:=false; End;
Function E:boolean; Begin Save; E:=true; If V then
If Ep then return; Restore; E:=false; End;
Function Ep:boolean; Being Save; Ep:=true;
If next_token=’+’ then If V then
If E’ then return; Return; End;
?
4.解: