正规式与有限自动机之间的转换
考试要求: 掌握     
知识路径:  > 计算机系统基础知识  > 计算机软件基础知识  > 程序设计语言和语言处理程序知识  > 汇编、编译、解释系统的基本知识和基本工作原理  > 程序语言翻译基础  > 编译程序基本原理  > 词法分析


 
       正规式与有限自动机间可以相互转换。
       (1)有限自动机转换为正规式。
       对于Σ上的NFAM,可以构造一个Σ上的正规式R,使得LR)=LM)。
       拓广状态转换图的概念,令每条弧可用一个正规式作标记。为Σ上的NFAM构造相应的正规式R,分为如下两步:
       第一步:在M的状态转换图中加两个节点,一个x节点,一个y节点。从x节点到NFAM的初始状态节点引一条弧并用ε标记,从NFAM的所有终态节点到y节点引一条弧并用ε标记。形成一个与M等价的M',M'只有一个初态x和一个终态y
       第二步:按下面的方法逐步消去M'中除xy的所有节点。在消除节点的过程中,用正规式来标记弧,最后节点xy之间弧上的标记就是所求的正规式。消除节点的规则如下图所示。
       
       有限自动机到正规式的转换规则示意图
       (2)正规式转换为有限自动机。
       同样地,对于Σ上的每个正规式R,可以构造一个Σ上的NFAM,使得LM)=LR)。
       ①对于正规式R,可用下图所示的拓广状态图表示。
       
       拓广状态图
       ②通过对正规式R进行分裂并加入新的节点,逐步把图转变成每条弧上的标记是∑上的一个字符或ε,转换规则如下图所示。
       
       正规式到有限自动机的转换规则示意图
       最后所得的图即为一个NFAMx为初态节点,y为终态节点。显然,LM)=LR)。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有