语法分析-复习习题.ppt
《语法分析-复习习题.ppt》由会员分享,可在线阅读,更多相关《语法分析-复习习题.ppt(29页珍藏版)》请在三一办公上搜索。
1、1,上下文无关文法,自上而下,自下而上,LL(1)文法,2个函数,递归下降预测分析,非递归的预测分析,最左推导,最右推导,!,LR文法,移进-归约分析,归约,移进-归约冲突,规约-归约冲突,句柄,活前缀,右句型的前缀,该前缀不超过最右句柄的右端,1。句柄与某个产生式的右部符号串相同2。句柄是句型的一个子串3。把句柄归约成非终结符代表了最右推导逆过程的一步,简单的LR方法(SLR)规范的LR方法向前看的LR方法(LALR),温故知新,2,语法分析部分回顾,自上而下分析的知识点 LL(1)文法的判定 FIRST、FOLLOW集的计算(重点)LL(1)文法判定方法 LL(1)分析的实现方法 递归函数
2、实现 非递归的预测分析实现先求FIRST、FOLLOW集画预测分析表,3,语法分析部分回顾,应用LL(1)分析方法的步骤判定文法是否是LL(1)文法如果不是,则改写文法 消除左递归 提取左因子如果改写后的文法是LL(1)的,那么进行LL(1)分析构造LL(1)分析算法可以采用递归函数实现,也可以采用非递归的栈式分析方法实现,4,文法G:S-aSb|P P-bPc|bQc Q-Qa|a(1)它是chomsky哪一型文法?(2)它生成的语言是什么?(3)给出提取左因子、消除左递归之后的文法(4)求出每个非终结符的First集和Follow集(5)构建LL(1)预测分析表(6)文法G是否是LL(1)
3、文法(7)利用非递归预测分析程序,验证abacb是否是文法G描述的语言的句子,5,文法G:S-aSb|P P-bPc|bQc Q-Qa|a(1)它是chomsky哪一型文法?答:它是2型文法,即上下文无关文法。(2)它生成的语言是什么?答:aibjakcjbi|i=0;j,k=1,6,文法G:S-aSb|P P-bPc|bQc Q-Qa|a(3)给出提取左因子、消除左递归之后的文法答:S-aSb|P P-bP P-Pc|Qc Q-aQ Q-aQ|,7,S-aSb|PP-bPP-Pc|QcQ-aQQ-aQ|,First(S)=a,bFirst(P)=bFirst(P)=a,bFirst(Q)=a
4、First(Q)=a,Follow(S)=$,bFollow(P)=$,b,cFollow(P)=$,b,cFollow(Q)=cFollow(Q)=c,(4)求出每个非终结符的First集和Follow集,8,(5)构建LL(1)预测分析表,9,(6)文法G是否是LL(1)文法答:构建出的LL(1)分析表不含有多重定义的条目,因此文法G是LL(1)文法。,10,(7)利用非递归预测分析程序,验证abacb是否是文法G描述的语言的句子,11,接上表,12,语法分析部分回顾,例2 文法GE:E-T T-TE|F F-a|aF(1)判断这个文法是不是LL(1)的?(2)消除左递归、提取左因子之后的
5、文法G是否是LL(1)的?,13,例1 解答:提取左因子,消除左递归后 文法变为GE:E-T T-F T T-ET|F-aF F-F|,GS:E-TT-TE|F F-a|aF,语法分析部分回顾,14,FIRST(E)=FIRST(T)=aFIRST(T)=,FIRST(F)=aFIRST(F)=a,FOLLOW(E)=,$FOLLOW(T)=,$FOLLOW(T)=,$FOLLOW(F)=FOLLOW(F)=,GE:E-T T-F T T-ET|F-aF F-F|,不是LL(1)文法!,通过提取左因子和消除左递归的方法,并不一定能够把文法改写为一个LL(1)文法,语法分析部分回顾,15,左递归
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语法分析 复习 习题

链接地址:https://www.31ppt.com/p-6609158.html