【编译原理复习】第三章-词法分析

第三章-词法分析

1.正规式 正规集

(1)ε、Φ都是∑上的正规式,它们所表示的正规集分别为{ε}和Φ;
(2)任何a∈∑,a是∑上的一个正规式,它所表示的正规集为{a};
(3)如果U、V都是∑上的正规式,它们所表示的正规集分别记为L(U)和L(V),那么,(U|V)、(UV)和(U) * 也是正规式,它们所表示的正规集分别为 L(U)∪L(V)、L(U)L(V)和(L(U))*;

仅由有限次使用上述步骤而得到的表达式才是∑上的正规式;仅由这些正规式所表示的字集才是∑上的正规集

【例子】:令∑={a,b},下面是∑上的正规式和相应的正规集
在这里插入图片描述

2.有限自动机
确定有限自动机(DFA)

一个确定有限自动机(DFA)M是一个五元式:
M=(S,∑,δ,s0,F),其中:

  1. S是一个有限集,它的每个元素称为一个状态;
  2. ∑是一个有穷字母表,它的每个元素称为一个输入字符;
  3. δ是一个从S x ∑至S的单值部分映射。δ(s,a)= s′,意味着:当现行状态为s、输入为字符a时,将状态转换到下一个状态s′。我们称s′为s的一个后继状态;
  4. s0∈S,是唯一的初态;
  5. F⊆S,是一个终态集(可空)。

在这里插入图片描述
在这里插入图片描述
有限自动机DFA M接受的语言

从状态转换函数来看:从状态转换图来看:
如果对所有α∈Σ*,以下述方式递归扩张δ的定义:δ(s,ε)=s,δ(s,aα)=δ(δ(s,a),α)(a∈Σ,s∈S),则有:L(M)={α|α∈Σ*,若存在s∈F,使δ(s0,α)=s}对上例的DFA M和w = baa:δ(0,baa)= δ(2,aa)= δ(1,a)= 3(注意:其中0、1、2、3分别代表状态0、1,2,3)对于Σ*上的任何字α,如果存在一条从初态结点到某一终态结点的通路,且这条通路上所有弧的标记符连接成的字等于α,则称α可为DFA M所识别(读出或接受),如果M的初态结点同时又是终态结点,则空字ε可为DFAM所识别。DFA M所能识别的字的全体记为L(M)。
非确定有限自动机(NFA)

一个非确定有限自动机NFA M是一个五元式:
M = (S,Σ,δ,S0,F)
其中:

  1. S是一个有限集,它的每个元素称为一个状态;
  2. ∑是一个有穷字母表,它的每个元素称为一个输入字符;
  3. δ是一个从S x ∑至S的子集的映射,即δ:
    S x ∑
    →2s(S集合的幂集/S的所有子集的集合)
  4. S0⊆S,是一个非空初态集。
  5. F ⊆S,是一个终态集(可空)。

在这里插入图片描述

3.DFA M和NFA M的等价性

定理:对于每个NFA M存在一个DFA M′,使得L(M) = L(M′)
证明思想:用M′的一个状态对应M的一个状态集合,用这种方法,能从一个NFA M构造一个DFA M′使得L(M′)= L(M), 这种方法称作子集构造法

状态集的ε闭包定义

设I是有限自动机的状态集的子集,I的ε闭包ε_CLOSURE(I)
为:
(1) 如果状态q∈I,则q∈ε_CLOSURE(I)(既I中的状态全部属于ε_CLOSURE(I))
(2) 如果状态q∈I,那么从状态q出发经过任意ε弧而能到达的任何状态q′都属于ε_CLOSURE(I)。(注意:可以连续经过多条ε弧)

有限自动机的转移函数

假定I是非确定有限自动机的状态集的子集,则定义:Ia =ε_CLOSURE(J)
其中:a∈Σ,J是从I中的某一状态结点出发经过一条a弧而达到的状态结点的全体。

4. 从NFA M 构造DFA M的方法

在这里插入图片描述

5.确定有限自动机的化简

在这里插入图片描述

熟练掌握:
对于某一正规集,写出其正规表达式,构造其非确定有限自动机、确定有限自动机,并将其最小化;

例题

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值