文法构造习题

1、{ an | n >= 0 }

G[S]:S -> aaaS | ε \varepsilon ε

考虑边界, ε \varepsilon ε为空(即n=0时)

2、{ anb2m-1 | m,n >=1 }
2m-1:b的个数为奇数个

G[S]:S -> AB
A -> aA | a
B -> b | bbB

B -> b | bbB 使以一个b开头,两个b(bb)结尾,保证b的个数为奇数个

3、{ anbn | n >= 1 }
左右ab对称

G[S]:S -> aSb | ab

考虑边界情况,即n=1

4、{ ambncm | m,n >= 1 }

G[S]:S -> aSc | aAc
A -> b | bA

5、{ anbn+mcm | m,n >= 1 }
等价于anbnbmcm

G[s]:S -> AB
A -> aAb | ab
B -> bBc | bc

6、{ anbnci | n >= 1,i >= 0 }

G[S]:S -> AB
A -> aAb | ab
B -> cB | ε \varepsilon ε

i=0,没有c

7、偶数集合,不以无效0开头

G[S]:S -> ±( 2 | 4 | 6 | 8 | ABC) | 0
A -> 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
C -> 0 | 2 | 4 | 6 | 8
B -> AB | 0B | ε \varepsilon ε

  • 偶数集合,未说符号,故考虑正负
  • 考虑单个数,即0、±2、±4、±6、±8
  • 考虑多个数,即A开头,C结尾
  • 考虑两个数,即B -> ε \varepsilon ε
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值