语法分析-复习习题.pptx

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
上下文无关文法自上而下自下而上LL(1)文法2个函数递归下降预测分析非递归的预测分析最左推导最右推导!LR文法输入LR分析程序输出 栈LR分析器的模型actiongotosmXmsm-1Xm-1…s0…a1ai…an$移进-归约分析归约移进-归约冲突规约-归约冲突句柄活前缀右句型的前缀,该前缀不超过最右句柄的右端1。句柄与某个产生式的右部符号串相同2。句柄是句型的一个子串3。把句柄归约成非终结符代表了最右推导逆过程的一步简单的LR方法(SLR)规范的LR方法向前看的LR方法(LALR)温故知新1第1页,共29页。 语法分析部分回顾自上而下分析的知识点 LL(1)文法的判定 FIRST、FOLLOW集的计算(重点) LL(1)文法判定方法 LL(1)分析的实现方法 递归函数实现 非递归的预测分析实现先求FIRST、FOLLOW集画预测分析表2第2页,共29页。 语法分析部分回顾应用LL(1)分析方法的步骤判定文法是否是LL(1)文法如果不是,则改写文法 消除左递归 提取左因子如果改写后的文法是LL(1)的,那么进行LL(1)分析构造LL(1)分析算法可以采用递归函数实现,也可以采用非递归的栈式分析方法实现3第3页,共29页。 文法G: S->aSb | P P->bPc | bQc Q->Qa | a(1)它是chomsky哪一型文法?(2)它生成的语言是什么?(3)给出提取左因子、消除左递归之后的文法(4)求出每个非终结符的First集和Follow集(5)构建LL(1)预测分析表(6)文法G是否是LL(1)文法(7)利用非递归预测分析程序,验证abacb是否是文法G描述的语言的句子4第4页,共29页。 文法G: S->aSb | P P->bPc | bQc Q->Qa | a(1)它是chomsky哪一型文法?答:它是2型文法,即上下文无关文法。(2)它生成的语言是什么?答:{aibjakcjbi | i>=0; j,k>=1}5第5页,共29页。 文法G: S->aSb | P P->bPc | bQc Q->Qa | a(3)给出提取左因子、消除左递归之后的文法答: S->aSb | P P->bP’ P’->Pc | Qc Q->aQ’ Q’->aQ’ | ?6第6页,共29页。 S->aSb | PP->bP’P’->Pc | QcQ->aQ’Q’->aQ’ | ?First(S)={a,b}First(P)={b}First(P’)={a,b}First(Q)={a}First(Q’)={a, ? }Follow(S)={$,b}Follow(P)={$,b,c}Follow(P’)={$,b,c}Follow(Q)={c}Follow(Q’)={c }(4)求出每个非终结符的First集和Follow集7第7页,共29页。 (5)构建LL(1)预测分析表 输入符号非终结符abc$SS->aSbS->PPP->bP’P’P’->QcP’->PcQQ->aQ’Q’Q’->aQ’Q’->?8第8页,共29页。 (6)文法G是否是LL(1)文法答:构建出的LL(1)分析表不含有多重定义的条目,因此文法G是LL(1)文法。9第9页,共29页。 (7)利用非递归预测分析程序,验证abacb是否是文法G描述的语言的句子栈输入输出$Sabacb$$bSaabacb$S->aSb$bS bacb$ $bPbacb$S->P$bP’bbacb$P->bP’$bP’ acb$10第10页,共29页。 栈输入输出$bcQacb$P’->Qc$bcQ’aacb$Q->aQ’$bcQ’ cb$$bccb$Q’-> ?$bb$$$接上表11第11页,共29页。 语法分析部分回顾例2 文法G[E]: E-> [ T T-> TE | F ] F-> a | aF(1) 判断这个文法是不是LL(1)的?(2) 消除左递归、提取左因子之后的文法G’是否是LL(1)的?12第12页,共29页。 例1 解答: 提取左因子,消除左递归后 文法变为G’[E]: E-> [ T T->F] T’ T’->ET’ | ? F->aF’ F’->F | ?G[S]:E-> [ TT-> TE | F ]F-> a | aF语法分析部分回顾13第13页,共29页。 FIRST(E) = {[}FIRST(T) = {a}FIRST(T

您可能关注的文档

文档评论(0)

SYWL2019 + 关注
官方认证
内容提供者

权威、专业、丰富

认证主体四川尚阅网络信息科技有限公司
IP属地江苏
统一社会信用代码/组织机构代码
91510100MA6716HC2Y

1亿VIP精品文档免费下

相关文档

相关课程推荐