编译原理 词法分析2(附答案) 东华大学 姚励

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

作业

第二题:(上海交通大学1984年考研试题)下述正规表达式中(1)与(a*|b)*(c|d)等价。

⑴(a|b)*c|(a|b)*d

⑵a*(c|d)|b*(c|d)

⑶a*(c|d)*|b(c|d)*

第三题:(西北工业大学1999年考研试题)设字母表∑={a,b,0,1},请写出满足下述条件的正则表达式:以字母a或b打头,以1结尾。

答案:a(a|b|0|1)*1| b(a|b|0|1)*1

第四题:

(1)构造一个正规式,它接受∑={a,b}上所有包含ab的字符串。

(2)构造一个正规式,它接受∑={a,b}上所有以ab结尾字符串。

(3)构造一个正规式,它接受∑={a,b,c}上符合以下规则的字符串:

如果以a开头,则串内至少包含一个c;如果以b开头,则串内至多包含一个 a。

答案:(1) (a|b) * ab (a|b)*

(2) (a|b) * ab

(3) a (a|b|c)* c (a|b|c)* | b ( (b|c) * a(b|c) * | (b|c) * )

第六题:试构造正规表达式((a*|b)(b*a)) *的NFA,然后确定化和最小化。

答案:

与正规表达式等价的NFA如下所示:

注:未标明转移条件的,均默认为条件为ε

上图对应状态名Si如下:

3 4 5 6

1 2 9 10 11 12 13 14 15 16

7 8

S1闭包={ S1,S2,S3,S4,S6,S7,S9,S10,S11,S13,S14,S16 } S2闭包={ S2,S3,S4,S6,S7,S9,S10,S11,S13,S14 }

S3闭包={ S3,S4,S6,S9,S10,S11,S13,S14 }

S4闭包={ S4 }

S5闭包={ S4,S5,S6,S9,S10,S11,S13,S14 }

S6闭包={ S6,S9,S10,S11,S13,S14 }

S7闭包={ S7 }

S8闭包={ S8,S9,S10,S11,S13,S14 }

S9闭包={ S9,S10,S11,S13,S14 }

S10闭包={ S10,S11,S13,S14 }

S11闭包={ S11 }

S12闭包={ S11,S12 ,S13,S14}

S13闭包={ S13,S14 }

S14闭包={ S14 }

S15闭包={ S2,S3,S4,S6,S7,S9,S10,S11,S13,S14,S15,S16 }

S16闭包={ S16 }

DFA

取Q1= S1闭包={ S1,S2,S3,S4,S6,S7,S9,S10,S11,S13,S14,S16 } 则f(Q1,a)= S5闭包+ S15闭包

={ S2,S3,S4,S5,S6,S7,S9,S10,S11,S13,S14,S15,S16 }=Q2

f(Q1,b)= S8闭包+ S12闭包

={ S8,S9,S10,S11,S12,S13,S14 }=Q3

此时,Q2,Q3未标记。

f(Q2,a)= S5闭包+ S15闭包=Q2

f(Q2,b)= S8闭包+ S12闭包=Q3

此时,Q3未标记。

f(Q3,a)= S15闭包=Q4

f(Q3,b)= S12闭包=Q5

此时,Q4,Q5未标记。

f(Q4,a)= S5闭包+ S15闭包= Q2

f(Q4,b)= S8闭包+ S12闭包= Q3

此时,Q5未标记。

f(Q5,a)= S15闭包= Q4

f(Q5,b)= S12闭包= Q5

此时,无未标记状态。 END

a b

Q2 Q2 Q3

Q3 Q4 Q5

Q4 Q2 Q3

其中,Q1,Q2,Q4为终止状态,Q3, Q5为非终止状态。

由上图易知,Q1,Q2,Q4等价,Q3,Q5等价。

DFA最小化:

a b

Y X Y

相关文档
最新文档