词法分析核心算法(1)正规式》NFA.docVIP

  • 24
  • 0
  • 约1.38千字
  • 约 4页
  • 2020-09-03 发布于浙江
  • 举报
正规式转换为不确定的有穷自动机的算法 1. 目的与要求: 通过设计、编写和调试将正规式转换为不确定的有穷自动机的程序,掌握转换过程中的相关概念和方法,NFA的表现形式可以是图标或者图形。 2. 问题描述: 任意给定一个正规式r(包括链接、或、闭包运算),根据如下算法,设计一个程序,生成与该正规式等价的NFA N. 算法: 首先,分析给定的正规式r,将其分解成最基本的子表达式,使用下面的规则(1)和规则(2)为r中的每个基本符号(e或字母表中的符号)构造NFA。如果符号a在r中出现多次,则要为它的每次出现构造一个NFA。 然后,使用规则(3)逐步地组合前面构造的NFA,直到获得整个正规式的NFA为止。 基本规则如下: (1)对于e,构造如下图所示的NFA,它识别{e}; (2)对于Σ中的每个符号a,构造如下图所示的NFA,它识别{a}; (3)如果N(s)和N(t)分别是正规式s和t的NFA,则: 对正规式s∣t,构造合成的NFA N(s∣t),结果如下图所示: 加入x和y节点,从x引e弧到N(s)和N(t)的开始状态,从N(s)和N(t)的接受状态引e弧到y节点; 对正规式st,构造合成的NFA N(st),结果如下图所示: N(s)的开始状态成为合成后的NFA的开始状态,N(t)的接受状态成为合成后的NFA的接受状态,N(s)的接受状态和N(t)的开始状态合并; 对于正规式s*,

文档评论(0)

1亿VIP精品文档

相关文档