在计算机科学中,一个形式文法是 Chomsky 范式的,当且仅当所有产生规则都有如下形式:
A → BC 或
A → α 或
S → ε
这里的 A, B 和 C 是非终结符,α 是终结符(表示常量值的符号),S 是开始符号,而 ε 是空串。还有,B 和 C 都不可以是开始符号。
所有的 Chomsky 范式的文法都是上下文无关,反过来,所有上下文无关文法都可以有效的变换成等价的 Chomsky 范式的文法。
——来自维基百科[https://zh.wikipedia.org/wiki/乔姆斯基范式]
CFG2CNF转换方法:
步骤1:递归地清除空规则;
步骤2:递归删除非终端语符集的一元规则,如A→B;
步骤3:通过引入新的非终端语符集规则来划分多元(n>2)规则。