山东财经编译原理课件-第6章 LR分析.pptxVIP

  • 2
  • 0
  • 约2.51千字
  • 约 39页
  • 2023-06-27 发布于浙江
  • 举报

山东财经编译原理课件-第6章 LR分析.pptx

第6章 LR分析 (一种自底向上语法分析方法) ;本章提要;例5.1 文法G[S]: (1) S → aAcBe (2) A → b (3) A → Ab (4) B → d 用自底向上语法分析方法,分析 abbcde的归约过程。;如果限定只能是规范归约,那么自底向上分析的关键是如何确定句柄。;5;一个LR分析器主要由三部分组成: (1)总控程序,也称为驱动程序。对所有的LR分析器总控程序是相同的。 (2)分析表或分析函数。分析表是一个二维表格,又可分为动作表(ACTION)和状态转换表(GOTO)两部分。不同文法的分析表不同,它是区分LR分析器的依据。 (3)分析栈,包括文法符号栈和相应的状态栈,它们均是先进后出栈。 分析器的动作由栈顶状态和当前输入符号所决定。; SP为栈顶指针,S[i]为状态栈,X[i]为文法符号栈。LR分析表指明GOTO[Si,X]= Sj。其中X为终结符或非终结符。;当前符号 状态;LR分析表中涉及四种动作: (1)Si——移进 当Sj= shift[Si,a]成立,则把Sj移入到状态栈,把a移到文法符号栈,其中i和j表示状态。 (2)ri——归约:当rj= reduce [Si,a]成立, 意味着在栈顶形成句柄,用第i个产生式归约。当句柄的长度为?时,则从状态栈和文法符号栈中自栈顶向下去掉?个符号;并把新的文法符号移入文法符号栈,把新的状态移进状

文档评论(0)

1亿VIP精品文档

相关文档