文法的分类

对于软件工程学生,应该能够给出一个文法的写法,就能准确判断他是属于哪一类型。

下面是知识内容

文法一共分为4种类型
0型,1型,2型,3型
他们之间是一个包含关系:
在这里插入图片描述

这意味从0->3型文法,要求越来越苛刻。
文法形如:G=(VN,VT,P,S)
其中P是规则(产生式),形如:α->β

  1. 0型文法(短语文法):每个文法规则的左边必须含有一个非终结符,意思就是α必须含有一个非终结符

  2. 1型文法(上下文有关文法):若文法每一个产生式α->β,都满足|β|≥|α|,仅仅S->ε除外。
    意义:这样保证经过产生式定义出来的符号串能够不至于越来越短
    (他的每一个产生式也可以描述为 α12->α1βα2,其中α1,α2和β都在(VN∪VT)*中,β≠ε,A在VN中)

  3. 2型文法(上下文无关文法):每个产生式的左部(α)只能是一个非终结符,β∈V*
    在这里插入图片描述
    还是同上,文法形如:G=(VN,VT,P,S)
    其中P是规则(产生式),形如:α->β

  4. 3型文法(正规文法):文法的每一个产生式都形如A->aB或A->a,其中A和B都是非终结符,其中a∈VT*
    注意: A->aB代表了,右边开始只能先是一个终结符,然后是一个非终结符。(强调一个,而不是先终结符然后非终结符,但是数量任意)
    判断练习:
    在这里插入图片描述
    其中(打√的满足三型文法,打×的则不满足三型文法)


思考小问题:
程序语言最少是符合几型?
答:
最少也要满足二型。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值