编译原理教程课后习题答案第二章

发布时间:2023-04-07 09:04:29   来源:文档文库   
字号:
第二章 词法分析

2.1 完成下列选择题: (1 词法分析器的输出结果是。 a. 单词的种别编码 b. 单词在符号表中的位置 c. 单词的种别编码和自身值 d. 单词自身值 (2 正规式M1M2等价是指。 a. M1M2的状态数相等 b. M1M2的有向边条数相等 c. M1M2所识别的语言集相等 d. M1M2状态数和有向边条数相等 (3 DFA M(见图2-1接受的字集为。 a. 0开头的二进制数组成的集合 b. 0结尾的二进制数组成的集合 c. 含奇数个0的二进制数组成的集合 d. 含偶数个0的二进制数组成的集合 【解答】 (1 c (2 c (3 d

0

XY1
0

2-1 习题2.1DFA M 2.2 什么是扫描器?扫描器的功能是什么?
【解答】 扫描器就是词法分析器,它接受输入的源程序,对源程序进行词法分析并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。通常是把词法分析器作为一个子程序,每当词法分析器需要一个单词符号时就调用这个子程序。每次调用时,词法分析器就从输入串中识别出一个单词符号交给语法分析器。
2.3 M=({x,y}, {a,b}, f, x, {y}为一非确定的有限自动机,其中f定义如下: f(x,a={x,y} f{x,b}={y} f(y,a=Φ f{y,b}={x,y} 试构造相应的确定有限自动机M′。
【解答】 对照自动机的定义M=(S,Σ,f,So,Z,由f的定义可知f(x,af(y,b均为多值函数,因此M是一非确定有限自动机。 先画出NFA M相应的状态图,如图2-2所示。 a
a

bXYb2-2 习题2.3NFA M
b用子集法构造状态转换矩阵,如表2-1所示。 2-1 状态转换矩阵

I

{x}

{y} {x,y} Ia {x,y}
{x,y} Ib {y} {x,y}
1 / 7 {x,y}

将转换矩阵中的所有子集重新命名,形成表2-2所示的状态转换矩阵,即得到 M=({0,1,2},{a,b},f,0,{1,2},其状态转换图如图2-3所示。 2-2 状态转换矩阵 f 字符
a b 状态

0 2 1
1 2 2 2 2
将图2-3所示的DFA M′最小化。首先,将M′的状态分成终态组{1,2}与非终态组{0}次,考察{1,2},由于{1,2}a={1,2}b={2}{1,2},所以不再将其划分了,也即整个划分只有两组:{0}{1,2}。令状态1代表{1,2},即把原来到达2的弧都导向1,并删除状态2。最后,得到如图2-4所示的化简了的DFA M′。 a

02a, b
bb
1
2-3 习题2.3DFA M

a
01a, b b2-4 2-3化简后的DFA M
2.4 正规式(ab*a与正规式a(ba*是否等价?请说明理由。
【解答】 正规式(ab*a对应的NFA如图2-5所示,正规式a(ba*对应的NFA如图2-6示。
2
ab
a
X1Y2-5 正规式(ab*a对应的NFA
2

ba aX1Y
2-6 正规式a(ba*对应的DFA 这两个正规式最终都可得到最简DFA,如图2-7所示。因此,这两个正规式等价。
2 / 7

本文来源:https://www.2haoxitong.net/k/doc/988a06fd3286bceb19e8b8f67c1cfad6195fe92a.html

《编译原理教程课后习题答案第二章.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式