18、自动机理论与形式语言中的上下文无关文法

自动机理论与形式语言中的上下文无关文法

1. 上下文无关文法的转换与范式

在上下文无关文法(CFG)中,有时需要对产生式进行修改。例如,将产生式 $A_1 \to A_3A_4$ 右侧的 $A_3$ 进行替换,修改后的产生式为 $A_1 \to bA_3A_4 / cA_4A_4 / bA_4$。对于给定的 CFG,其格雷巴赫范式(GNF)如下:
- $A_1 \to aA_3A_3 / bA_2A_3 / aA_3 / bA_3A_4 / cA_4A_4 / bA_4$
- $A_2 \to aA_3 / bA_2 / a$
- $A_3 \to bA_3 / cA_4 / b$
- $A_4 \to c$
- $A_5 \to a$
- $A_6 \to b$

2. 从正则文法构造有限自动机

2.1 构造过程

从正则文法直接构造有限自动机(FA)的过程如下:
- 步骤一
- 若文法不产生空串,FA 的状态数等于正则文法的非终结符数加 1,每个状态代表一个非终结符,额外的状态为 FA 的终态;若产生空串,状态数与非终结符数相同。
- FA 的初始状态是正则文法的开始符号。
- 若正则文法生成的语言包含空串,初始状态也是构造的 FA 的终态。
- 步骤二
- 对于形如 $A \to aB$ 的产生式,创建 $\delta$ 函数 $\delta(A, a) \to B$,从状态 $A$ 到状态 $B$ 有一条标记为 $a$ 的弧。
- 对于形

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值