1.叙述由下列正规式描述的语言 : (0 | 1)* 0 (0 | 1) (0 | 1)
解答:
该语言表示的是这样的二进制串的集合:
它以000或001或010或011结尾,在此之前可以有一个0,1的任意连接(也可以没有)。
2.为下列语言写正规定义:
(a) 包含5个元音的所有字母串,其中每个元音只出现一次且按顺序排列。
(c) 某语言的注释,它是以/*开始并以*/结束的任意字符串,但它的任何前缀(本身除外)不以*/结尾。
(e) 由偶数个0和奇数个1构成的所有0和1的串。
解答:
(a)
R1 -> b|c|……z 即字母表中除a,e,i,o,u外的其它字母
R = R1* (a|ε) R1* (e|ε) R1* (i|ε) R1* (o|ε) R1* (u|ε) R1*
(b)
R -> /* R1* ((*)* R2 R1*)* (*)* */
R1 -> a|b|c|……|0|1|……|~|!|…… 即C语言字母表中除*之外的字符
R2 -> a|b|c|…… 即C语言字母表中除/和*之外的字符
(c)
R1 -> 00|11|(01|10)(00|11)*(01|10) // 0,1个数均为偶数
R -> 1(00|11)*(01|10) R1*