关于1型,2型,3型,文法的区别

最近在学习编译原理相关知识,学到了文法的类型。在网上浏览了一圈,发现已发布的文章中,几乎没有正确的讲解。

在这里做一个正确的解读。

 

1型文法:也称为上下文无关语法,对非终结符进行替换是务必考虑上下文

它有下面两个特点:

(1)式子左面可以有多个字符,但是必须有一个终结字符。

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

 

2型文法:又被称为上下文无关语法:即非终结字符的替换可以不必考虑上下文。

它有以下特点:

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

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

 

3型文法:也称为正规文法,(正规文法有包括做线性文法和右线性文法)

(1)式子左面只能有一个字符,必须是非终结符。

(2)式子右面最多有两个字符,而且这两个字符中必须有一个终结字符和一个非终结字符。如果产生式右面只有一个字符,可以是终结符也可以是非终结符(这一条非常重要,也是其他文章有问题的地方)

右线性文法

必须是三型文法,式子右面的产生式只能是终结符+非终结符的格式。

左线性文法

必须是三型文法,式子左面的产生式只能是非终结符+终结符的格式。
 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值