文法类型

首先定义一个产生式

           α→β

文法G 定义为四元组(V_{N} ,V_{T}​​​​​​​,P,S)

V_{N}​​​​​​​ :非终结符集

V_{T}​​​​​​​:终结符集

P :产生式集合(规则集合)

S :开始符号(识别符号)

0型文法

 0型文法,也称短语文法,α\in(V_{N}​​​​​​​ ,V_{T})且至少含有一个非终结符,且β\in(V_{N}​​​​​​​ ,V_{T})的闭包,一个非常重要的理论结果是,0型文法的能力相当于图灵机(Turing)。或者说,任何0型语言都是递归可枚举的;反之,递归可枚举集必定是一个0型语言。

         α∈(V_{N}​​​​​​​ ∪V_{T})* ,且至少含一个V_{N}​​​​​​​ 

          β∈(V_{N}​​​​​​​ ∪V_{T})*

1型文法

也称上下文有关文法

第一点:1型文法所有产生式左边可以含有一个、两个或两个以上的字符,但其中必须至少有一个非终结符。 

第二点:与2型文法第二点相同。

注意:虽然要求|β|>=|α|,但有一特例:α→ε也满足1型文法。

如有A->Ba则|β|=2,|α|=1符合1型文法要求。反之,如aA->a,则不符合1型文法。

产生式的形式描述:\alpha _{1} A α2→α1 βα 2 

  (其中,α1、α2、β∈(V_{N}V_{T})*,β≠ε,A∈V_{N}​​​​​​​ )

  即:A只有出现在α1α2的上下文中,才允许用β替换。

2型文法

也称上下文无关语言

第一点:与3型文法的第一点相同,即:左边必须有且仅有一个非终结符。 

第二点:2型文法所有产生式的右边可以含有若干个终结符和非终结符(只要是有限的就行,没有个数限制)。

产生式的形式描述:

    对任一产生式α→β,都有α∈V_{N}​​​​​​​ ,β∈(V_{N}​​​​​​​ ∪V_{T})*   

        A→β(A∈V_{N}​​​​​​​ )

  即β取代A时,与A所处的上下文无关。

3型文法

也称正规文法

第一点:左边必须只有一个字符,且必须是非终结符; 

第二点:其右边最多只能有两个字符,且当有两个字符时必须有一个为终结符而另一个为非终结符。当右边只有一个字符时,此字符必须为终结符。 

第三点:对于3型文法中的所有产生式,其右边有两个字符的产生式,这些产生式右边两个字符中终结符和非终结符的相对位置一定要固定,也就是说如果一个产生式右边的两个字符的排列是:终结符+非终结符,那么所有产生式右边只要有两个字符的,都必须前面是终结符而后面是非终结符。反之亦然,要么,就全是:非终结符+终结符。 

每个产生式均为 “A→aB”或“A→a” —— 右线性

    “A→Ba”或“A→a” —— 左线性

  其中,A、B∈V_{N}​​​​​​​ ,a∈V_{T}​​​​​​​*

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值