自动机理论与形式语言中的上下文无关文法
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$ 的弧。
- 对于形
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



