编译原理 教学课件 作者 康慕宁 林奕 讲稿_2.pptVIP

  • 1
  • 0
  • 约1.75万字
  • 约 68页
  • 2019-10-09 发布于未知
  • 举报

编译原理 教学课件 作者 康慕宁 林奕 讲稿_2.ppt

2.8从有限状态自动机转换到正规文法 从DFA转换到正规文法可使用如下的转换规则: 【算法2·7】 对于每个形如?(A,a)=B的转换函数,我们可在产生式集合中添加产生式“A→aB”; 对于DFA中的每个终止状态F,添加产生式“F→?”到产生式集合中。 例如,对于【例2·9】所得的DFA,我们可得到产生式集合: A→aB|bD B→bC C→aA|bD|? D→aB|bD|? 至此,我们已完全掌握了FSA、正规表达式、正规文法三者之间的转换方法。 其中,最常进行的转换是从正规文法或正规表达式到DFA的转换。还须指出的是,目前我们只是涉及到右线性文法,有时,我们也会遇到左线性文法定义正规集的情况。 当然,我们可以先将其转换为右线性文法后,再进行DFA的构造工作。 从左线性文法到右线性文法转换的最简单的一种方法是,首先将文法按照与【算法2·2】类似,将其转换成正规表达式,再使用【算法2·1】将所得的正规表达式转换成右线性文法。 将左线性文法转换成正规表达式的转换规则 【算法2·8】 若A→Bx B→y是文法的产生式,则令“产生式”改写为A→yx; 若A→Ax A→y是文法的产生式,则令“产生式”改写为A→yx*; A→x A→y是文法的产生式,则令产生式改写为A→x|y; 重复使用上述三项转换规则,直到文法仅余下一条产生式S→w,其中,S是原文法的开始符号,w即是合并

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档