云南大学《编译原理》Comp-Cha2.pptVIP

  • 211
  • 0
  • 约1.19万字
  • 约 50页
  • 2017-07-30 发布于浙江
  • 举报
* * 2.6 有关文法实用中的一些说明 有关文法的实用限制 在实用中应限制文法中含有如下规则: (1)有害规则 文法中含形如U→U的产生式。 它对描述语言没有必要,且会引起文法的二义性。 (2)多余规则 文法中任何一个句子的推导都用不到的规则。 (3)无用规则 文法中含形如U→V的产生式,即单产生式。 为保证文法G的任一非终结符A在句子推导中出现,必须满足如下两个条件: (1)A必须在某句型中出现,?A?。 (2)必须能够从A推导出终结符号串t。 * * 2.6 有关文法实用中的一些说明 2. 有关文法的二义性 (1)无二义性文法 如果一个文法所产生的每一句子都仅有一棵语法树,则称此文法为无二义性的。 (2)二义性的判定 1962—1963年 Floyd, Contor和 Chomsky证明:上下文无关文法是否具有二义性是不可判定的。 但有些特殊的2型文法[例如LL(1)、LR(0)、 LR(1)等文法]是无二义性的。 一个文法兼有左递归和右递归是导致二义性的常见原因。 Eg. 文法G[E] E→E+E | E*E |(E) | i 是一个二义性文法。 * * 2. 有关文法的二义性 (3)解决二义性 可将二义性文法G 改写为等价的无二义性文法G’ 。 Eg. 上述文法 G[E] 可改写为 G’ [E]: E →

文档评论(0)

1亿VIP精品文档

相关文档