为给定的上下文无关文法生成乔姆斯基范式 (CNF)
问题
为以下上下文无关文法 (CFG) 生成乔姆斯基范式 (CNF)。
S->aAa|bBb|e
A->C|a
B->C|b
C->CDE|e
D->A|B|ab
解答
按照以下步骤生成给定 CFG 的 CNF
步骤 1 - 消除空产生式 (∧-productions)
我们可以删除或消除空产生式,并处理重复。
S --> aAa | bBb | ∧
A --> a | ∧
B --> b | ∧
D --> A | B | ab
步骤 2 - 消除上述文法中的单元产生式
消除右部只有一个符号的产生式
S --> aDa | bDb
D --> a | b | ab
步骤 3 - 消除无用符号
E 是给定文法中的无用符号,因为它在右部没有导出。
S --> aDa | bDb
D --> a | b | ab
步骤 4 - 乔姆斯基范式 (CNF)
获取其体是终结符和变量的混合,或由多个终结符组成的产生式
将产生式分解成如下所示的简短形式
S --> XYX | ZYZ
S --> XP | ZQ
P --> YX
Q --> YZ
X --> a
Y --> a | b | ab
Z --> b
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP