0型文法、1型文法、2型文法、3型文法

 

引用: 
==================== 
S-> aaS|a是什么型的,为什么 
S-> aSb|ab是什么型的,为什么 
S-> SaS|b是什么型的,为什么 
===================== 

答:三种文法都属于上下文无关文法。 

四种文法的判断非常简单,说到到,四种文法就是规定产生式的左和右边的字符的组成规则不同而已,其它的不能理解就不要去想了,你只要知道判断的时候就是以产生式的左边和右边符合的规则进行判断。下面解释一下如何根据产生式左边和右边的特征来进行判断。 

首先,应该明确,四种文法,从0型到3型,其规则和约定越来越多,限制条件也越来越多,所以,我们判断时可以从最复杂的3型进行判断,依次向下判断,如果不符合3型的,那再看是不是2型的,不是2型的,再看是不是1型的,当然,对于作题作的熟的朋友,不用这么复杂,可以一眼直接看出来。 

3型文法遵循什么规范呢? 
第一点:左边必须只有一个字符,且必须是非终结符; 
第二点:其右边最多只能有两个字符,且当有两个字符时必须有一个为终结符而另一个为非终结符。当右边只有一个字符时,此字符必须为终结符。 
第三点:对于3型文法中的所有产生式,其右边有两个字符的产生式,这些产生式右边两个字符中终结符和非终结符的相对位置一定要固定,也就是说如果一个产生式右边的两个字符的排列是:终结符+非终结符,那么所有产生式右边只要有两个字符的,都必须前面是终结符而后面是非终结符。反之亦然,要么,就全是:非终结符+终结符。 

依以上规则判断,你所给的三个文法显然都不属于3型文法。 

再看2型文法如何判断: 
第一点:与3型文法的第一点相同,即:左边必须有且仅有一个非终结符。 
第二点:2型文法所有产生式的右边可以含有若干个终结符和非终结符(只要是有限的就行,没有个数限制)。 

依2型文法的判断规则,你的三个文法都属于2型文法,即:上下文无关文法。 

再看1型文法如何判断: 
第一点:1型文法所有产生式左边可以含有一个、两个或两个以上的字符,但其中必须至少有一个非终结符。 
第二点:与2型文法第二点相同。 

依1型文法判断规则,显然,你的文法也是属于1型的。 

最后是0型文法,这个就不用看了,只要你能描述出来,都属于这个类型,即0型。 

所以,取其最高的符合规则,最后的答案是其符合:上下文无关文法规则,即2型。

 

转自:http://hi.baidu.com/topman8023/item/f0e0df6eb26300196895e608

转载于:https://www.cnblogs.com/ITGirl00/p/3391211.html

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
0文法的一个案例是:A->ab,A->Cb,A->b。在这个案例中,产生式的左边包含非终结符,右边包含终结符,符合0文法的定义。 1文法的一个案例是:A->aB,其中A是一个非终结符,B是一个非终结符或者终结符。这个案例中,产生式的左边只有一个非终结符,右边可以是一个或多个非终结符或终结符。 2文法的一个案例是:A->aB,其中A是一个非终结符,B是一个非终结符。这个案例中,产生式的左边只有一个非终结符,右边只有一个非终结符。 3文法的一个案例是:A->a,其中A是一个非终结符,a是一个终结符。这个案例中,产生式的左边只有一个非终结符,右边只有一个终结符。 需要注意的是,根据定义,产生式也可以被视为特例,即属于1文法。这是因为产生式的左边只有一个非终结符,右边可以是一个或多个非终结符或终结符。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【编译原理】文法的分类:四种文法、语言定义+示例+它们之间的关系](https://blog.csdn.net/d52370/article/details/105482001)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [【编译原理】文法文法的类(0、1、2、3文法)](https://blog.csdn.net/MillionSong/article/details/105672676)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值