两种文法改造方法的比轻 第一种方法轻简单,且对原文法的可读性影响不大,在 需插入的动作不多时,可采用此法。 。 但若使用此法过多,就会带来由于大量ε-产生式的引入 而产生新的文法冲突的问题,使语法分析无法进行。 ·因此,更好的方法是“拆分法”,经验表明,这种方法 基本上不会对原文法的语法分析带来影响,且产生式相 对“短”些,存取分析程序在栈中语义信息会更方便。 ·另外,从语义动作的描述角度来说,我们还可借助YACC 的描述方式,即用符号’$后跟一数字或’$来区分不同 的文法符号,从而无须再对同名符号冠以上标。 ·基于上述原因,以后的动作描述,将一律采用“拆分法”两种文法改造方法的比较 • 第一种方法较简单,且对原文法的可读性影响不大,在 需插入的动作不多时,可采用此法。 • 但若使用此法过多,就会带来由于大量ε-产生式的引入 而产生新的文法冲突的问题,使语法分析无法进行。 • 因此,更好的方法是“拆分法”,经验表明,这种方法 基本上不会对原文法的语法分析带来影响,且产生式相 对“短” 些,存取分析程序在栈中语义信息会更方便。 • 另外,从语义动作的描述角度来说,我们还可借助YACC 的描述方式,即用符号’$’后跟一数字或’$’来区分不同 的文法符号,从而无须再对同名符号冠以上标。 • 基于上述原因,以后的动作描述,将一律采用“拆分法