最新编译原理陈意云_课后答案1讲课教案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
16.12.2020
luanj@mail.ustc.edu.cn
12
2.11
• 可以通过正规式的最简DFA同构来证明正规 式等价。证明下列正规式等价
➢(a|b)* ➢(a*|b*)* ➢((ε|a)b*)*
16.12.2020
luanj@mail.ustc.edu.cn
13
2.11 (续)
• NFA->DFA 1) ε-closure({s}) = {s,4,f,0,2,3,5,6,8} = A 2) ε-closure(move(A,a)) = ε-closure({1}) = {1,5,6,8,4,f,0,2,3} = B 3) ε-closure(move(A,b)) = ε-closure({7}) = {7,6,8,4,f,0,2,3,5} = C 4) ε-closure(move(B,a)) = ε-closure({1}) = B 5) ε-closure(move(B,b)) = ε-closure({7}) = C 6) ε-closure(move(C,a)) = ε-closure({1}) = B 7) ε-closure(move(C,b)) = ε-closure({7}) = C
➢不含字串011的01串
✓当出现0后,1只能单独出现 ✓1*(0+1)*0*
16.12.2020
luanj@mail.ustc.edu.cn
10
2.7
• 用算法2.4为下列正规式构造NFA,并给出 处理ababbab的状态转换序列
➢(a|b)* ➢(a*|b*)* ➢((ε|a)b*)* ➢(a|b)*abb(a|b)*
16.12.2020
luanj@mail.ustc.edu.cn
11
2.7 (续)
• ((ε|a)b*)*
ε
ε
start s ε
ε 4
0
a
ε2ε
1ε
ε
b
5
6
3ε
7
ε 8
ε
f
ε
ε
• ababbab:s->4->0->1->5->6->7->8->4->0>1->5->6->7->6->7->8-> 4->0->1->5->6>7->8->f
➢ 按词典序排列的所有字母串
✓ A*a*B*b*…Z*z*
➢ C语言的注释
✓ 不含/,*的任意字符记为α ✓ 不含*/的任意字符串: (**α+/*)* ✓ /*(**α+/*)**/
16.12.2020
luanj@mail.ustc.edu.cn
5
2.4 (续)
• 一种答案(续)
➢相邻数字都不相同的所有数字串
2
2.3 (续)
• 一种表述(这里说的01串包括ε)
➢ 0(0|1)*0 以0开头和结尾的长度至少是2的01串
➢ ((ε|0)1*)* 所有的01串
➢ (0|1)*0(0|1)(0|1) 倒数第三位是0的01串
➢ 0*10*10*10* 含有3个1的01串
➢ (00|11)*((01|10)(00|11)*(01|10)(00|11)*)* 含有偶数个0和偶数个1的01串(习题集P1/1.1)
• 一种答案(续)
➢ 最多只有一处相邻数字相同的所有数字串(续)
✓ double_i -> i?(no_ii)*no_iii(no_ii)*no_i?|ii no_i -> (0|no_0_i0)(no_0_i0)*(no_0_i?)|no_0_i no_0_i -> … … no_0-(i-2)_i -> … no_0-(i+1) -> … …
✓123031357106678035 123 0 313571 0 6678 0 35 3 1 357 1
✓答案见习题集P2/1.3
16.12.2020
luanj@mail.ustc.edu.cn
6
2.4 (续)
• 一种答案(续)
➢最多只有一处相邻数字相同的所有数字串
✓与上题类似 1230313571006678035 123 0 313571 00 6678 0 35 3 1 357 1
✓ 比如i=5 double_5 -> 5?(no_55)*no_555(no_55)*no_5?|55 no_5 -> 0|no_0_50)(no_0_50)*(no_0_5?)|no_0_5 no_0_5-> 1|no_0-1_51)(no_0-1_51)*(no_0-1_5?)|no_0-1_5 no_0-1_5->2|no_0-2_52)(no_0-2_52)*(no_0-2_5?)|no_0-2_5 no_0-2_5->3|no_0-3_53)(no_0-3_53)*(no_0-3_5?)|no_0-3_5 no_0-3_5->4|no_0-54)(no_0-54)*(no_0-5?)|no_0-5 no_0-5->… …
编译原理陈意云_课后答案 1
2.3
• 叙述由下列正规式描述的语言
➢0(0|1)*0 ➢((ε|0)1*)* ➢(0|1)*0(0|1)(0|1) ➢0*10*10*10* ➢(00|11)*((01|10)(00|11)*(01|10)(00|11)*)*
16.12.2020
luanj@mail.ustc.edu.cn
16.12.2020
luanj@mail.ustc.edu.cn
4
2.4 (续)
• 一种答案
➢ 包含5个元音的所有字母串,其中每个元音只出现一次 且按序排列
✓ 5个元音a, e, i, o, u ✓ 不含5个元音的任意字符:[B-DF-HJ-NP-TV-Zb-df-hj-np-tv-z],
记为α ✓ α*(a|A)α*(e|E)α*(i|I)α*(o|O)α*(u|U)α*
✓answer->double_0|double_1|…|double_9 其中double_i表示相邻的数字是i
✓double_0 -> 0?(no_00)*no_000(no_00)*no_0?|00 no_0 -> … …
16.12.2020
luanj@mail.ustc.edu.cn
7
2.4 (续)
16.12.20百度文库0
luanj@mail.ustc.edu.cn
8
2.4 (续)
• 一种答案(续)
➢由偶数个0和偶数个1组成的所有01串
✓习题集P2/1.2
➢由偶数个0和奇数个1组成的所有01串
✓习题集P2/1.2
16.12.2020
luanj@mail.ustc.edu.cn
9
2.4 (续)
• 一种答案(续)
16.12.2020
luanj@mail.ustc.edu.cn
3
2.4
• 为下列语言写正规定义
➢ 包含5个元音的所有字母串,其中每个元音只出现一次 且按序排列
➢ 按词典序排列的所有字母串 ➢ C语言的注释 ➢ 相邻数字都不相同的所有数字串 ➢ 最多只有一处相邻数字相同的所有数字串 ➢ 由偶数个0和偶数个1组成的所有01串 ➢ 由偶数个0和奇数个1组成的所有01串 ➢ 不含字串011的01串