正在加载图片...
递归子程序法中实现L属性SDD int TO) if(cur Token=digt∥ digit:是frst(FT)中唯一的符号 处理规则T→FT。 fval=FO /的综合属性 Value; nt trinh= fval 计算T的继承属性 int tlsyn=TI(trinh) 计算得到T的综合属性 tval=tIs n ∥计算得到T的综合属性 return tval ∥返回T的综合属性 对规则中某个文法符号Ⅹ的处理 e」 1、计算Ⅹ的所有继承属性的值 error();/报错2、用这些值调用子函数X;返回值保存在某个变量 中 注意:if( cur Token=8)肯定不对,因 为£不是一个符号递归子程序法中实现L属性SDD int T( ) { if(curToken == digit) //digit是first(FT’)中唯一的符号 {//处理规则T→FT’。 int fval = F( ); //F的综合属性Value; int t1inh = fval; //计算T’的继承属性 int t1syn = T1(t1inh); //计算得到T’的综合属性 int tval = t1syn; //计算得到T的综合属性 return tval; //返回T的综合属性 } else error();//报错 } 注意:if(curToken == ε)肯定不对,因 为ε不是一个符号 对规则中某个文法符号X的处理: 1、计算X的所有继承属性的值 2、用这些值调用子函数X;返回值保存在某个变量 中
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有