词法分析与有限自动机
状态转换图
正规式和正规集
-
定义:
L()表示语言 -
正规式的等价性:
若两个正规式所表示的正规集相同,则称这两个正规式等价
举例:
-
正规式的性质:
-
正规式的构造:
确定有限自动机(DFA):
- 定义:
终态可以没有也可以有多个
- 性质:
- 一个DFA也可以表示成一张(确定的)状态转换图
- 对于字母表中的任何字α,若存在一条从初态结点导某一终态结点的通路,且这条通路上所有弧的标记符链接称的字等于α,则称α可为DFA M所识别(卖出或接受)
- DFA所能识别字的全体记为L(M)
- DFA的确定性表现:对任何状态和输入符号唯一地确定了下一个状态
非确定有限自动机(NFA):
- 定义:
- DFA与NFA的区别:
为正规式构造NFA:
- 先为正规式建立初态和终态(X和Y)
- 再根据规则逐一化简
NFA到DFA的转换:
- 步骤:
①根据NFA先写出初始符号的闭包(经过ε能到达的点,包括自己)
②在求J,闭包经过(a或者b,近义词)能到达的点(不包括自己)
③根据上述J求闭包Ia(经过ε能到达的点,包括自己)
④列出表格
⑤将含有终结符的集合变成终结点,初始结点为开始结点,构造DFA
初始状态是X的闭包,然后将Ia和Ib中为被检测的部分进行处理
DFA的化简
(1)先根据初态和终态分成两组
(2)再根读相同字符之后的状态不同再分成不同的子集
(3)直到不能被化简为止
例题