1/7第二章词法分析2
1完成下列选择题:(1)词法分析器的输出结果是
单词的种别编码b
单词在符号表中的位置c
单词的种别编码和自身值d
单词自身值(2)正规式M1和M2等价是指
M1和M2的状态数相等b
M1和M2的有向边条数相等c
M1和M2所识别的语言集相等d
M1和M2状态数和有向边条数相等(3)DFAM(见图2-1)接受的字集为
以0开头的二进制数组成的集合b
以0结尾的二进制数组成的集合c
含奇数个0的二进制数组成的集合d
含偶数个0的二进制数组成的集合【解答】(1)c(2)c(3)d图2-1习题2
1的DFAM2
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,a)、f(y,b)均为多值函数,因此M是一非确定有限自动机
先画出NFAM相应的状态图,如图2-2所示
图2-2习题2
3的NFAM用子集法构造状态转换矩阵,如表2-1所示
表2-1状态转换矩阵XY001XabbbaYIIaIb{x}{x,y}{y}{y}—{x,y}{x,y}{x,y}{x,y}2/7将转换矩阵中的所有子集重新命名,形成表2-2所示的状态转换矩阵,即得到M′=({0,1,2},{a,b},f,0,{1,2}),其状态转换图