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 ε