第一范文网 - 专业文章范例文档资料分享平台

编译原理第三版课后习题解答

来源:用户分享 时间:2025/5/18 2:02:42 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

1 ? ? 1 Y X 0 确定化: {X,1,Y} {1,Y} {2} φ 给状态编号: 0 1 2 3 0

0 1 0 1 1 1 3 1 2 2 3 3 0 {1,Y} {1,Y} {1,Y} φ 1 {2} {2} φ φ 0 1 0 1 1 2 3 1 0 最小化:

0 1 1 1 1 3 0 0 0

第四章

P81–1

(1) 按照T,S的顺序消除左递归 递归子程序: procedure S; begin

if sym='a' or sym='^'

then abvance else if sym='('

then begin

advance;T;

if sym=')' then advance;

else error;

end else error

end;

procedure T; begin

S;T?

end;

procedure T?; begin

if sym=','

then begin

advance; S;T?

end

end; 其中:

sym:是输入串指针IP所指的符号 advance:是把IP调至下一个输入符号 error:是出错诊察程序 (2)

FIRST(S)={a,^,(} FIRST(T)={a,^,(} FIRST(T?)={,,?} FOLLOW(S)={),,,#} FOLLOW(T)={)} FOLLOW(T?)={)} 预测分析表

S T a ^ ( ) , # 是LL(1)文法

P81–2

文法: (1)

FIRST(E)={(,a,b,^} FIRST(E')={+,ε} FIRST(T)={(,a,b,^} FIRST(T')={(,a,b,^,ε} FIRST(F)={(,a,b,^} FIRST(F')={*,ε} FIRST(P)={(,a,b,^} FOLLOW(E)={#,)} FOLLOW(E')={#,)} FOLLOW(T)={+,),#} FOLLOW(T')={+,),#} FOLLOW(F)={(,a,b,^,+,),#} FOLLOW(F')={(,a,b,^,+,),#} FOLLOW(P)={*,(,a,b,^,+,),#}

(2)

考虑下列产生式:

FIRST(+E)∩FIRST(ε)={+}∩{ε}=φ FIRST(+E)∩FOLLOW(E')={+}∩{#,)}=φ FIRST(T)∩FIRST(ε)={(,a,b,^}∩{ε}=φ FIRST(T)∩FOLLOW(T')={(,a,b,^}∩{+,),#}=φ FIRST(*F')∩FIRST(ε)={*}∩{ε}=φ

FIRST(*F')∩FOLLOW(F')={*}∩{(,a,b,^,+,),#}=φ FIRST((E))∩FIRST(a) ∩FIRST(b) ∩FIRST(^)=φ 所以,该文法式LL(1)文法. (3) E + * ( ) a b ^ # E' T T' F F' P (4)

procedure E; begin

搜索更多关于: 编译原理第三版课后习题解答 的文档
编译原理第三版课后习题解答.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1yjdb2n0lf0h1ll01eyq0a6ri16ozy014cf_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top