编译原理4种文法类型

  • 1956年,Chomsky建立形式语言的描述。
  • 通过对产生式的施加不同的限制,Chomsky把文法分为4种类型

 

  首先定义一个产生式

  α→β
  • 0型文法定义:

0型文法(PSG): α∈(VN∪VT)* ,且至少含一个VN

β∈(VN∪VT)*

对产生式没有任何限制

例如:A0→A0 ,  A1→B

0型文法说明:

0型文法也称为 短语文法
      一个非常重要的理论结果是,0型文法的能力相当于图灵机(Turing)。或者说,任何0型语言都是递归可枚举的;反之,递归可枚举集必定是一个0型语言。
      对0型文法产生式的形式作某些限制,以给出1,2和3型文法的定义。
(注意)
文法G 定义为四元组(V N ,V T ,P,S)
¨V N :非终结符集
¨V T :终结符集
¨P :产生式集合(规则集合)
¨S :开始符号(识别符号)
 
  • 1型文法(上下文有关文法context-sensitive):
  对任一产生式α→β,都有 |β|>=|α|, 仅仅 S→ε除外
  产生式的形式描述:α1Aα2→α1βα2 
  (其中,α1、α2、β∈(V N∪V T)*,β≠ε,A∈VN)
  即:A只有出现在α1α2的上下文中,才允许用β替换。
  产生的语言称“上下文有关语言”
 
  例如:0 A0→011000 1A1→101011
 
  • 2型文法(CFG):对任一产生式α→β,都有α∈VN,β∈(VN∪VT)*
  产生式的形式描述:A→β(A∈V N)
  即β取代A时,与A所处的上下文无关。
  产生的语言称“上下文无关语言”
  例如:G[S]:S→ 01  S→0S1
 
  • 3型文法(RG):也称正规文法
  每个产生式均为 “A→aB”或“A→a” —— 右线性
    “A→Ba”或“A→a” —— 左线性
  其中,A、B∈V N,a∈V T*
  产生的语言称“正规语言”
  例如:G[S]: S→ 0A | 0
  A→1B | B
  B→1 | 0
 
       4个文法类的定义是逐渐增加限制的,因此每一种正规文法都是上下文无关的,每一种上下文无关文法都是上下文有关的,而每一种上下文有关文法都是0型文法。    
 
  四种文法之间的关系是:包含关系.(原因:将产生式做进一步限制而定义的。
 

 转自: 编译原理4种文法类型,保存在此以学习。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值