《编译原理及实践教程》第4章自上而下语法分析资料.pptVIP

  • 56
  • 0
  • 约1.25万字
  • 约 76页
  • 2016-12-03 发布于湖北
  • 举报

《编译原理及实践教程》第4章自上而下语法分析资料.ppt

按照语法树的建立方法,可把语法分析方法分成两类: 自上而下分析法 自下而上分析法 LL(1)文法 问题:是否每个非终结符A的多个候选式不存在公共左因子,文法也不含左递归,就可以进行确定的自上而下的语法分析呢? 答:不能。 如文法 对输入串dbc进行分析。 LL(1)文法 结论:并非所有的文法都能进行确定的自上而下的分析。 新问题:对于P→α1|α2|…|αn,当前输入串$:…αi…。 能否有一种办法,只根据当前的αi就能在α1、α2、…、αn中准确地选择一个候选式进行匹配? 先给出两个定义:First集、Follow集。 算法4.1 计算非终结符A的First集。 例4.6 求下列文法中各个非终结符和各个候选式的First集。 基于LL(1)文法的语法分析程序实现 有两种确定的自上而下的语法分析方法: 递归下降的语法分析方法 预测分析方法(也称LL(1)分析方法) 预测分析过程举例 例4.11 使用表4.1对输入串i+i*i 进行语法分析。 程序结构与伪代码 若非终结符U的产生式形如U→u1|u2|…|un,其递归子程序的原型如下: U( ){ ch=当前输入符号; if(ch∈First(u1)) 调用u1( ); else if(ch∈First(u2)) 调用u2( ); ┆ else if((ε∈Fir

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档