编译原理实验二压缩文法的等价变换汇总.docxVIP

  • 17
  • 0
  • 约4.12千字
  • 约 16页
  • 2021-04-07 发布于天津
  • 举报

编译原理实验二压缩文法的等价变换汇总.docx

实验二:压缩文法的等价变换 一:要求 输入:任意的上下文无关文法 输出:等价的压缩了的文法 要求:除了可查看压缩了的文法,还可查看删除了哪些规则 二:实验目的 了解文法的简化 三:实验原理 删除文法中的有害规则和多余规则 有害规则: 若文法中有如U::=U的规则,则这就是有害规则,它会引 起二义性,而无任何用处。 多余规则: (1) 某条规则U::=u的左部非终结符U(U不是识别符号),不在任 何其他规则右部出现,即所有的推导始终不会用到此规则。 【不可到 达】 (2) 在推导句子的过程中,一旦使用了该规则,将推不出任何终结 符号串。即该规则中含有推不出任何终结符号串的非终结符。 【不可 终止】 PAGE PAGE # PAGE PAGE # 四:数据结构与算法 struct Chomsky { stri ng left; stri ng right; }; void apart(Chomsky *p,int i) // 分开产生式左右部 void VNVT(Chomsky *p)〃 求 VN和 VT int zero(Chomsky *p)//0 型文法 int on e(Chomsky *p)//1 型文法 int two(Chomsky *p)//2 型文法 void sha nchu(Chomsky *p)// 删除多余规则与有害规则 五:出错分析 1:

文档评论(0)

1亿VIP精品文档

相关文档