【编译原理】形式语言分类

总结

这是根据《编译原理教程(第四版)》胡元义 整理的
(我看过其他老师上的,讲的有点不同,不同的地方我放在注意点里说明)
形式语言分类

4类文法的区别

0型

唯一的限制:产生式左部必须有一个非终结符

1型

与0型唯一的区别:产生式右部不能为空(为了保证右部长度不短于左边长度)

2型

唯一的限制:产生式左部有且仅有一个非终结符

3型

与2型的唯一区别:产生式右部至多有一个非终结符


关于1型的注意点

α A δ → α β δ \alpha A \delta→ \alpha \beta \delta αAδαβδ
A A A必须在 α \alpha α δ \delta δ的上下文环境中才能被 β \beta β所替换,这是确定的

然后书上是说,产生式右部必须至少有一个非终结符,,即1型文法不可能出现 S → ε S→\varepsilon Sε形式的产生式


还有一种说法是:
(1)若有 S → ε S→\varepsilon Sε,那么 S S S不得出现在产生式右部
(2)一般不允许替换成 ε \varepsilon ε,除非开始符号产生 ε \varepsilon ε
那么这种说法,产生式右部就允许没有非终结符的情况
【两者本质没差: ∣ α ∣ |\alpha| α ≤ \leq ∣ β ∣ |\beta| β

如果按照这种说法,那么文法之间的关系就是:
文法关系
否则,如总结表格所说,2、3型文法不一定属于1型文法,因为2、3型文法可能有 S → ε S→\varepsilon Sε


具体是哪种说法,以大家老师教的为主。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

社恐患者

赚钱不易呜呜呜

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值