编译原理--正规式和有限自动机
2011-10-05 14:03
267 查看
正规式:
正规式:正则表达式,表示正规集的工具。
一个正规式对应一个正规文法(3型文法)
之间能够进行准换
三个基本规则:
A->xB,B->y 则 A=xy。
A->xA|y 则A=x*y (x*代表x从1到无穷多个)
A->x,A->y 则A=x|y
正规式主要用到了递归的思想,无论遇到多复杂的正规式都可以拆分成上面这三种形式,然后进行解题。
有限自动机(有穷自动机):
DFA(Deterministic Finite Automation ):确定的有限自动机
表达式:M=(S,∑,f,So,Z)
1.S为一个有限状态集合
2.∑是一个字母表,它所包含的的每个元素称为一个输入字符;
3.f是一个从SX∑(笛卡尔乘积)至S的单值部分映射。f(S,a)=s'意味着当现在的状态为s,输入字符a时,将转换到下一状态s'.s'为s的一个后继状态。
4.So∈S,是唯一的初态;
5.Z⊆S,是一个终态集。
NFA(Nondeterministic Finite Automata):不确定的有限自动机
如果理解了有限自动机,则无限自动机和它的区别就是上面的第四项。
So⊆S,它的初态不是唯一的,而是一个集合。
NFA向DFA的转换:
这个转换是一个比较简单的过程。
1.如果有一个不确定的有限自动机,则可以转化为图的方式。此处不详述怎样转图的方式。
2.先将初态确定,然后根据输入的每个元素可以得到哪些状态,依次列表。
3.这些状态集合可以称为这个有限状态集合n个子集。按0,1,2……的顺序编号。
4.因为这些子集之间的关系是输入一个确定值确定的,所以这些子集之间存在一些关系,即把这些子集的关系写出来完成NFA向DFA的转换。
如果不懂可以从网上找一个例子进行理解。
正规式与有限自动机之间的转换:
![](http://hi.csdn.net/attachment/201110/4/0_1317693071HHaV.gif)
任意的正规式都可以转换为上述三种的表现形式。
在一个有限自动机转换为正规式时,就是考虑从初态到终态可以输入哪些数据到达。而这些数据可以用哪种正规式概括进来。
正规式:正则表达式,表示正规集的工具。
一个正规式对应一个正规文法(3型文法)
之间能够进行准换
三个基本规则:
A->xB,B->y 则 A=xy。
A->xA|y 则A=x*y (x*代表x从1到无穷多个)
A->x,A->y 则A=x|y
正规式主要用到了递归的思想,无论遇到多复杂的正规式都可以拆分成上面这三种形式,然后进行解题。
有限自动机(有穷自动机):
DFA(Deterministic Finite Automation ):确定的有限自动机
表达式:M=(S,∑,f,So,Z)
1.S为一个有限状态集合
2.∑是一个字母表,它所包含的的每个元素称为一个输入字符;
3.f是一个从SX∑(笛卡尔乘积)至S的单值部分映射。f(S,a)=s'意味着当现在的状态为s,输入字符a时,将转换到下一状态s'.s'为s的一个后继状态。
4.So∈S,是唯一的初态;
5.Z⊆S,是一个终态集。
NFA(Nondeterministic Finite Automata):不确定的有限自动机
如果理解了有限自动机,则无限自动机和它的区别就是上面的第四项。
So⊆S,它的初态不是唯一的,而是一个集合。
NFA向DFA的转换:
这个转换是一个比较简单的过程。
1.如果有一个不确定的有限自动机,则可以转化为图的方式。此处不详述怎样转图的方式。
2.先将初态确定,然后根据输入的每个元素可以得到哪些状态,依次列表。
3.这些状态集合可以称为这个有限状态集合n个子集。按0,1,2……的顺序编号。
4.因为这些子集之间的关系是输入一个确定值确定的,所以这些子集之间存在一些关系,即把这些子集的关系写出来完成NFA向DFA的转换。
如果不懂可以从网上找一个例子进行理解。
正规式与有限自动机之间的转换:
![](http://hi.csdn.net/attachment/201110/4/0_1317693071HHaV.gif)
任意的正规式都可以转换为上述三种的表现形式。
在一个有限自动机转换为正规式时,就是考虑从初态到终态可以输入哪些数据到达。而这些数据可以用哪种正规式概括进来。
相关文章推荐
- 编译原理--正规式和有限自动机
- 编译原理(2) 文法 有限自动机 正规式
- 编译原理(6)-----3型文法和有限自动机
- 软考编译原理:有限自动机
- 【学习笔记】编译原理-有限自动机
- [编译原理]有限自动机
- [置顶] 编译原理(自动机)软考考点总结
- 编译原理,确定有穷自动机DFA最小化
- 正规式和有限自动机(转自csdn)
- 编译原理:正规式转变成DFA算法
- 软考——编译原理中的文法以及自动机
- 正规式和有限自动机(转自csdn)
- 编译原理(5)-----2型文法和下推自动机
- 编译原理学习周入门教程--(7)编译程序第一个工作阶段-词法分析(正规式)
- 编译原理之正规文法和正规式
- 编译原理学习周入门教程--(8)编译程序第一个工作阶段-词法分析(有穷自动机)
- 编译原理-DFA有穷自动机 词法分析应用于O(n)的单词匹配
- 设计有穷自动机DFA实现C++简单程序的词法分析、扫描(编译原理实验) 推荐
- 【学习笔记】编译原理-有限自己主动机
- 【编译原理】:如何通过正规式写DFA