编译原理 龙书第3章 作业2

3.1.1
词素序列如下表:
在这里插入图片描述
其中,常量的值是存在单元中的对应值;符号没有对应的值;关键字的值为其本身。

3.1.2
词素序列如下表:
在这里插入图片描述
其中,常量的值是存在单元中的对应值;符号没有对应的值;关键字的值为其本身。

3.3.2
1.以a开头和结尾的,中间有零个或多个a或b组成的串的组合
2.零个或多个以零或一个a和任意个b组成的串的串的组合
3.倒数第三个字符是a、其余位置为零或多个a或b的串的组合
4.有三个字符是b,其余位置可以是零或多个a组成的串的组合
5.零个或多个aa或bb,和上零个或多个,零个或多个ab或ba与偶数个a或偶数个b的串与零个或多个ab或ba与偶数个a或偶数个b的串的组合。

3.3.5(1-3,9)
1)设A={b-d,f-h,j-n,p-t,v-z}(即除了元音字母外的其他小子字母集合)。
正则表达式:Aa(A|a)e(A|e)i(A|i)o(A|o)u(A|u)
2)正则表达式:a
b
c
……xy
z*(省略部分按字母序出现)
3)正则表达式:\ / \ * ((^\ * \ / )|(“ * /”)) * \ * \ /(注:” / ” 前和 ” * ” 前必须加多一个 “ \ ”)
4)正则表达式:(ba)|(baba*)

3.3.11
解:设name为所有可以做文件名的字符,前缀一定为可做文件名的字符,然后为?*\的字面字符,点好“”之后也一样
正则表达式:[name\ * \ ?? ’\’].[ name \ * \ ??’\’]

3.4.1
1.a(a|b)a
状态转移图:
在这里插入图片描述
化简后的状态转移图:
在这里插入图片描述
2.((ε|a)b)

状态转移图:
在这里插入图片描述
化简后的状态转移图:
在这里插入图片描述
再次化简后的状态转移图:
在这里插入图片描述
3.(a|b)a(a|b)(a|b)
状态转移图:
在这里插入图片描述
化简后的状态转移图:
在这里插入图片描述
4.a
bababa*
状态转移图:
在这里插入图片描述
化简后的状态转移图:
在这里插入图片描述
再次化简后的状态转移图:
在这里插入图片描述
5.(aa|bb)((ab|ba)(aa|bb)(ab|ba)(aa|bb))
(aa|bb)的状态转移图:
在这里插入图片描述
(aa|bb)化简后的状态转移图:
在这里插入图片描述
((ab|ba)(aa|bb)的状态转移图:
在这里插入图片描述
(aa|bb)和((ab|ba)(aa|bb)整合化简后的状态转移图:
在这里插入图片描述
3.4.2
1)A
a(A|a)e(A|e)i(A|i)o(A|o)u(A|u)
在这里插入图片描述
2)a
b
c
……xy
z

在这里插入图片描述
3)\ / \ * ((^\ * \ / )|(“ * /”)) * \ * \ /
在这里插入图片描述
4)(b
a
)|(baba*)
在这里插入图片描述

3.6.2
1.Aa(A|a)e(A|e)i(A|i)o(A|o)u(A|u)
NFA:
在这里插入图片描述DFA:
在这里插入图片描述
2.a
b
c
……xy
z*
NFA:
在这里插入图片描述
DFA:
在这里插入图片描述
3./*([*"]*|".*"|*+[/])*/
NFA:
在这里插入图片描述
4.(b
a*)|(baba*)
NFA:
在这里插入图片描述
DFA:
在这里插入图片描述
3.6.3
答:这个NFA接受aabb。路径如下:
**在这里插入图片描述

3.6.4
答:这个NFA接受aabb。路径如下:
在这里插入图片描述

3.7.1
1.图3-26
在这里插入图片描述
在这里插入图片描述
DFA如图所示:
在这里插入图片描述
2.图3.29
在这里插入图片描述
状态转移表:
在这里插入图片描述
在这里插入图片描述
3.图3-30
在这里插入图片描述
在这里插入图片描述
得到DFA:
在这里插入图片描述
3.7.3
1)(a|b)*
Thompson算法求NFA:
在这里插入图片描述
子集构造法求DFA:
在这里插入图片描述
求得DFA:
在这里插入图片描述
DFA化简:
在这里插入图片描述
2)(a*|b*)*
Thompson算法求NFA:
在这里插入图片描述
子集构造法求DFA
在这里插入图片描述
求得DFA:
在这里插入图片描述
DFA化简:
在这里插入图片描述
3)((|a)b*)*
Thompson算法求NFA:
在这里插入图片描述
子集构造法求DFA:
在这里插入图片描述
求得DFA:
在这里插入图片描述
DFA化简:
在这里插入图片描述
4)(a|b)abb(a|b)
Thompson算法求NFA:
在这里插入图片描述
子集构造法求DFA:
在这里插入图片描述
求得DFA:
在这里插入图片描述
3.9.4
1.(a|b)*a(a|b)
NFA:
在这里插入图片描述
子集构造法求DFA:
在这里插入图片描述
根据转换表得到的DFA:
在这里插入图片描述
根据切分规则,将~进行如下切分:
A={,},B={},C={},D={}

得到最简DFA:
在这里插入图片描述
2.(a|b)*a(a|b)(a|b)
NFA:
在这里插入图片描述
子集构造法求DFA:
在这里插入图片描述
根据转换表得到的DFA:
在这里插入图片描述
根据切分规则,将~进行如下切分:
A={,},B={},C={},D={},E={},F={},G={},H={}
得到最简DFA:
在这里插入图片描述
3.(a|b)*a(a|b)(a|b)(a|b)
NFA:
在这里插入图片描述
子集构造法求DFA:
在这里插入图片描述
状态转移表如下:
在这里插入图片描述
根据转换表得到的DFA:
在这里插入图片描述
根据切分规则,将~进行如下切分:
在这里插入图片描述
得到最简DFA:
在这里插入图片描述

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值