- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LL(1)文法的引入 S-文法: ①每个产生式右边都以终结符开始; ②同一个非终结符的各个侯选式的首终结符不同; 例如:文法G[S]: (1)S→aBC (2)B→bC (3)B→dB (4)C→c (5)C→a 分析句子adbca LL(1)文法的引入 Q-文法: ①每个产生式右边都为ε或以终结符开始; ②具有相同左部的产生式具有不相交的可选集; 例如:文法G[S]: (1)S→aBC (2)B→bC (3)B→dB (4)B→ ? (5)C→c (6)C→a 分析句子ada LL(1)文法的判别 一个上下文无关文法称为是LL(1)文法,当且仅当同一非终结符的各个产生式的可选集互不相交。 LL(1)含义: 自左向右扫描输入串,使用最左推导方法分析句子,1表示分析时需要向前查看一个符号 FOLLOW(S)={$};FOLLOW(A) = FOLLOW(S)∪{*} = {*, $};FOLLOW(A?)=FOLLOW(A) = {*, $},FOLLOW(B) = FIRST(A?) ∪ FOLLOW(A?) ∪ FOLLOW(A)={i, *, $};FOLLOW(B?)=FOLLOW(B)={i, *, $}; 例 设文法G[S]: 1 S→ A 2 A→ BA? 3 A? → iBA??? 4 B→ CB? 5 B? → +CB??? 6 C → ) A*| ( 改写成简单产生式 1 S→ A 2 A→ BA? 3 A?→ iBA? 4 A?→ ? 5 B→ CB? 6 B?→ +CB? 7 B?→ ? 8 C → ) A* 9 C → ( 【例】 G[E] E→TE E→+TE|? T→FT T→*FT|? F→(E)|i 求FOLLOW FOLLOW(E)={#,)} ∵E是开始符号∴#∈FOLLOW(E) 又F →(E) ∴ )∈FOLLOW(E) FOLLOW(E’)={#,)} ∵E → TE’ ∴FOLLOW(E)加入 FOLLOW(E’) FOLLOW(T)={+,),#} ∵E’ → +TE’ ∴FIRST(E’)-{ε}加入FOLLOW(T) 又E’?ε, ∴ FOLLOW(E’)加入FOLLOW(T) FOLLOW(T’)= FOLLOW(T)= {+,),#} ∵T → FT’ ∴ FOLLOW(T)加入FOLLOW(T’) FOLLOW(F)={*,+,),#} ∵T → FT’ ∴ FOLLOW(F)=FIRST(T’)-{ε} 又T’?ε ∴ FOLLOW(T)加入FOLLOW(F) FIRST(F)={(,i} FIRST(T’)={*,ε} FIRST(T) ={(,i} FIRST(E’)={+,ε} FIRST(E)={(,i} 3.SELECT 集合 设A→α是文法G的任意产生式,它的编号为i, 则它的可选集SELECT(i)定义如下: (1)如果α≠ε,且α是不可空的,则 SELECT(i)=FIRST(α) (2)如果α≠ε,但α是可空的,则 SELECT(i)=FIRST(α)∪ FOLLOW(A) (3)如果α=ε,即产生式为A→ε则 SELECT(i)=FOLLOW(A) 若一个文法满足以下条件,则称该文法G为LL(1)文法: (1)文法不含左递归; (2)令G是一个CFG,当且仅当对于G中每个具有相同左部的产生式: U→?1|?2|…|?n 都有 SELECT (U→?i)∩SELECT(U→?j)=? 其中 (i?j, i, j=1, 2, …, n) 则文法G是一个LL(1)文法。 4.LL(1)文法的判别条件 例 文法G[S] 改写成简单产生式 1 S→ A 2 A→ BA? 3 A?→ iBA? 4 A?→ ? 5 B→ CB? 6 B?→ +CB? 7 B?→ ? 8 C → ) A* 9 C → ( 因为: select(3)∩select(4)=? select(6)∩
您可能关注的文档
最近下载
- GCB6.0操作手册.pdf VIP
- 省级优秀课件小学红色文化主题班会《红色交通证》.pptx VIP
- 《车间质量培训》课件.ppt VIP
- 第八届中国(淄博)国际陶瓷博览会ren体彩绘教学幻灯片.ppt VIP
- AP微积分AB 2014年真题 (选择题+问答题) AP Calculus AB 2014 Released Exam and Answers (MCQ+FRQ).pdf VIP
- delem DA61操作手册(中文).pdf VIP
- 新疆叶城县2025年上半年公开招聘辅警试题含答案分析.docx VIP
- 学堂在线 临床中成药应用 综合考试答案.docx VIP
- 离心泵与.ppt VIP
- 《离心泵.ppt VIP
文档评论(0)