文法之间的关系
文法类型 | 规则 | 实例 |
0型文法 | a->b 产生式左边a至少含有一个非终结符 | nA->b |
1型文法 | 在0型基础上,a->b 产生式右侧的长度越来越长。|b| >=|a| S->ε 除外。 | nA->bSd |
2型文法 | 在1型基础上,a->b左侧为一个非终结符。 | A->bSd |
3型文法 | 在2型基础上,a->b 右侧的形式为:A->cB 或A->c (仅此两种形式)AB为非终结符 | A->bS A-n |
从0型文法到3型文法,规则越来越严格了。
0型文法:可由图灵机识别 图灵机
1型文法:上下文有关文法。(任何产生规则的左手端和右手端都可以被终结符和非终结符的上下文所围绕,乔姆斯基描述自然语言的一种方式介入的,在自然语言中一个单词是否可以出现在特定的位置要依赖于上下文。)
2型文法:上下文无关文法。之所以称为上下文无关文法,是因为在推导式中a->b ,字符a总可以被字符串b自由替换,而无需考虑字符a出现的上下文。
3型文法:正规语言,之所人称作正规语言(正则语言),可能是因为3型文法只有两种形式 A->aB A->a ,比较固定,规则明显,所以称为正规语言。(小菜这么想的)<