编译原理-试题及答案(魏国利)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试题(共10道)
1.设∑={0,1}上的正规集S由倒数第二个字符为1的所有字符串组成,请给出该字集对应的正规式,并构造一个识别该正规集的DFA。
2.已知文法G[S’] :S’→S
S→rD
D→D,i
D→i
(1)构造G[S’]的识别活前缀的有穷自动机DFA。
(2)该文法是LR(0)文法吗?为什么?
3.已知文法G[S’] :S’→S (1)
S→AAA (2)
A→1A (3)
A→0 (4)
(1)构造G[S’]的识别活前缀的有穷自动机DFA。
(2)构造相应的LR(0)分析表。
4.构造一个DFA,它接受∑={a,b}上所有包含ab的字符串。
5.构造正规式 (0|1)*00 相应的DFA并进行化简。
6.构造以下正规式相应的NFA,再确定化
10(1|0)*11
7. 设有语言L={ α | α∈{0,1} + ,且α不以0 开头,但以00 结尾} 。
(1)试写出描述L 的正规表达式;
(2)构造识别L 的DFA (要求给出详细过程,并画出构造过程中的NDFA 、DFA 的状态转换图,以及DFA 的形式化描述) 。
8.已知NFA=({x,y,z},{0,1},M,{x},{z}),其中:M(x,0)={z},M(y,0)={x,y},,M(z,0)={x,z},M(x,1)={x},M(y,1)=φ,M(z,1)={y},构造相应的DFA。
9. 给出下述文法所对应的正规式:
S→0A|1B
A→1S|1
B→0S|0
10. 将下图的DFA 最小化,并用正规式描述它所识别的语言。
答案
1.答:
构造相应的正规式:(0|1)*1(0|1) NFA:
1
2.答:
(1) G[S ’]的识别活前缀的有穷自动机为: (2) 该文法不是LR (0)文法,因为I 3中有移进—规约冲突。
3.答:
(1) G[S’]的识别活前缀的有穷自动机为:
(2)
4.答:
构造相应的正规式:(a|b)*ab(a|b)*
确定化:
最小化:
{0,1,2} {3,4,5} {0, 2},1, {3,4
,5}
5.答:
最小化:
{1,2,3} {4}
{1,2,3}0={2,4} {1,3} {2} {4}
6.答:
(1)正规表达式:1(0|1) * 00
(2)第一步:将正规表达式转换为NDFA
第二步:将NDFA 确定化为DFA :
造表法确定化,确定化后DFA M 的状态转换表
状态输入I 0 I 1 t 0 1 [S] —[A,D,B] q 0 —q 1 [A,D,B] [D,B,C] [D,B] 重新命名q 1 q 2 q 3 [D,B,C] [D,B,C,Z] [D,B] q 2 q 4 q 3 [D,B] [D,B,C] [D,B] q 3 q 2 q 3 [D,B,C,Z] [D,B,C,Z] [D,B] q 4 q 4 q 3
DFA 的状态转换图
第三步:给出DFA 的形式化描述
DFA M = ({ q 0 , q 1 , q 2 , q 3 , q 4 }, {0,1}, t, q 0 , { q 4 } )
t 的定义见M 的状态转换表。
先构造其矩阵:
用子集法将NFA 确定化:
将x、z、xz、y、xy、xyz 重新命名,分别用A、B、C、D、E、F 表示。因为B、C、F中含有z,所以它为终态。
DFA 的状态图:
解方程组S 的解:
S=0A|1B
A=1S|1
B=0S|0
将A、B 产生式的右部代入S 中
S=01S|01|10S|10=(01|10)S|(01|10)所以:S= (01|10)*
(01|10)
10.答: