乔姆斯基文法分类 - 0型、1型、2型、3型

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/apollo_miracle/article/details/101828303

刚刚学软件设计师中的编译原理,对文法分类比较晕,查看了一些资料,进行了如下整理:

0型文法:又称为短语文法,对应于图灵机

(1):式子左边可以有多个字符,而且至少含有一个非终结符

(2):式子右边可以有多个字符,可以是终结符,也可以是非终结符,但必须是有限个字符

1型文法:又称为上下文有关文法,对应于线性有界自动机

(1):式子左边可以有多个字符,而且至少含有一个非终结符

(2):式子右边可以有多个字符,可以是终结符,也可以是非终结符,但字符个数必须大于等于左边字符个数

2型文法:又称为上下文无关文法,对应于下推自动机

(1):式子左边只能有一个字符,而且必须是非终结符

(2):式子右边可以有多个字符,可以是终结符,也可以是非终结符,但必须是有限个字符

3型文法:又称为正规文法(正规文法又包括左线性文法和右线性文法),对应于有限状态自动机

(1):式子左边只能有一个字符,而且必须是非终结符

(2):式子右边最多有二个字符,而且如果有二个字符必须是一个终结符和一个非终结符,如果只有一个字符,那么必须是终结符

(3):式子右边的格式一定要一致,也就是说,如果有一个是(终结符+非终结符)那么所有的式子都必须是(终结符+非终结符),  如果有一个是(非终结符+终结符),那么所有的式子都必须是(非终结符+终结符)

正规文法——左线性文法:

(1):必须是三型文法

(2):式子右边的产生是(非终结符+终结符)的格式

正规文法——右线型文法:

(1):必须是三型文法

(2):式子右边的产生式是(终结符+非终结符)的格式

猜你喜欢

转载自blog.csdn.net/apollo_miracle/article/details/101828303